/*!--------------------------------------------------------
 * Copyright (C) Microsoft Corporation. All rights reserved.
 *--------------------------------------------------------*/
/******************************************************************************
Copyright (c) Microsoft Corporation.

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
/* global Reflect, Promise, SuppressedError, Symbol, Iterator */

var extendStatics = function(d, b) {
    extendStatics = Object.setPrototypeOf ||
        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
    return extendStatics(d, b);
};

export function __extends(d, b) {
    if (typeof b !== "function" && b !== null)
        throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
    extendStatics(d, b);
    function __() { this.constructor = d; }
    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
}

export var __assign = function() {
    __assign = Object.assign || function __assign(t) {
        for (var s, i = 1, n = arguments.length; i < n; i++) {
            s = arguments[i];
            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
        }
        return t;
    }
    return __assign.apply(this, arguments);
}

export function __rest(s, e) {
    var t = {};
    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
        t[p] = s[p];
    if (s != null && typeof Object.getOwnPropertySymbols === "function")
        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
                t[p[i]] = s[p[i]];
        }
    return t;
}

export function __decorate(decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
}

export function __param(paramIndex, decorator) {
    return function (target, key) { decorator(target, key, paramIndex); }
}

export function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
    function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
    var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
    var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
    var _, done = false;
    for (var i = decorators.length - 1; i >= 0; i--) {
        var context = {};
        for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
        for (var p in contextIn.access) context.access[p] = contextIn.access[p];
        context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
        var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
        if (kind === "accessor") {
            if (result === void 0) continue;
            if (result === null || typeof result !== "object") throw new TypeError("Object expected");
            if (_ = accept(result.get)) descriptor.get = _;
            if (_ = accept(result.set)) descriptor.set = _;
            if (_ = accept(result.init)) initializers.unshift(_);
        }
        else if (_ = accept(result)) {
            if (kind === "field") initializers.unshift(_);
            else descriptor[key] = _;
        }
    }
    if (target) Object.defineProperty(target, contextIn.name, descriptor);
    done = true;
};

export function __runInitializers(thisArg, initializers, value) {
    var useValue = arguments.length > 2;
    for (var i = 0; i < initializers.length; i++) {
        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
    }
    return useValue ? value : void 0;
};

export function __propKey(x) {
    return typeof x === "symbol" ? x : "".concat(x);
};

export function __setFunctionName(f, name, prefix) {
    if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
    return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
};

export function __metadata(metadataKey, metadataValue) {
    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
}

export function __awaiter(thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
}

export function __generator(thisArg, body) {
    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
    return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
    function verb(n) { return function (v) { return step([n, v]); }; }
    function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (g && (g = 0, op[0] && (_ = 0)), _) try {
            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
            if (y = 0, t) op = [op[0] & 2, t.value];
            switch (op[0]) {
                case 0: case 1: t = op; break;
                case 4: _.label++; return { value: op[1], done: false };
                case 5: _.label++; y = op[1]; op = [0]; continue;
                case 7: op = _.ops.pop(); _.trys.pop(); continue;
                default:
                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
                    if (t[2]) _.ops.pop();
                    _.trys.pop(); continue;
            }
            op = body.call(thisArg, _);
        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
    }
}

export var __createBinding = Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
        desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
});

export function __exportStar(m, o) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
}

export function __values(o) {
    var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
    if (m) return m.call(o);
    if (o && typeof o.length === "number") return {
        next: function () {
            if (o && i >= o.length) o = void 0;
            return { value: o && o[i++], done: !o };
        }
    };
    throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
}

export function __read(o, n) {
    var m = typeof Symbol === "function" && o[Symbol.iterator];
    if (!m) return o;
    var i = m.call(o), r, ar = [], e;
    try {
        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
    }
    catch (error) { e = { error: error }; }
    finally {
        try {
            if (r && !r.done && (m = i["return"])) m.call(i);
        }
        finally { if (e) throw e.error; }
    }
    return ar;
}

/** @deprecated */
export function __spread() {
    for (var ar = [], i = 0; i < arguments.length; i++)
        ar = ar.concat(__read(arguments[i]));
    return ar;
}

/** @deprecated */
export function __spreadArrays() {
    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
    for (var r = Array(s), k = 0, i = 0; i < il; i++)
        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
            r[k] = a[j];
    return r;
}

export function __spreadArray(to, from, pack) {
    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
        if (ar || !(i in from)) {
            if (!ar) ar = Array.prototype.slice.call(from, 0, i);
            ar[i] = from[i];
        }
    }
    return to.concat(ar || Array.prototype.slice.call(from));
}

export function __await(v) {
    return this instanceof __await ? (this.v = v, this) : new __await(v);
}

export function __asyncGenerator(thisArg, _arguments, generator) {
    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
    var g = generator.apply(thisArg, _arguments || []), i, q = [];
    return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
    function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
    function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
    function fulfill(value) { resume("next", value); }
    function reject(value) { resume("throw", value); }
    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
}

export function __asyncDelegator(o) {
    var i, p;
    return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
}

export function __asyncValues(o) {
    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
    var m = o[Symbol.asyncIterator], i;
    return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
}

export function __makeTemplateObject(cooked, raw) {
    if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
    return cooked;
};

var __setModuleDefault = Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
};

var ownKeys = function(o) {
    ownKeys = Object.getOwnPropertyNames || function (o) {
        var ar = [];
        for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
        return ar;
    };
    return ownKeys(o);
};

export function __importStar(mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
    __setModuleDefault(result, mod);
    return result;
}

export function __importDefault(mod) {
    return (mod && mod.__esModule) ? mod : { default: mod };
}

export function __classPrivateFieldGet(receiver, state, kind, f) {
    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
}

export function __classPrivateFieldSet(receiver, state, value, kind, f) {
    if (kind === "m") throw new TypeError("Private method is not writable");
    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
}

export function __classPrivateFieldIn(state, receiver) {
    if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object");
    return typeof state === "function" ? receiver === state : state.has(receiver);
}

export function __addDisposableResource(env, value, async) {
    if (value !== null && value !== void 0) {
        if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
        var dispose, inner;
        if (async) {
            if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
            dispose = value[Symbol.asyncDispose];
        }
        if (dispose === void 0) {
            if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
            dispose = value[Symbol.dispose];
            if (async) inner = dispose;
        }
        if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
        if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
        env.stack.push({ value: value, dispose: dispose, async: async });
    }
    else if (async) {
        env.stack.push({ async: true });
    }
    return value;

}

var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
    var e = new Error(message);
    return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
};

export function __disposeResources(env) {
    function fail(e) {
        env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
        env.hasError = true;
    }
    var r, s = 0;
    function next() {
        while (r = env.stack.pop()) {
            try {
                if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
                if (r.dispose) {
                    var result = r.dispose.call(r.value);
                    if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
                }
                else s |= 1;
            }
            catch (e) {
                fail(e);
            }
        }
        if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
        if (env.hasError) throw env.error;
    }
    return next();
}

export function __rewriteRelativeImportExtension(path, preserveJsx) {
    if (typeof path === "string" && /^\.\.?\//.test(path)) {
        return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
            return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
        });
    }
    return path;
}

export default {
    __extends: __extends,
    __assign: __assign,
    __rest: __rest,
    __decorate: __decorate,
    __param: __param,
    __esDecorate: __esDecorate,
    __runInitializers: __runInitializers,
    __propKey: __propKey,
    __setFunctionName: __setFunctionName,
    __metadata: __metadata,
    __awaiter: __awaiter,
    __generator: __generator,
    __createBinding: __createBinding,
    __exportStar: __exportStar,
    __values: __values,
    __read: __read,
    __spread: __spread,
    __spreadArrays: __spreadArrays,
    __spreadArray: __spreadArray,
    __await: __await,
    __asyncGenerator: __asyncGenerator,
    __asyncDelegator: __asyncDelegator,
    __asyncValues: __asyncValues,
    __makeTemplateObject: __makeTemplateObject,
    __importStar: __importStar,
    __importDefault: __importDefault,
    __classPrivateFieldGet: __classPrivateFieldGet,
    __classPrivateFieldSet: __classPrivateFieldSet,
    __classPrivateFieldIn: __classPrivateFieldIn,
    __addDisposableResource: __addDisposableResource,
    __disposeResources: __disposeResources,
    __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,
};

var ZH=Object.defineProperty;var eV=Object.getOwnPropertyDescriptor;var wM=i=>{throw TypeError(i)};var R=(i,t,e,n)=>{for(var o=n>1?void 0:n?eV(t,e):t,r=i.length-1,s;r>=0;r--)(s=i[r])&&(o=(n?s(t,e,o):s(o))||o);return n&&o&&ZH(t,e,o),o},S=(i,t)=>(e,n)=>t(e,n,i);var EE=(i,t,e)=>t.has(i)||wM("Cannot "+e);var Zt=(i,t,e)=>(EE(i,t,"read from private field"),e?e.call(i):t.get(i)),Vc=(i,t,e)=>t.has(i)?wM("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(i):t.set(i,e),wg=(i,t,e,n)=>(EE(i,t,"write to private field"),n?n.call(i,e):t.set(i,e),e),kg=(i,t,e)=>(EE(i,t,"access private method"),e);var bt=class{constructor(t){this.executor=t;this._state=0}get hasValue(){return this._state===2}get value(){if(this._state===0){this._state=1;try{this._value=this.executor()}catch(t){this._error=t}finally{this._state=2}}else if(this._state===1)throw new Error("Cannot read the value of a lazy that is being initialized");if(this._error)throw this._error;return this._value}get rawValue(){return this._value}};var wE=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout(()=>{throw t.stack?No.isErrorNoTelemetry(t)?new No(t.message+`

`+t.stack):new Error(t.message+`

`+t.stack):t},0)}}addListener(t){return this.listeners.push(t),()=>{this._removeListener(t)}}emit(t){this.listeners.forEach(e=>{e(t)})}_removeListener(t){this.listeners.splice(this.listeners.indexOf(t),1)}setUnexpectedErrorHandler(t){this.unexpectedErrorHandler=t}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}},fa=new wE;function Pg(i){fa.setUnexpectedErrorHandler(i)}function ha(i){fa.onUnexpectedError(i)}function Pt(i){xn(i)||fa.onUnexpectedError(i)}function td(i){xn(i)||fa.onUnexpectedExternalError(i)}function Ii(i){if(i instanceof Error){let{name:t,message:e,cause:n}=i,o=i.stacktrace||i.stack;return{$isError:!0,name:t,message:e,stack:o,noTelemetry:No.isErrorNoTelemetry(i),cause:n?Ii(n):void 0,code:i.code}}return i}function kE(i){let t;return i.noTelemetry?t=new No:(t=new Error,t.name=i.name),t.message=i.message,t.stack=i.stack,i.code&&(t.code=i.code),i.cause&&(t.cause=kE(i.cause)),t}var Dv="Canceled";function xn(i){return i instanceof rt?!0:i instanceof Error&&i.name===Dv&&i.message===Dv}var rt=class extends Error{constructor(){super(Dv),this.name=this.message}},Zl=class i extends Error{static{this._name="PendingMigrationError"}static is(t){return t instanceof i||t instanceof Error&&t.name===i._name}constructor(t){super(t),this.name=i._name}};function PE(){let i=new Error(Dv);return i.name=i.message,i}function Oe(i){return i?new Error(`Illegal argument: ${i}`):new Error("Illegal argument")}function Bc(i){return i?new Error(`Illegal state: ${i}`):new Error("Illegal state")}var $r=class extends TypeError{constructor(t){super(t?`${t} is read-only and cannot be changed`:"Cannot change read-only property")}};function nd(i){return i?i.message?i.message:i.stack?i.stack.split(`
`)[0]:String(i):"Error"}var Rv=class extends Error{constructor(t){super("NotImplemented"),t&&(this.message=t)}},ed=class extends Error{constructor(t){super("NotSupported"),t&&(this.message=t)}};var No=class i extends Error{constructor(t){super(t),this.name="CodeExpectedError"}static fromError(t){if(t instanceof i)return t;let e=new i;return e.message=t.message,e.stack=t.stack,e}static isErrorNoTelemetry(t){return t.name==="CodeExpectedError"}},kt=class i extends Error{constructor(t){super(t||"An unexpected bug occurred."),Object.setPrototypeOf(this,i.prototype)}};function PM(i,t,e=i.length-1){let n=tV(i,t,e);if(n!==-1)return i[n]}function tV(i,t,e=i.length-1){for(let n=e;n>=0;n--){let o=i[n];if(t(o,n))return n}return-1}function nV(i,t,e=0,n=i.length){let o=e,r=n;for(;o<r;){let s=Math.floor((o+r)/2);t(i[s])?o=s+1:r=s}return o-1}var kM=class i{constructor(t){this._array=t;this._findLastMonotonousLastIdx=0}static{this.assertInvariants=!1}findLastMonotonous(t){if(i.assertInvariants){if(this._prevFindLastPredicate){for(let n of this._array)if(this._prevFindLastPredicate(n)&&!t(n))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=t}let e=nV(this._array,t,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=e+1,e===-1?void 0:this._array[e]}};function Qt(i,t,e=(n,o)=>n===o){if(i===t)return!0;if(!i||!t||i.length!==t.length)return!1;for(let n=0,o=i.length;n<o;n++)if(!e(i[n],t[n]))return!1;return!0}function DM(i,t,e){return oV(i.length,n=>e(i[n],t))}function oV(i,t){let e=0,n=i-1;for(;e<=n;){let o=(e+n)/2|0,r=t(o);if(r<0)e=o+1;else if(r>0)n=o-1;else return o}return-(e+1)}function RM(i,t){let e=[],n;for(let o of i.slice(0).sort(t))!n||t(n[0],o)!==0?(n=[o],e.push(n)):n.push(o);return e}function _E(i,t,e){let n=[];function o(a,l,d){if(l===0&&d.length===0)return;let c=n[n.length-1];c&&c.start+c.deleteCount===a?(c.deleteCount+=l,c.toInsert.push(...d)):n.push({start:a,deleteCount:l,toInsert:d})}let r=0,s=0;for(;;){if(r===i.length){o(r,0,t.slice(s));break}if(s===t.length){o(r,i.length-r,[]);break}let a=i[r],l=t[s],d=e(a,l);d===0?(r+=1,s+=1):d<0?(o(r,1,[]),r+=1):d>0&&(o(r,0,[l]),s+=1)}return n}function AM(i,t,e){let n=_E(i,t,e),o=[],r=[];for(let s of n)o.push(...i.slice(s.start,s.start+s.deleteCount)),r.push(...s.toInsert);return{removed:o,added:r}}function it(i){return i.filter(t=>!!t)}function MM(i){let t=0;for(let e=0;e<i.length;e++)i[e]&&(i[t]=i[e],t+=1);i.length=t}function _g(i){return!Array.isArray(i)||i.length===0}function va(i){return Array.isArray(i)&&i.length>0}function Ir(i,t=e=>e){let e=new Set;return i.filter(n=>{let o=t(n);return e.has(o)?!1:(e.add(o),!0)})}function DE(i,t){let e;if(typeof t=="number"){let n=t;e=()=>{let o=Math.sin(n++)*179426549;return o-Math.floor(o)}}else e=Math.random;for(let n=i.length-1;n>0;n-=1){let o=Math.floor(e()*(n+1)),r=i[n];i[n]=i[o],i[o]=r}}function Dg(i,t){return Array.isArray(i)?i.map(t):t(i)}function gn(i){return Array.isArray(i)?i:[i]}var OM;(a=>{function i(l){return l<0}a.isLessThan=i;function t(l){return l<=0}a.isLessThanOrEqual=t;function e(l){return l>0}a.isGreaterThan=e;function n(l){return l===0}a.isNeitherLessOrGreaterThan=n,a.greaterThan=1,a.lessThan=-1,a.neitherLessOrGreaterThan=0})(OM||={});function LM(i,t){return(e,n)=>t(i(e),i(n))}var NM=(i,t)=>i-t;var _M=class i{constructor(t){this.iterate=t}static{this.empty=new i(t=>{})}forEach(t){this.iterate(e=>(t(e),!0))}toArray(){let t=[];return this.iterate(e=>(t.push(e),!0)),t}filter(t){return new i(e=>this.iterate(n=>t(n)?e(n):!0))}map(t){return new i(e=>this.iterate(n=>e(t(n))))}some(t){let e=!1;return this.iterate(n=>(e=t(n),!e)),e}findFirst(t){let e;return this.iterate(n=>t(n)?(e=n,!1):!0),e}findLast(t){let e;return this.iterate(n=>(t(n)&&(e=n),!0)),e}findLastMaxBy(t){let e,n=!0;return this.iterate(o=>((n||OM.isGreaterThan(t(o,e)))&&(n=!1,e=o),!0)),e}};function Av(i,t){let e=Object.create(null);for(let n of i){let o=t(n),r=e[o];r||(r=e[o]=[]),r.push(n)}return e}function RE(i,t){let e=[],n=[];for(let o of i)t.has(o)||e.push(o);for(let o of t)i.has(o)||n.push(o);return{removed:e,added:n}}var FM,HM,UM=class{constructor(t,e){this.toKey=e;this._map=new Map;this[FM]="SetWithKey";for(let n of t)this.add(n)}get size(){return this._map.size}add(t){let e=this.toKey(t);return this._map.set(e,t),this}delete(t){return this._map.delete(this.toKey(t))}has(t){return this._map.has(this.toKey(t))}*entries(){for(let t of this._map.values())yield[t,t]}keys(){return this.values()}*values(){for(let t of this._map.values())yield t}clear(){this._map.clear()}forEach(t,e){this._map.forEach(n=>t.call(e,n,n,this))}[(HM=Symbol.iterator,FM=Symbol.toStringTag,HM)](){return this.values()}};function LE(i,t,e){let n=i.get(t);return n===void 0&&(n=e,i.set(t,n)),n}var AE=class{constructor(t,e){this.uri=t;this.value=e}};function iV(i){return Array.isArray(i)}var VM,$e=class i{constructor(t,e){this[VM]="ResourceMap";if(t instanceof i)this.map=new Map(t.map),this.toKey=e??i.defaultToKey;else if(iV(t)){this.map=new Map,this.toKey=e??i.defaultToKey;for(let[n,o]of t)this.set(n,o)}else this.map=new Map,this.toKey=t??i.defaultToKey}static{this.defaultToKey=t=>t.toString()}set(t,e){return this.map.set(this.toKey(t),new AE(t,e)),this}get(t){return this.map.get(this.toKey(t))?.value}has(t){return this.map.has(this.toKey(t))}get size(){return this.map.size}clear(){this.map.clear()}delete(t){return this.map.delete(this.toKey(t))}forEach(t,e){typeof e<"u"&&(t=t.bind(e));for(let[n,o]of this.map)t(o.value,o.uri,this)}*values(){for(let t of this.map.values())yield t.value}*keys(){for(let t of this.map.values())yield t.uri}*entries(){for(let t of this.map.values())yield[t.uri,t.value]}*[(VM=Symbol.toStringTag,Symbol.iterator)](){for(let[,t]of this.map)yield[t.uri,t.value]}},BM,er=class{constructor(t,e){this[BM]="ResourceSet";!t||typeof t=="function"?this._map=new $e(t):(this._map=new $e(e),t.forEach(this.add,this))}get size(){return this._map.size}add(t){return this._map.set(t,t),this}clear(){this._map.clear()}delete(t){return this._map.delete(t)}forEach(t,e){this._map.forEach((n,o)=>t.call(e,o,o,this))}has(t){return this._map.has(t)}entries(){return this._map.entries()}keys(){return this._map.keys()}values(){return this._map.keys()}[(BM=Symbol.toStringTag,Symbol.iterator)](){return this.keys()}};var WM,ME=class{constructor(){this[WM]="LinkedMap";this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(t){return this._map.has(t)}get(t,e=0){let n=this._map.get(t);if(n)return e!==0&&this.touch(n,e),n.value}set(t,e,n=0){let o=this._map.get(t);if(o)o.value=e,n!==0&&this.touch(o,n);else{switch(o={key:t,value:e,next:void 0,previous:void 0},n){case 0:this.addItemLast(o);break;case 1:this.addItemFirst(o);break;case 2:this.addItemLast(o);break;default:this.addItemLast(o);break}this._map.set(t,o),this._size++}return this}delete(t){return!!this.remove(t)}remove(t){let e=this._map.get(t);if(e)return this._map.delete(t),this.removeItem(e),this._size--,e.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let t=this._head;return this._map.delete(t.key),this.removeItem(t),this._size--,t.value}forEach(t,e){let n=this._state,o=this._head;for(;o;){if(e?t.bind(e)(o.value,o.key,this):t(o.value,o.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");o=o.next}}keys(){let t=this,e=this._state,n=this._head,o={[Symbol.iterator](){return o},[Symbol.dispose](){},next(){if(t._state!==e)throw new Error("LinkedMap got modified during iteration.");if(n){let r={value:n.key,done:!1};return n=n.next,r}else return{value:void 0,done:!0}}};return o}values(){let t=this,e=this._state,n=this._head,o={[Symbol.iterator](){return o},[Symbol.dispose](){},next(){if(t._state!==e)throw new Error("LinkedMap got modified during iteration.");if(n){let r={value:n.value,done:!1};return n=n.next,r}else return{value:void 0,done:!0}}};return o}entries(){let t=this,e=this._state,n=this._head,o={[Symbol.iterator](){return o},[Symbol.dispose](){},next(){if(t._state!==e)throw new Error("LinkedMap got modified during iteration.");if(n){let r={value:[n.key,n.value],done:!1};return n=n.next,r}else return{value:void 0,done:!0}}};return o}[(WM=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(t){if(t>=this.size)return;if(t===0){this.clear();return}let e=this._head,n=this.size;for(;e&&n>t;)this._map.delete(e.key),e=e.next,n--;this._head=e,this._size=n,e&&(e.previous=void 0),this._state++}trimNew(t){if(t>=this.size)return;if(t===0){this.clear();return}let e=this._tail,n=this.size;for(;e&&n>t;)this._map.delete(e.key),e=e.previous,n--;this._tail=e,this._size=n,e&&(e.next=void 0),this._state++}addItemFirst(t){if(!this._head&&!this._tail)this._tail=t;else if(this._head)t.next=this._head,this._head.previous=t;else throw new Error("Invalid list");this._head=t,this._state++}addItemLast(t){if(!this._head&&!this._tail)this._head=t;else if(this._tail)t.previous=this._tail,this._tail.next=t;else throw new Error("Invalid list");this._tail=t,this._state++}removeItem(t){if(t===this._head&&t===this._tail)this._head=void 0,this._tail=void 0;else if(t===this._head){if(!t.next)throw new Error("Invalid list");t.next.previous=void 0,this._head=t.next}else if(t===this._tail){if(!t.previous)throw new Error("Invalid list");t.previous.next=void 0,this._tail=t.previous}else{let e=t.next,n=t.previous;if(!e||!n)throw new Error("Invalid list");e.previous=n,n.next=e}t.next=void 0,t.previous=void 0,this._state++}touch(t,e){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(e!==1&&e!==2)){if(e===1){if(t===this._head)return;let n=t.next,o=t.previous;t===this._tail?(o.next=void 0,this._tail=o):(n.previous=o,o.next=n),t.previous=void 0,t.next=this._head,this._head.previous=t,this._head=t,this._state++}else if(e===2){if(t===this._tail)return;let n=t.next,o=t.previous;t===this._head?(n.previous=void 0,this._head=n):(n.previous=o,o.next=n),t.next=void 0,t.previous=this._tail,this._tail.next=t,this._tail=t,this._state++}}}toJSON(){let t=[];return this.forEach((e,n)=>{t.push([n,e])}),t}fromJSON(t){this.clear();for(let[e,n]of t)this.set(e,n)}},OE=class extends ME{constructor(t,e=1){super(),this._limit=t,this._ratio=Math.min(Math.max(0,e),1)}get limit(){return this._limit}set limit(t){this._limit=t,this.checkTrim()}get ratio(){return this._ratio}set ratio(t){this._ratio=Math.min(Math.max(0,t),1),this.checkTrim()}get(t,e=2){return super.get(t,e)}peek(t){return super.get(t,0)}set(t,e){return super.set(t,e,2),this}checkTrim(){this.size>this._limit&&this.trim(Math.round(this._limit*this._ratio))}},xr=class extends OE{constructor(t,e=1){super(t,e)}trim(t){this.trimOld(t)}set(t,e){return super.set(t,e),this.checkTrim(),this}};var $c=class{constructor(){this.map=new Map}add(t,e){let n=this.map.get(t);n||(n=new Set,this.map.set(t,n)),n.add(e)}delete(t,e){let n=this.map.get(t);n&&(n.delete(e),n.size===0&&this.map.delete(t))}forEach(t,e){let n=this.map.get(t);n&&n.forEach(e)}get(t){let e=this.map.get(t);return e||new Set}};function zc(i,t){let e=this,n=!1,o;return function(){if(n)return o;if(n=!0,t)try{o=i.apply(e,arguments)}finally{t()}else o=i.apply(e,arguments);return o}}function Dn(i,t){if(!i)throw new Error(t?`Assertion failed (${t})`:"Assertion Failed")}function qc(i,t="Unreachable"){throw new Error(t)}function Kc(i,t="unexpected state"){if(!i)throw typeof t=="string"?new kt(`Assertion Failed: ${t}`):t}function Rg(i){if(!i()){debugger;i(),Pt(new kt("Assertion Failed"))}}function Ae(i){return typeof i=="string"}function zM(i){return sV(i,Ae)}function sV(i,t){return Array.isArray(i)&&i.every(t)}function st(i){return typeof i=="object"&&i!==null&&!Array.isArray(i)&&!(i instanceof RegExp)&&!(i instanceof Date)}function qM(i){let t=Object.getPrototypeOf(Uint8Array);return typeof i=="object"&&i instanceof t}function tr(i){return typeof i=="number"&&!isNaN(i)}function KM(i){return!!i&&typeof i[Symbol.iterator]=="function"}function cs(i){return typeof i>"u"}function no(i){return!Mt(i)}function Mt(i){return cs(i)||i===null}function Mv(i,t){if(!i)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}function zr(i){return Kc(i!=null,"Argument is `undefined` or `null`."),i}var aV=Object.prototype.hasOwnProperty;function Gc(i){if(!st(i))return!1;for(let t in i)if(aV.call(i,t))return!1;return!0}function NE(i){return typeof i=="function"}function GM(i,t){let e=Math.min(i.length,t.length);for(let n=0;n<e;n++)UE(i[n],t[n])}function UE(i,t){if(Ae(t)){if(typeof i!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(NE(t)){try{if(i instanceof t)return}catch{}if(!Mt(i)&&i.constructor===t||t.length===1&&t.call(void 0,i)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}function Rn(i,t){for(let e in t)if(!(e in i))return!1;return!0}var yt;(H=>{function i(q){return!!q&&typeof q=="object"&&typeof q[Symbol.iterator]=="function"}H.is=i;let t=Object.freeze([]);function e(){return t}H.empty=e;function*n(q){yield q}H.single=n;function o(q){return i(q)?q:n(q)}H.wrap=o;function r(q){return q??t}H.from=r;function*s(q){for(let Q=q.length-1;Q>=0;Q--)yield q[Q]}H.reverse=s;function a(q){return!q||q[Symbol.iterator]().next().done===!0}H.isEmpty=a;function l(q){return q[Symbol.iterator]().next().value}H.first=l;function d(q,Q){let z=0;for(let $ of q)if(Q($,z++))return!0;return!1}H.some=d;function c(q,Q){let z=0;for(let $ of q)if(!Q($,z++))return!1;return!0}H.every=c;function u(q,Q){for(let z of q)if(Q(z))return z}H.find=u;function*m(q,Q){for(let z of q)Q(z)&&(yield z)}H.filter=m;function*g(q,Q){let z=0;for(let $ of q)yield Q($,z++)}H.map=g;function*v(q,Q){let z=0;for(let $ of q)yield*Q($,z++)}H.flatMap=v;function*f(...q){for(let Q of q)KM(Q)?yield*Q:yield Q}H.concat=f;function x(q,Q,z){let $=z;for(let oe of q)$=Q($,oe);return $}H.reduce=x;function C(q){let Q=0;for(let z of q)Q++;return Q}H.length=C;function*E(q,Q,z=q.length){for(Q<-q.length&&(Q=0),Q<0&&(Q+=q.length),z<0?z+=q.length:z>q.length&&(z=q.length);Q<z;Q++)yield q[Q]}H.slice=E;function k(q,Q=Number.POSITIVE_INFINITY){let z=[];if(Q===0)return[z,q];let $=q[Symbol.iterator]();for(let oe=0;oe<Q;oe++){let he=$.next();if(he.done)return[z,H.empty()];z.push(he.value)}return[z,{[Symbol.iterator](){return $}}]}H.consume=k;async function O(q){let Q=[];for await(let z of q)Q.push(z);return Q}H.asyncToArray=O;async function N(q){let Q=[];for await(let z of q)Q=Q.concat(z);return Q}H.asyncToArrayFlat=N})(yt||={});var lV=!1,rd=null;var jM=class i{constructor(){this.livingDisposables=new Map}static{this.idx=0}getDisposableData(t){let e=this.livingDisposables.get(t);return e||(e={parent:null,source:null,isSingleton:!1,value:t,idx:i.idx++},this.livingDisposables.set(t,e)),e}trackDisposable(t){let e=this.getDisposableData(t);e.source||(e.source=new Error().stack)}setParent(t,e){let n=this.getDisposableData(t);n.parent=e}markAsDisposed(t){this.livingDisposables.delete(t)}markAsSingleton(t){this.getDisposableData(t).isSingleton=!0}getRootParent(t,e){let n=e.get(t);if(n)return n;let o=t.parent?this.getRootParent(this.getDisposableData(t.parent),e):t;return e.set(t,o),o}getTrackedDisposables(){let t=new Map;return[...this.livingDisposables.entries()].filter(([,n])=>n.source!==null&&!this.getRootParent(n,t).isSingleton).flatMap(([n])=>n)}computeLeakingDisposables(t=10,e){let n;if(e)n=e;else{let l=new Map,d=[...this.livingDisposables.values()].filter(u=>u.source!==null&&!this.getRootParent(u,l).isSingleton);if(d.length===0)return;let c=new Set(d.map(u=>u.value));if(n=d.filter(u=>!(u.parent&&c.has(u.parent))),n.length===0)throw new Error("There are cyclic diposable chains!")}if(!n)return;function o(l){function d(u,m){for(;u.length>0&&m.some(g=>typeof g=="string"?g===u[0]:u[0].match(g));)u.shift()}let c=l.source.split(`
`).map(u=>u.trim().replace("at ","")).filter(u=>u!=="");return d(c,["Error",/^trackDisposable \(.*\)$/,/^DisposableTracker.trackDisposable \(.*\)$/]),c.reverse()}let r=new $c;for(let l of n){let d=o(l);for(let c=0;c<=d.length;c++)r.add(d.slice(0,c).join(`
`),l)}n.sort(LM(l=>l.idx,NM));let s="",a=0;for(let l of n.slice(0,t)){a++;let d=o(l),c=[];for(let u=0;u<d.length;u++){let m=d[u];m=`(shared with ${r.get(d.slice(0,u+1).join(`
`)).size}/${n.length} leaks) at ${m}`;let v=r.get(d.slice(0,u).join(`
`)),f=Av([...v].map(x=>o(x)[u]),x=>x);delete f[d[u]];for(let[x,C]of Object.entries(f))C&&c.unshift(`    - stacktraces of ${C.length} other leaks continue with ${x}`);c.unshift(m)}s+=`


==================== Leaking disposable ${a}/${n.length}: ${l.value.constructor.name} ====================
${c.join(`
`)}
============================================================

`}return n.length>t&&(s+=`


... and ${n.length-t} more leaking disposables

`),{leaks:n,details:s}}};function dV(i){rd=i}if(lV){let i="__is_disposable_tracked__";dV(new class{trackDisposable(t){let e=new Error("Potentially leaked disposable").stack;setTimeout(()=>{t[i]||console.log(e)},3e3)}setParent(t,e){if(t&&t!==V.None)try{t[i]=!0}catch{}}markAsDisposed(t){if(t&&t!==V.None)try{t[i]=!0}catch{}}markAsSingleton(t){}})}function ya(i){return rd?.trackDisposable(i),i}function Ia(i){rd?.markAsDisposed(i)}function id(i,t){rd?.setParent(i,t)}function cV(i,t){if(rd)for(let e of i)rd.setParent(e,t)}function Ag(i){return rd?.markAsSingleton(i),i}function Lv(i){return typeof i=="object"&&i!==null&&typeof i.dispose=="function"&&i.dispose.length===0}function Fn(i){if(yt.is(i)){let t=[];for(let e of i)if(e)try{e.dispose()}catch(n){t.push(n)}if(t.length===1)throw t[0];if(t.length>1)throw new AggregateError(t,"Encountered errors while disposing of store");return Array.isArray(i)?[]:i}else if(i)return i.dispose(),i}function jc(...i){let t=X(()=>Fn(i));return cV(i,t),t}var FE=class{constructor(t){this._isDisposed=!1,this._fn=t,ya(this)}dispose(){if(!this._isDisposed){if(!this._fn)throw new Error("Unbound disposable context: Need to use an arrow function to preserve the value of this");this._isDisposed=!0,Ia(this),this._fn()}}};function X(i){return new FE(i)}var J=class i{constructor(){this._toDispose=new Set;this._isDisposed=!1;ya(this)}static{this.DISABLE_DISPOSED_WARNING=!1}dispose(){this._isDisposed||(Ia(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{Fn(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t||t===V.None)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return id(t,this),this._isDisposed?i.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}delete(t){if(t){if(t===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(t),t.dispose()}}deleteAndLeak(t){t&&this._toDispose.delete(t)&&id(t,null)}assertNotDisposed(){this._isDisposed&&Pt(new kt("Object disposed"))}},V=class{constructor(){this._store=new J;ya(this),id(this._store,this)}static{this.None=Object.freeze({dispose(){}})}dispose(){Ia(this),this._store.dispose()}_register(t){if(t===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(t)}},ln=class{constructor(){this._isDisposed=!1;ya(this)}get value(){return this._isDisposed?void 0:this._value}set value(t){this._isDisposed||t===this._value||(this._value?.dispose(),t&&id(t,this),this._value=t)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,Ia(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let t=this._value;return this._value=void 0,t&&id(t,null),t}};var Un=class{constructor(t=new Map){this._isDisposed=!1;this._store=t,ya(this)}dispose(){Ia(this),this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{Fn(this._store.values())}finally{this._store.clear()}}has(t){return this._store.has(t)}get size(){return this._store.size}get(t){return this._store.get(t)}set(t,e,n=!1){this._isDisposed&&console.warn(new Error("Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!").stack),n||this._store.get(t)?.dispose(),this._store.set(t,e),id(e,this)}deleteAndDispose(t){this._store.get(t)?.dispose(),this._store.delete(t)}deleteAndLeak(t){let e=this._store.get(t);return e&&id(e,null),this._store.delete(t),e}keys(){return this._store.keys()}values(){return this._store.values()}[Symbol.iterator](){return this._store[Symbol.iterator]()}};var Ov=class extends Un{constructor(){super(new $e)}};function Nv(i,t){return new HE(i,t)}var HE=class{constructor(t,e){this.reducer=t;this.options=e;this.state={flowing:!1,ended:!1,destroyed:!1};this.buffer={data:[],error:[]};this.listeners={data:[],error:[],end:[]};this.pendingWritePromises=[]}pause(){this.state.destroyed||(this.state.flowing=!1)}resume(){this.state.destroyed||this.state.flowing||(this.state.flowing=!0,this.flowData(),this.flowErrors(),this.flowEnd())}write(t){if(!this.state.destroyed){if(this.state.flowing)this.emitData(t);else if(this.buffer.data.push(t),typeof this.options?.highWaterMark=="number"&&this.buffer.data.length>this.options.highWaterMark)return new Promise(e=>this.pendingWritePromises.push(e))}}error(t){this.state.destroyed||(this.state.flowing?this.emitError(t):this.buffer.error.push(t))}end(t){this.state.destroyed||(typeof t<"u"&&this.write(t),this.state.flowing?(this.emitEnd(),this.destroy()):this.state.ended=!0)}emitData(t){this.listeners.data.slice(0).forEach(e=>e(t))}emitError(t){this.listeners.error.length===0?Pt(t):this.listeners.error.slice(0).forEach(e=>e(t))}emitEnd(){this.listeners.end.slice(0).forEach(t=>t())}on(t,e){if(!this.state.destroyed)switch(t){case"data":this.listeners.data.push(e),this.resume();break;case"end":this.listeners.end.push(e),this.state.flowing&&this.flowEnd()&&this.destroy();break;case"error":this.listeners.error.push(e),this.state.flowing&&this.flowErrors();break}}removeListener(t,e){if(this.state.destroyed)return;let n;switch(t){case"data":n=this.listeners.data;break;case"end":n=this.listeners.end;break;case"error":n=this.listeners.error;break}if(n){let o=n.indexOf(e);o>=0&&n.splice(o,1)}}flowData(){if(this.buffer.data.length===0)return;if(typeof this.reducer=="function"){let e=this.reducer(this.buffer.data);this.emitData(e)}else for(let e of this.buffer.data)this.emitData(e);this.buffer.data.length=0;let t=[...this.pendingWritePromises];this.pendingWritePromises.length=0,t.forEach(e=>e())}flowErrors(){if(this.listeners.error.length>0){for(let t of this.buffer.error)this.emitError(t);this.buffer.error.length=0}}flowEnd(){return this.state.ended?(this.emitEnd(),this.listeners.end.length>0):!1}destroy(){this.state.destroyed||(this.state.destroyed=!0,this.state.ended=!0,this.buffer.data.length=0,this.buffer.error.length=0,this.listeners.data.length=0,this.listeners.error.length=0,this.listeners.end.length=0,this.pendingWritePromises.length=0)}};function QM(i,t){let e=[],n;for(;(n=i.read())!==null;)e.push(n);return t(e)}function Uv(i,t){return new Promise((e,n)=>{let o=[];VE(i,{onData:r=>{t&&o.push(r)},onError:r=>{t?n(r):e(void 0)},onEnd:()=>{e(t?t(o):void 0)}})})}function VE(i,t,e){i.on("error",n=>{e?.isCancellationRequested||t.onError(n)}),i.on("end",()=>{e?.isCancellationRequested||t.onEnd()}),i.on("data",n=>{e?.isCancellationRequested||t.onData(n)})}function JM(i,t){let e=Nv(t);return e.end(i),e}var Mg=typeof Buffer<"u",pV=new bt(()=>new Uint8Array(256)),BE,WE,te=class i{static alloc(t){return Mg?new i(Buffer.allocUnsafe(t)):new i(new Uint8Array(t))}static wrap(t){return Mg&&!Buffer.isBuffer(t)&&(t=Buffer.from(t.buffer,t.byteOffset,t.byteLength)),new i(t)}static fromString(t,e){return!(e?.dontUseNodeBuffer||!1)&&Mg?new i(Buffer.from(t)):(BE||(BE=new TextEncoder),new i(BE.encode(t)))}static fromByteArray(t){let e=i.alloc(t.length);for(let n=0,o=t.length;n<o;n++)e.buffer[n]=t[n];return e}static concat(t,e){if(typeof e>"u"){e=0;for(let r=0,s=t.length;r<s;r++)e+=t[r].byteLength}let n=i.alloc(e),o=0;for(let r=0,s=t.length;r<s;r++){let a=t[r];n.set(a,o),o+=a.byteLength}return n}static isNativeBuffer(t){return Mg&&Buffer.isBuffer(t)}constructor(t){this.buffer=t,this.byteLength=this.buffer.byteLength}clone(){let t=i.alloc(this.byteLength);return t.set(this),t}toString(){return Mg?this.buffer.toString():(WE||(WE=new TextDecoder(void 0,{ignoreBOM:!0})),WE.decode(this.buffer))}slice(t,e){return new i(this.buffer.subarray(t,e))}set(t,e){if(t instanceof i)this.buffer.set(t.buffer,e);else if(t instanceof Uint8Array)this.buffer.set(t,e);else if(t instanceof ArrayBuffer)this.buffer.set(new Uint8Array(t),e);else if(ArrayBuffer.isView(t))this.buffer.set(new Uint8Array(t.buffer,t.byteOffset,t.byteLength),e);else throw new Error("Unknown argument 'array'")}readUInt32BE(t){return Og(this.buffer,t)}writeUInt32BE(t,e){Lg(this.buffer,t,e)}readUInt32LE(t){return gV(this.buffer,t)}writeUInt32LE(t,e){fV(this.buffer,t,e)}readUInt8(t){return hV(this.buffer,t)}writeUInt8(t,e){vV(this.buffer,t,e)}indexOf(t,e=0){return mV(this.buffer,t instanceof i?t.buffer:t,e)}equals(t){return this===t?!0:this.byteLength!==t.byteLength?!1:this.buffer.every((e,n)=>e===t.buffer[n])}};function mV(i,t,e=0){let n=t.byteLength,o=i.byteLength;if(n===0)return 0;if(n===1)return i.indexOf(t[0],e);if(n>o-e)return-1;let r=pV.value;r.fill(t.length);for(let d=0;d<t.length;d++)r[t[d]]=t.length-d-1;let s=e+t.length-1,a=s,l=-1;for(;s<o;)if(i[s]===t[a]){if(a===0){l=s;break}s--,a--}else s+=Math.max(t.length-a,r[i[s]]),a=t.length-1;return l}function ZM(i,t){return i[t+0]<<0>>>0|i[t+1]<<8>>>0}function e0(i,t,e){i[e+0]=t&255,t=t>>>8,i[e+1]=t&255}function Og(i,t){return i[t]*2**24+i[t+1]*2**16+i[t+2]*2**8+i[t+3]}function Lg(i,t,e){i[e+3]=t,t=t>>>8,i[e+2]=t,t=t>>>8,i[e+1]=t,t=t>>>8,i[e]=t}function gV(i,t){return i[t+0]<<0>>>0|i[t+1]<<8>>>0|i[t+2]<<16>>>0|i[t+3]<<24>>>0}function fV(i,t,e){i[e+0]=t&255,t=t>>>8,i[e+1]=t&255,t=t>>>8,i[e+2]=t&255,t=t>>>8,i[e+3]=t&255}function hV(i,t){return i[t]}function vV(i,t,e){i[e]=t}function t0(i){return QM(i,t=>te.concat(t))}function $E(i){return Uv(i,t=>te.concat(t))}function n0(i){return JM(i,t=>te.concat(t))}function go(i){let t=0,e=0,n=0,o=new Uint8Array(Math.floor(i.length/4*3)),r=a=>{switch(e){case 3:o[n++]=t|a,e=0;break;case 2:o[n++]=t|a>>>2,t=a<<6,e=3;break;case 1:o[n++]=t|a>>>4,t=a<<4,e=2;break;default:t=a<<2,e=1}};for(let a=0;a<i.length;a++){let l=i.charCodeAt(a);if(l>=65&&l<=90)r(l-65);else if(l>=97&&l<=122)r(l-97+26);else if(l>=48&&l<=57)r(l-48+52);else if(l===43||l===45)r(62);else if(l===47||l===95)r(63);else{if(l===61)break;throw new SyntaxError(`Unexpected base64 character ${i[a]}`)}}let s=n;for(;e>0;)r(0);return te.wrap(o).slice(0,s)}var bV="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",yV="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";function oo({buffer:i},t=!0,e=!1){let n=e?yV:bV,o="",r=i.byteLength%3,s=0;for(;s<i.byteLength-r;s+=3){let a=i[s+0],l=i[s+1],d=i[s+2];o+=n[a>>>2],o+=n[(a<<4|l>>>4)&63],o+=n[(l<<2|d>>>6)&63],o+=n[d&63]}if(r===1){let a=i[s+0];o+=n[a>>>2],o+=n[a<<4&63],t&&(o+="==")}else if(r===2){let a=i[s+0],l=i[s+1];o+=n[a>>>2],o+=n[(a<<4|l>>>4)&63],o+=n[l<<2&63],t&&(o+="=")}return o}var XM="0123456789abcdef";function xa({buffer:i}){let t="";for(let e=0;e<i.length;e++){let n=i[e];t+=XM[n>>>4],t+=XM[n&15]}return t}function Ng(i){if(i.length%2!==0)throw new SyntaxError("Hex string must have an even length");let t=new Uint8Array(i.length>>1);for(let e=0;e<i.length;)t[e>>1]=YM(i,e++)<<4|YM(i,e++);return te.wrap(t)}function YM(i,t){let e=i.charCodeAt(t);if(e>=48&&e<=57)return e-48;if(e>=97&&e<=102)return e-87;if(e>=65&&e<=70)return e-55;throw new SyntaxError(`Invalid hex character at position ${t}`)}var Jt=class i{static{this.Undefined=new i(void 0)}constructor(t){this.element=t,this.next=i.Undefined,this.prev=i.Undefined}},zn=class{constructor(){this._first=Jt.Undefined;this._last=Jt.Undefined;this._size=0}get size(){return this._size}isEmpty(){return this._first===Jt.Undefined}clear(){let t=this._first;for(;t!==Jt.Undefined;){let e=t.next;t.prev=Jt.Undefined,t.next=Jt.Undefined,t=e}this._first=Jt.Undefined,this._last=Jt.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,e){let n=new Jt(t);if(this._first===Jt.Undefined)this._first=n,this._last=n;else if(e){let r=this._last;this._last=n,n.prev=r,r.next=n}else{let r=this._first;this._first=n,n.next=r,r.prev=n}this._size+=1;let o=!1;return()=>{o||(o=!0,this._remove(n))}}shift(){if(this._first!==Jt.Undefined){let t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==Jt.Undefined){let t=this._last.element;return this._remove(this._last),t}}peek(){if(this._last!==Jt.Undefined)return this._last.element}_remove(t){if(t.prev!==Jt.Undefined&&t.next!==Jt.Undefined){let e=t.prev;e.next=t.next,t.next.prev=e}else t.prev===Jt.Undefined&&t.next===Jt.Undefined?(this._first=Jt.Undefined,this._last=Jt.Undefined):t.next===Jt.Undefined?(this._last=this._last.prev,this._last.next=Jt.Undefined):t.prev===Jt.Undefined&&(this._first=this._first.next,this._first.prev=Jt.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==Jt.Undefined;)yield t.element,t=t.next}};function IV(){return globalThis._VSCODE_NLS_MESSAGES}function zE(){return globalThis._VSCODE_NLS_LANGUAGE}var xV=zE()==="pseudo"||typeof document<"u"&&document.location&&typeof document.location.hash=="string"&&document.location.hash.indexOf("pseudo=true")>=0;function Fv(i,t){let e;return t.length===0?e=i:e=i.replace(/\{(\d+)\}/g,(n,o)=>{let r=o[0],s=t[r],a=n;return typeof s=="string"?a=s:(typeof s=="number"||typeof s=="boolean"||s===void 0||s===null)&&(a=String(s)),a}),xV&&(e="\uFF3B"+e.replace(/[aouei]/g,"$&$&")+"\uFF3D"),e}function p(i,t,...e){return Fv(typeof i=="number"?r0(i,t):t,e)}function r0(i,t){let e=IV()?.[i];if(typeof e!="string"){if(typeof t=="string")return t;throw new Error(`!!! NLS MISSING: ${i} !!!`)}return e}function sd(i,t,...e){let n;typeof i=="number"?n=r0(i,t):n=t;let o=Fv(n,e);return{value:o,original:t===n?o:Fv(t,e)}}var xi="en",Fg=!1,Hg=!1,Ug=!1,CV=!1,l0=!1,KE=!1,SV=!1,GE=!1,d0=!1,c0=!1,Hv,Vv=xi,i0=xi,TV,us,ps=globalThis,Uo;typeof ps.vscode<"u"&&typeof ps.vscode.process<"u"?Uo=ps.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(Uo=process);var u0=typeof Uo?.versions?.electron=="string",EV=u0&&Uo?.type==="renderer";if(typeof Uo=="object"){Fg=Uo.platform==="win32",Hg=Uo.platform==="darwin",Ug=Uo.platform==="linux",CV=Ug&&!!Uo.env.SNAP&&!!Uo.env.SNAP_REVISION,SV=u0,d0=!!Uo.env.CI||!!Uo.env.BUILD_ARTIFACTSTAGINGDIRECTORY||!!Uo.env.GITHUB_WORKSPACE,Hv=xi,Vv=xi;let i=Uo.env.VSCODE_NLS_CONFIG;if(i)try{let t=JSON.parse(i);Hv=t.userLocale,i0=t.osLocale,Vv=t.resolvedLanguage||xi,TV=t.languagePack?.translationsConfigFile}catch{}l0=!0}else typeof navigator=="object"&&!EV?(us=navigator.userAgent,Fg=us.indexOf("Windows")>=0,Hg=us.indexOf("Macintosh")>=0,GE=(us.indexOf("Macintosh")>=0||us.indexOf("iPad")>=0||us.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,Ug=us.indexOf("Linux")>=0,c0=us?.indexOf("Mobi")>=0,KE=!0,Vv=zE()||xi,Hv=navigator.language.toLowerCase(),i0=Hv):console.error("Unable to resolve platform.");function jE(i){switch(i){case 0:return"Web";case 1:return"Mac";case 2:return"Linux";case 3:return"Windows"}}var qE=0;Hg?qE=1:Fg?qE=3:Ug&&(qE=2);var It=Fg,dn=Hg,qn=Ug;var Bv=l0;var nr=KE,wV=KE&&typeof ps.importScripts=="function",p0=wV?ps.origin:void 0,m0=GE,g0=c0,Sa=d0;var Ci=us,Ca=Vv,kV;(n=>{function i(){return Ca}n.value=i;function t(){return Ca.length===2?Ca==="en":Ca.length>=3?Ca[0]==="e"&&Ca[1]==="n"&&Ca[2]==="-":!1}n.isDefaultVariant=t;function e(){return Ca==="en"}n.isDefault=e})(kV||={});var PV=typeof ps.postMessage=="function"&&!ps.importScripts,Wv=(()=>{if(PV){let i=[];ps.addEventListener("message",e=>{if(e.data&&e.data.vscodeScheduleAsyncWork)for(let n=0,o=i.length;n<o;n++){let r=i[n];if(r.id===e.data.vscodeScheduleAsyncWork){i.splice(n,1),r.callback();return}}});let t=0;return e=>{let n=++t;i.push({id:n,callback:e}),ps.postMessage({vscodeScheduleAsyncWork:n},"*")}}return i=>setTimeout(i)})();var Si=Hg||GE?2:Fg?1:3,s0=!0,a0=!1;function $v(){if(!a0){a0=!0;let i=new Uint8Array(2);i[0]=1,i[1]=2,s0=new Uint16Array(i.buffer)[0]===513}return s0}var Vg=!!(Ci&&Ci.indexOf("Chrome")>=0),f0=!!(Ci&&Ci.indexOf("Firefox")>=0),h0=!!(!Vg&&Ci&&Ci.indexOf("Safari")>=0),zv=!!(Ci&&Ci.indexOf("Edg/")>=0),D6=!!(Ci&&Ci.indexOf("Android")>=0);var ld,QE=globalThis.vscode;if(typeof QE<"u"&&typeof QE.process<"u"){let i=QE.process;ld={get platform(){return i.platform},get arch(){return i.arch},get env(){return i.env},cwd(){return i.cwd()}}}else typeof process<"u"&&typeof process?.versions?.node=="string"?ld={get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd(){return process.env.VSCODE_CWD||process.cwd()}}:ld={get platform(){return It?"win32":dn?"darwin":"linux"},get arch(){},get env(){return{}},cwd(){return"/"}};var ms=ld.cwd,or=ld.env,JE=ld.platform,_V=ld.arch;var DV=globalThis.performance.now.bind(globalThis.performance),Hn=class i{static create(t){return new i(t)}constructor(t){this._now=t===!1?Date.now:DV,this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}};var v0=!1,RV=!1,AV=100,b0=6e4;function y0(){return!!or.VSCODE_DEV}var Le;(Fe=>{Fe.None=()=>V.None;function t(ee){if(RV){let{onDidAddListener:j}=ee,re=Jc.create(),Z=0;ee.onDidAddListener=()=>{++Z===2&&(console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"),re.print()),j?.()}}}function e(ee,j,re){return g(ee,()=>{},0,void 0,j??!0,void 0,re)}Fe.defer=e;function n(ee){return(j,re=null,Z)=>{let se=!1,ne;return ne=ee(ue=>{if(!se)return ne?ne.dispose():se=!0,j.call(re,ue)},null,Z),se&&ne.dispose(),ne}}Fe.once=n;function o(ee,j){return Fe.once(Fe.filter(ee,j))}Fe.onceIf=o;function r(ee,j,re){return u((Z,se=null,ne)=>ee(ue=>Z.call(se,j(ue)),null,ne),re)}Fe.map=r;function s(ee,j,re){return u((Z,se=null,ne)=>ee(ue=>{j(ue),Z.call(se,ue)},null,ne),re)}Fe.forEach=s;function a(ee,j,re){return u((Z,se=null,ne)=>ee(ue=>j(ue)&&Z.call(se,ue),null,ne),re)}Fe.filter=a;function l(ee){return ee}Fe.signal=l;function d(...ee){return(j,re=null,Z)=>{let se=jc(...ee.map(ne=>ne(ue=>j.call(re,ue))));return m(se,Z)}}Fe.any=d;function c(ee,j,re,Z){let se=re;return r(ee,ne=>(se=j(se,ne),se),Z)}Fe.reduce=c;function u(ee,j){let re,Z={onWillAddFirstListener(){re=ee(se.fire,se)},onDidRemoveLastListener(){re?.dispose()}};j||t(Z);let se=new w(Z);return j?.add(se),se.event}function m(ee,j){return j instanceof Array?j.push(ee):j&&j.add(ee),ee}function g(ee,j,re=100,Z=!1,se=!1,ne,ue){let Ke,Re,dt,wt=0,Be,mn={leakWarningThreshold:ne,onWillAddFirstListener(){Ke=ee(vi=>{wt++,Re=j(Re,vi),Z&&!dt&&(mo.fire(Re),Re=void 0),Be=()=>{let pa=Re;Re=void 0,dt=void 0,(!Z||wt>1)&&mo.fire(pa),wt=0},typeof re=="number"?(dt&&clearTimeout(dt),dt=setTimeout(Be,re)):dt===void 0&&(dt=null,queueMicrotask(Be))})},onWillRemoveListener(){se&&wt>0&&Be?.()},onDidRemoveLastListener(){Be=void 0,Ke.dispose()}};ue||t(mn);let mo=new w(mn);return ue?.add(mo),mo.event}Fe.debounce=g;function v(ee,j=0,re,Z){return Fe.debounce(ee,(se,ne)=>se?(se.push(ne),se):[ne],j,void 0,re??!0,void 0,Z)}Fe.accumulate=v;function f(ee,j,re=100,Z=!0,se=!0,ne,ue){let Ke,Re,dt,wt=0,Be={leakWarningThreshold:ne,onWillAddFirstListener(){Ke=ee(mo=>{wt++,Re=j(Re,mo),dt===void 0&&(Z&&(mn.fire(Re),Re=void 0,wt=0),typeof re=="number"?dt=setTimeout(()=>{se&&wt>0&&mn.fire(Re),Re=void 0,dt=void 0,wt=0},re):(dt=0,queueMicrotask(()=>{se&&wt>0&&mn.fire(Re),Re=void 0,dt=void 0,wt=0})))})},onDidRemoveLastListener(){Ke.dispose()}};ue||t(Be);let mn=new w(Be);return ue?.add(mn),mn.event}Fe.throttle=f;function x(ee,j=(Z,se)=>Z===se,re){let Z=!0,se;return a(ee,ne=>{let ue=Z||!j(ne,se);return Z=!1,se=ne,ue},re)}Fe.latch=x;function C(ee,j,re){return[Fe.filter(ee,j,re),Fe.filter(ee,Z=>!j(Z),re)]}Fe.split=C;function E(ee,j,re=!1,Z=[],se){let ne=Z.slice(),ue;y0()&&(ue={stack:Jc.create(),timerId:setTimeout(()=>{ne&&ne.length>0&&ue&&!ue.warned&&(ue.warned=!0,console.warn(`[Event.buffer][${j}] potential LEAK detected: ${ne.length} events buffered for ${b0/1e3}s without being consumed. Buffered here:`),ue.stack.print())},b0),warned:!1},se&&se.add(X(()=>clearTimeout(ue.timerId))));let Ke=()=>{ue&&clearTimeout(ue.timerId)},Re=ee(Be=>{ne?(ne.push(Be),y0()&&ue&&!ue.warned&&ne.length>=AV&&(ue.warned=!0,console.warn(`[Event.buffer][${j}] potential LEAK detected: ${ne.length} events buffered without being consumed. Buffered here:`),ue.stack.print())):wt.fire(Be)});se&&se.add(Re);let dt=()=>{ne?.forEach(Be=>wt.fire(Be)),ne=null,Ke()},wt=new w({onWillAddFirstListener(){Re||(Re=ee(Be=>wt.fire(Be)),se&&se.add(Re))},onDidAddFirstListener(){ne&&(re?setTimeout(dt):dt())},onDidRemoveLastListener(){Re&&Re.dispose(),Re=null,Ke()}});return se&&se.add(wt),wt.event}Fe.buffer=E;function k(ee,j){return(Z,se,ne)=>{let ue=j(new N);return ee(function(Ke){let Re=ue.evaluate(Ke);Re!==O&&Z.call(se,Re)},void 0,ne)}}Fe.chain=k;let O=Symbol("HaltChainable");class N{constructor(){this.steps=[]}map(j){return this.steps.push(j),this}forEach(j){return this.steps.push(re=>(j(re),re)),this}filter(j){return this.steps.push(re=>j(re)?re:O),this}reduce(j,re){let Z=re;return this.steps.push(se=>(Z=j(Z,se),Z)),this}latch(j=(re,Z)=>re===Z){let re=!0,Z;return this.steps.push(se=>{let ne=re||!j(se,Z);return re=!1,Z=se,ne?se:O}),this}evaluate(j){for(let re of this.steps)if(j=re(j),j===O)break;return j}}function H(ee,j,re=Z=>Z){let Z=(...Ke)=>ue.fire(re(...Ke)),se=()=>ee.on(j,Z),ne=()=>ee.removeListener(j,Z),ue=new w({onWillAddFirstListener:se,onDidRemoveLastListener:ne});return ue.event}Fe.fromNodeEventEmitter=H;function q(ee,j,re=Z=>Z){let Z=(...Ke)=>ue.fire(re(...Ke)),se=()=>ee.addEventListener(j,Z),ne=()=>ee.removeEventListener(j,Z),ue=new w({onWillAddFirstListener:se,onDidRemoveLastListener:ne});return ue.event}Fe.fromDOMEventEmitter=q;function Q(ee,j){let re,Z,se=new Promise(ne=>{Z=n(ee)(ne),nw(Z,j),re=()=>{x0(Z,j)}});return se.cancel=re,j&&se.finally(()=>x0(Z,j)),se}Fe.toPromise=Q;function z(ee,j){return ee(re=>j.fire(re))}Fe.forward=z;function $(ee,j,re){return j(re),ee(Z=>j(Z))}Fe.runAndSubscribe=$;class oe{constructor(j,re){this._observable=j;this._counter=0;this._hasChanged=!1;let Z={onWillAddFirstListener:()=>{j.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{j.removeObserver(this)}};re||t(Z),this.emitter=new w(Z),re&&re.add(this.emitter)}beginUpdate(j){this._counter++}handlePossibleChange(j){}handleChange(j,re){this._hasChanged=!0}endUpdate(j){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function he(ee,j){return new oe(ee,j).emitter.event}Fe.fromObservable=he;function lt(ee){return(j,re,Z)=>{let se=0,ne=!1,ue={beginUpdate(){se++},endUpdate(){se--,se===0&&(ee.reportChanges(),ne&&(ne=!1,j.call(re)))},handlePossibleChange(){},handleChange(){ne=!0}};ee.addObserver(ue),ee.reportChanges();let Ke={dispose(){ee.removeObserver(ue)}};return nw(Ke,Z),Ke}}Fe.fromObservableLight=lt})(Le||={});var YE=class i{constructor(t){this.listenerCount=0;this.invocationCount=0;this.elapsedOverall=0;this.durations=[];this.name=`${t}_${i._idPool++}`,i.all.add(this)}static{this.all=new Set}static{this._idPool=0}start(t){this._stopWatch=new Hn,this.listenerCount=t}stop(){if(this._stopWatch){let t=this._stopWatch.elapsed();this.durations.push(t),this.elapsedOverall+=t,this.invocationCount+=1,this._stopWatch=void 0}}},I0=-1;var ZE=class i{constructor(t,e,n=(i._idPool++).toString(16).padStart(3,"0")){this._errorHandler=t;this.threshold=e;this.name=n;this._warnCountdown=0}static{this._idPool=1}dispose(){this._stacks?.clear()}check(t,e){let n=this.threshold;if(n<=0||e<n)return;this._stacks||(this._stacks=new Map);let o=this._stacks.get(t.value)||0;if(this._stacks.set(t.value,o+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=n*.5;let[r,s]=this.getMostFrequentStack(),a=/^[0-9a-f]+$/i.test(this.name)?void 0:this.name,l=`[${this.name}] potential listener LEAK detected, having ${e} listeners already. MOST frequent listener (${s}):`;console.warn(l),console.warn(r);let d=s/e>.3?"dominated":"popular",c=new Xc(d,l,r,e,a);this._errorHandler(c)}return()=>{let r=this._stacks.get(t.value)||0;this._stacks.set(t.value,r-1)}}getMostFrequentStack(){if(!this._stacks)return;let t,e=0;for(let[n,o]of this._stacks)(!t||e<o)&&(t=[n,o],e=o);return t}},Jc=class i{constructor(t){this.value=t}static create(){let t=new Error;return new i(t.stack??"")}print(){console.warn(this.value.split(`
`).slice(2).join(`
`))}},Xc=class i extends Error{constructor(t,e,n,o,r){super(r?`[${r}] potential listener LEAK detected, ${t}`:`potential listener LEAK detected, ${t}`),this.name="ListenerLeakError",this.kind=t,this.listenerCount=o,this.details=e,this.stack=n}static is(t){return t instanceof i||t instanceof Error&&typeof t.kind=="string"&&typeof t.listenerCount=="number"}},ew=class extends Xc{constructor(t,e,n,o,r){super(t,e,n,o,r),this.name="ListenerRefusalError"}},MV=0,Qc=class{constructor(t){this.value=t;this.id=MV++}},OV=2,C0=(i,t)=>{if(i instanceof Qc)t(i);else for(let e=0;e<i.length;e++){let n=i[e];n&&t(n)}},w=class{constructor(t){this._size=0;this._options=t,this._leakageMon=I0>0||this._options?.leakWarningThreshold?new ZE(t?.onListenerError??Pt,this._options?.leakWarningThreshold??I0,this._options?.leakWarningName):void 0,this._perfMon=this._options?._profName?new YE(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){if(!this._disposed){if(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners){if(v0){let t=this._listeners;queueMicrotask(()=>{C0(t,e=>e.stack?.print())})}this._listeners=void 0,this._size=0}this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose()}}get event(){return this._event??=(t,e,n)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let l=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(l);let d=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],c=d[1]/this._size>.3?"dominated":"popular",u=new ew(c,`${l}. HINT: Stack shows most frequent listener (${d[1]}-times)`,d[0],this._size,this._options?.leakWarningName);return(this._options?.onListenerError||Pt)(u),V.None}if(this._disposed)return V.None;e&&(t=t.bind(e));let o=new Qc(t),r,s;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(o.stack=Jc.create(),r=this._leakageMon.check(o.stack,this._size+1)),v0&&(o.stack=s??Jc.create()),this._listeners?this._listeners instanceof Qc?(this._deliveryQueue??=new tw,this._listeners=[this._listeners,o]):this._listeners.push(o):(this._options?.onWillAddFirstListener?.(this),this._listeners=o,this._options?.onDidAddFirstListener?.(this)),this._options?.onDidAddListener?.(this),this._size++;let a=X(()=>{r?.(),this._removeListener(o)});return nw(a,n),a},this._event}_removeListener(t){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}let e=this._listeners,n=e.indexOf(t);if(n===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,e[n]=void 0;let o=this._deliveryQueue.current===this;if(this._size*OV<=e.length){let r=0;for(let s=0;s<e.length;s++)e[s]?e[r++]=e[s]:o&&r<this._deliveryQueue.end&&(this._deliveryQueue.end--,r<this._deliveryQueue.i&&this._deliveryQueue.i--);e.length=r}}_deliver(t,e){if(!t)return;let n=this._options?.onListenerError||Pt;if(!n){t.value(e);return}try{t.value(e)}catch(o){n(o)}}_deliverQueue(t){let e=t.current._listeners;for(;t.i<t.end;)this._deliver(e[t.i++],t.value);t.reset()}fire(t){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof Qc)this._deliver(this._listeners,t);else{let e=this._deliveryQueue;e.enqueue(this,t,this._listeners.length),this._deliverQueue(e)}this._perfMon?.stop()}hasListeners(){return this._size>0}};var tw=class{constructor(){this.i=-1;this.end=0}enqueue(t,e,n){this.i=0,this.end=n,this.current=t,this.value=e}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},Ti=class extends w{async fireAsync(t,e,n){if(this._listeners)for(this._asyncDeliveryQueue||(this._asyncDeliveryQueue=new zn),C0(this._listeners,o=>this._asyncDeliveryQueue.push([o.value,t]));this._asyncDeliveryQueue.size>0&&!e.isCancellationRequested;){let[o,r]=this._asyncDeliveryQueue.shift(),s=[],a={...r,token:e,waitUntil:l=>{if(Object.isFrozen(s))throw new Error("waitUntil can NOT be called asynchronous");n&&(l=n(l,o)),s.push(l)}};try{o(a)}catch(l){Pt(l);continue}Object.freeze(s),await Promise.allSettled(s).then(l=>{for(let d of l)d.status==="rejected"&&Pt(d.reason)})}}},Ta=class extends w{constructor(e){super(e);this._isPaused=0;this._eventQueue=new zn;this._mergeFn=e?.merge}get isPaused(){return this._isPaused!==0}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused===0)if(this._mergeFn){if(this._eventQueue.size>0){let e=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(e))}}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(e){this._size&&(this._isPaused!==0?this._eventQueue.push(e):super.fire(e))}},qv=class extends Ta{constructor(t){super(t),this._delay=t.delay??100}fire(t){this._handle||(this.pause(),this._handle=setTimeout(()=>{this._handle=void 0,this.resume()},this._delay)),super.fire(t)}},Kv=class extends w{constructor(e){super(e);this._queuedEvents=[];this._mergeFn=e?.merge}fire(e){this.hasListeners()&&(this._queuedEvents.push(e),this._queuedEvents.length===1&&queueMicrotask(()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach(n=>super.fire(n)),this._queuedEvents=[]}))}};function nw(i,t){t instanceof J?t.add(i):Array.isArray(t)&&t.push(i)}function x0(i,t){if(t instanceof J)t.delete(i);else if(Array.isArray(t)){let e=t.indexOf(i);e!==-1&&t.splice(e,1)}i.dispose()}var Gv=(e=>(e[e.Desktop=1]="Desktop",e[e.Web=2]="Web",e))(Gv||{});function ow(i){let t=te.alloc(1);switch(i){case 0:t.writeUInt8(1,0);break;case 1:t.writeUInt8(2,0);break;case 2:t.writeUInt8(3,0);break}return t}function S0(i,t){if(i.byteLength!==1)return!1;switch(i.readUInt8(0)){case 1:return t===0;case 2:return t===1;case 3:return t===2;default:return!1}}function rw(i){let t=[];typeof i=="number"&&t.push("code/timeOrigin",i);function e(r,s){t.push(r,s?.startTime??Date.now())}function n(){let r=[];for(let s=0;s<t.length;s+=2)r.push({name:t[s],startTime:t[s+1]});return r}function o(r){if(typeof r>"u"){let s=t.length>=2&&t[0]==="code/timeOrigin",a=s?t[1]:void 0;t.length=0,s&&t.push("code/timeOrigin",a)}else for(let s=t.length-2;s>=0;s-=2)t[s]===r&&t.splice(s,2)}return{mark:e,getMarks:n,clearMarks:o}}function LV(){if(typeof performance=="object"&&typeof performance.mark=="function"&&!performance.nodeTiming)return typeof performance.timeOrigin!="number"&&!performance.timing?rw():{mark(i,t){performance.mark(i,t)},clearMarks(i){performance.clearMarks(i)},getMarks(){let i=performance.timeOrigin;typeof i!="number"&&(i=(performance.timing.navigationStart||performance.timing.redirectStart||performance.timing.fetchStart)??0);let t=[{name:"code/timeOrigin",startTime:Math.round(i)}];for(let e of performance.getEntriesByType("mark"))t.push({name:e.name,startTime:Math.round(i+e.startTime)});return t}};if(typeof process=="object"){let i=performance?.timeOrigin;return rw(i)}else return console.trace("perf-util loaded in UNKNOWN environment"),rw()}function NV(i){return i.MonacoPerformanceMarks||(i.MonacoPerformanceMarks=LV()),i.MonacoPerformanceMarks}var iw=NV(globalThis),fn=iw.mark,UV=iw.clearMarks,T0=iw.getMarks;var FV=65,HV=97,VV=90,BV=122,dd=46,Kn=47,Fo=92,gs=58,WV=63,Qv=class extends Error{constructor(t,e,n){let o;typeof e=="string"&&e.indexOf("not ")===0?(o="must not be",e=e.replace(/^not /,"")):o="must be";let r=t.indexOf(".")!==-1?"property":"argument",s=`The "${t}" ${r} ${o} of type ${e}`;s+=`. Received type ${typeof n}`,super(s),this.code="ERR_INVALID_ARG_TYPE"}};function $V(i,t){if(i===null||typeof i!="object")throw new Qv(t,"Object",i)}function hn(i,t){if(typeof i!="string")throw new Qv(t,"string",i)}var Ho=JE==="win32";function Ye(i){return i===Kn||i===Fo}function sw(i){return i===Kn}function fs(i){return i>=FV&&i<=VV||i>=HV&&i<=BV}function Jv(i,t,e,n){let o="",r=0,s=-1,a=0,l=0;for(let d=0;d<=i.length;++d){if(d<i.length)l=i.charCodeAt(d);else{if(n(l))break;l=Kn}if(n(l)){if(!(s===d-1||a===1))if(a===2){if(o.length<2||r!==2||o.charCodeAt(o.length-1)!==dd||o.charCodeAt(o.length-2)!==dd){if(o.length>2){let c=o.lastIndexOf(e);c===-1?(o="",r=0):(o=o.slice(0,c),r=o.length-1-o.lastIndexOf(e)),s=d,a=0;continue}else if(o.length!==0){o="",r=0,s=d,a=0;continue}}t&&(o+=o.length>0?`${e}..`:"..",r=2)}else o.length>0?o+=`${e}${i.slice(s+1,d)}`:o=i.slice(s+1,d),r=d-s-1;s=d,a=0}else l===dd&&a!==-1?++a:a=-1}return o}function zV(i){return i?`${i[0]==="."?"":"."}${i}`:""}function E0(i,t){$V(t,"pathObject");let e=t.dir||t.root,n=t.base||`${t.name||""}${zV(t.ext)}`;return e?e===t.root?`${e}${n}`:`${e}${i}${n}`:n}var en={resolve(...i){let t="",e="",n=!1;for(let o=i.length-1;o>=-1;o--){let r;if(o>=0){if(r=i[o],hn(r,`paths[${o}]`),r.length===0)continue}else t.length===0?r=ms():(r=or[`=${t}`]||ms(),(r===void 0||r.slice(0,2).toLowerCase()!==t.toLowerCase()&&r.charCodeAt(2)===Fo)&&(r=`${t}\\`));let s=r.length,a=0,l="",d=!1,c=r.charCodeAt(0);if(s===1)Ye(c)&&(a=1,d=!0);else if(Ye(c))if(d=!0,Ye(r.charCodeAt(1))){let u=2,m=u;for(;u<s&&!Ye(r.charCodeAt(u));)u++;if(u<s&&u!==m){let g=r.slice(m,u);for(m=u;u<s&&Ye(r.charCodeAt(u));)u++;if(u<s&&u!==m){for(m=u;u<s&&!Ye(r.charCodeAt(u));)u++;(u===s||u!==m)&&(l=`\\\\${g}\\${r.slice(m,u)}`,a=u)}}}else a=1;else fs(c)&&r.charCodeAt(1)===gs&&(l=r.slice(0,2),a=2,s>2&&Ye(r.charCodeAt(2))&&(d=!0,a=3));if(l.length>0)if(t.length>0){if(l.toLowerCase()!==t.toLowerCase())continue}else t=l;if(n){if(t.length>0)break}else if(e=`${r.slice(a)}\\${e}`,n=d,d&&t.length>0)break}return e=Jv(e,!n,"\\",Ye),n?`${t}\\${e}`:`${t}${e}`||"."},normalize(i){hn(i,"path");let t=i.length;if(t===0)return".";let e=0,n,o=!1,r=i.charCodeAt(0);if(t===1)return sw(r)?"\\":i;if(Ye(r))if(o=!0,Ye(i.charCodeAt(1))){let a=2,l=a;for(;a<t&&!Ye(i.charCodeAt(a));)a++;if(a<t&&a!==l){let d=i.slice(l,a);for(l=a;a<t&&Ye(i.charCodeAt(a));)a++;if(a<t&&a!==l){for(l=a;a<t&&!Ye(i.charCodeAt(a));)a++;if(a===t)return`\\\\${d}\\${i.slice(l)}\\`;a!==l&&(n=`\\\\${d}\\${i.slice(l,a)}`,e=a)}}}else e=1;else fs(r)&&i.charCodeAt(1)===gs&&(n=i.slice(0,2),e=2,t>2&&Ye(i.charCodeAt(2))&&(o=!0,e=3));let s=e<t?Jv(i.slice(e),!o,"\\",Ye):"";if(s.length===0&&!o&&(s="."),s.length>0&&Ye(i.charCodeAt(t-1))&&(s+="\\"),!o&&n===void 0&&i.includes(":")){if(s.length>=2&&fs(s.charCodeAt(0))&&s.charCodeAt(1)===gs)return`.\\${s}`;let a=i.indexOf(":");do if(a===t-1||Ye(i.charCodeAt(a+1)))return`.\\${s}`;while((a=i.indexOf(":",a+1))!==-1)}return n===void 0?o?`\\${s}`:s:o?`${n}\\${s}`:`${n}${s}`},isAbsolute(i){hn(i,"path");let t=i.length;if(t===0)return!1;let e=i.charCodeAt(0);return Ye(e)||t>2&&fs(e)&&i.charCodeAt(1)===gs&&Ye(i.charCodeAt(2))},join(...i){if(i.length===0)return".";let t,e;for(let r=0;r<i.length;++r){let s=i[r];hn(s,"path"),s.length>0&&(t===void 0?t=e=s:t+=`\\${s}`)}if(t===void 0)return".";let n=!0,o=0;if(typeof e=="string"&&Ye(e.charCodeAt(0))){++o;let r=e.length;r>1&&Ye(e.charCodeAt(1))&&(++o,r>2&&(Ye(e.charCodeAt(2))?++o:n=!1))}if(n){for(;o<t.length&&Ye(t.charCodeAt(o));)o++;o>=2&&(t=`\\${t.slice(o)}`)}return en.normalize(t)},relative(i,t){if(hn(i,"from"),hn(t,"to"),i===t)return"";let e=en.resolve(i),n=en.resolve(t);if(e===n||(i=e.toLowerCase(),t=n.toLowerCase(),i===t))return"";if(e.length!==i.length||n.length!==t.length){let v=e.split("\\"),f=n.split("\\");v[v.length-1]===""&&v.pop(),f[f.length-1]===""&&f.pop();let x=v.length,C=f.length,E=x<C?x:C,k;for(k=0;k<E&&v[k].toLowerCase()===f[k].toLowerCase();k++);return k===0?n:k===E?C>E?f.slice(k).join("\\"):x>E?"..\\".repeat(x-1-k)+"..":"":"..\\".repeat(x-k)+f.slice(k).join("\\")}let o=0;for(;o<i.length&&i.charCodeAt(o)===Fo;)o++;let r=i.length;for(;r-1>o&&i.charCodeAt(r-1)===Fo;)r--;let s=r-o,a=0;for(;a<t.length&&t.charCodeAt(a)===Fo;)a++;let l=t.length;for(;l-1>a&&t.charCodeAt(l-1)===Fo;)l--;let d=l-a,c=s<d?s:d,u=-1,m=0;for(;m<c;m++){let v=i.charCodeAt(o+m);if(v!==t.charCodeAt(a+m))break;v===Fo&&(u=m)}if(m!==c){if(u===-1)return n}else{if(d>c){if(t.charCodeAt(a+m)===Fo)return n.slice(a+m+1);if(m===2)return n.slice(a+m)}s>c&&(i.charCodeAt(o+m)===Fo?u=m:m===2&&(u=3)),u===-1&&(u=0)}let g="";for(m=o+u+1;m<=r;++m)(m===r||i.charCodeAt(m)===Fo)&&(g+=g.length===0?"..":"\\..");return a+=u,g.length>0?`${g}${n.slice(a,l)}`:(n.charCodeAt(a)===Fo&&++a,n.slice(a,l))},toNamespacedPath(i){if(typeof i!="string"||i.length===0)return i;let t=en.resolve(i);if(t.length<=2)return i;if(t.charCodeAt(0)===Fo){if(t.charCodeAt(1)===Fo){let e=t.charCodeAt(2);if(e!==WV&&e!==dd)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(fs(t.charCodeAt(0))&&t.charCodeAt(1)===gs&&t.charCodeAt(2)===Fo)return`\\\\?\\${t}`;return t},dirname(i){hn(i,"path");let t=i.length;if(t===0)return".";let e=-1,n=0,o=i.charCodeAt(0);if(t===1)return Ye(o)?i:".";if(Ye(o)){if(e=n=1,Ye(i.charCodeAt(1))){let a=2,l=a;for(;a<t&&!Ye(i.charCodeAt(a));)a++;if(a<t&&a!==l){for(l=a;a<t&&Ye(i.charCodeAt(a));)a++;if(a<t&&a!==l){for(l=a;a<t&&!Ye(i.charCodeAt(a));)a++;if(a===t)return i;a!==l&&(e=n=a+1)}}}}else fs(o)&&i.charCodeAt(1)===gs&&(e=t>2&&Ye(i.charCodeAt(2))?3:2,n=e);let r=-1,s=!0;for(let a=t-1;a>=n;--a)if(Ye(i.charCodeAt(a))){if(!s){r=a;break}}else s=!1;if(r===-1){if(e===-1)return".";r=e}return i.slice(0,r)},basename(i,t){t!==void 0&&hn(t,"suffix"),hn(i,"path");let e=0,n=-1,o=!0,r;if(i.length>=2&&fs(i.charCodeAt(0))&&i.charCodeAt(1)===gs&&(e=2),t!==void 0&&t.length>0&&t.length<=i.length){if(t===i)return"";let s=t.length-1,a=-1;for(r=i.length-1;r>=e;--r){let l=i.charCodeAt(r);if(Ye(l)){if(!o){e=r+1;break}}else a===-1&&(o=!1,a=r+1),s>=0&&(l===t.charCodeAt(s)?--s===-1&&(n=r):(s=-1,n=a))}return e===n?n=a:n===-1&&(n=i.length),i.slice(e,n)}for(r=i.length-1;r>=e;--r)if(Ye(i.charCodeAt(r))){if(!o){e=r+1;break}}else n===-1&&(o=!1,n=r+1);return n===-1?"":i.slice(e,n)},extname(i){hn(i,"path");let t=0,e=-1,n=0,o=-1,r=!0,s=0;i.length>=2&&i.charCodeAt(1)===gs&&fs(i.charCodeAt(0))&&(t=n=2);for(let a=i.length-1;a>=t;--a){let l=i.charCodeAt(a);if(Ye(l)){if(!r){n=a+1;break}continue}o===-1&&(r=!1,o=a+1),l===dd?e===-1?e=a:s!==1&&(s=1):e!==-1&&(s=-1)}return e===-1||o===-1||s===0||s===1&&e===o-1&&e===n+1?"":i.slice(e,o)},format:E0.bind(null,"\\"),parse(i){hn(i,"path");let t={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return t;let e=i.length,n=0,o=i.charCodeAt(0);if(e===1)return Ye(o)?(t.root=t.dir=i,t):(t.base=t.name=i,t);if(Ye(o)){if(n=1,Ye(i.charCodeAt(1))){let u=2,m=u;for(;u<e&&!Ye(i.charCodeAt(u));)u++;if(u<e&&u!==m){for(m=u;u<e&&Ye(i.charCodeAt(u));)u++;if(u<e&&u!==m){for(m=u;u<e&&!Ye(i.charCodeAt(u));)u++;u===e?n=u:u!==m&&(n=u+1)}}}}else if(fs(o)&&i.charCodeAt(1)===gs){if(e<=2)return t.root=t.dir=i,t;if(n=2,Ye(i.charCodeAt(2))){if(e===3)return t.root=t.dir=i,t;n=3}}n>0&&(t.root=i.slice(0,n));let r=-1,s=n,a=-1,l=!0,d=i.length-1,c=0;for(;d>=n;--d){if(o=i.charCodeAt(d),Ye(o)){if(!l){s=d+1;break}continue}a===-1&&(l=!1,a=d+1),o===dd?r===-1?r=d:c!==1&&(c=1):r!==-1&&(c=-1)}return a!==-1&&(r===-1||c===0||c===1&&r===a-1&&r===s+1?t.base=t.name=i.slice(s,a):(t.name=i.slice(s,r),t.base=i.slice(s,a),t.ext=i.slice(r,a))),s>0&&s!==n?t.dir=i.slice(0,s-1):t.dir=t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},qV=(()=>{if(Ho){let i=/\\/g;return()=>{let t=ms().replace(i,"/");return t.slice(t.indexOf("/"))}}return()=>ms()})(),Ve={resolve(...i){let t="",e=!1;for(let n=i.length-1;n>=0&&!e;n--){let o=i[n];hn(o,`paths[${n}]`),o.length!==0&&(t=`${o}/${t}`,e=o.charCodeAt(0)===Kn)}if(!e){let n=qV();t=`${n}/${t}`,e=n.charCodeAt(0)===Kn}return t=Jv(t,!e,"/",sw),e?`/${t}`:t.length>0?t:"."},normalize(i){if(hn(i,"path"),i.length===0)return".";let t=i.charCodeAt(0)===Kn,e=i.charCodeAt(i.length-1)===Kn;return i=Jv(i,!t,"/",sw),i.length===0?t?"/":e?"./":".":(e&&(i+="/"),t?`/${i}`:i)},isAbsolute(i){return hn(i,"path"),i.length>0&&i.charCodeAt(0)===Kn},join(...i){if(i.length===0)return".";let t=[];for(let e=0;e<i.length;++e){let n=i[e];hn(n,"path"),n.length>0&&t.push(n)}return t.length===0?".":Ve.normalize(t.join("/"))},relative(i,t){if(hn(i,"from"),hn(t,"to"),i===t||(i=Ve.resolve(i),t=Ve.resolve(t),i===t))return"";let e=1,n=i.length,o=n-e,r=1,s=t.length-r,a=o<s?o:s,l=-1,d=0;for(;d<a;d++){let u=i.charCodeAt(e+d);if(u!==t.charCodeAt(r+d))break;u===Kn&&(l=d)}if(d===a)if(s>a){if(t.charCodeAt(r+d)===Kn)return t.slice(r+d+1);if(d===0)return t.slice(r+d)}else o>a&&(i.charCodeAt(e+d)===Kn?l=d:d===0&&(l=0));let c="";for(d=e+l+1;d<=n;++d)(d===n||i.charCodeAt(d)===Kn)&&(c+=c.length===0?"..":"/..");return`${c}${t.slice(r+l)}`},toNamespacedPath(i){return i},dirname(i){if(hn(i,"path"),i.length===0)return".";let t=i.charCodeAt(0)===Kn,e=-1,n=!0;for(let o=i.length-1;o>=1;--o)if(i.charCodeAt(o)===Kn){if(!n){e=o;break}}else n=!1;return e===-1?t?"/":".":t&&e===1?"//":i.slice(0,e)},basename(i,t){t!==void 0&&hn(t,"suffix"),hn(i,"path");let e=0,n=-1,o=!0,r;if(t!==void 0&&t.length>0&&t.length<=i.length){if(t===i)return"";let s=t.length-1,a=-1;for(r=i.length-1;r>=0;--r){let l=i.charCodeAt(r);if(l===Kn){if(!o){e=r+1;break}}else a===-1&&(o=!1,a=r+1),s>=0&&(l===t.charCodeAt(s)?--s===-1&&(n=r):(s=-1,n=a))}return e===n?n=a:n===-1&&(n=i.length),i.slice(e,n)}for(r=i.length-1;r>=0;--r)if(i.charCodeAt(r)===Kn){if(!o){e=r+1;break}}else n===-1&&(o=!1,n=r+1);return n===-1?"":i.slice(e,n)},extname(i){hn(i,"path");let t=-1,e=0,n=-1,o=!0,r=0;for(let s=i.length-1;s>=0;--s){let a=i[s];if(a==="/"){if(!o){e=s+1;break}continue}n===-1&&(o=!1,n=s+1),a==="."?t===-1?t=s:r!==1&&(r=1):t!==-1&&(r=-1)}return t===-1||n===-1||r===0||r===1&&t===n-1&&t===e+1?"":i.slice(t,n)},format:E0.bind(null,"/"),parse(i){hn(i,"path");let t={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return t;let e=i.charCodeAt(0)===Kn,n;e?(t.root="/",n=1):n=0;let o=-1,r=0,s=-1,a=!0,l=i.length-1,d=0;for(;l>=n;--l){let c=i.charCodeAt(l);if(c===Kn){if(!a){r=l+1;break}continue}s===-1&&(a=!1,s=l+1),c===dd?o===-1?o=l:d!==1&&(d=1):o!==-1&&(d=-1)}if(s!==-1){let c=r===0&&e?1:r;o===-1||d===0||d===1&&o===s-1&&o===r+1?t.base=t.name=i.slice(c,s):(t.name=i.slice(c,o),t.base=i.slice(c,s),t.ext=i.slice(o,s))}return r>0?t.dir=i.slice(0,r-1):e&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};Ve.win32=en.win32=en;Ve.posix=en.posix=Ve;var Vo=Ho?en.normalize:Ve.normalize,Ei=Ho?en.isAbsolute:Ve.isAbsolute,Yc=Ho?en.join:Ve.join,w0=Ho?en.resolve:Ve.resolve,hs=Ho?en.relative:Ve.relative,wi=Ho?en.dirname:Ve.dirname,rn=Ho?en.basename:Ve.basename,vs=Ho?en.extname:Ve.extname,G6=Ho?en.format:Ve.format,j6=Ho?en.parse:Ve.parse,Q6=Ho?en.toNamespacedPath:Ve.toNamespacedPath,Gn=Ho?en.sep:Ve.sep,J6=Ho?en.delimiter:Ve.delimiter;var KV=/^\w[\w\d+.-]*$/,GV=/^\//,jV=/^\/\//;function QV(i,t){if(!i.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${i.authority}", path: "${i.path}", query: "${i.query}", fragment: "${i.fragment}"}`);if(i.scheme&&!KV.test(i.scheme)){let e=[...i.scheme.matchAll(/[^\w\d+.-]/gu)],n=e.length>0?` Found '${e[0][0]}' at index ${e[0].index} (${e.length} total)`:"";throw new Error(`[UriError]: Scheme contains illegal characters.${n} (len:${i.scheme.length})`)}if(i.path){if(i.authority){if(!GV.test(i.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(jV.test(i.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function JV(i,t){return!i&&!t?"file":i}function XV(i,t){switch(i){case"https":case"http":case"file":t?t[0]!==qr&&(t=qr+t):t=qr;break}return t}var Gt="",qr="/",YV=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,y=class i{static isUri(t){return t instanceof i?!0:!t||typeof t!="object"?!1:typeof t.authority=="string"&&typeof t.fragment=="string"&&typeof t.path=="string"&&typeof t.query=="string"&&typeof t.scheme=="string"&&typeof t.fsPath=="string"&&typeof t.with=="function"&&typeof t.toString=="function"}constructor(t,e,n,o,r,s=!1){typeof t=="object"?(this.scheme=t.scheme||Gt,this.authority=t.authority||Gt,this.path=t.path||Gt,this.query=t.query||Gt,this.fragment=t.fragment||Gt):(this.scheme=JV(t,s),this.authority=e||Gt,this.path=XV(this.scheme,n||Gt),this.query=o||Gt,this.fragment=r||Gt,QV(this,s))}get fsPath(){return Bg(this,!1)}with(t){if(!t)return this;let{scheme:e,authority:n,path:o,query:r,fragment:s}=t;return e===void 0?e=this.scheme:e===null&&(e=Gt),n===void 0?n=this.authority:n===null&&(n=Gt),o===void 0?o=this.path:o===null&&(o=Gt),r===void 0?r=this.query:r===null&&(r=Gt),s===void 0?s=this.fragment:s===null&&(s=Gt),e===this.scheme&&n===this.authority&&o===this.path&&r===this.query&&s===this.fragment?this:new Ea(e,n,o,r,s)}static parse(t,e=!1){let n=YV.exec(t);return n?new Ea(n[2]||Gt,Xv(n[4]||Gt),Xv(n[5]||Gt),Xv(n[7]||Gt),Xv(n[9]||Gt),e):new Ea(Gt,Gt,Gt,Gt,Gt)}static file(t){let e=Gt;if(It&&(t=t.replace(/\\/g,qr)),t[0]===qr&&t[1]===qr){let n=t.indexOf(qr,2);n===-1?(e=t.substring(2),t=qr):(e=t.substring(2,n),t=t.substring(n)||qr)}return new Ea("file",e,t,Gt,Gt)}static from(t,e){return new Ea(t.scheme,t.authority,t.path,t.query,t.fragment,e)}static joinPath(t,...e){if(!t.path)throw new Error(`[UriError]: cannot call joinPath on URI without path: ${t.toString()}`);let n;return It&&t.scheme==="file"?n=i.file(en.join(Bg(t,!0),...e)).path:n=Ve.join(t.path,...e),t.with({path:n})}toString(t=!1){return aw(this,t)}toJSON(){return this}static revive(t){if(t){if(t instanceof i)return t;{let e=new Ea(t);return e._formatted=t.external??null,e._fsPath=t._sep===_0?t.fsPath??null:null,e}}else return t}[Symbol.for("debug.description")](){return`URI(${this.toString()})`}};function wa(i){return!i||typeof i!="object"?!1:typeof i.scheme=="string"&&(typeof i.authority=="string"||typeof i.authority>"u")&&(typeof i.path=="string"||typeof i.path>"u")&&(typeof i.query=="string"||typeof i.query>"u")&&(typeof i.fragment=="string"||typeof i.fragment>"u")}var _0=It?1:void 0,Ea=class extends y{constructor(){super(...arguments);this._formatted=null;this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=Bg(this,!1)),this._fsPath}toString(e=!1){return e?aw(this,!0):(this._formatted||(this._formatted=aw(this,!1)),this._formatted)}toJSON(){let e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=_0),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}},D0={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function k0(i,t,e){let n,o=-1;for(let r=0;r<i.length;r++){let s=i.charCodeAt(r);if(s>=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||s===45||s===46||s===95||s===126||t&&s===47||e&&s===91||e&&s===93||e&&s===58)o!==-1&&(n+=encodeURIComponent(i.substring(o,r)),o=-1),n!==void 0&&(n+=i.charAt(r));else{n===void 0&&(n=i.substr(0,r));let a=D0[s];a!==void 0?(o!==-1&&(n+=encodeURIComponent(i.substring(o,r)),o=-1),n+=a):o===-1&&(o=r)}}return o!==-1&&(n+=encodeURIComponent(i.substring(o))),n!==void 0?n:i}function ZV(i){let t;for(let e=0;e<i.length;e++){let n=i.charCodeAt(e);n===35||n===63?(t===void 0&&(t=i.substr(0,e)),t+=D0[n]):t!==void 0&&(t+=i[e])}return t!==void 0?t:i}function Bg(i,t){let e;return i.authority&&i.path.length>1&&i.scheme==="file"?e=`//${i.authority}${i.path}`:i.path.charCodeAt(0)===47&&(i.path.charCodeAt(1)>=65&&i.path.charCodeAt(1)<=90||i.path.charCodeAt(1)>=97&&i.path.charCodeAt(1)<=122)&&i.path.charCodeAt(2)===58?t?e=i.path.substr(1):e=i.path[1].toLowerCase()+i.path.substr(2):e=i.path,It&&(e=e.replace(/\//g,"\\")),e}function aw(i,t){let e=t?ZV:k0,n="",{scheme:o,authority:r,path:s,query:a,fragment:l}=i;if(o&&(n+=o,n+=":"),(r||o==="file")&&(n+=qr,n+=qr),r){let d=r.indexOf("@");if(d!==-1){let c=r.substr(0,d);r=r.substr(d+1),d=c.lastIndexOf(":"),d===-1?n+=e(c,!1,!1):(n+=e(c.substr(0,d),!1,!1),n+=":",n+=e(c.substr(d+1),!1,!0)),n+="@"}r=r.toLowerCase(),d=r.lastIndexOf(":"),d===-1?n+=e(r,!1,!0):(n+=e(r.substr(0,d),!1,!0),n+=r.substr(d))}if(s){if(s.length>=3&&s.charCodeAt(0)===47&&s.charCodeAt(2)===58){let d=s.charCodeAt(1);d>=65&&d<=90&&(s=`/${String.fromCharCode(d+32)}:${s.substr(3)}`)}else if(s.length>=2&&s.charCodeAt(1)===58){let d=s.charCodeAt(0);d>=65&&d<=90&&(s=`${String.fromCharCode(d+32)}:${s.substr(2)}`)}n+=e(s,!0,!1)}return a&&(n+="?",n+=e(a,!1,!1)),l&&(n+="#",n+=t?l:k0(l,!1,!1)),n}function R0(i){try{return decodeURIComponent(i)}catch{return i.length>3?i.substr(0,3)+R0(i.substr(3)):i}}var P0=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function Xv(i){return i.match(P0)?i.replace(P0,t=>R0(t)):i}var Wg=class i{constructor(t){this._proxyIdentifierBrand=void 0;this.sid=t,this.nid=++i.count}static{this.count=0}},A0=[];function F(i){let t=new Wg(i);return A0[t.nid]=t,t}function $g(i){return A0[i].sid}var Ft=class{constructor(t){this.value=t}};var lw=(o=>(o[o.None=0]="None",o[o.Process=1]="Process",o[o.Output=2]="Output",o[o.Hybrid=3]="Hybrid",o))(lw||{}),M0=class i{static{this._n=0}static mixin(t){return t._id=i._n++,t}};var L={MainThreadAuthentication:F("MainThreadAuthentication"),MainThreadBulkEdits:F("MainThreadBulkEdits"),MainThreadLanguageModels:F("MainThreadLanguageModels"),MainThreadEmbeddings:F("MainThreadEmbeddings"),MainThreadChatAgents2:F("MainThreadChatAgents2"),MainThreadCodeMapper:F("MainThreadCodeMapper"),MainThreadLanguageModelTools:F("MainThreadChatSkills"),MainThreadGitExtension:F("MainThreadGitExtension"),MainThreadClipboard:F("MainThreadClipboard"),MainThreadCommands:F("MainThreadCommands"),MainThreadComments:F("MainThreadComments"),MainThreadConfiguration:F("MainThreadConfiguration"),MainThreadConsole:F("MainThreadConsole"),MainThreadDebugService:F("MainThreadDebugService"),MainThreadDecorations:F("MainThreadDecorations"),MainThreadDiagnostics:F("MainThreadDiagnostics"),MainThreadDialogs:F("MainThreadDiaglogs"),MainThreadDocuments:F("MainThreadDocuments"),MainThreadDocumentContentProviders:F("MainThreadDocumentContentProviders"),MainThreadTextEditors:F("MainThreadTextEditors"),MainThreadEditorInsets:F("MainThreadEditorInsets"),MainThreadEditorTabs:F("MainThreadEditorTabs"),MainThreadErrors:F("MainThreadErrors"),MainThreadTreeViews:F("MainThreadTreeViews"),MainThreadDownloadService:F("MainThreadDownloadService"),MainThreadLanguageFeatures:F("MainThreadLanguageFeatures"),MainThreadLanguages:F("MainThreadLanguages"),MainThreadLogger:F("MainThreadLogger"),MainThreadMessageService:F("MainThreadMessageService"),MainThreadOutputService:F("MainThreadOutputService"),MainThreadProgress:F("MainThreadProgress"),MainThreadQuickDiff:F("MainThreadQuickDiff"),MainThreadDocumentDiff:F("MainThreadDocumentDiff"),MainThreadQuickOpen:F("MainThreadQuickOpen"),MainThreadStatusBar:F("MainThreadStatusBar"),MainThreadSecretState:F("MainThreadSecretState"),MainThreadStorage:F("MainThreadStorage"),MainThreadSpeech:F("MainThreadSpeechProvider"),MainThreadTelemetry:F("MainThreadTelemetry"),MainThreadMeteredConnection:F("MainThreadMeteredConnection"),MainThreadTerminalService:F("MainThreadTerminalService"),MainThreadTerminalShellIntegration:F("MainThreadTerminalShellIntegration"),MainThreadWebviews:F("MainThreadWebviews"),MainThreadWebviewPanels:F("MainThreadWebviewPanels"),MainThreadWebviewViews:F("MainThreadWebviewViews"),MainThreadCustomEditors:F("MainThreadCustomEditors"),MainThreadUrls:F("MainThreadUrls"),MainThreadUriOpeners:F("MainThreadUriOpeners"),MainThreadProfileContentHandlers:F("MainThreadProfileContentHandlers"),MainThreadWorkspace:F("MainThreadWorkspace"),MainThreadFileSystem:F("MainThreadFileSystem"),MainThreadFileSystemEventService:F("MainThreadFileSystemEventService"),MainThreadExtensionService:F("MainThreadExtensionService"),MainThreadSCM:F("MainThreadSCM"),MainThreadSearch:F("MainThreadSearch"),MainThreadShare:F("MainThreadShare"),MainThreadTask:F("MainThreadTask"),MainThreadWindow:F("MainThreadWindow"),MainThreadPower:F("MainThreadPower"),MainThreadLabelService:F("MainThreadLabelService"),MainThreadNotebook:F("MainThreadNotebook"),MainThreadNotebookDocuments:F("MainThreadNotebookDocumentsShape"),MainThreadNotebookEditors:F("MainThreadNotebookEditorsShape"),MainThreadNotebookKernels:F("MainThreadNotebookKernels"),MainThreadNotebookRenderers:F("MainThreadNotebookRenderers"),MainThreadInteractive:F("MainThreadInteractive"),MainThreadTheming:F("MainThreadTheming"),MainThreadTunnelService:F("MainThreadTunnelService"),MainThreadManagedSockets:F("MainThreadManagedSockets"),MainThreadTimeline:F("MainThreadTimeline"),MainThreadTesting:F("MainThreadTesting"),MainThreadLocalization:F("MainThreadLocalizationShape"),MainThreadMcp:F("MainThreadMcpShape"),MainThreadAiRelatedInformation:F("MainThreadAiRelatedInformation"),MainThreadAiEmbeddingVector:F("MainThreadAiEmbeddingVector"),MainThreadChatStatus:F("MainThreadChatStatus"),MainThreadChatQuota:F("MainThreadChatQuota"),MainThreadChatInputNotification:F("MainThreadChatInputNotification"),MainThreadAiSettingsSearch:F("MainThreadAiSettingsSearch"),MainThreadDataChannels:F("MainThreadDataChannels"),MainThreadChatSessions:F("MainThreadChatSessions"),MainThreadChatOutputRenderer:F("MainThreadChatOutputRenderer"),MainThreadChatContext:F("MainThreadChatContext"),MainThreadChatDebug:F("MainThreadChatDebug"),MainThreadBrowsers:F("MainThreadBrowsers")},me={ExtHostCodeMapper:F("ExtHostCodeMapper"),ExtHostCommands:F("ExtHostCommands"),ExtHostConfiguration:F("ExtHostConfiguration"),ExtHostDiagnostics:F("ExtHostDiagnostics"),ExtHostDebugService:F("ExtHostDebugService"),ExtHostDecorations:F("ExtHostDecorations"),ExtHostDocumentsAndEditors:F("ExtHostDocumentsAndEditors"),ExtHostDocuments:F("ExtHostDocuments"),ExtHostDocumentContentProviders:F("ExtHostDocumentContentProviders"),ExtHostDocumentSaveParticipant:F("ExtHostDocumentSaveParticipant"),ExtHostEditors:F("ExtHostEditors"),ExtHostTreeViews:F("ExtHostTreeViews"),ExtHostFileSystem:F("ExtHostFileSystem"),ExtHostFileSystemInfo:F("ExtHostFileSystemInfo"),ExtHostFileSystemEventService:F("ExtHostFileSystemEventService"),ExtHostLanguages:F("ExtHostLanguages"),ExtHostLanguageFeatures:F("ExtHostLanguageFeatures"),ExtHostQuickOpen:F("ExtHostQuickOpen"),ExtHostQuickDiff:F("ExtHostQuickDiff"),ExtHostStatusBar:F("ExtHostStatusBar"),ExtHostShare:F("ExtHostShare"),ExtHostExtensionService:F("ExtHostExtensionService"),ExtHostLogLevelServiceShape:F("ExtHostLogLevelServiceShape"),ExtHostTerminalService:F("ExtHostTerminalService"),ExtHostTerminalShellIntegration:F("ExtHostTerminalShellIntegration"),ExtHostSCM:F("ExtHostSCM"),ExtHostSearch:F("ExtHostSearch"),ExtHostTask:F("ExtHostTask"),ExtHostWorkspace:F("ExtHostWorkspace"),ExtHostWindow:F("ExtHostWindow"),ExtHostPower:F("ExtHostPower"),ExtHostWebviews:F("ExtHostWebviews"),ExtHostWebviewPanels:F("ExtHostWebviewPanels"),ExtHostCustomEditors:F("ExtHostCustomEditors"),ExtHostWebviewViews:F("ExtHostWebviewViews"),ExtHostEditorInsets:F("ExtHostEditorInsets"),ExtHostEditorTabs:F("ExtHostEditorTabs"),ExtHostProgress:F("ExtHostProgress"),ExtHostComments:F("ExtHostComments"),ExtHostSecretState:F("ExtHostSecretState"),ExtHostStorage:F("ExtHostStorage"),ExtHostUrls:F("ExtHostUrls"),ExtHostUriOpeners:F("ExtHostUriOpeners"),ExtHostChatOutputRenderer:F("ExtHostChatOutputRenderer"),ExtHostProfileContentHandlers:F("ExtHostProfileContentHandlers"),ExtHostOutputService:F("ExtHostOutputService"),ExtHostLabelService:F("ExtHostLabelService"),ExtHostNotebook:F("ExtHostNotebook"),ExtHostNotebookDocuments:F("ExtHostNotebookDocuments"),ExtHostNotebookEditors:F("ExtHostNotebookEditors"),ExtHostNotebookKernels:F("ExtHostNotebookKernels"),ExtHostNotebookRenderers:F("ExtHostNotebookRenderers"),ExtHostNotebookDocumentSaveParticipant:F("ExtHostNotebookDocumentSaveParticipant"),ExtHostInteractive:F("ExtHostInteractive"),ExtHostChatAgents2:F("ExtHostChatAgents"),ExtHostLanguageModelTools:F("ExtHostChatSkills"),ExtHostChatProvider:F("ExtHostChatProvider"),ExtHostChatContext:F("ExtHostChatContext"),ExtHostChatDebug:F("ExtHostChatDebug"),ExtHostSpeech:F("ExtHostSpeech"),ExtHostEmbeddings:F("ExtHostEmbeddings"),ExtHostAiRelatedInformation:F("ExtHostAiRelatedInformation"),ExtHostAiEmbeddingVector:F("ExtHostAiEmbeddingVector"),ExtHostAiSettingsSearch:F("ExtHostAiSettingsSearch"),ExtHostTheming:F("ExtHostTheming"),ExtHostTunnelService:F("ExtHostTunnelService"),ExtHostManagedSockets:F("ExtHostManagedSockets"),ExtHostAuthentication:F("ExtHostAuthentication"),ExtHostTimeline:F("ExtHostTimeline"),ExtHostTesting:F("ExtHostTesting"),ExtHostTelemetry:F("ExtHostTelemetry"),ExtHostMeteredConnection:F("ExtHostMeteredConnection"),ExtHostLocalization:F("ExtHostLocalization"),ExtHostMcp:F("ExtHostMcp"),ExtHostDataChannels:F("ExtHostDataChannels"),ExtHostChatSessions:F("ExtHostChatSessions"),ExtHostChatQuota:F("ExtHostChatQuota"),ExtHostGitExtension:F("ExtHostGitExtension"),ExtHostBrowsers:F("ExtHostBrowsers")};var O0=Object.freeze(function(i,t){let e=setTimeout(i.bind(t),0);return{dispose(){clearTimeout(e)}}}),ye;(n=>{function i(o){return o===n.None||o===n.Cancelled||o instanceof Zc?!0:!o||typeof o!="object"?!1:typeof o.isCancellationRequested=="boolean"&&typeof o.onCancellationRequested=="function"}n.isCancellationToken=i,n.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Le.None}),n.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:O0})})(ye||={});var Zc=class{constructor(){this._isCancelled=!1;this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?O0:(this._emitter||(this._emitter=new w),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}},Me=class{constructor(t){this._token=void 0;this._parentListener=void 0;this._parentListener=t&&t.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new Zc),this._token}cancel(){this._token?this._token instanceof Zc&&this._token.cancel():this._token=ye.Cancelled}dispose(t=!1){t&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof Zc&&this._token.dispose():this._token=ye.None}};function e4(i){return i}var Yv=class{constructor(t,e){this.lastCache=void 0;this.lastArgKey=void 0;typeof t=="function"?(this._fn=t,this._computeKey=e4):(this._fn=e,this._computeKey=t.getCacheKey)}get(t){let e=this._computeKey(t);return this.lastArgKey!==e&&(this.lastArgKey=e,this.lastCache=this._fn(t)),this.lastCache}};function dw(i){return i<0?0:i>255?255:i|0}function cd(i){return i<0?0:i>4294967295?4294967295:i|0}function Pi(i){return!i||typeof i!="string"?!0:i.trim().length===0}var n4=/{(\d+)}/g;function H0(i,...t){return t.length===0?i:i.replace(n4,function(e,n){let o=parseInt(n,10);return isNaN(o)||o<0||o>=t.length?e:t[o]})}var o4=/{([^}]+)}/g;function mw(i,t){return Object.keys(t).length===0?i:i.replace(o4,(e,n)=>t[n]??e)}function ir(i){return i.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function V0(i,t){let e=0,n=i.indexOf(t);for(;n!==-1;)e++,n=i.indexOf(t,n+t.length);return e}function gw(i,t){if(!i||!t)return i;let e=t.length,n=0;if(e===1){let o=t.charCodeAt(0);for(;n<i.length&&i.charCodeAt(n)===o;)n++}else for(;i.startsWith(t,n);)n+=e;return i.substring(n)}function ud(i,t){if(!i||!t)return i;let e=t.length,n=i.length;if(e===1){let r=n,s=t.charCodeAt(0);for(;r>0&&i.charCodeAt(r-1)===s;)r--;return i.substring(0,r)}let o=n;for(;o>0&&i.endsWith(t,o);)o-=e;return i.substring(0,o)}function B0(i,t,e={}){if(!i)throw new Error("Cannot create regex from empty string");t||(i=ir(i)),e.wholeWord&&(/\B/.test(i.charAt(0))||(i="\\b"+i),/\B/.test(i.charAt(i.length-1))||(i=i+"\\b"));let n="";return e.global&&(n+="g"),e.matchCase||(n+="i"),e.multiline&&(n+="m"),e.unicode&&(n+="u"),new RegExp(i,n)}function eb(i){return i.source==="^"||i.source==="^$"||i.source==="$"||i.source==="^\\s*$"?!1:!!(i.exec("")&&i.lastIndex===0)}function tb(i){return i.split(/\r\n|\r|\n/)}function nb(i){for(let t=0,e=i.length;t<e;t++){let n=i.charCodeAt(t);if(n!==32&&n!==9)return t}return-1}function W0(i,t=i.length-1){for(let e=t;e>=0;e--){let n=i.charCodeAt(e);if(n!==32&&n!==9)return e}return-1}function Kr(i,t){return i<t?-1:i>t?1:0}function ob(i,t,e=0,n=i.length,o=0,r=t.length){for(;e<n&&o<r;e++,o++){let l=i.charCodeAt(e),d=t.charCodeAt(o);if(l<d)return-1;if(l>d)return 1}let s=n-e,a=r-o;return s<a?-1:s>a?1:0}function pd(i,t){return md(i,t,0,i.length,0,t.length)}function md(i,t,e=0,n=i.length,o=0,r=t.length){for(;e<n&&o<r;e++,o++){let l=i.charCodeAt(e),d=t.charCodeAt(o);if(l===d)continue;if(l>=128||d>=128)return ob(i.toLowerCase(),t.toLowerCase(),e,n,o,r);L0(l)&&(l-=32),L0(d)&&(d-=32);let c=l-d;if(c!==0)return c}let s=n-e,a=r-o;return s<a?-1:s>a?1:0}function L0(i){return i>=97&&i<=122}function Qn(i,t){return i.length===t.length&&md(i,t)===0}function rb(i,t,e){return i===t||!!e&&i!==void 0&&t!==void 0&&Qn(i,t)}function ka(i,t){let e=t.length;return e<=i.length&&md(i,t,0,e)===0}function $0(i,t){let e=i.length,n=e-t.length;return n>=0&&md(i,t,n,e)===0}function z0(i,t){let e=Math.min(i.length,t.length),n;for(n=0;n<e;n++)if(i.charCodeAt(n)!==t.charCodeAt(n))return n;return e}function gd(i){return 55296<=i&&i<=56319}function zg(i){return 56320<=i&&i<=57343}function ib(i,t){return(i-55296<<10)+(t-56320)+65536}function fw(i,t,e){let n=i.charCodeAt(e);if(gd(n)&&e+1<t){let o=i.charCodeAt(e+1);if(zg(o))return ib(n,o)}return n}function r4(i,t){let e=i.charCodeAt(t-1);if(zg(e)&&t>1){let n=i.charCodeAt(t-2);if(gd(n))return ib(n,e)}return e}var uw=class{get offset(){return this._offset}constructor(t,e=0){this._str=t,this._len=t.length,this._offset=e}setOffset(t){this._offset=t}prevCodePoint(){let t=r4(this._str,this._offset);return this._offset-=t>=65536?2:1,t}nextCodePoint(){let t=fw(this._str,this._len,this._offset);return this._offset+=t>=65536?2:1,t}eol(){return this._offset>=this._len}},pw=class{get offset(){return this._iterator.offset}constructor(t,e=0){this._iterator=new uw(t,e)}nextGraphemeLength(){let t=Zv.getInstance(),e=this._iterator,n=e.offset,o=t.getGraphemeBreakType(e.nextCodePoint());for(;!e.eol();){let r=e.offset,s=t.getGraphemeBreakType(e.nextCodePoint());if(N0(o,s)){e.setOffset(r);break}o=s}return e.offset-n}prevGraphemeLength(){let t=Zv.getInstance(),e=this._iterator,n=e.offset,o=t.getGraphemeBreakType(e.prevCodePoint());for(;e.offset>0;){let r=e.offset,s=t.getGraphemeBreakType(e.prevCodePoint());if(N0(s,o)){e.setOffset(r);break}o=s}return n-e.offset}eol(){return this._iterator.eol()}};function hw(i,t){return new pw(i,t).nextGraphemeLength()}var cw;function i4(){return/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/}function sb(i){return cw||(cw=i4()),cw.test(i)}var s4=/^[\t\n\r\x20-\x7E]*$/;function q0(i){return s4.test(i)}var a4=/[\u2028\u2029]/;function ab(i){return a4.test(i)}var l4=/(?:\x1b\[|\x9b)[=?>!]?[\d;:]*["$#'* ]?[a-zA-Z@^`{}|~]/,d4=/(?:\x1b\]|\x9d).*?(?:\x1b\\|\x07|\x9c)/,c4=/\x1b(?:[ #%\(\)\*\+\-\.\/]?[a-zA-Z0-9\|}~@])/,b3=new RegExp("(?:"+[l4.source,d4.source,c4.source].join("|")+")","g");var K0=String.fromCharCode(65279);function G0(i){return!!(i&&i.length>0&&i.charCodeAt(0)===65279)}function vw(i,t=!1){return i?(t&&(i=i.replace(/\\./g,"")),i.toLowerCase()!==i):!1}function j0(i,t=1){if(t===0)return"";let e=-1;do e=i.indexOf(`
`,e+1),t--;while(t>0&&e>=0);return e===-1?i:(i[e-1]==="\r"&&e--,i.substr(0,e))}function N0(i,t){return i===0?t!==5&&t!==7:i===2&&t===3?!1:i===4||i===2||i===3||t===4||t===2||t===3?!0:!(i===8&&(t===8||t===9||t===11||t===12)||(i===11||i===9)&&(t===9||t===10)||(i===12||i===10)&&t===10||t===5||t===13||t===7||i===1||i===13&&t===14||i===6&&t===6)}var Zv=class i{static{this._INSTANCE=null}static getInstance(){return i._INSTANCE||(i._INSTANCE=new i),i._INSTANCE}constructor(){this._data=u4()}getGraphemeBreakType(t){if(t<32)return t===10?3:t===13?2:4;if(t<127)return 0;let e=this._data,n=e.length/3,o=1;for(;o<=n;)if(t<e[3*o])o=2*o;else if(t>e[3*o+1])o=2*o+1;else return e[3*o+2];return 0}};function u4(){return JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]")}var U0=class i{constructor(t){this.confusableDictionary=t}static{this.ambiguousCharacterData=new bt(()=>JSON.parse('{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,1523,96,8242,96,1370,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,118002,50,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,118003,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,118004,52,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,118005,53,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,118006,54,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,118007,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,118008,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,118009,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,117974,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,117975,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71913,67,71922,67,65315,67,8557,67,8450,67,8493,67,117976,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,117977,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,117978,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,117979,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,117980,71,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,117981,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,117983,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,117984,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,118001,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,117982,108,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,117985,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,117986,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,117987,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,118000,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,117988,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,117989,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,117990,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,117991,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,117992,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,117993,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,117994,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,117995,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71910,87,71919,87,117996,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,117997,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,117998,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,71909,90,66293,90,65338,90,8484,90,8488,90,117999,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65283,35,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],"_default":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"cs":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"es":[8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"fr":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"it":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"ja":[8211,45,8218,44,65281,33,8216,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65292,44,65297,49,65307,59],"ko":[8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"pt-BR":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"ru":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"zh-hans":[160,32,65374,126,8218,44,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65297,49],"zh-hant":[8211,45,65374,126,8218,44,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89]}'))}static{this.cache=new Yv(t=>{let e=t.split(",");function n(u){let m=new Map;for(let g=0;g<u.length;g+=2)m.set(u[g],u[g+1]);return m}function o(u,m){let g=new Map(u);for(let[v,f]of m)g.set(v,f);return g}function r(u,m){if(!u)return m;let g=new Map;for(let[v,f]of u)m.has(v)&&g.set(v,f);return g}let s=this.ambiguousCharacterData.value,a=e.filter(u=>!u.startsWith("_")&&Object.hasOwn(s,u));a.length===0&&(a=["_default"]);let l;for(let u of a){let m=n(s[u]);l=r(l,m)}let d=n(s._common),c=o(d,l);return new i(c)})}static getInstance(t){return i.cache.get(Array.from(t).join(","))}static{this._locales=new bt(()=>Object.keys(i.ambiguousCharacterData.value).filter(t=>!t.startsWith("_")))}static getLocales(){return i._locales.value}isAmbiguous(t){return this.confusableDictionary.has(t)}containsAmbiguousCharacter(t){for(let e=0;e<t.length;e++){let n=t.codePointAt(e);if(typeof n=="number"&&this.isAmbiguous(n))return!0}return!1}getPrimaryConfusable(t){return this.confusableDictionary.get(t)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}},F0=class i{static getRawData(){return JSON.parse('{"_common":[11,12,13,127,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999],"cs":[173,8203,12288],"de":[173,8203,12288],"es":[8203,12288],"fr":[173,8203,12288],"it":[160,173,12288],"ja":[173],"ko":[173,12288],"pl":[173,8203,12288],"pt-BR":[173,8203,12288],"qps-ploc":[160,173,8203,12288],"ru":[173,12288],"tr":[160,173,8203,12288],"zh-hans":[160,173,8203,12288],"zh-hant":[173,12288]}')}static{this._data=void 0}static getData(){return this._data||(this._data=new Set([...Object.values(i.getRawData())].flat())),this._data}static isInvisibleCharacter(t){return i.getData().has(t)}static containsInvisibleCharacter(t){for(let e=0;e<t.length;e++){let n=t.codePointAt(e);if(typeof n=="number"&&(i.isInvisibleCharacter(n)||n===32))return!0}return!1}static get codePoints(){return i.getData()}};function Pa(i){return i===47||i===92}function lb(i){return i.replace(/[\\/]/g,Ve.sep)}function Q0(i){return i.indexOf("/")===-1&&(i=lb(i)),/^[a-zA-Z]:(\/|$)/.test(i)&&(i="/"+i),i}function bw(i,t=Ve.sep){if(!i)return"";let e=i.length,n=i.charCodeAt(0);if(Pa(n)){if(Pa(i.charCodeAt(1))&&!Pa(i.charCodeAt(2))){let r=3,s=r;for(;r<e&&!Pa(i.charCodeAt(r));r++);if(s!==r&&!Pa(i.charCodeAt(r+1))){for(r+=1;r<e;r++)if(Pa(i.charCodeAt(r)))return i.slice(0,r+1).replace(/[\\/]/g,t)}}return t}else if(X0(n)&&i.charCodeAt(1)===58)return Pa(i.charCodeAt(2))?i.slice(0,2)+t:i.slice(0,2);let o=i.indexOf("://");if(o!==-1){for(o+=3;o<e;o++)if(Pa(i.charCodeAt(o)))return i.slice(0,o+1)}return""}var p4=/[\\/:\*\?"<>\|]/g,m4=/[/]/g,g4=/^(con|prn|aux|clock\$|nul|lpt[0-9]|com[0-9])(\.(.*?))?$/i;function J0(i,t=It){let e=t?p4:m4;return!(!i||i.length===0||/^\s+$/.test(i)||(e.lastIndex=0,e.test(i))||t&&g4.test(i)||i==="."||i===".."||t&&i[i.length-1]==="."||t&&i.length!==i.trim().length||i.length>255)}function fd(i,t,e,n=!1){let o=n?Ve.sep:Gn;if(i===t)return!0;if(!i||!t||((i.indexOf("..")>=0||t.indexOf("..")>=0)&&(i=n?Ve.normalize(i):Vo(i),t=n?Ve.normalize(t):Vo(t)),t.length>i.length))return!1;if(e){if(!ka(i,t))return!1;if(t.length===i.length)return!0;let s=t.length;return t.charAt(t.length-1)===o&&s--,i.charAt(s)===o}return t.charAt(t.length-1)!==o&&(t+=o),i.indexOf(t)===0}function X0(i){return i>=65&&i<=90||i>=97&&i<=122}function Y0(i,t=It){return t?X0(i.charCodeAt(0))&&i.charCodeAt(1)===58:!1}var K;(xe=>(xe.inMemory="inmemory",xe.vscode="vscode",xe.internal="private",xe.walkThrough="walkThrough",xe.walkThroughSnippet="walkThroughSnippet",xe.http="http",xe.https="https",xe.file="file",xe.mailto="mailto",xe.untitled="untitled",xe.data="data",xe.command="command",xe.vscodeRemote="vscode-remote",xe.vscodeRemoteResource="vscode-remote-resource",xe.vscodeManagedRemoteResource="vscode-managed-remote-resource",xe.vscodeUserData="vscode-userdata",xe.vscodeCustomEditor="vscode-custom-editor",xe.vscodeNotebookCell="vscode-notebook-cell",xe.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",xe.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",xe.vscodeNotebookCellOutput="vscode-notebook-cell-output",xe.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",xe.vscodeNotebookMetadata="vscode-notebook-metadata",xe.vscodeInteractiveInput="vscode-interactive-input",xe.vscodeSettings="vscode-settings",xe.vscodeWorkspaceTrust="vscode-workspace-trust",xe.vscodeTerminal="vscode-terminal",xe.vscodeImageCarousel="vscode-image-carousel",xe.vscodeChatCodeBlock="vscode-chat-code-block",xe.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",xe.vscodeChatEditor="vscode-chat-editor",xe.vscodeChatInput="chatSessionInput",xe.vscodeLocalChatSession="vscode-chat-session",xe.webviewPanel="webview-panel",xe.vscodeWebview="vscode-webview",xe.vscodeBrowser="vscode-browser",xe.extension="extension",xe.vscodeFileResource="vscode-file",xe.tmp="tmp",xe.vsls="vsls",xe.vscodeSourceControl="vscode-scm",xe.commentsInput="comment",xe.codeSetting="code-setting",xe.outputChannel="output",xe.accessibleView="accessible-view",xe.chatEditingSnapshotScheme="chat-editing-snapshot-text-model",xe.chatEditingModel="chat-editing-text-model",xe.copilotPr="copilot-pr"))(K||={});function db(i,t){return y.isUri(i)?Qn(i.scheme,t):ka(i,t+":")}function eO(i,...t){return t.some(e=>db(i,e))}var f4="tkn",yw=class{constructor(){this._hosts=Object.create(null);this._ports=Object.create(null);this._connectionTokens=Object.create(null);this._preferredWebSchema="http";this._delegate=null;this._serverRootPath="/"}setPreferredWebSchema(t){this._preferredWebSchema=t}setDelegate(t){this._delegate=t}setServerRootPath(t,e){this._serverRootPath=Ve.join(e??"/",v4(t))}getServerRootPath(){return this._serverRootPath}get _remoteResourcesPath(){return Ve.join(this._serverRootPath,K.vscodeRemoteResource)}set(t,e,n){this._hosts[t]=e,this._ports[t]=n}setConnectionToken(t,e){this._connectionTokens[t]=e}getPreferredWebSchema(){return this._preferredWebSchema}rewrite(t){if(this._delegate)try{return this._delegate(t)}catch(a){return td(a),t}let e=t.authority,n=this._hosts[e];n&&n.indexOf(":")!==-1&&n.indexOf("[")===-1&&(n=`[${n}]`);let o=this._ports[e],r=this._connectionTokens[e],s=`path=${encodeURIComponent(t.path)}`;return typeof r=="string"&&(s+=`&${f4}=${encodeURIComponent(r)}`),y.from({scheme:nr?this._preferredWebSchema:K.vscodeRemoteResource,authority:`${n}:${o}`,path:this._remoteResourcesPath,query:s})}},h4=new yw;function v4(i){return`${i.quality??"oss"}-${i.commit??"dev"}`}var tO="vs/../../node_modules",nO="vs/../../node_modules.asar";var xw="vscode-app",Iw=class i{static{this.FALLBACK_AUTHORITY=xw}asBrowserUri(t){let e=this.toUri(t);return this.uriToBrowserUri(e)}uriToBrowserUri(t){return t.scheme===K.vscodeRemote?h4.rewrite(t):t.scheme===K.file&&(Bv||p0===`${K.vscodeFileResource}://${i.FALLBACK_AUTHORITY}`)?t.with({scheme:K.vscodeFileResource,authority:t.authority||i.FALLBACK_AUTHORITY,query:null,fragment:null}):t}asFileUri(t){let e=this.toUri(t);return this.uriToFileUri(e)}uriToFileUri(t){return t.scheme===K.vscodeFileResource?t.with({scheme:K.file,authority:t.authority!==i.FALLBACK_AUTHORITY?t.authority:null,query:null,fragment:null}):t}toUri(t){if(y.isUri(t))return t;if(globalThis._VSCODE_FILE_ROOT){let e=globalThis._VSCODE_FILE_ROOT;if(/^\w[\w\d+.-]*:\/\//.test(e))return y.joinPath(y.parse(e,!0),t);let n=Yc(e,t);return y.file(n)}throw new Error("Cannot determine URI for module id!")}},cb=new Iw,w3=Object.freeze({"Cache-Control":"no-cache, no-store"}),k3=Object.freeze({"Document-Policy":"include-js-call-stacks-in-crash-reports"}),b4;(r=>{let i=new Map([["1",{"Cross-Origin-Opener-Policy":"same-origin"}],["2",{"Cross-Origin-Embedder-Policy":"require-corp"}],["3",{"Cross-Origin-Opener-Policy":"same-origin","Cross-Origin-Embedder-Policy":"require-corp"}]]);r.CoopAndCoep=Object.freeze(i.get("3"));let e="vscode-coi";function n(s){let a;typeof s=="string"?a=new URL(s).searchParams:s instanceof URL?a=s.searchParams:y.isUri(s)&&(a=new URL(s.toString(!0)).searchParams);let l=a?.get(e);if(l)return i.get(l)}r.getHeadersFromQuery=n;function o(s,a,l){if(!globalThis.crossOriginIsolated)return;let d=a&&l?"3":l?"2":"1";s instanceof URLSearchParams?s.set(e,d):s[e]=d}r.addSearchParam=o})(b4||={});function Sr(i){return Bg(i,!0)}var Di=class{constructor(t){this._ignorePathCasing=t}compare(t,e,n=!1){return t===e?0:Kr(this.getComparisonKey(t,n),this.getComparisonKey(e,n))}isEqual(t,e,n=!1){return t===e?!0:!t||!e?!1:this.getComparisonKey(t,n)===this.getComparisonKey(e,n)}getComparisonKey(t,e=!1){return t.with({path:this._ignorePathCasing(t)?t.path.toLowerCase():void 0,fragment:e?null:void 0}).toString()}ignorePathCasing(t){return this._ignorePathCasing(t)}isEqualOrParent(t,e,n=!1){if(t.scheme===e.scheme){if(t.scheme===K.file)return fd(Sr(t),Sr(e),this._ignorePathCasing(t))&&t.query===e.query&&(n||t.fragment===e.fragment);if(oO(t.authority,e.authority))return fd(t.path,e.path,this._ignorePathCasing(t),!0)&&t.query===e.query&&(n||t.fragment===e.fragment)}return!1}joinPath(t,...e){return y.joinPath(t,...e)}basenameOrAuthority(t){return tt(t)||t.authority}basename(t,e){return Ve.basename(t.path,e)}extname(t){return Ve.extname(t.path)}dirname(t){if(t.path.length===0)return t;let e;return t.scheme===K.file?e=y.file(wi(Sr(t))).path:(e=Ve.dirname(t.path),t.authority&&e.length&&e.charCodeAt(0)!==47&&(console.error(`dirname("${t.toString})) resulted in a relative path`),e="/")),t.with({path:e})}normalizePath(t){if(!t.path.length)return t;let e;return t.scheme===K.file?e=y.file(Vo(Sr(t))).path:e=Ve.normalize(t.path),t.with({path:e})}relativePath(t,e){if(t.scheme!==e.scheme||!oO(t.authority,e.authority))return;if(t.scheme===K.file){let r=hs(Sr(t),Sr(e));return It?lb(r):r}let n=t.path||"/",o=e.path||"/";if(this._ignorePathCasing(t)){let r=0;for(let s=Math.min(n.length,o.length);r<s&&!(n.charCodeAt(r)!==o.charCodeAt(r)&&n.charAt(r).toLowerCase()!==o.charAt(r).toLowerCase());r++);n=o.substr(0,r)+n.substr(r)}return Ve.relative(n,o)}resolvePath(t,e){if(t.scheme===K.file){let n=y.file(w0(Sr(t),e));return t.with({authority:n.authority,path:n.path})}return e=Q0(e),t.with({path:Ve.resolve(t.path,e)})}isAbsolutePath(t){return!!t.path&&t.path[0]==="/"}isEqualAuthority(t,e){return t===e||t!==void 0&&e!==void 0&&Qn(t,e)}hasTrailingPathSeparator(t,e=Gn){if(t.scheme===K.file){let n=Sr(t);return n.length>bw(n).length&&n[n.length-1]===e}else{let n=t.path;return n.length>1&&n.charCodeAt(n.length-1)===47&&!/^[a-zA-Z]:(\/$|\\$)/.test(t.fsPath)}}removeTrailingPathSeparator(t,e=Gn){return rO(t,e)?t.with({path:t.path.substr(0,t.path.length-1)}):t}addTrailingPathSeparator(t,e=Gn){let n=!1;if(t.scheme===K.file){let o=Sr(t);n=o!==void 0&&o.length===bw(o).length&&o[o.length-1]===e}else{e="/";let o=t.path;n=o.length===1&&o.charCodeAt(o.length-1)===47}return!n&&!rO(t,e)?t.with({path:t.path+"/"}):t}},ct=new Di(()=>!1),Cw=new Di(i=>i.scheme===K.file?!qn:!0),Sw=new Di(i=>!0),Cn=ct.isEqual.bind(ct),iO=ct.isEqualOrParent.bind(ct),O3=ct.getComparisonKey.bind(ct),qg=ct.basenameOrAuthority.bind(ct),tt=ct.basename.bind(ct),ub=ct.extname.bind(ct),sr=ct.dirname.bind(ct),Nt=ct.joinPath.bind(ct),y4=ct.normalizePath.bind(ct),Kg=ct.relativePath.bind(ct),L3=ct.resolvePath.bind(ct),sO=ct.isAbsolutePath.bind(ct),oO=ct.isEqualAuthority.bind(ct),rO=ct.hasTrailingPathSeparator.bind(ct),N3=ct.removeTrailingPathSeparator.bind(ct),U3=ct.addTrailingPathSeparator.bind(ct);var I4;(r=>{r.META_DATA_LABEL="label",r.META_DATA_DESCRIPTION="description",r.META_DATA_SIZE="size",r.META_DATA_MIME="mime";function o(s){let a=new Map;s.path.substring(s.path.indexOf(";")+1,s.path.lastIndexOf(";")).split(";").forEach(c=>{let[u,m]=c.split(":");u&&m&&a.set(u,m)});let d=s.path.substring(0,s.path.indexOf(";"));return d&&a.set(r.META_DATA_MIME,d),a}r.parseMetaData=o})(I4||={});var aO=Symbol("MicrotaskDelay");function Tr(i){return!!i&&typeof i.then=="function"}function x4(i){let t=new Me,e=i(t.token),n=!1,o=new Promise((r,s)=>{let a=t.token.onCancellationRequested(()=>{n=!0,a.dispose(),s(new rt)});Promise.resolve(e).then(l=>{a.dispose(),t.dispose(),n?Lv(l)&&l.dispose():r(l)},l=>{a.dispose(),t.dispose(),s(l)})});return new class{cancel(){t.cancel(),t.dispose()}then(r,s){return o.then(r,s)}catch(r){return this.then(void 0,r)}finally(r){return o.finally(r)}}}function ys(i,t,e){return new Promise((n,o)=>{let r=t.onCancellationRequested(()=>{r.dispose(),n(e)});i.then(n,o).finally(()=>r.dispose())})}function Da(i,t){return new Promise((e,n)=>{let o=t.onCancellationRequested(()=>{o.dispose(),n(new rt)});i.then(e,n).finally(()=>o.dispose())})}function tn(i){return new Promise((t,e)=>{let n=i();Tr(n)?n.then(t,e):t(n)})}function Dw(){let i,t;return{promise:new Promise((n,o)=>{i=n,t=o}),resolve:i,reject:t}}var Tw=class{constructor(){this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null,this.cancellationTokenSource=new Me}queue(t){if(this.cancellationTokenSource.token.isCancellationRequested)return Promise.reject(new Error("Throttler is disposed"));if(this.activePromise){if(this.queuedPromiseFactory=t,!this.queuedPromise){let e=()=>{if(this.queuedPromise=null,this.cancellationTokenSource.token.isCancellationRequested)return;let n=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,n};this.queuedPromise=new Promise(n=>{this.activePromise.then(e,e).then(n)})}return new Promise((e,n)=>{this.queuedPromise.then(e,n)})}return this.activePromise=t(this.cancellationTokenSource.token),new Promise((e,n)=>{this.activePromise.then(o=>{this.activePromise=null,e(o)},o=>{this.activePromise=null,n(o)})})}dispose(){this.cancellationTokenSource.cancel()}},gb=class{constructor(){this.current=Promise.resolve(null)}queue(t){return this.current=this.current.then(()=>t(),()=>t())}},_a=class{constructor(){this.promiseMap=new Map}queue(t,e){let o=(this.promiseMap.get(t)??Promise.resolve()).catch(()=>{}).then(e).finally(()=>{this.promiseMap.get(t)===o&&this.promiseMap.delete(t)});return this.promiseMap.set(t,o),o}peek(t){return this.promiseMap.get(t)||void 0}keys(){return this.promiseMap.keys()}},C4=(i,t)=>{let e=!0,n=setTimeout(()=>{e=!1,t()},i);return{isTriggered:()=>e,dispose:()=>{clearTimeout(n),e=!1}}},S4=i=>{let t=!0;return queueMicrotask(()=>{t&&(t=!1,i())}),{isTriggered:()=>t,dispose:()=>{t=!1}}},Ew=class{constructor(t){this.defaultDelay=t;this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(t,e=this.defaultDelay){this.task=t,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((o,r)=>{this.doResolve=o,this.doReject=r}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){let o=this.task;return this.task=null,o()}}));let n=()=>{this.deferred=null,this.doResolve?.(null)};return this.deferred=e===aO?S4(n):C4(e,n),this.completionPromise}isTriggered(){return!!this.deferred?.isTriggered()}cancel(){this.cancelTimeout(),this.completionPromise&&(this.doReject?.(new rt),this.completionPromise=null)}cancelTimeout(){this.deferred?.dispose(),this.deferred=null}dispose(){this.cancel()}},fb=class{constructor(t){this.delayer=new Ew(t),this.throttler=new Tw}trigger(t,e){return this.delayer.trigger(()=>this.throttler.queue(t),e)}isTriggered(){return this.delayer.isTriggered()}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}},An=class{constructor(){this._isOpen=!1,this._promise=new Promise((t,e)=>{this._completePromise=t})}isOpen(){return this._isOpen}open(){this._isOpen=!0,this._completePromise(!0)}wait(){return this._promise}};function Sn(i,t){return t?new Promise((e,n)=>{let o=setTimeout(()=>{r.dispose(),e()},i),r=t.onCancellationRequested(()=>{clearTimeout(o),r.dispose(),n(new rt)})}):x4(e=>Sn(i,e))}function lO(i,t=0,e){let n=setTimeout(()=>{i(),e&&o.dispose()},t),o=X(()=>{clearTimeout(n),e?.delete(o)});return e?.add(o),o}var ww=class{constructor(t){this._size=0;this._isDisposed=!1;this.maxDegreeOfParalellism=t,this.outstandingPromises=[],this.runningPromises=0,this._onDrained=new w}whenIdle(){return this.size>0?Le.toPromise(this.onDrained):Promise.resolve()}get onDrained(){return this._onDrained.event}get size(){return this._size}queue(t){if(this._isDisposed)throw new Error("Object has been disposed");return this._size++,new Promise((e,n)=>{this.outstandingPromises.push({factory:t,c:e,e:n}),this.consume()})}consume(){for(;this.outstandingPromises.length&&this.runningPromises<this.maxDegreeOfParalellism;){let t=this.outstandingPromises.shift();this.runningPromises++;let e=t.factory();e.then(t.c,t.e),e.then(()=>this.consumed(),()=>this.consumed())}}consumed(){this._isDisposed||(this.runningPromises--,--this._size===0&&this._onDrained.fire(),this.outstandingPromises.length>0&&this.consume())}clear(){if(this._isDisposed)throw new Error("Object has been disposed");this.outstandingPromises.length=0,this._size=this.runningPromises}dispose(){this._isDisposed=!0,this.outstandingPromises.length=0,this._size=0,this._onDrained.dispose()}},kw=class extends ww{constructor(){super(1)}};var hb=class{constructor(){this.queues=new Map;this.drainers=new Set;this.drainListeners=void 0;this.drainListenerCount=0}async whenDrained(){if(this.isDrained())return;let t=new cn;return this.drainers.add(t),t.p}isDrained(){for(let[,t]of this.queues)if(t.size>0)return!1;return!0}queueSize(t,e=ct){let n=e.getComparisonKey(t);return this.queues.get(n)?.size??0}queueFor(t,e,n=ct){let o=n.getComparisonKey(t),r=this.queues.get(o);if(!r){r=new kw;let s=this.drainListenerCount++,a=Le.once(r.onDrained)(()=>{r?.dispose(),this.queues.delete(o),this.onDidQueueDrain(),this.drainListeners?.deleteAndDispose(s),this.drainListeners?.size===0&&(this.drainListeners.dispose(),this.drainListeners=void 0)});this.drainListeners||(this.drainListeners=new Un),this.drainListeners.set(s,a),this.queues.set(o,r)}return r.queue(e)}onDidQueueDrain(){this.isDrained()&&this.releaseDrainers()}releaseDrainers(){for(let t of this.drainers)t.complete();this.drainers.clear()}dispose(){for(let[,t]of this.queues)t.dispose();this.queues.clear(),this.releaseDrainers(),this.drainListeners?.dispose()}};var vb=class{constructor(){this.disposable=void 0;this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(t,e,n=globalThis){if(this.isDisposed)throw new kt("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();let o=n.setInterval(()=>{t()},e);this.disposable=X(()=>{n.clearInterval(o),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}},fo=class{constructor(t,e){this.timeoutToken=void 0,this.runner=t,this.timeout=e,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=void 0)}schedule(t=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,t)}get delay(){return this.timeout}set delay(t){this.timeout=t}isScheduled(){return this.timeoutToken!==void 0}flush(){this.isScheduled()&&(this.cancel(),this.doRun())}onTimeout(){this.timeoutToken=void 0,this.runner&&this.doRun()}doRun(){this.runner?.()}};var Rw,mb;(function(){let i=globalThis;typeof i.requestIdleCallback!="function"||typeof i.cancelIdleCallback!="function"?mb=(t,e,n)=>{Wv(()=>{if(o)return;let r=Date.now()+15;e(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,r-Date.now())}}))});let o=!1;return{dispose(){o||(o=!0)}}}:mb=(t,e,n)=>{let o=t.requestIdleCallback(e,typeof n=="number"?{timeout:n}:void 0),r=!1;return{dispose(){r||(r=!0,t.cancelIdleCallback(o))}}},Rw=(t,e)=>mb(globalThis,t,e)})();var Pw=class{constructor(t,e){this._didRun=!1;this._executor=()=>{try{this._value=e()}catch(n){this._error=n}finally{this._didRun=!0}},this._handle=mb(t,()=>this._executor())}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}},bb=class extends Pw{constructor(t){super(globalThis,t)}};var cn=class i{static fromPromise(t){let e=new i;return e.settleWith(t),e}get isRejected(){return this.outcome?.outcome===1}get isResolved(){return this.outcome?.outcome===0}get isSettled(){return!!this.outcome}get value(){return this.outcome?.outcome===0?this.outcome?.value:void 0}constructor(){this.p=new Promise((t,e)=>{this.completeCallback=t,this.errorCallback=e})}complete(t){return this.isSettled?Promise.resolve():new Promise(e=>{this.completeCallback(t),this.outcome={outcome:0,value:t},e()})}error(t){return this.isSettled?Promise.resolve():new Promise(e=>{this.errorCallback(t),this.outcome={outcome:1,value:t},e()})}settleWith(t){return t.then(e=>this.complete(e),e=>this.error(e))}cancel(){return this.error(new rt)}},Ra;(e=>{async function i(n){let o,r=await Promise.all(n.map(s=>s.then(a=>a,a=>{o||(o=a)})));if(typeof o<"u")throw o;return r}e.settled=i;function t(n){return new Promise(async(o,r)=>{try{await n(o,r)}catch(s){r(s)}})}e.withAsyncBody=t})(Ra||={});var bs=class i{static fromArray(t){return new i(e=>{e.emitMany(t)})}static fromPromise(t){return new i(async e=>{e.emitMany(await t)})}static fromPromisesResolveOrder(t){return new i(async e=>{await Promise.all(t.map(async n=>e.emitOne(await n)))})}static merge(t){return new i(async e=>{await Promise.all(t.map(async n=>{for await(let o of n)e.emitOne(o)}))})}static{this.EMPTY=i.fromArray([])}constructor(t,e){this._state=0,this._results=[],this._error=null,this._onReturn=e,this._onStateChanged=new w,queueMicrotask(async()=>{let n={emitOne:o=>this.emitOne(o),emitMany:o=>this.emitMany(o),reject:o=>this.reject(o)};try{await Promise.resolve(t(n)),this.resolve()}catch(o){this.reject(o)}finally{n.emitOne=void 0,n.emitMany=void 0,n.reject=void 0}})}[Symbol.asyncIterator](){let t=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(t<this._results.length)return{done:!1,value:this._results[t++]};if(this._state===1)return{done:!0,value:void 0};await Le.toPromise(this._onStateChanged.event)}while(!0)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(t,e){return new i(async n=>{for await(let o of t)n.emitOne(e(o))})}map(t){return i.map(this,t)}static filter(t,e){return new i(async n=>{for await(let o of t)e(o)&&n.emitOne(o)})}filter(t){return i.filter(this,t)}static coalesce(t){return i.filter(t,e=>!!e)}coalesce(){return i.coalesce(this)}static async toPromise(t){let e=[];for await(let n of t)e.push(n);return e}toPromise(){return i.toPromise(this)}emitOne(t){this._state===0&&(this._results.push(t),this._onStateChanged.fire())}emitMany(t){this._state===0&&(this._results=this._results.concat(t),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(t){this._state===0&&(this._state=2,this._error=t,this._onStateChanged.fire())}};var yb=class{constructor(t){this._deferred=new cn;this._asyncIterable=new bs(o=>{if(e){o.reject(e);return}return n&&o.emitMany(n),this._errorFn=r=>o.reject(r),this._emitOneFn=r=>o.emitOne(r),this._emitManyFn=r=>o.emitMany(r),this._deferred.p},t);let e,n;this._errorFn=o=>{e||(e=o)},this._emitOneFn=o=>{n||(n=[]),n.push(o)},this._emitManyFn=o=>{n?o.forEach(r=>n.push(r)):n=o.slice()}}get asyncIterable(){return this._asyncIterable}resolve(){this._deferred.complete()}reject(t){this._errorFn(t),this._deferred.complete()}emitOne(t){this._emitOneFn(t)}emitMany(t){this._emitManyFn(t)}};var _w=class{constructor(){this._unsatisfiedConsumers=[];this._unconsumedValues=[]}get hasFinalValue(){return!!this._finalValue}produce(t){if(this._ensureNoFinalValue(),this._unsatisfiedConsumers.length>0){let e=this._unsatisfiedConsumers.shift();this._resolveOrRejectDeferred(e,t)}else this._unconsumedValues.push(t)}produceFinal(t){this._ensureNoFinalValue(),this._finalValue=t;for(let e of this._unsatisfiedConsumers)this._resolveOrRejectDeferred(e,t);this._unsatisfiedConsumers.length=0}_ensureNoFinalValue(){if(this._finalValue)throw new kt("ProducerConsumer: cannot produce after final value has been set")}_resolveOrRejectDeferred(t,e){e.ok?t.complete(e.value):t.error(e.error)}consume(){if(this._unconsumedValues.length>0||this._finalValue){let t=this._unconsumedValues.length>0?this._unconsumedValues.shift():this._finalValue;return t.ok?Promise.resolve(t.value):Promise.reject(t.error)}else{let t=new cn;return this._unsatisfiedConsumers.push(t),t.p}}},eu=class i{constructor(t,e){this._onReturn=e;this._producerConsumer=new _w;this._iterator={next:()=>this._producerConsumer.consume(),return:()=>(this._onReturn?.(),Promise.resolve({done:!0,value:void 0})),throw:async t=>(this._finishError(t),{done:!0,value:void 0})};queueMicrotask(async()=>{let n=t({emitOne:o=>this._producerConsumer.produce({ok:!0,value:{done:!1,value:o}}),emitMany:o=>{for(let r of o)this._producerConsumer.produce({ok:!0,value:{done:!1,value:r}})},reject:o=>this._finishError(o)});if(!this._producerConsumer.hasFinalValue)try{await n,this._finishOk()}catch(o){this._finishError(o)}})}static fromArray(t){return new i(e=>{e.emitMany(t)})}static fromPromise(t){return new i(async e=>{e.emitMany(await t)})}static fromPromisesResolveOrder(t){return new i(async e=>{await Promise.all(t.map(async n=>e.emitOne(await n)))})}static merge(t){return new i(async e=>{await Promise.all(t.map(async n=>{for await(let o of n)e.emitOne(o)}))})}static{this.EMPTY=i.fromArray([])}static map(t,e){return new i(async n=>{for await(let o of t)n.emitOne(e(o))})}static tee(t){let e,n,o=new cn,r=async()=>{if(!(!e||!n))try{for await(let l of t)e.emitOne(l),n.emitOne(l)}catch(l){e.reject(l),n.reject(l)}finally{o.complete()}},s=new i(async l=>(e=l,r(),o.p)),a=new i(async l=>(n=l,r(),o.p));return[s,a]}map(t){return i.map(this,t)}static coalesce(t){return i.filter(t,e=>!!e)}coalesce(){return i.coalesce(this)}static filter(t,e){return new i(async n=>{for await(let o of t)e(o)&&n.emitOne(o)})}filter(t){return i.filter(this,t)}_finishOk(){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!0,value:{done:!0,value:void 0}})}_finishError(t){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!1,error:t})}[Symbol.asyncIterator](){return this._iterator}};var oq=new class{transformIncoming(i){return i}transformOutgoing(i){return i}transformOutgoingURI(i){return i}transformOutgoingScheme(i){return i}};function dO(i,t,e,n){if(!i||n>200)return null;if(typeof i=="object"){if(i.$mid===1)return e?y.revive(t.transformIncoming(i)):t.transformIncoming(i);if(i instanceof te)return null;for(let o in i)if(Object.hasOwnProperty.call(i,o)){let r=dO(i[o],t,e,n+1);r!==null&&(i[o]=r)}}return null}function tu(i,t){let e=dO(i,t,!1,0);return e===null?i:e}var Gg=class{constructor(){this._actual=null,this._actualOk=null,this._actualErr=null,this._hasValue=!1,this._value=null,this._hasErr=!1,this._err=null}get[Symbol.toStringTag](){return this.toString()}_ensureActual(){return this._actual||(this._actual=new Promise((t,e)=>{this._actualOk=t,this._actualErr=e,this._hasValue&&this._actualOk(this._value),this._hasErr&&this._actualErr(this._err)})),this._actual}resolveOk(t){this._hasValue||this._hasErr||(this._hasValue=!0,this._value=t,this._actual&&this._actualOk(t))}resolveErr(t){this._hasValue||this._hasErr||(this._hasErr=!0,this._err=t,this._actual?this._actualErr(t):Pt(t))}then(t,e){return this._ensureActual().then(t,e)}catch(t){return this._ensureActual().then(void 0,t)}finally(t){return this._ensureActual().finally(t)}},Ib=class extends Gg{constructor(){super(),this._hasErr=!0,this._err=new rt}};function Aw(i,t){try{return JSON.stringify(i,t)}catch{return"null"}}var Ow="$$ref$$",T4={[Ow]:-1};function cO(i,t=null,e=!1){let n=[];return{jsonString:(e?Aw:JSON.stringify)(i,(r,s)=>{if(typeof s>"u")return T4;if(typeof s=="object"){if(s instanceof te){let a=n.push(s)-1;return{[Ow]:a}}if(t)return t(r,s)}return s}),referencedBuffers:n}}function gO(i,t,e){return JSON.parse(i,(n,o)=>{if(o){let r=o[Ow];if(typeof r=="number")return t[r];if(e&&o.$mid===1)return e.transformIncoming(o)}return o})}function uO(i,t){return JSON.stringify(i,t)}function E4(i){return i?(t,e)=>e&&e.$mid===1?i.transformOutgoing(e):e:null}var w4=()=>{},k4=Symbol.for("rpcProtocol"),P4=Symbol.for("rpcProxy"),pO,mO,xb=class i extends(mO=V,pO=k4,mO){constructor(e,n=null,o=null){super();this[pO]=!0;this._onDidChangeResponsiveState=this._register(new w);this.onDidChangeResponsiveState=this._onDidChangeResponsiveState.event;this._protocol=e,this._logger=n,this._uriTransformer=o,this._uriReplacer=E4(this._uriTransformer),this._isDisposed=!1,this._locals=[],this._proxies=[];for(let r=0,s=Wg.count;r<s;r++)this._locals[r]=null,this._proxies[r]=null;this._lastMessageId=0,this._cancelInvokedHandlers=Object.create(null),this._pendingRPCReplies={},this._responsiveState=0,this._unacknowledgedCount=0,this._unresponsiveTime=0,this._asyncCheckUresponsive=this._register(new fo(()=>this._checkUnresponsive(),1e3)),this._register(this._protocol.onMessage(r=>this._receiveOneMessage(r)))}static{this.UNRESPONSIVE_TIME=3*1e3}dispose(){this._isDisposed=!0,Object.keys(this._pendingRPCReplies).forEach(e=>{let n=this._pendingRPCReplies[e];delete this._pendingRPCReplies[e],n.resolveErr(PE())}),super.dispose()}drain(){return typeof this._protocol.drain=="function"?this._protocol.drain():Promise.resolve()}_onWillSendRequest(e){this._unacknowledgedCount===0&&(this._unresponsiveTime=Date.now()+i.UNRESPONSIVE_TIME),this._unacknowledgedCount++,this._asyncCheckUresponsive.isScheduled()||this._asyncCheckUresponsive.schedule()}_onDidReceiveAcknowledge(e){this._unresponsiveTime=Date.now()+i.UNRESPONSIVE_TIME,this._unacknowledgedCount--,this._unacknowledgedCount===0&&this._asyncCheckUresponsive.cancel(),this._setResponsiveState(0)}_checkUnresponsive(){this._unacknowledgedCount!==0&&(Date.now()>this._unresponsiveTime?this._setResponsiveState(1):this._asyncCheckUresponsive.schedule())}_setResponsiveState(e){this._responsiveState!==e&&(this._responsiveState=e,this._onDidChangeResponsiveState.fire(this._responsiveState))}get responsiveState(){return this._responsiveState}transformIncomingURIs(e){return this._uriTransformer?tu(e,this._uriTransformer):e}getProxy(e){let{nid:n,sid:o}=e;return this._proxies[n]||(this._proxies[n]=this._createProxy(n,o)),this._proxies[n]}_createProxy(e,n){let o={get:(r,s)=>(typeof s=="string"&&!r[s]&&s.charCodeAt(0)===36&&(r[s]=(...a)=>this._remoteCall(e,s,a)),s===P4?n:r[s])};return new Proxy(Object.create(null),o)}set(e,n){return this._locals[e.nid]=n,n}assertRegistered(e){for(let n=0,o=e.length;n<o;n++){let r=e[n];if(!this._locals[r.nid])throw new Error(`Missing proxy instance ${r.sid}`)}}_receiveOneMessage(e){if(this._isDisposed)return;let n=e.byteLength,o=nn.read(e,0),r=o.readUInt8(),s=o.readUInt32();switch(r){case 1:case 2:{let{rpcId:a,method:l,args:d}=Bo.deserializeRequestJSONArgs(o);this._uriTransformer&&(d=tu(d,this._uriTransformer)),this._receiveRequest(n,s,a,l,d,r===2);break}case 3:case 4:{let{rpcId:a,method:l,args:d}=Bo.deserializeRequestMixedArgs(o);this._uriTransformer&&(d=tu(d,this._uriTransformer)),this._receiveRequest(n,s,a,l,d,r===4);break}case 5:{this._logger?.logIncoming(n,s,0,"ack"),this._onDidReceiveAcknowledge(s);break}case 6:{this._receiveCancel(n,s);break}case 7:{this._receiveReply(n,s,void 0);break}case 9:{let a=Bo.deserializeReplyOKJSON(o);this._uriTransformer&&(a=tu(a,this._uriTransformer)),this._receiveReply(n,s,a);break}case 10:{let a=Bo.deserializeReplyOKJSONWithBuffers(o,this._uriTransformer);this._receiveReply(n,s,a);break}case 8:{let a=Bo.deserializeReplyOKVSBuffer(o);this._receiveReply(n,s,a);break}case 11:{let a=Bo.deserializeReplyErrError(o);this._uriTransformer&&(a=tu(a,this._uriTransformer)),this._receiveReplyErr(n,s,a);break}case 12:{this._receiveReplyErr(n,s,void 0);break}default:console.error("received unexpected message"),console.error(e)}}_receiveRequest(e,n,o,r,s,a){this._logger?.logIncoming(e,n,1,`receiveRequest ${$g(o)}.${r}(`,s);let l=String(n),d,c;if(a){let m=new Me;s.push(m.token),d=this._invokeHandler(o,r,s),c=()=>m.cancel()}else d=this._invokeHandler(o,r,s),c=w4;this._cancelInvokedHandlers[l]=c;let u=Bo.serializeAcknowledged(n);this._logger?.logOutgoing(u.byteLength,n,1,"ack"),this._protocol.send(u),d.then(m=>{delete this._cancelInvokedHandlers[l];let g=Bo.serializeReplyOK(n,m,this._uriReplacer);this._logger?.logOutgoing(g.byteLength,n,1,"reply:",m),this._protocol.send(g)},m=>{delete this._cancelInvokedHandlers[l];let g=Bo.serializeReplyErr(n,m);this._logger?.logOutgoing(g.byteLength,n,1,"replyErr:",m),this._protocol.send(g)})}_receiveCancel(e,n){this._logger?.logIncoming(e,n,1,"receiveCancel");let o=String(n);this._cancelInvokedHandlers[o]?.()}_receiveReply(e,n,o){this._logger?.logIncoming(e,n,0,"receiveReply:",o);let r=String(n);if(!this._pendingRPCReplies.hasOwnProperty(r))return;let s=this._pendingRPCReplies[r];delete this._pendingRPCReplies[r],s.resolveOk(o)}_receiveReplyErr(e,n,o){this._logger?.logIncoming(e,n,0,"receiveReplyErr:",o);let r=String(n);if(!this._pendingRPCReplies.hasOwnProperty(r))return;let s=this._pendingRPCReplies[r];delete this._pendingRPCReplies[r];let a;o&&(o.$isError?(a=new Error,a.name=o.name,a.message=o.message,a.stack=o.stack):a=o),s.resolveErr(a)}_invokeHandler(e,n,o){try{return Promise.resolve(this._doInvokeHandler(e,n,o))}catch(r){return Promise.reject(r)}}_doInvokeHandler(e,n,o){let r=this._locals[e];if(!r)throw new Error("Unknown actor "+$g(e));let s=r[n];if(typeof s!="function")throw new Error("Unknown method "+n+" on actor "+$g(e));return s.apply(r,o)}_remoteCall(e,n,o){if(this._isDisposed)return new Ib;let r=null;if(o.length>0&&ye.isCancellationToken(o[o.length-1])&&(r=o.pop()),r&&r.isCancellationRequested)return Promise.reject(PE());let s=Bo.serializeRequestArguments(o,this._uriReplacer),a=++this._lastMessageId,l=String(a),d=new Gg,c=new J;r&&c.add(r.onCancellationRequested(()=>{let m=Bo.serializeCancel(a);this._logger?.logOutgoing(m.byteLength,a,0,"cancel"),this._protocol.send(m)})),this._pendingRPCReplies[l]=new Mw(d,c),this._onWillSendRequest(a);let u=Bo.serializeRequest(a,e,n,s,!!r);return this._logger?.logOutgoing(u.byteLength,a,0,`request: ${$g(e)}.${n}(`,o),this._protocol.send(u),d}},Mw=class{constructor(t,e){this._promise=t;this._disposable=e}resolveOk(t){this._promise.resolveOk(t),this._disposable.dispose()}resolveErr(t){this._promise.resolveErr(t),this._disposable.dispose()}},nn=class i{static alloc(t,e,n){let o=new i(te.alloc(n+1+4),0);return o.writeUInt8(t),o.writeUInt32(e),o}static read(t,e){return new i(t,e)}get buffer(){return this._buff}constructor(t,e){this._buff=t,this._offset=e}static sizeUInt8(){return 1}static{this.sizeUInt32=4}writeUInt8(t){this._buff.writeUInt8(t,this._offset),this._offset+=1}readUInt8(){let t=this._buff.readUInt8(this._offset);return this._offset+=1,t}writeUInt32(t){this._buff.writeUInt32BE(t,this._offset),this._offset+=4}readUInt32(){let t=this._buff.readUInt32BE(this._offset);return this._offset+=4,t}static sizeShortString(t){return 1+t.byteLength}writeShortString(t){this._buff.writeUInt8(t.byteLength,this._offset),this._offset+=1,this._buff.set(t,this._offset),this._offset+=t.byteLength}readShortString(){let t=this._buff.readUInt8(this._offset);this._offset+=1;let n=this._buff.slice(this._offset,this._offset+t).toString();return this._offset+=t,n}static sizeLongString(t){return 4+t.byteLength}writeLongString(t){this._buff.writeUInt32BE(t.byteLength,this._offset),this._offset+=4,this._buff.set(t,this._offset),this._offset+=t.byteLength}readLongString(){let t=this._buff.readUInt32BE(this._offset);this._offset+=4;let n=this._buff.slice(this._offset,this._offset+t).toString();return this._offset+=t,n}writeBuffer(t){this._buff.writeUInt32BE(t.byteLength,this._offset),this._offset+=4,this._buff.set(t,this._offset),this._offset+=t.byteLength}static sizeVSBuffer(t){return 4+t.byteLength}writeVSBuffer(t){this._buff.writeUInt32BE(t.byteLength,this._offset),this._offset+=4,this._buff.set(t,this._offset),this._offset+=t.byteLength}readVSBuffer(){let t=this._buff.readUInt32BE(this._offset);this._offset+=4;let e=this._buff.slice(this._offset,this._offset+t);return this._offset+=t,e}static sizeMixedArray(t){let e=0;e+=1;for(let n=0,o=t.length;n<o;n++){let r=t[n];switch(e+=1,r.type){case 1:e+=this.sizeLongString(r.value);break;case 2:e+=this.sizeVSBuffer(r.value);break;case 3:e+=this.sizeUInt32,e+=this.sizeLongString(r.value);for(let s=0;s<r.buffers.length;++s)e+=this.sizeVSBuffer(r.buffers[s]);break;case 4:break}}return e}writeMixedArray(t){this._buff.writeUInt8(t.length,this._offset),this._offset+=1;for(let e=0,n=t.length;e<n;e++){let o=t[e];switch(o.type){case 1:this.writeUInt8(1),this.writeLongString(o.value);break;case 2:this.writeUInt8(2),this.writeVSBuffer(o.value);break;case 3:this.writeUInt8(3),this.writeUInt32(o.buffers.length),this.writeLongString(o.value);for(let r=0;r<o.buffers.length;++r)this.writeBuffer(o.buffers[r]);break;case 4:this.writeUInt8(4);break}}}readMixedArray(){let t=this._buff.readUInt8(this._offset);this._offset+=1;let e=new Array(t);for(let n=0;n<t;n++)switch(this.readUInt8()){case 1:e[n]=this.readLongString();break;case 2:e[n]=this.readVSBuffer();break;case 3:{let r=this.readUInt32(),s=this.readLongString(),a=[];for(let l=0;l<r;++l)a.push(this.readVSBuffer());e[n]=new Ft(gO(s,a,null));break}case 4:e[n]=void 0;break}return e}};var Bo=class{static _useMixedArgSerialization(t){for(let e=0,n=t.length;e<n;e++)if(t[e]instanceof te||t[e]instanceof Ft||typeof t[e]>"u")return!0;return!1}static serializeRequestArguments(t,e){if(this._useMixedArgSerialization(t)){let n=[];for(let o=0,r=t.length;o<r;o++){let s=t[o];if(s instanceof te)n[o]={type:2,value:s};else if(typeof s>"u")n[o]={type:4};else if(s instanceof Ft){let{jsonString:a,referencedBuffers:l}=cO(s.value,e);n[o]={type:3,value:te.fromString(a),buffers:l}}else n[o]={type:1,value:te.fromString(uO(s,e))}}return{type:1,args:n}}return{type:0,args:uO(t,e)}}static serializeRequest(t,e,n,o,r){switch(o.type){case 0:return this._requestJSONArgs(t,e,n,o.args,r);case 1:return this._requestMixedArgs(t,e,n,o.args,r)}}static _requestJSONArgs(t,e,n,o,r){let s=te.fromString(n),a=te.fromString(o),l=0;l+=nn.sizeUInt8(),l+=nn.sizeShortString(s),l+=nn.sizeLongString(a);let d=nn.alloc(r?2:1,t,l);return d.writeUInt8(e),d.writeShortString(s),d.writeLongString(a),d.buffer}static deserializeRequestJSONArgs(t){let e=t.readUInt8(),n=t.readShortString(),o=t.readLongString();return{rpcId:e,method:n,args:JSON.parse(o)}}static _requestMixedArgs(t,e,n,o,r){let s=te.fromString(n),a=0;a+=nn.sizeUInt8(),a+=nn.sizeShortString(s),a+=nn.sizeMixedArray(o);let l=nn.alloc(r?4:3,t,a);return l.writeUInt8(e),l.writeShortString(s),l.writeMixedArray(o),l.buffer}static deserializeRequestMixedArgs(t){let e=t.readUInt8(),n=t.readShortString(),o=t.readMixedArray(),r=new Array(o.length);for(let s=0,a=o.length;s<a;s++){let l=o[s];typeof l=="string"?r[s]=JSON.parse(l):r[s]=l}return{rpcId:e,method:n,args:r}}static serializeAcknowledged(t){return nn.alloc(5,t,0).buffer}static serializeCancel(t){return nn.alloc(6,t,0).buffer}static serializeReplyOK(t,e,n){if(typeof e>"u")return this._serializeReplyOKEmpty(t);if(e instanceof te)return this._serializeReplyOKVSBuffer(t,e);if(e instanceof Ft){let{jsonString:o,referencedBuffers:r}=cO(e.value,n,!0);return this._serializeReplyOKJSONWithBuffers(t,o,r)}else return this._serializeReplyOKJSON(t,Aw(e,n))}static _serializeReplyOKEmpty(t){return nn.alloc(7,t,0).buffer}static _serializeReplyOKVSBuffer(t,e){let n=0;n+=nn.sizeVSBuffer(e);let o=nn.alloc(8,t,n);return o.writeVSBuffer(e),o.buffer}static deserializeReplyOKVSBuffer(t){return t.readVSBuffer()}static _serializeReplyOKJSON(t,e){let n=te.fromString(e),o=0;o+=nn.sizeLongString(n);let r=nn.alloc(9,t,o);return r.writeLongString(n),r.buffer}static _serializeReplyOKJSONWithBuffers(t,e,n){let o=te.fromString(e),r=0;r+=nn.sizeUInt32,r+=nn.sizeLongString(o);for(let a of n)r+=nn.sizeVSBuffer(a);let s=nn.alloc(10,t,r);s.writeUInt32(n.length),s.writeLongString(o);for(let a of n)s.writeBuffer(a);return s.buffer}static deserializeReplyOKJSON(t){let e=t.readLongString();return JSON.parse(e)}static deserializeReplyOKJSONWithBuffers(t,e){let n=t.readUInt32(),o=t.readLongString(),r=[];for(let s=0;s<n;++s)r.push(t.readVSBuffer());return new Ft(gO(o,r,e))}static serializeReplyErr(t,e){let n=e?Aw(Ii(e),null):void 0;if(typeof n!="string")return this._serializeReplyErrEmpty(t);let o=te.fromString(n),r=0;r+=nn.sizeLongString(o);let s=nn.alloc(11,t,r);return s.writeLongString(o),s.buffer}static deserializeReplyErrError(t){let e=t.readLongString();return JSON.parse(e)}static _serializeReplyErrEmpty(t){return nn.alloc(12,t,0).buffer}};var Gr;(o=>{o.serviceIds=new Map,o.DI_TARGET="$di$target",o.DI_DEPENDENCIES="$di$dependencies";function n(r){return r[o.DI_DEPENDENCIES]||[]}o.getServiceDependencies=n})(Gr||={});var Po=A("instantiationService");function _4(i,t,e){t[Gr.DI_TARGET]===t?t[Gr.DI_DEPENDENCIES].push({id:i,index:e}):(t[Gr.DI_DEPENDENCIES]=[{id:i,index:e}],t[Gr.DI_TARGET]=t)}function A(i){if(Gr.serviceIds.has(i))return Gr.serviceIds.get(i);let t=function(e,n,o){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");_4(t,e,o)};return t.toString=()=>i,Gr.serviceIds.set(i,t),t}function jg(i){if(!i)return;let t=i.indexOf("+");return t<0?i:i.substr(0,t)}var Cb=["AI","Azure","Chat","Data Science","Debuggers","Extension Packs","Education","Formatters","Keymaps","Language Packs","Linters","Machine Learning","Notebooks","Programming Languages","SCM Providers","Snippets","Testing","Themes","Visualization","Other"];var Se=class{constructor(t){this.value=t,this._lower=t.toLowerCase()}static equals(t,e){if(typeof t>"u"||t===null)return typeof e>"u"||e===null;if(typeof e>"u"||e===null)return!1;if(typeof t=="string"||typeof e=="string"){let n=typeof t=="string"?t:t.value,o=typeof e=="string"?e:e.value;return Qn(n,o)}return t._lower===e._lower}static toKey(t){return typeof t=="string"?t.toLowerCase():t._lower}},ho=class{constructor(t){this._set=new Set;if(t)for(let e of t)this.add(e)}get size(){return this._set.size}add(t){this._set.add(Se.toKey(t))}delete(t){return this._set.delete(Se.toKey(t))}has(t){return this._set.has(Se.toKey(t))}},Jn=class{constructor(){this._map=new Map}clear(){this._map.clear()}delete(t){this._map.delete(Se.toKey(t))}get(t){return this._map.get(Se.toKey(t))}has(t){return this._map.has(Se.toKey(t))}set(t,e){this._map.set(Se.toKey(t),e)}values(){return this._map.values()}forEach(t){this._map.forEach(t)}[Symbol.iterator](){return this._map[Symbol.iterator]()}},nu=class extends Error{constructor(t,e,n){super(`Error in extension ${Se.toKey(t)}: ${n??e.message}`,{cause:e}),this.name="ExtensionError",this.extension=t}};var _q=A("IBuiltinExtensionsScannerService");function Lw(i,t){return t&&(i.stack||i.stacktrace)?p(116,null,hO(i),fO(i.stack)||fO(i.stacktrace)):hO(i)}function fO(i){return Array.isArray(i)?i.join(`
`):i}function hO(i){return i.code==="ERR_UNC_HOST_NOT_ALLOWED"?`${i.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:typeof i.code=="string"&&typeof i.errno=="number"&&typeof i.syscall=="string"?p(115,null,i.message):i.message||p(113,null)}function jr(i=null,t=!1){if(!i)return p(113,null);if(Array.isArray(i)){let e=it(i),n=jr(e[0],t);return e.length>1?p(114,null,n,e.length):n}if(Ae(i))return i;if(i.detail){let e=i.detail;if(e.error)return Lw(e.error,t);if(e.exception)return Lw(e.exception,t)}return i.stack?Lw(i,t):i.message?i.message:p(113,null)}function ar(i){return Uw(i,0)}function Uw(i,t){switch(typeof i){case"object":return i===null?Is(349,t):Array.isArray(i)?R4(i,t):A4(i,t);case"string":return ou(i,t);case"boolean":return D4(i,t);case"number":return Is(i,t);case"undefined":return Is(937,t);default:return Is(617,t)}}function Is(i,t){return(t<<5)-t+i|0}function D4(i,t){return Is(i?433:863,t)}function ou(i,t){t=Is(149417,t);for(let e=0,n=i.length;e<n;e++)t=Is(i.charCodeAt(e),t);return t}function R4(i,t){return t=Is(104579,t),i.reduce((e,n)=>Uw(n,e),t)}function A4(i,t){return t=Is(181387,t),Object.keys(i).sort().reduce((e,n)=>(e=ou(n,e),Uw(i[n],e)),t)}function Nw(i,t,e=32){let n=e-t,o=~((1<<n)-1);return(i<<t|(o&i)>>>n)>>>0}function Qg(i,t=32){return i instanceof ArrayBuffer?xa(te.wrap(new Uint8Array(i))):(i>>>0).toString(16).padStart(t/4,"0")}var vO=class i{constructor(){this._h0=1732584193;this._h1=4023233417;this._h2=2562383102;this._h3=271733878;this._h4=3285377520;this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}static{this._bigBlock32=new DataView(new ArrayBuffer(320))}update(t){let e=t.length;if(e===0)return;let n=this._buff,o=this._buffLen,r=this._leftoverHighSurrogate,s,a;for(r!==0?(s=r,a=-1,r=0):(s=t.charCodeAt(0),a=0);;){let l=s;if(gd(s))if(a+1<e){let d=t.charCodeAt(a+1);zg(d)?(a++,l=ib(s,d)):l=65533}else{r=s;break}else zg(s)&&(l=65533);if(o=this._push(n,o,l),a++,a<e)s=t.charCodeAt(a);else break}this._buffLen=o,this._leftoverHighSurrogate=r}_push(t,e,n){return n<128?t[e++]=n:n<2048?(t[e++]=192|(n&1984)>>>6,t[e++]=128|(n&63)>>>0):n<65536?(t[e++]=224|(n&61440)>>>12,t[e++]=128|(n&4032)>>>6,t[e++]=128|(n&63)>>>0):(t[e++]=240|(n&1835008)>>>18,t[e++]=128|(n&258048)>>>12,t[e++]=128|(n&4032)>>>6,t[e++]=128|(n&63)>>>0),e>=64&&(this._step(),e-=64,this._totalLen+=64,t[0]=t[64],t[1]=t[65],t[2]=t[66]),e}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),Qg(this._h0)+Qg(this._h1)+Qg(this._h2)+Qg(this._h3)+Qg(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,this._buff.subarray(this._buffLen).fill(0),this._buffLen>56&&(this._step(),this._buff.fill(0));let t=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(t/4294967296),!1),this._buffDV.setUint32(60,t%4294967296,!1),this._step()}_step(){let t=i._bigBlock32,e=this._buffDV;for(let u=0;u<64;u+=4)t.setUint32(u,e.getUint32(u,!1),!1);for(let u=64;u<320;u+=4)t.setUint32(u,Nw(t.getUint32(u-12,!1)^t.getUint32(u-32,!1)^t.getUint32(u-56,!1)^t.getUint32(u-64,!1),1),!1);let n=this._h0,o=this._h1,r=this._h2,s=this._h3,a=this._h4,l,d,c;for(let u=0;u<80;u++)u<20?(l=o&r|~o&s,d=1518500249):u<40?(l=o^r^s,d=1859775393):u<60?(l=o&r|o&s|r&s,d=2400959708):(l=o^r^s,d=3395469782),c=Nw(n,5)+l+a+d+t.getUint32(u*4,!1)&4294967295,a=s,s=r,r=Nw(o,30),o=n,n=c;this._h0=this._h0+n&4294967295,this._h1=this._h1+o&4294967295,this._h2=this._h2+r&4294967295,this._h3=this._h3+s&4294967295,this._h4=this._h4+a&4294967295}};function Fw(...i){switch(i.length){case 1:return p(2284,null,i[0]);case 2:return p(2285,null,i[0],i[1]);case 3:return p(2286,null,i[0],i[1],i[2]);default:return}}var M4=p(2283,null),O4=p(2282,null),Aa=class i{constructor(){this._input="";this._start=0;this._current=0;this._tokens=[];this._errors=[];this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(t){switch(t.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return t.isTripleEq?"===":"==";case 4:return t.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:return">";case 8:return">=";case 9:return"=~";case 10:return t.lexeme;case 11:return"true";case 12:return"false";case 13:return"in";case 14:return"not";case 15:return"&&";case 16:return"||";case 17:return t.lexeme;case 18:return t.lexeme;case 19:return t.lexeme;case 20:return"EOF";default:throw Bc(`unhandled token type: ${JSON.stringify(t)}; have you forgotten to add a case?`)}}static{this._regexFlags=new Set(["i","g","s","m","y","u"].map(t=>t.charCodeAt(0)))}static{this._keywords=new Map([["not",14],["in",13],["false",12],["true",11]])}get errors(){return this._errors}reset(t){return this._input=t,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!this._isAtEnd();)switch(this._start=this._current,this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){let e=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:e})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){let e=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:e})}else this._match(126)?this._addToken(9):this._error(Fw("==","=~"));break;case 60:this._addToken(this._match(61)?6:5);break;case 62:this._addToken(this._match(61)?8:7);break;case 38:this._match(38)?this._addToken(15):this._error(Fw("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(Fw("||"));break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}return this._start=this._current,this._addToken(20),Array.from(this._tokens)}_match(t){return this._isAtEnd()||this._input.charCodeAt(this._current)!==t?!1:(this._current++,!0)}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(t){this._tokens.push({type:t,offset:this._start})}_error(t){let e=this._start,n=this._input.substring(this._start,this._current),o={type:19,offset:this._start,lexeme:n};this._errors.push({offset:e,lexeme:n,additionalInfo:t}),this._tokens.push(o)}_string(){this.stringRe.lastIndex=this._start;let t=this.stringRe.exec(this._input);if(t){this._current=this._start+t[0].length;let e=this._input.substring(this._start,this._current),n=i._keywords.get(e);n?this._addToken(n):this._tokens.push({type:17,lexeme:e,offset:this._start})}}_quotedString(){for(;this._peek()!==39&&!this._isAtEnd();)this._advance();if(this._isAtEnd()){this._error(M4);return}this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1})}_regex(){let t=this._current,e=!1,n=!1;for(;;){if(t>=this._input.length){this._current=t,this._error(O4);return}let r=this._input.charCodeAt(t);if(e)e=!1;else if(r===47&&!n){t++;break}else r===91?n=!0:r===92?e=!0:r===93&&(n=!1);t++}for(;t<this._input.length&&i._regexFlags.has(this._input.charCodeAt(t));)t++;this._current=t;let o=this._input.substring(this._start,this._current);this._tokens.push({type:10,lexeme:o,offset:this._start})}_isAtEnd(){return this._current>=this._input.length}};var Vn=new Map;Vn.set("false",!1);Vn.set("true",!0);Vn.set("isMac",dn);Vn.set("isLinux",qn);Vn.set("isWindows",It);Vn.set("isWeb",nr);Vn.set("isMacNative",dn&&!nr);Vn.set("isEdge",zv);Vn.set("isFirefox",f0);Vn.set("isChrome",Vg);Vn.set("isSafari",h0);var L4=Object.prototype.hasOwnProperty;var N4={regexParsingWithErrorRecovery:!0},U4=p(2263,null),F4=p(2264,null),H4=p(2266,null),bO=p(2262,null),V4=p(2269,null),B4=p(2270,null),W4=p(2267,null),$4=p(2268,null),Sb=class i{constructor(t=N4){this._config=t;this._scanner=new Aa;this._tokens=[];this._current=0;this._parsingErrors=[];this._flagsGYRe=/g|y/g}static{this._parseError=new Error}get lexingErrors(){return this._scanner.errors}get parsingErrors(){return this._parsingErrors}parse(t){if(t===""){this._parsingErrors.push({message:U4,offset:0,lexeme:"",additionalInfo:F4});return}this._tokens=this._scanner.reset(t).scan(),this._current=0,this._parsingErrors=[];try{let e=this._expr();if(!this._isAtEnd()){let n=this._peek(),o=n.type===17?B4:void 0;throw this._parsingErrors.push({message:V4,offset:n.offset,lexeme:Aa.getLexeme(n),additionalInfo:o}),i._parseError}return e}catch(e){if(e!==i._parseError)throw e;return}}_expr(){return this._or()}_or(){let t=[this._and()];for(;this._matchOne(16);){let e=this._and();t.push(e)}return t.length===1?t[0]:at.or(...t)}_and(){let t=[this._term()];for(;this._matchOne(15);){let e=this._term();t.push(e)}return t.length===1?t[0]:at.and(...t)}_term(){if(this._matchOne(2)){let t=this._peek();switch(t.type){case 11:return this._advance(),io.INSTANCE;case 12:return this._advance(),vo.INSTANCE;case 0:{this._advance();let e=this._expr();return this._consume(1,bO),e?.negate()}case 17:return this._advance(),vd.create(t.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",t)}}return this._primary()}_primary(){let t=this._peek();switch(t.type){case 11:return this._advance(),at.true();case 12:return this._advance(),at.false();case 0:{this._advance();let e=this._expr();return this._consume(1,bO),e}case 17:{let e=t.lexeme;if(this._advance(),this._matchOne(9)){let o=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),o.type!==10)throw this._errExpectedButGot("REGEX",o);let r=o.lexeme,s=r.lastIndexOf("/"),a=s===r.length-1?void 0:this._removeFlagsGY(r.substring(s+1)),l;try{l=new RegExp(r.substring(1,s),a)}catch{throw this._errExpectedButGot("REGEX",o)}return nf.create(e,l)}switch(o.type){case 10:case 19:{let r=[o.lexeme];this._advance();let s=this._peek(),a=0;for(let m=0;m<o.lexeme.length;m++)o.lexeme.charCodeAt(m)===40?a++:o.lexeme.charCodeAt(m)===41&&a--;for(;!this._isAtEnd()&&s.type!==15&&s.type!==16;){switch(s.type){case 0:a++;break;case 1:a--;break;case 10:case 18:for(let m=0;m<s.lexeme.length;m++)s.lexeme.charCodeAt(m)===40?a++:o.lexeme.charCodeAt(m)===41&&a--}if(a<0)break;r.push(Aa.getLexeme(s)),this._advance(),s=this._peek()}let l=r.join(""),d=l.lastIndexOf("/"),c=d===l.length-1?void 0:this._removeFlagsGY(l.substring(d+1)),u;try{u=new RegExp(l.substring(1,d),c)}catch{throw this._errExpectedButGot("REGEX",o)}return at.regex(e,u)}case 18:{let r=o.lexeme;this._advance();let s=null;if(!Pi(r)){let a=r.indexOf("/"),l=r.lastIndexOf("/");if(a!==l&&a>=0){let d=r.slice(a+1,l),c=r[l+1]==="i"?"i":"";try{s=new RegExp(d,c)}catch{throw this._errExpectedButGot("REGEX",o)}}}if(s===null)throw this._errExpectedButGot("REGEX",o);return nf.create(e,s)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,H4);let o=this._value();return at.notIn(e,o)}switch(this._peek().type){case 3:{this._advance();let o=this._value();if(this._previous().type===18)return at.equals(e,o);switch(o){case"true":return at.has(e);case"false":return at.not(e);default:return at.equals(e,o)}}case 4:{this._advance();let o=this._value();if(this._previous().type===18)return at.notEquals(e,o);switch(o){case"true":return at.not(e);case"false":return at.has(e);default:return at.notEquals(e,o)}}case 5:return this._advance(),ef.create(e,this._value());case 6:return this._advance(),tf.create(e,this._value());case 7:return this._advance(),ru.create(e,this._value());case 8:return this._advance(),Zg.create(e,this._value());case 13:return this._advance(),at.in(e,this._value());default:return at.has(e)}}case 20:throw this._parsingErrors.push({message:W4,offset:t.offset,lexeme:"",additionalInfo:$4}),i._parseError;default:throw this._errExpectedButGot(`true | false | KEY 
	| KEY '=~' REGEX 
	| KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value`,this._peek())}}_value(){let t=this._peek();switch(t.type){case 17:case 18:return this._advance(),t.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(t){return t.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(t){return this._check(t)?(this._advance(),!0):!1}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(t,e){if(this._check(t))return this._advance();throw this._errExpectedButGot(e,this._peek())}_errExpectedButGot(t,e,n){let o=p(2265,null,t,Aa.getLexeme(e)),r=e.offset,s=Aa.getLexeme(e);return this._parsingErrors.push({message:o,offset:r,lexeme:s,additionalInfo:n}),i._parseError}_check(t){return this._peek().type===t}_peek(){return this._tokens[this._current]}_isAtEnd(){return this._peek().type===20}},at=class{static false(){return io.INSTANCE}static true(){return vo.INSTANCE}static has(t){return hd.create(t)}static equals(t,e){return Xg.create(t,e)}static notEquals(t,e){return Yg.create(t,e)}static regex(t,e){return nf.create(t,e)}static in(t,e){return Tb.create(t,e)}static notIn(t,e){return Eb.create(t,e)}static not(t){return vd.create(t)}static and(...t){return wb.create(t,null,!0)}static or(...t){return of.create(t,null,!0)}static greater(t,e){return ru.create(t,e)}static greaterEquals(t,e){return Zg.create(t,e)}static smaller(t,e){return ef.create(t,e)}static smallerEquals(t,e){return tf.create(t,e)}static{this._parser=new Sb({regexParsingWithErrorRecovery:!1})}static deserialize(t){return t==null?void 0:this._parser.parse(t)}};function IO(i){let t=new Sb({regexParsingWithErrorRecovery:!1});return i.map(e=>(t.parse(e),t.lexingErrors.length>0?t.lexingErrors.map(n=>({errorMessage:n.additionalInfo?p(2272,null,n.additionalInfo):p(2271,null),offset:n.offset,length:n.lexeme.length})):t.parsingErrors.length>0?t.parsingErrors.map(n=>({errorMessage:n.additionalInfo?`${n.message}. ${n.additionalInfo}`:n.message,offset:n.offset,length:n.lexeme.length})):[]))}function Jg(i,t){return i.cmp(t)}var io=class i{constructor(){this.type=0}static{this.INSTANCE=new i}cmp(t){return this.type-t.type}equals(t){return t.type===this.type}substituteConstants(){return this}evaluate(t){return!1}serialize(){return"false"}keys(){return[]}map(t){return this}negate(){return vo.INSTANCE}},vo=class i{constructor(){this.type=1}static{this.INSTANCE=new i}cmp(t){return this.type-t.type}equals(t){return t.type===this.type}substituteConstants(){return this}evaluate(t){return!0}serialize(){return"true"}keys(){return[]}map(t){return this}negate(){return io.INSTANCE}},hd=class i{constructor(t,e){this.key=t;this.negated=e;this.type=2}static create(t,e=null){let n=Vn.get(t);return typeof n=="boolean"?n?vo.INSTANCE:io.INSTANCE:new i(t,e)}cmp(t){return t.type!==this.type?this.type-t.type:CO(this.key,t.key)}equals(t){return t.type===this.type?this.key===t.key:!1}substituteConstants(){let t=Vn.get(this.key);return typeof t=="boolean"?t?vo.INSTANCE:io.INSTANCE:this}evaluate(t){return!!t.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}map(t){return t.mapDefined(this.key)}negate(){return this.negated||(this.negated=vd.create(this.key,this)),this.negated}},Xg=class i{constructor(t,e,n){this.key=t;this.value=e;this.negated=n;this.type=4}static create(t,e,n=null){if(typeof e=="boolean")return e?hd.create(t,n):vd.create(t,n);let o=Vn.get(t);return typeof o=="boolean"?e===(o?"true":"false")?vo.INSTANCE:io.INSTANCE:new i(t,e,n)}cmp(t){return t.type!==this.type?this.type-t.type:bd(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type?this.key===t.key&&this.value===t.value:!1}substituteConstants(){let t=Vn.get(this.key);if(typeof t=="boolean"){let e=t?"true":"false";return this.value===e?vo.INSTANCE:io.INSTANCE}return this}evaluate(t){return t.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}map(t){return t.mapEquals(this.key,this.value)}negate(){return this.negated||(this.negated=Yg.create(this.key,this.value,this)),this.negated}},Tb=class i{constructor(t,e){this.key=t;this.valueKey=e;this.type=10;this.negated=null}static create(t,e){return new i(t,e)}cmp(t){return t.type!==this.type?this.type-t.type:bd(this.key,this.valueKey,t.key,t.valueKey)}equals(t){return t.type===this.type?this.key===t.key&&this.valueKey===t.valueKey:!1}substituteConstants(){return this}evaluate(t){let e=t.getValue(this.valueKey),n=t.getValue(this.key);if(Array.isArray(e)){if(e.includes(n))return!0;if(It&&typeof n=="string"&&n.startsWith("file:///")){let o=n.toLowerCase();return e.some(r=>typeof r=="string"&&r.toLowerCase()===o)}return!1}if(typeof n=="string"&&typeof e=="object"&&e!==null){if(L4.call(e,n))return!0;if(It&&n.startsWith("file:///")){let o=n.toLowerCase();return Object.keys(e).some(r=>r.toLowerCase()===o)}return!1}return!1}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}map(t){return t.mapIn(this.key,this.valueKey)}negate(){return this.negated||(this.negated=Eb.create(this.key,this.valueKey)),this.negated}},Eb=class i{constructor(t,e){this.key=t;this.valueKey=e;this.type=11;this._negated=Tb.create(t,e)}static create(t,e){return new i(t,e)}cmp(t){return t.type!==this.type?this.type-t.type:this._negated.cmp(t._negated)}equals(t){return t.type===this.type?this._negated.equals(t._negated):!1}substituteConstants(){return this}evaluate(t){return!this._negated.evaluate(t)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}map(t){return t.mapNotIn(this.key,this.valueKey)}negate(){return this._negated}},Yg=class i{constructor(t,e,n){this.key=t;this.value=e;this.negated=n;this.type=5}static create(t,e,n=null){if(typeof e=="boolean")return e?vd.create(t,n):hd.create(t,n);let o=Vn.get(t);return typeof o=="boolean"?e===(o?"true":"false")?io.INSTANCE:vo.INSTANCE:new i(t,e,n)}cmp(t){return t.type!==this.type?this.type-t.type:bd(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type?this.key===t.key&&this.value===t.value:!1}substituteConstants(){let t=Vn.get(this.key);if(typeof t=="boolean"){let e=t?"true":"false";return this.value===e?io.INSTANCE:vo.INSTANCE}return this}evaluate(t){return t.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}map(t){return t.mapNotEquals(this.key,this.value)}negate(){return this.negated||(this.negated=Xg.create(this.key,this.value,this)),this.negated}},vd=class i{constructor(t,e){this.key=t;this.negated=e;this.type=3}static create(t,e=null){let n=Vn.get(t);return typeof n=="boolean"?n?io.INSTANCE:vo.INSTANCE:new i(t,e)}cmp(t){return t.type!==this.type?this.type-t.type:CO(this.key,t.key)}equals(t){return t.type===this.type?this.key===t.key:!1}substituteConstants(){let t=Vn.get(this.key);return typeof t=="boolean"?t?io.INSTANCE:vo.INSTANCE:this}evaluate(t){return!t.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}map(t){return t.mapNot(this.key)}negate(){return this.negated||(this.negated=hd.create(this.key,this)),this.negated}};function kb(i,t){if(typeof i=="string"){let e=parseFloat(i);isNaN(e)||(i=e)}return typeof i=="string"||typeof i=="number"?t(i):io.INSTANCE}var ru=class i{constructor(t,e,n){this.key=t;this.value=e;this.negated=n;this.type=12}static create(t,e,n=null){return kb(e,o=>new i(t,o,n))}cmp(t){return t.type!==this.type?this.type-t.type:bd(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type?this.key===t.key&&this.value===t.value:!1}substituteConstants(){return this}evaluate(t){return typeof this.value=="string"?!1:parseFloat(t.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}map(t){return t.mapGreater(this.key,this.value)}negate(){return this.negated||(this.negated=tf.create(this.key,this.value,this)),this.negated}},Zg=class i{constructor(t,e,n){this.key=t;this.value=e;this.negated=n;this.type=13}static create(t,e,n=null){return kb(e,o=>new i(t,o,n))}cmp(t){return t.type!==this.type?this.type-t.type:bd(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type?this.key===t.key&&this.value===t.value:!1}substituteConstants(){return this}evaluate(t){return typeof this.value=="string"?!1:parseFloat(t.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}map(t){return t.mapGreaterEquals(this.key,this.value)}negate(){return this.negated||(this.negated=ef.create(this.key,this.value,this)),this.negated}},ef=class i{constructor(t,e,n){this.key=t;this.value=e;this.negated=n;this.type=14}static create(t,e,n=null){return kb(e,o=>new i(t,o,n))}cmp(t){return t.type!==this.type?this.type-t.type:bd(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type?this.key===t.key&&this.value===t.value:!1}substituteConstants(){return this}evaluate(t){return typeof this.value=="string"?!1:parseFloat(t.getValue(this.key))<this.value}serialize(){return`${this.key} < ${this.value}`}keys(){return[this.key]}map(t){return t.mapSmaller(this.key,this.value)}negate(){return this.negated||(this.negated=Zg.create(this.key,this.value,this)),this.negated}},tf=class i{constructor(t,e,n){this.key=t;this.value=e;this.negated=n;this.type=15}static create(t,e,n=null){return kb(e,o=>new i(t,o,n))}cmp(t){return t.type!==this.type?this.type-t.type:bd(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type?this.key===t.key&&this.value===t.value:!1}substituteConstants(){return this}evaluate(t){return typeof this.value=="string"?!1:parseFloat(t.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}map(t){return t.mapSmallerEquals(this.key,this.value)}negate(){return this.negated||(this.negated=ru.create(this.key,this.value,this)),this.negated}},nf=class i{constructor(t,e){this.key=t;this.regexp=e;this.type=7;this.negated=null}static create(t,e){return new i(t,e)}cmp(t){if(t.type!==this.type)return this.type-t.type;if(this.key<t.key)return-1;if(this.key>t.key)return 1;let e=this.regexp?this.regexp.source:"",n=t.regexp?t.regexp.source:"";return e<n?-1:e>n?1:0}equals(t){if(t.type===this.type){let e=this.regexp?this.regexp.source:"",n=t.regexp?t.regexp.source:"";return this.key===t.key&&e===n}return!1}substituteConstants(){return this}evaluate(t){let e=t.getValue(this.key);return this.regexp?this.regexp.test(e):!1}serialize(){let t=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/";return`${this.key} =~ ${t}`}keys(){return[this.key]}map(t){return t.mapRegex(this.key,this.regexp)}negate(){return this.negated||(this.negated=Hw.create(this)),this.negated}},Hw=class i{constructor(t){this._actual=t;this.type=8}static create(t){return new i(t)}cmp(t){return t.type!==this.type?this.type-t.type:this._actual.cmp(t._actual)}equals(t){return t.type===this.type?this._actual.equals(t._actual):!1}substituteConstants(){return this}evaluate(t){return!this._actual.evaluate(t)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}map(t){return new i(this._actual.map(t))}negate(){return this._actual}};function xO(i){let t=null;for(let e=0,n=i.length;e<n;e++){let o=i[e].substituteConstants();if(i[e]!==o&&t===null){t=[];for(let r=0;r<e;r++)t[r]=i[r]}t!==null&&(t[e]=o)}return t===null?i:t}var wb=class i{constructor(t,e){this.expr=t;this.negated=e;this.type=6}static create(t,e,n){return i._normalizeArr(t,e,n)}cmp(t){if(t.type!==this.type)return this.type-t.type;if(this.expr.length<t.expr.length)return-1;if(this.expr.length>t.expr.length)return 1;for(let e=0,n=this.expr.length;e<n;e++){let o=Jg(this.expr[e],t.expr[e]);if(o!==0)return o}return 0}equals(t){if(t.type===this.type){if(this.expr.length!==t.expr.length)return!1;for(let e=0,n=this.expr.length;e<n;e++)if(!this.expr[e].equals(t.expr[e]))return!1;return!0}return!1}substituteConstants(){let t=xO(this.expr);return t===this.expr?this:i.create(t,this.negated,!1)}evaluate(t){for(let e=0,n=this.expr.length;e<n;e++)if(!this.expr[e].evaluate(t))return!1;return!0}static _normalizeArr(t,e,n){let o=[],r=!1;for(let s of t)if(s){if(s.type===1){r=!0;continue}if(s.type===0)return io.INSTANCE;if(s.type===6){o.push(...s.expr);continue}o.push(s)}if(o.length===0&&r)return vo.INSTANCE;if(o.length!==0){if(o.length===1)return o[0];o.sort(Jg);for(let s=1;s<o.length;s++)o[s-1].equals(o[s])&&(o.splice(s,1),s--);if(o.length===1)return o[0];for(;o.length>1;){let s=o[o.length-1];if(s.type!==9)break;o.pop();let a=o.pop(),l=o.length===0,d=of.create(s.expr.map(c=>i.create([c,a],null,n)),null,l);d&&(o.push(d),o.sort(Jg))}if(o.length===1)return o[0];if(n){for(let s=0;s<o.length;s++)for(let a=s+1;a<o.length;a++)if(o[s].negate().equals(o[a]))return io.INSTANCE;if(o.length===1)return o[0]}return new i(o,e)}}serialize(){return this.expr.map(t=>t.serialize()).join(" && ")}keys(){let t=[];for(let e of this.expr)t.push(...e.keys());return t}map(t){return new i(this.expr.map(e=>e.map(t)),null)}negate(){if(!this.negated){let t=[];for(let e of this.expr)t.push(e.negate());this.negated=of.create(t,this,!0)}return this.negated}},of=class i{constructor(t,e){this.expr=t;this.negated=e;this.type=9}static create(t,e,n){return i._normalizeArr(t,e,n)}cmp(t){if(t.type!==this.type)return this.type-t.type;if(this.expr.length<t.expr.length)return-1;if(this.expr.length>t.expr.length)return 1;for(let e=0,n=this.expr.length;e<n;e++){let o=Jg(this.expr[e],t.expr[e]);if(o!==0)return o}return 0}equals(t){if(t.type===this.type){if(this.expr.length!==t.expr.length)return!1;for(let e=0,n=this.expr.length;e<n;e++)if(!this.expr[e].equals(t.expr[e]))return!1;return!0}return!1}substituteConstants(){let t=xO(this.expr);return t===this.expr?this:i.create(t,this.negated,!1)}evaluate(t){for(let e=0,n=this.expr.length;e<n;e++)if(this.expr[e].evaluate(t))return!0;return!1}static _normalizeArr(t,e,n){let o=[],r=!1;if(t){for(let s=0,a=t.length;s<a;s++){let l=t[s];if(l){if(l.type===0){r=!0;continue}if(l.type===1)return vo.INSTANCE;if(l.type===9){o=o.concat(l.expr);continue}o.push(l)}}if(o.length===0&&r)return io.INSTANCE;o.sort(Jg)}if(o.length!==0){if(o.length===1)return o[0];for(let s=1;s<o.length;s++)o[s-1].equals(o[s])&&(o.splice(s,1),s--);if(o.length===1)return o[0];if(n){for(let s=0;s<o.length;s++)for(let a=s+1;a<o.length;a++)if(o[s].negate().equals(o[a]))return vo.INSTANCE;if(o.length===1)return o[0]}return new i(o,e)}}serialize(){return this.expr.map(t=>t.serialize()).join(" || ")}keys(){let t=[];for(let e of this.expr)t.push(...e.keys());return t}map(t){return new i(this.expr.map(e=>e.map(t)),null)}negate(){if(!this.negated){let t=[];for(let e of this.expr)t.push(e.negate());for(;t.length>1;){let e=t.shift(),n=t.shift(),o=[];for(let r of yO(e))for(let s of yO(n))o.push(wb.create([r,s],null,!1));t.unshift(i.create(o,null,!1))}this.negated=i.create(t,this,!0)}return this.negated}},T=class i extends hd{static{this._info=[]}static all(){return i._info.values()}constructor(t,e,n){super(t,null),this._defaultValue=e,typeof n=="object"?i._info.push({...n,key:t}):n!==!0&&i._info.push({key:t,description:n,type:e!=null?typeof e:void 0})}bindTo(t){return t.createKey(this.key,this._defaultValue)}getValue(t){return t.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(t){return Xg.create(this.key,t)}notEqualsTo(t){return Yg.create(this.key,t)}greater(t){return ru.create(this.key,t)}},Er=A("contextKeyService");function CO(i,t){return i<t?-1:i>t?1:0}function bd(i,t,e,n){return i<e?-1:i>e?1:t<n?-1:t>n?1:0}function yO(i){return i.type===9?i.expr:[i]}var ae=A("logService"),lr=A("loggerService");var yd=(s=>(s[s.Off=0]="Off",s[s.Trace=1]="Trace",s[s.Debug=2]="Debug",s[s.Info=3]="Info",s[s.Warning=4]="Warning",s[s.Error=5]="Error",s))(yd||{}),z4=3;function au(i,t){return i!==0&&i<=t}function SO(i,t,e){switch(t){case 1:i.trace(e);break;case 2:i.debug(e);break;case 3:i.info(e);break;case 4:i.warn(e);break;case 5:i.error(e);break;case 0:break;default:throw new Error(`Invalid log level ${t}`)}}function iu(i,t=!1){let e="";for(let n=0;n<i.length;n++){let o=i[n];if(o instanceof Error&&(o=jr(o,t)),typeof o=="object")try{o=JSON.stringify(o)}catch{}e+=(n>0?" ":"")+o}return e}var Pb=class extends V{constructor(){super(...arguments);this.level=z4;this._onDidChangeLogLevel=this._register(new w)}get onDidChangeLogLevel(){return this._onDidChangeLogLevel.event}setLevel(e){this.level!==e&&(this.level=e,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}checkLogLevel(e){return au(this.level,e)}canLog(e){return this._store.isDisposed?!1:this.checkLogLevel(e)}},su=class extends Pb{constructor(e){super();this.logAlways=e}checkLogLevel(e){return this.logAlways||super.checkLogLevel(e)}trace(e,...n){this.canLog(1)&&this.log(1,iu([e,...n],!0))}debug(e,...n){this.canLog(2)&&this.log(2,iu([e,...n]))}info(e,...n){this.canLog(3)&&this.log(3,iu([e,...n]))}warn(e,...n){this.canLog(4)&&this.log(4,iu([e,...n]))}error(e,...n){if(this.canLog(5))if(e instanceof Error){let o=Array.prototype.slice.call(arguments);o[0]=e.stack,this.log(5,iu(o))}else this.log(5,iu([e,...n]))}flush(){}};var _b=class extends Pb{constructor(e){super();this.loggers=e;e.length&&this.setLevel(e[0].getLevel())}setLevel(e){for(let n of this.loggers)n.setLevel(e);super.setLevel(e)}trace(e,...n){for(let o of this.loggers)o.trace(e,...n)}debug(e,...n){for(let o of this.loggers)o.debug(e,...n)}info(e,...n){for(let o of this.loggers)o.info(e,...n)}warn(e,...n){for(let o of this.loggers)o.warn(e,...n)}error(e,...n){for(let o of this.loggers)o.error(e,...n)}flush(){for(let e of this.loggers)e.flush()}dispose(){for(let e of this.loggers)e.dispose();super.dispose()}},Db=class extends V{constructor(e,n,o){super();this.logLevel=e;this.logsHome=n;this._loggers=new $e;this._onDidChangeLoggers=this._register(new w);this.onDidChangeLoggers=this._onDidChangeLoggers.event;this._onDidChangeLogLevel=this._register(new w);this.onDidChangeLogLevel=this._onDidChangeLogLevel.event;this._onDidChangeVisibility=this._register(new w);this.onDidChangeVisibility=this._onDidChangeVisibility.event;if(o)for(let r of o)this._loggers.set(r.resource,{logger:void 0,info:r})}getLoggerEntry(e){return Ae(e)?[...this._loggers.values()].find(n=>n.info.id===e):this._loggers.get(e)}getLogger(e){return this.getLoggerEntry(e)?.logger}createLogger(e,n){let o=this.toResource(e),r=Ae(e)?e:n?.id??ar(o.toString()).toString(16),s=this._loggers.get(o)?.logger,a=n?.logLevel==="always"?1:n?.logLevel;s||(s=this.doCreateLogger(o,a??this.getLogLevel(o)??this.logLevel,{...n,id:r}));let l={logger:s,info:{resource:o,id:r,logLevel:a,name:n?.name,hidden:n?.hidden,group:n?.group,extensionId:n?.extensionId,when:n?.when}};return this.registerLogger(l.info),this._loggers.set(o,l),s}toResource(e){return Ae(e)?Nt(this.logsHome,`${e.replace(/[\\/:\*\?"<>\|]/g,"")}.log`):e}setLogLevel(e,n){if(y.isUri(e)){let o=e,r=n,s=this._loggers.get(o);s&&r!==s.info.logLevel&&(s.info.logLevel=r===this.logLevel?void 0:r,s.logger?.setLevel(r),this._loggers.set(s.info.resource,s),this._onDidChangeLogLevel.fire([o,r]))}else{this.logLevel=e;for(let[o,r]of this._loggers.entries())this._loggers.get(o)?.info.logLevel===void 0&&r.logger?.setLevel(this.logLevel);this._onDidChangeLogLevel.fire(this.logLevel)}}setVisibility(e,n){let o=this.getLoggerEntry(e);o&&n!==!o.info.hidden&&(o.info.hidden=!n,this._loggers.set(o.info.resource,o),this._onDidChangeVisibility.fire([o.info.resource,n]))}getLogLevel(e){let n;return e&&(n=this._loggers.get(e)?.info.logLevel),n??this.logLevel}registerLogger(e){let n=this._loggers.get(e.resource);n?n.info.hidden!==e.hidden&&this.setVisibility(e.resource,!e.hidden):(this._loggers.set(e.resource,{info:e,logger:void 0}),this._onDidChangeLoggers.fire({added:[e],removed:[]}))}deregisterLogger(e){let n=this.toResource(e),o=this._loggers.get(n);o&&(o.logger&&o.logger.dispose(),this._loggers.delete(n),this._onDidChangeLoggers.fire({added:[],removed:[o.info]}))}*getRegisteredLoggers(){for(let e of this._loggers.values())yield e.info}getRegisteredLogger(e){return this._loggers.get(e)?.info}dispose(){this._loggers.forEach(e=>e.logger?.dispose()),this._loggers.clear(),super.dispose()}};function q4(i){switch(i){case 1:return"trace";case 2:return"debug";case 3:return"info";case 4:return"warn";case 5:return"error";case 0:return"off"}}var dK=new T("logLevel",q4(3));var _o=class{constructor(t,e=[],n=!1){this.ctor=t,this.staticArguments=e,this.supportsDelayedInstantiation=n}};var TO=[];function Qe(i,t,e){t instanceof _o||(t=new _o(t,[],!!e)),TO.push([i,t])}function EO(){return TO}var Ma=class{constructor(...t){this._entries=new Map;for(let[e,n]of t)this.set(e,n)}set(t,e){let n=this._entries.get(t);return this._entries.set(t,e),n}has(t){return this._entries.has(t)}get(t){return this._entries.get(t)}};var nt=A("IExtHostInitDataService");var Vw=class{constructor(t,e){this.key=t;this.data=e;this.incoming=new Map;this.outgoing=new Map}},rf=class{constructor(t){this._hashFn=t;this._nodes=new Map}roots(){let t=[];for(let e of this._nodes.values())e.outgoing.size===0&&t.push(e);return t}insertEdge(t,e){let n=this.lookupOrInsertNode(t),o=this.lookupOrInsertNode(e);n.outgoing.set(o.key,o),o.incoming.set(n.key,n)}removeNode(t){let e=this._hashFn(t);this._nodes.delete(e);for(let n of this._nodes.values())n.outgoing.delete(e),n.incoming.delete(e)}lookupOrInsertNode(t){let e=this._hashFn(t),n=this._nodes.get(e);return n||(n=new Vw(e,t),this._nodes.set(e,n)),n}lookup(t){return this._nodes.get(this._hashFn(t))}isEmpty(){return this._nodes.size===0}toString(){let t=[];for(let[e,n]of this._nodes)t.push(`${e}
	(-> incoming)[${[...n.incoming.keys()].join(", ")}]
	(outgoing ->)[${[...n.outgoing.keys()].join(",")}]
`);return t.join(`
`)}findCycleSlow(){for(let[t,e]of this._nodes){let n=new Set([t]),o=this._findCycle(e,n);if(o)return o}}_findCycle(t,e){for(let[n,o]of t.outgoing){if(e.has(n))return[...e,n].join(" -> ");e.add(n);let r=this._findCycle(o,e);if(r)return r;e.delete(n)}}};var K4=!1,Rb=class extends Error{constructor(t){super("cyclic dependency between services"),this.message=t.findCycleSlow()??`UNABLE to detect cycle, dumping graph: 
${t.toString()}`}},Ab=class i{constructor(t=new Ma,e=!1,n,o=K4){this._services=t;this._strict=e;this._parent=n;this._enableTracing=o;this._isDisposed=!1;this._servicesToMaybeDispose=new Set;this._children=new Set;this._activeInstantiations=new Set;this._services.set(Po,this),this._globalGraph=o?n?._globalGraph??new rf(r=>r):void 0}dispose(){if(!this._isDisposed){this._isDisposed=!0,Fn(this._children),this._children.clear();for(let t of this._servicesToMaybeDispose)Lv(t)&&t.dispose();this._servicesToMaybeDispose.clear()}}_throwIfDisposed(){if(this._isDisposed)throw new Error("InstantiationService has been disposed")}createChild(t,e){this._throwIfDisposed();let n=this,o=new class extends i{dispose(){n._children.delete(o),super.dispose()}}(t,this._strict,this,this._enableTracing);return this._children.add(o),e?.add(o),o}invokeFunction(t,...e){this._throwIfDisposed();let n=sf.traceInvocation(this._enableTracing,t),o=!1;try{return t({get:s=>{if(o)throw Bc("service accessor is only valid during the invocation of its target method");let a=this._getOrCreateServiceInstance(s,n);return a||this._throwIfStrict(`[invokeFunction] unknown service '${s}'`,!1),a}},...e)}finally{o=!0,n.stop()}}createInstance(t,...e){this._throwIfDisposed();let n,o;return t instanceof _o?(n=sf.traceCreation(this._enableTracing,t.ctor),o=this._createInstance(t.ctor,t.staticArguments.concat(e),n)):(n=sf.traceCreation(this._enableTracing,t),o=this._createInstance(t,e,n)),n.stop(),o}_createInstance(t,e=[],n){let o=Gr.getServiceDependencies(t).sort((a,l)=>a.index-l.index),r=[];for(let a of o){let l=this._getOrCreateServiceInstance(a.id,n);l||this._throwIfStrict(`[createInstance] ${t.name} depends on UNKNOWN service ${a.id}.`,!1),r.push(l)}let s=o.length>0?o[0].index:e.length;if(e.length!==s){console.trace(`[createInstance] First service dependency of ${t.name} at position ${s+1} conflicts with ${e.length} static arguments`);let a=s-e.length;a>0?e=e.concat(new Array(a)):e=e.slice(0,s)}return Reflect.construct(t,e.concat(r))}_setCreatedServiceInstance(t,e){if(this._services.get(t)instanceof _o)this._services.set(t,e);else if(this._parent)this._parent._setCreatedServiceInstance(t,e);else throw new Error("illegalState - setting UNKNOWN service instance")}_getServiceInstanceOrDescriptor(t){let e=this._services.get(t);return!e&&this._parent?this._parent._getServiceInstanceOrDescriptor(t):e}_getOrCreateServiceInstance(t,e){this._globalGraph&&this._globalGraphImplicitDependency&&this._globalGraph.insertEdge(this._globalGraphImplicitDependency,String(t));let n=this._getServiceInstanceOrDescriptor(t);return n instanceof _o?this._safeCreateAndCacheServiceInstance(t,n,e.branch(t,!0)):(e.branch(t,!1),n)}_safeCreateAndCacheServiceInstance(t,e,n){if(this._activeInstantiations.has(t))throw new Error(`illegal state - RECURSIVELY instantiating service '${t}'`);this._activeInstantiations.add(t);try{return this._createAndCacheServiceInstance(t,e,n)}finally{this._activeInstantiations.delete(t)}}_createAndCacheServiceInstance(t,e,n){let o=new rf(l=>l.id.toString()),r=0,s=[{id:t,desc:e,_trace:n}],a=new Set;for(;s.length;){let l=s.pop();if(!a.has(String(l.id))){if(a.add(String(l.id)),o.lookupOrInsertNode(l),r++>1e3)throw new Rb(o);for(let d of Gr.getServiceDependencies(l.desc.ctor)){let c=this._getServiceInstanceOrDescriptor(d.id);if(c||this._throwIfStrict(`[createInstance] ${t} depends on ${d.id} which is NOT registered.`,!0),this._globalGraph?.insertEdge(String(l.id),String(d.id)),c instanceof _o){let u={id:d.id,desc:c,_trace:l._trace.branch(d.id,!0)};o.insertEdge(l,u),s.push(u)}}}}for(;;){let l=o.roots();if(l.length===0){if(!o.isEmpty())throw new Rb(o);break}for(let{data:d}of l){if(this._getServiceInstanceOrDescriptor(d.id)instanceof _o){let u=this._createServiceInstanceWithOwner(d.id,d.desc.ctor,d.desc.staticArguments,d.desc.supportsDelayedInstantiation,d._trace);this._setCreatedServiceInstance(d.id,u)}o.removeNode(d)}}return this._getServiceInstanceOrDescriptor(t)}_createServiceInstanceWithOwner(t,e,n=[],o,r){if(this._services.get(t)instanceof _o)return this._createServiceInstance(t,e,n,o,r,this._servicesToMaybeDispose);if(this._parent)return this._parent._createServiceInstanceWithOwner(t,e,n,o,r);throw new Error(`illegalState - creating UNKNOWN service instance ${e.name}`)}_createServiceInstance(t,e,n=[],o,r,s){if(o){let a=new i(void 0,this._strict,this,this._enableTracing);a._globalGraphImplicitDependency=String(t);let l=new Map,d=new bb(()=>{let c=a._createInstance(e,n,r);for(let[u,m]of l){let g=c[u];if(typeof g=="function")for(let v of m)v.disposable=g.apply(c,v.listener)}return l.clear(),s.add(c),c});return new Proxy(Object.create(null),{get(c,u){if(!d.isInitialized&&typeof u=="string"&&(u.startsWith("onDid")||u.startsWith("onWill"))){let v=l.get(u);return v||(v=new zn,l.set(u,v)),(x,C,E)=>{if(d.isInitialized)return d.value[u](x,C,E);{let k={listener:[x,C,E],disposable:void 0},O=v.push(k);return X(()=>{O(),k.disposable?.dispose()})}}}if(u in c)return c[u];let m=d.value,g=m[u];return typeof g!="function"||(g=g.bind(m),c[u]=g),g},set(c,u,m){return d.value[u]=m,!0},getPrototypeOf(c){return e.prototype}})}else{let a=this._createInstance(e,n,r);return s.add(a),a}}_throwIfStrict(t,e){if(e&&console.warn(t),this._strict)throw new Error(t)}};var sf=class i{constructor(t,e){this.type=t;this.name=e;this._start=Date.now();this._dep=[]}static{this.all=new Set}static{this._None=new class extends i{constructor(){super(0,null)}stop(){}branch(){return this}}}static traceInvocation(t,e){return t?new i(2,e.name||new Error().stack.split(`
`).slice(3,4).join(`
`)):i._None}static traceCreation(t,e){return t?new i(1,e.name):i._None}static{this._totals=0}branch(t,e){let n=new i(3,t.toString());return this._dep.push([t,e,n]),n}stop(){let t=Date.now()-this._start;i._totals+=t;let e=!1;function n(r,s){let a=[],l=new Array(r+1).join("	");for(let[d,c,u]of s._dep)if(c&&u){e=!0,a.push(`${l}CREATES -> ${d}`);let m=n(r+1,u);m&&a.push(m)}else a.push(`${l}uses -> ${d}`);return a.join(`
`)}let o=[`${this.type===1?"CREATE":"CALL"} ${this.name}`,`${n(1,this)}`,`DONE, took ${t.toFixed(2)}ms (grand total ${i._totals.toFixed(2)}ms)`];(t>2||e)&&i.all.add(o.join(`
`))}};var ge=A("IExtHostRpcService"),Mb=class{constructor(t){this.getProxy=t.getProxy.bind(t),this.set=t.set.bind(t),this.dispose=t.dispose.bind(t),this.assertRegistered=t.assertRegistered.bind(t),this.drain=t.drain.bind(t)}};var Oa=A("IURITransformerService"),Ob=class{constructor(t){t?(this.transformIncoming=t.transformIncoming.bind(t),this.transformOutgoing=t.transformOutgoing.bind(t),this.transformOutgoingURI=t.transformOutgoingURI.bind(t),this.transformOutgoingScheme=t.transformOutgoingScheme.bind(t)):(this.transformIncoming=e=>e,this.transformOutgoing=e=>e,this.transformOutgoingURI=e=>e,this.transformOutgoingScheme=e=>e)}};var Bw=class{constructor(){this._value="";this._pos=0}reset(t){return this._value=t,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos<this._value.length-1}cmp(t){let e=t.charCodeAt(0),n=this._value.charCodeAt(this._pos);return e-n}value(){return this._value[this._pos]}},Ww=class{constructor(t=!0){this._caseSensitive=t}reset(t){return this._value=t,this._from=0,this._to=0,this.next()}hasNext(){return this._to<this._value.length}next(){this._from=this._to;let t=!0;for(;this._to<this._value.length;this._to++)if(this._value.charCodeAt(this._to)===46)if(t)this._from++;else break;else t=!1;return this}cmp(t){return this._caseSensitive?ob(t,this._value,0,t.length,this._from,this._to):md(t,this._value,0,t.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}},Lb=class{constructor(t=!0,e=!0){this._splitOnBackslash=t;this._caseSensitive=e}reset(t){this._from=0,this._to=0,this._value=t,this._valueLen=t.length;for(let e=t.length-1;e>=0;e--,this._valueLen--){let n=this._value.charCodeAt(e);if(!(n===47||this._splitOnBackslash&&n===92))break}return this.next()}hasNext(){return this._to<this._valueLen}next(){this._from=this._to;let t=!0;for(;this._to<this._valueLen;this._to++){let e=this._value.charCodeAt(this._to);if(e===47||this._splitOnBackslash&&e===92)if(t)this._from++;else break;else t=!1}return this}cmp(t){return this._caseSensitive?ob(t,this._value,0,t.length,this._from,this._to):md(t,this._value,0,t.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}};var af=class{constructor(t,e){this._ignorePathCasing=t;this._ignoreQueryAndFragment=e;this._states=[];this._stateIdx=0}reset(t){return this._value=t,this._states=[],this._value.scheme&&this._states.push(1),this._value.authority&&this._states.push(2),this._value.path&&(this._pathIterator=new Lb(!1,!this._ignorePathCasing(t)),this._pathIterator.reset(t.path),this._pathIterator.value()&&this._states.push(3)),this._ignoreQueryAndFragment(t)||(this._value.query&&this._states.push(4),this._value.fragment&&this._states.push(5)),this._stateIdx=0,this}next(){return this._states[this._stateIdx]===3&&this._pathIterator.hasNext()?this._pathIterator.next():this._stateIdx+=1,this}hasNext(){return this._states[this._stateIdx]===3&&this._pathIterator.hasNext()||this._stateIdx<this._states.length-1}cmp(t){if(this._states[this._stateIdx]===1)return pd(t,this._value.scheme);if(this._states[this._stateIdx]===2)return pd(t,this._value.authority);if(this._states[this._stateIdx]===3)return this._pathIterator.cmp(t);if(this._states[this._stateIdx]===4)return Kr(t,this._value.query);if(this._states[this._stateIdx]===5)return Kr(t,this._value.fragment);throw new Error}value(){if(this._states[this._stateIdx]===1)return this._value.scheme;if(this._states[this._stateIdx]===2)return this._value.authority;if(this._states[this._stateIdx]===3)return this._pathIterator.value();if(this._states[this._stateIdx]===4)return this._value.query;if(this._states[this._stateIdx]===5)return this._value.fragment;throw new Error}},xs=class i{static{this.Val=Symbol("undefined_placeholder")}static wrap(t){return t===void 0?i.Val:t}static unwrap(t){return t===i.Val?void 0:t}},lu=class{constructor(){this.height=1;this.value=void 0;this.key=void 0;this.left=void 0;this.mid=void 0;this.right=void 0}isEmpty(){return!this.left&&!this.mid&&!this.right&&this.value===void 0}rotateLeft(){let t=this.right;return this.right=t.left,t.left=this,this.updateHeight(),t.updateHeight(),t}rotateRight(){let t=this.left;return this.left=t.right,t.right=this,this.updateHeight(),t.updateHeight(),t}updateHeight(){this.height=1+Math.max(this.heightLeft,this.heightRight)}balanceFactor(){return this.heightRight-this.heightLeft}get heightLeft(){return this.left?.height??0}get heightRight(){return this.right?.height??0}};var Do=class i{static forUris(t=()=>!1,e=()=>!1){return new i(new af(t,e))}static forPaths(t=!1){return new i(new Lb(void 0,!t))}static forStrings(){return new i(new Bw)}static forConfigKeys(){return new i(new Ww)}constructor(t){this._iter=t}clear(){this._root=void 0}fill(t,e){if(e){let n=e.slice(0);DE(n);for(let o of n)this.set(o,t)}else{let n=t.slice(0);DE(n);for(let o of n)this.set(o[0],o[1])}}set(t,e){let n=this._iter.reset(t),o;this._root||(this._root=new lu,this._root.segment=n.value());let r=[];for(o=this._root;;){let a=n.cmp(o.segment);if(a>0)o.left||(o.left=new lu,o.left.segment=n.value()),r.push([-1,o]),o=o.left;else if(a<0)o.right||(o.right=new lu,o.right.segment=n.value()),r.push([1,o]),o=o.right;else if(n.hasNext())n.next(),o.mid||(o.mid=new lu,o.mid.segment=n.value()),r.push([0,o]),o=o.mid;else break}let s=xs.unwrap(o.value);o.value=xs.wrap(e),o.key=t;for(let a=r.length-1;a>=0;a--){let l=r[a][1];l.updateHeight();let d=l.balanceFactor();if(d<-1||d>1){let c=r[a][0],u=r[a+1][0];if(c===1&&u===1)r[a][1]=l.rotateLeft();else if(c===-1&&u===-1)r[a][1]=l.rotateRight();else if(c===1&&u===-1)l.right=r[a+1][1]=r[a+1][1].rotateRight(),r[a][1]=l.rotateLeft();else if(c===-1&&u===1)l.left=r[a+1][1]=r[a+1][1].rotateLeft(),r[a][1]=l.rotateRight();else throw new Error;if(a>0)switch(r[a-1][0]){case-1:r[a-1][1].left=r[a][1];break;case 1:r[a-1][1].right=r[a][1];break;case 0:r[a-1][1].mid=r[a][1];break}else this._root=r[0][1]}}return s}get(t){return xs.unwrap(this._getNode(t)?.value)}_getNode(t){let e=this._iter.reset(t),n=this._root;for(;n;){let o=e.cmp(n.segment);if(o>0)n=n.left;else if(o<0)n=n.right;else if(e.hasNext())e.next(),n=n.mid;else break}return n}has(t){let e=this._getNode(t);return!(e?.value===void 0&&e?.mid===void 0)}delete(t){return this._delete(t,!1)}deleteSuperstr(t){return this._delete(t,!0)}_delete(t,e){let n=this._iter.reset(t),o=[],r=this._root;for(;r;){let s=n.cmp(r.segment);if(s>0)o.push([-1,r]),r=r.left;else if(s<0)o.push([1,r]),r=r.right;else if(n.hasNext())n.next(),o.push([0,r]),r=r.mid;else break}if(r){if(e?(r.left=void 0,r.mid=void 0,r.right=void 0,r.height=1):(r.key=void 0,r.value=void 0),!r.mid&&!r.value)if(r.left&&r.right){let s=[[1,r]],a=this._min(r.right,s);if(a.key){r.key=a.key,r.value=a.value,r.segment=a.segment;let l=a.right;if(s.length>1){let[c,u]=s[s.length-1];switch(c){case-1:u.left=l;break;case 0:Kc(!1);case 1:Kc(!1)}}else r.right=l;let d=this._balanceByStack(s);if(o.length>0){let[c,u]=o[o.length-1];switch(c){case-1:u.left=d;break;case 0:u.mid=d;break;case 1:u.right=d;break}}else this._root=d}}else{let s=r.left??r.right;if(o.length>0){let[a,l]=o[o.length-1];switch(a){case-1:l.left=s;break;case 0:l.mid=s;break;case 1:l.right=s;break}}else this._root=s}this._root=this._balanceByStack(o)??this._root}}_min(t,e){for(;t.left;)e.push([-1,t]),t=t.left;return t}_balanceByStack(t){for(let e=t.length-1;e>=0;e--){let n=t[e][1];n.updateHeight();let o=n.balanceFactor();if(o>1?(n.right.balanceFactor()>=0||(n.right=n.right.rotateRight()),t[e][1]=n.rotateLeft()):o<-1&&(n.left.balanceFactor()<=0||(n.left=n.left.rotateLeft()),t[e][1]=n.rotateRight()),e>0)switch(t[e-1][0]){case-1:t[e-1][1].left=t[e][1];break;case 1:t[e-1][1].right=t[e][1];break;case 0:t[e-1][1].mid=t[e][1];break}else return t[0][1]}}findSubstr(t){let e=this._iter.reset(t),n=this._root,o;for(;n;){let r=e.cmp(n.segment);if(r>0)n=n.left;else if(r<0)n=n.right;else if(e.hasNext())e.next(),o=xs.unwrap(n.value)||o,n=n.mid;else break}return n&&xs.unwrap(n.value)||o}findSuperstr(t){return this._findSuperstrOrElement(t,!1)}_findSuperstrOrElement(t,e){let n=this._iter.reset(t),o=this._root;for(;o;){let r=n.cmp(o.segment);if(r>0)o=o.left;else if(r<0)o=o.right;else if(n.hasNext())n.next(),o=o.mid;else return o.mid?this._entries(o.mid):e?xs.unwrap(o.value):void 0}}hasElementOrSubtree(t){return this._findSuperstrOrElement(t,!0)!==void 0}forEach(t){for(let[e,n]of this)t(n,e)}*[Symbol.iterator](){yield*this._entries(this._root)}_entries(t){let e=[];return this._dfsEntries(t,e),e[Symbol.iterator]()}_dfsEntries(t,e){t&&(t.left&&this._dfsEntries(t.left,e),t.value!==void 0&&e.push([t.key,xs.unwrap(t.value)]),t.mid&&this._dfsEntries(t.mid,e),t.right&&this._dfsEntries(t.right,e))}_isBalanced(){let t=e=>{if(!e)return!0;let n=e.balanceFactor();return n<-1||n>1?!1:t(e.left)&&t(e.right)};return t(this._root)}};function ht(i){if(!i||typeof i!="object"||i instanceof RegExp)return i;let t=Array.isArray(i)?[]:{};return Object.entries(i).forEach(([e,n])=>{t[e]=n&&typeof n=="object"?ht(n):n}),t}function lf(i){if(!i||typeof i!="object")return i;let t=[i];for(;t.length>0;){let e=t.shift();Object.freeze(e);for(let n in e)if(wO.call(e,n)){let o=e[n];typeof o=="object"&&!Object.isFrozen(o)&&!qM(o)&&t.push(o)}}return i}var wO=Object.prototype.hasOwnProperty;function Ri(i,t){return $w(i,t,new Set)}function $w(i,t,e){if(Mt(i))return i;let n=t(i);if(typeof n<"u")return n;if(Array.isArray(i)){let o=[];for(let r of i)o.push($w(r,t,e));return o}if(st(i)){if(e.has(i))throw new Error("Cannot clone recursive data-structure");e.add(i);let o={};for(let r in i)wO.call(i,r)&&(o[r]=$w(i[r],t,e));return e.delete(i),o}return i}function wr(i,t,e=!0){return st(i)?(st(t)&&Object.keys(t).forEach(n=>{n in i?e&&(st(i[n])&&st(t[n])?wr(i[n],t[n],e):i[n]=t[n]):i[n]=t[n]}),i):t}function Rt(i,t){if(i===t)return!0;if(i==null||t===null||t===void 0||typeof i!=typeof t||typeof i!="object"||Array.isArray(i)!==Array.isArray(t))return!1;let e,n;if(Array.isArray(i)){if(i.length!==t.length)return!1;for(e=0;e<i.length;e++)if(!Rt(i[e],t[e]))return!1}else{let o=[];for(n in i)o.push(n);o.sort();let r=[];for(n in t)r.push(n);if(r.sort(),!Rt(o,r))return!1;for(e=0;e<o.length;e++)if(!Rt(i[o[e]],t[o[e]]))return!1}return!0}function du(i){let t=new Set;return JSON.stringify(i,(e,n)=>{if(st(n)||Array.isArray(n)){if(t.has(n))return"[Circular]";t.add(n)}return typeof n=="bigint"?`[BigInt ${n.toString()}]`:n})}function zw(i,t){let e=Object.create(null);for(let[n,o]of Object.entries(i))t(n,o)&&(e[n]=o);return e}var Nb=class{constructor(){this._next=0}getNext(){return this._next++}};var Cs=A("fileService");var cu=(o=>(o[o.Unknown=0]="Unknown",o[o.File=1]="File",o[o.Directory=2]="Directory",o[o.SymbolicLink=64]="SymbolicLink",o))(cu||{}),cf=(n=>(n[n.Readonly=1]="Readonly",n[n.Locked=2]="Locked",n[n.Executable=4]="Executable",n))(cf||{});var df=class i extends Error{constructor(e,n){super(e);this.code=n}static create(e,n){let o=new i(e.toString(),n);return Kw(o,n),o}};function Kw(i,t){return i.name=t?`${t} (FileSystemError)`:"FileSystemError",i}function uu(i){if(!i)return"Unknown";if(i instanceof df)return i.code;let t=/^(.+) \(FileSystemError\)$/.exec(i.name);if(!t)return"Unknown";switch(t[1]){case"EntryExists":return"EntryExists";case"EntryIsADirectory":return"EntryIsADirectory";case"EntryNotADirectory":return"EntryNotADirectory";case"EntryNotFound":return"EntryNotFound";case"EntryTooLarge":return"EntryTooLarge";case"EntryWriteLocked":return"EntryWriteLocked";case"NoPermissions":return"NoPermissions";case"Unavailable":return"Unavailable"}return"Unknown"}function PO(i){if(i instanceof Ai)return i.fileOperationResult;switch(uu(i)){case"EntryNotFound":return 1;case"EntryIsADirectory":return 0;case"EntryNotADirectory":return 9;case"EntryWriteLocked":return 5;case"NoPermissions":return 6;case"EntryExists":return 4;case"EntryTooLarge":return 7;default:return 10}}var kO=class i{constructor(t,e){this.ignorePathCasing=e;this.correlationId=void 0;this.added=new bt(()=>{let t=Do.forUris(()=>this.ignorePathCasing);return t.fill(this.rawAdded.map(e=>[e,!0])),t});this.updated=new bt(()=>{let t=Do.forUris(()=>this.ignorePathCasing);return t.fill(this.rawUpdated.map(e=>[e,!0])),t});this.deleted=new bt(()=>{let t=Do.forUris(()=>this.ignorePathCasing);return t.fill(this.rawDeleted.map(e=>[e,!0])),t});this.rawAdded=[];this.rawUpdated=[];this.rawDeleted=[];for(let n of t){switch(n.type){case 1:this.rawAdded.push(n.resource);break;case 0:this.rawUpdated.push(n.resource);break;case 2:this.rawDeleted.push(n.resource);break}this.correlationId!==i.MIXED_CORRELATION&&(typeof n.cId=="number"?this.correlationId===void 0?this.correlationId=n.cId:this.correlationId!==n.cId&&(this.correlationId=i.MIXED_CORRELATION):this.correlationId!==void 0&&(this.correlationId=i.MIXED_CORRELATION))}}static{this.MIXED_CORRELATION=null}contains(t,...e){return this.doContains(t,{includeChildren:!1},...e)}affects(t,...e){return this.doContains(t,{includeChildren:!0},...e)}doContains(t,e,...n){if(!t)return!1;let o=n.length>0;return!!((!o||n.includes(1))&&(this.added.value.get(t)||e.includeChildren&&this.added.value.findSuperstr(t))||(!o||n.includes(0))&&(this.updated.value.get(t)||e.includeChildren&&this.updated.value.findSuperstr(t))||(!o||n.includes(2))&&(this.deleted.value.findSubstr(t)||e.includeChildren&&this.deleted.value.findSuperstr(t)))}gotAdded(){return this.rawAdded.length>0}gotDeleted(){return this.rawDeleted.length>0}gotUpdated(){return this.rawUpdated.length>0}correlates(t){return this.correlationId===t}hasCorrelation(){return typeof this.correlationId=="number"}};var Ai=class extends Error{constructor(e,n,o){super(e);this.fileOperationResult=n;this.options=o}};var _O="";function Gw(i){if(!(typeof i.size!="number"||typeof i.mtime!="number"))return i.mtime.toString(29)+i.size.toString(31)}var qw=class i{static{this.KB=1024}static{this.MB=i.KB*i.KB}static{this.GB=i.MB*i.KB}static{this.TB=i.GB*i.KB}static formatSize(t){return tr(t)||(t=0),t<i.KB?p(2481,null,t.toFixed(0)):t<i.MB?p(2483,null,(t/i.KB).toFixed(2)):t<i.GB?p(2484,null,(t/i.MB).toFixed(2)):t<i.TB?p(2482,null,(t/i.GB).toFixed(2)):p(2485,null,(t/i.TB).toFixed(2))}};var Fb=(o=>(o[o.Ignore=0]="Ignore",o[o.Info=1]="Info",o[o.Warning=2]="Warning",o[o.Error=3]="Error",o))(Fb||{});(a=>{let i="error",t="warning",e="warn",n="info",o="ignore";function r(l){return l?Qn(i,l)?3:Qn(t,l)||Qn(e,l)?2:Qn(n,l)?1:0:0}a.fromValue=r;function s(l){switch(l){case 3:return i;case 2:return t;case 1:return n;default:return o}}a.toString=s})(Fb||={});var je=Fb;var DO=je,lG=A("notificationService");var La=A("contextService");function RO(i){let t=i;return typeof t?.id=="string"&&y.isUri(t.uri)}function AO(i){let t=i;return typeof t?.id=="string"&&y.isUri(t.configPath)}var Hb=class{constructor(t,e,n,o,r,s){this._id=t;this._transient=n;this._configuration=o;this.ignorePathCasing=r;this._workspaceName=s;this.foldersMap=Do.forUris(this.ignorePathCasing,()=>!0),this.folders=e}get folders(){return this._folders}set folders(t){this._folders=t,this.updateFoldersMap()}update(t){this._id=t.id,this._configuration=t.configuration,this._transient=t.transient,this._workspaceName=t.name,this.ignorePathCasing=t.ignorePathCasing,this.folders=t.folders}get id(){return this._id}get transient(){return this._transient}get configuration(){return this._configuration}set configuration(t){this._configuration=t}get name(){return this._workspaceName}getFolder(t){return t&&this.foldersMap.findSubstr(t)||null}updateFoldersMap(){this.foldersMap=Do.forUris(this.ignorePathCasing,()=>!0);for(let t of this.folders)this.foldersMap.set(t.uri,t)}toJSON(){return{id:this.id,folders:this.folders,transient:this.transient,configuration:this.configuration,name:this.name}}},uf=class{constructor(t,e){this.raw=e;this.uri=t.uri,this.index=t.index,this.name=t.name}toResource(t){return Nt(this.uri,t)}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}};function pf(i){return new uf({uri:i,index:0,name:qg(i)},{uri:i.toString()})}var MO="code-workspace",bG=`.${MO}`,yG=[{name:p(3173,null),extensions:[MO]}];var Vb=class{constructor(){this._systemSchemes=new Set(Object.keys(K));this._providerInfo=new Map;this.extUri=new Di(t=>{let e=this._providerInfo.get(t.scheme);return!(e===void 0||e&1024)})}$acceptProviderInfos(t,e){e===null?this._providerInfo.delete(t.scheme):this._providerInfo.set(t.scheme,e)}isFreeScheme(t){return!this._providerInfo.has(t)&&!this._systemSchemes.has(t)}getCapabilities(t){return this._providerInfo.get(t)}},kr=A("IExtHostFileSystemInfo");var We=(function(){if(typeof crypto.randomUUID=="function")return crypto.randomUUID.bind(crypto);let i=new Uint8Array(16),t=[];for(let e=0;e<256;e++)t.push(e.toString(16).padStart(2,"0"));return function(){crypto.getRandomValues(i),i[6]=i[6]&15|64,i[8]=i[8]&63|128;let n=0,o="";return o+=t[i[n++]],o+=t[i[n++]],o+=t[i[n++]],o+=t[i[n++]],o+="-",o+=t[i[n++]],o+=t[i[n++]],o+="-",o+=t[i[n++]],o+=t[i[n++]],o+="-",o+=t[i[n++]],o+=t[i[n++]],o+="-",o+=t[i[n++]],o+=t[i[n++]],o+=t[i[n++]],o+=t[i[n++]],o+=t[i[n++]],o+=t[i[n++]],o}})();var Wb=Object.freeze({create:i=>Ir(i.map(t=>t.toString())).join(`\r
`),split:i=>i.split(`\r
`),parse:i=>Wb.split(i).filter(t=>!t.startsWith("#"))});var AG=new Uint32Array(10);var MG=new Uint8Array([114,82,115,101,69,102,97,113,81,116,84,100,119,87,99,122,120,118,103]),OG=new Uint16Array([107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]),LG=new Uint16Array([114,82,29810,115,30579,26483,101,102,29286,24934,29030,29798,30822,30310,26470,97,113,29809,116,84,100,119,99,122,120,118,103]),NG=new Uint16Array([114,82,29810,115,30579,26483,101,69,102,29286,24934,29030,29798,30822,30310,26470,97,113,81,29809,116,84,100,119,87,99,122,120,118,103,107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]);var HG=new xr(1e4);var G4=new xr(1e4);function j4(i){return J4(i,"NFD",G4)}var Q4=/[^\u0000-\u0080]/;function J4(i,t,e){if(!i)return i;let n=e.get(i);if(n)return n;let o;return Q4.test(i)?o=i.normalize(t):o=i,e.set(i,o),o}var X4=(function(){let i=new xr(1e4),t=/[\u0300-\u036f]/g;return function(e){let n=i.get(e);if(n)return n;let o=j4(e).replace(t,""),r=(o.length===e.length?o:e).toLowerCase();return i.set(e,r),r}})();function LO(...i){return function(t,e){for(let n=0,o=i.length;n<o;n++){let r=i[n](t,e);if(r)return r}return null}}var jG=UO.bind(void 0,!1),NO=UO.bind(void 0,!0);function UO(i,t,e){if(!e||e.length<t.length)return null;let n;return i?n=ka(e,t):n=e.indexOf(t)===0,n?t.length>0?[{start:0,end:t.length}]:[]:null}function Y4(i,t){if(i.length>t.length)return null;let e=t.toLowerCase().indexOf(i.toLowerCase());return e===-1?null:[{start:e,end:e+i.length}]}function Z4(i,t){return i.length>t.length?null:jw(i.toLowerCase(),t.toLowerCase(),0,0)}function jw(i,t,e,n){if(e===i.length)return[];if(n===t.length)return null;if(i[e]===t[n]){let o=null;return(o=jw(i,t,e+1,n+1))?HO({start:n,end:n+1},o):null}return jw(i,t,e,n+1)}function Jw(i){return 97<=i&&i<=122}function zb(i){return 65<=i&&i<=90}function Xw(i){return 48<=i&&i<=57}function eB(i){return i===32||i===9||i===10||i===13}var tB=new Set;"()[]{}<>`'\"-/;:,.?!".split("").forEach(i=>tB.add(i.charCodeAt(0)));function FO(i){return Jw(i)||zb(i)||Xw(i)}function HO(i,t){return t.length===0?t=[i]:i.end===t[0].start?t[0].start=i.start:t.unshift(i),t}function VO(i,t){for(let e=t;e<i.length;e++){let n=i.charCodeAt(e);if(zb(n)||Xw(n)||e>0&&!FO(i.charCodeAt(e-1)))return e}return i.length}function Qw(i,t,e,n){if(e===i.length)return[];if(n===t.length)return null;if(i[e]!==t[n].toLowerCase())return null;{let o=null,r=n+1;for(o=Qw(i,t,e+1,n+1);!o&&(r=VO(t,r))<t.length;)o=Qw(i,t,e+1,r),r++;return o===null?null:HO({start:n,end:n+1},o)}}function nB(i){let t=0,e=0,n=0,o=0,r=0;for(let c=0;c<i.length;c++)r=i.charCodeAt(c),zb(r)&&t++,Jw(r)&&e++,FO(r)&&n++,Xw(r)&&o++;let s=t/i.length,a=e/i.length,l=n/i.length,d=o/i.length;return{upperPercent:s,lowerPercent:a,alphaPercent:l,numericPercent:d}}function oB(i){let{upperPercent:t,lowerPercent:e}=i;return e===0&&t>.6}function rB(i){let{upperPercent:t,lowerPercent:e,alphaPercent:n,numericPercent:o}=i;return e>.2&&t<.8&&n>.6&&o<.2}function iB(i){let t=0,e=0,n=0,o=0;for(let r=0;r<i.length;r++)n=i.charCodeAt(r),zb(n)&&t++,Jw(n)&&e++,eB(n)&&o++;return(t===0||e===0)&&o===0?i.length<=30:t<=5}function BO(i,t){if(!t||(t=t.trim(),t.length===0)||!iB(i))return null;t.length>60&&(t=t.substring(0,60));let e=nB(t);if(!rB(e)){if(!oB(e))return null;t=t.toLowerCase()}let n=null,o=0;for(i=i.toLowerCase();o<t.length&&(n=Qw(i,t,0,o))===null;)o=VO(t,o+1);return n}var QG=LO(NO,BO,Y4),JG=LO(NO,BO,Z4),XG=new xr(1e4);var $b=128;function Yw(){let i=[],t=[];for(let e=0;e<=$b;e++)t[e]=0;for(let e=0;e<=$b;e++)i.push(t.slice(0));return i}function WO(i){let t=[];for(let e=0;e<=i;e++)t[e]=0;return t}var YG=WO(2*$b),ZG=WO(2*$b),ej=Yw(),tj=Yw(),nj=Yw();var sB;(e=>{e.Default=[-100,0];function t(n){return!n||n.length===2&&n[0]===-100&&n[1]===0}e.isDefault=t})(sB||={});var OO=class{constructor(t,e){this.firstMatchCanBeWeak=t;this.boostFullMatch=e}static{this.default={boostFullMatch:!0,firstMatchCanBeWeak:!1}}};var Zw=Object.create(null);function h(i,t){if(Ae(t)){let e=Zw[t];if(e===void 0)throw new Error(`${i} references an unknown codicon: ${t}`);t=e}return Zw[i]=t,{id:i}}function $O(){return Zw}var zO={add:h("add",6e4),plus:h("plus",6e4),gistNew:h("gist-new",6e4),repoCreate:h("repo-create",6e4),lightbulb:h("lightbulb",60001),lightBulb:h("light-bulb",60001),repo:h("repo",60002),repoDelete:h("repo-delete",60002),gistFork:h("gist-fork",60003),repoForked:h("repo-forked",60003),gitPullRequest:h("git-pull-request",60004),gitPullRequestAbandoned:h("git-pull-request-abandoned",60004),recordKeys:h("record-keys",60005),keyboard:h("keyboard",60005),tag:h("tag",60006),gitPullRequestLabel:h("git-pull-request-label",60006),tagAdd:h("tag-add",60006),tagRemove:h("tag-remove",60006),person:h("person",60007),personFollow:h("person-follow",60007),personOutline:h("person-outline",60007),personFilled:h("person-filled",60007),sourceControl:h("source-control",60008),mirror:h("mirror",60009),mirrorPublic:h("mirror-public",60009),star:h("star",60010),starAdd:h("star-add",60010),starDelete:h("star-delete",60010),starEmpty:h("star-empty",60010),comment:h("comment",60011),commentAdd:h("comment-add",60011),alert:h("alert",60012),warning:h("warning",60012),search:h("search",60013),searchSave:h("search-save",60013),logOut:h("log-out",60014),signOut:h("sign-out",60014),logIn:h("log-in",60015),signIn:h("sign-in",60015),eye:h("eye",60016),eyeUnwatch:h("eye-unwatch",60016),eyeWatch:h("eye-watch",60016),circleFilled:h("circle-filled",60017),primitiveDot:h("primitive-dot",60017),closeDirty:h("close-dirty",60017),debugBreakpoint:h("debug-breakpoint",60017),debugBreakpointDisabled:h("debug-breakpoint-disabled",60017),debugHint:h("debug-hint",60017),terminalDecorationSuccess:h("terminal-decoration-success",60017),primitiveSquare:h("primitive-square",60018),edit:h("edit",60019),pencil:h("pencil",60019),info:h("info",60020),issueOpened:h("issue-opened",60020),gistPrivate:h("gist-private",60021),gitForkPrivate:h("git-fork-private",60021),lock:h("lock",60021),mirrorPrivate:h("mirror-private",60021),close:h("close",60022),removeClose:h("remove-close",60022),x:h("x",60022),repoSync:h("repo-sync",60023),sync:h("sync",60023),clone:h("clone",60024),desktopDownload:h("desktop-download",60024),beaker:h("beaker",60025),microscope:h("microscope",60025),vm:h("vm",60026),deviceDesktop:h("device-desktop",60026),file:h("file",60027),more:h("more",60028),ellipsis:h("ellipsis",60028),kebabHorizontal:h("kebab-horizontal",60028),mailReply:h("mail-reply",60029),reply:h("reply",60029),organization:h("organization",60030),organizationFilled:h("organization-filled",60030),organizationOutline:h("organization-outline",60030),newFile:h("new-file",60031),fileAdd:h("file-add",60031),newFolder:h("new-folder",60032),fileDirectoryCreate:h("file-directory-create",60032),trash:h("trash",60033),trashcan:h("trashcan",60033),history:h("history",60034),clock:h("clock",60034),folder:h("folder",60035),fileDirectory:h("file-directory",60035),symbolFolder:h("symbol-folder",60035),logoGithub:h("logo-github",60036),markGithub:h("mark-github",60036),github:h("github",60036),terminal:h("terminal",60037),console:h("console",60037),repl:h("repl",60037),zap:h("zap",60038),symbolEvent:h("symbol-event",60038),error:h("error",60039),stop:h("stop",60039),variable:h("variable",60040),symbolVariable:h("symbol-variable",60040),array:h("array",60042),symbolArray:h("symbol-array",60042),symbolModule:h("symbol-module",60043),symbolPackage:h("symbol-package",60043),symbolNamespace:h("symbol-namespace",60043),symbolObject:h("symbol-object",60043),symbolMethod:h("symbol-method",60044),symbolFunction:h("symbol-function",60044),symbolConstructor:h("symbol-constructor",60044),symbolBoolean:h("symbol-boolean",60047),symbolNull:h("symbol-null",60047),symbolNumeric:h("symbol-numeric",60048),symbolNumber:h("symbol-number",60048),symbolStructure:h("symbol-structure",60049),symbolStruct:h("symbol-struct",60049),symbolParameter:h("symbol-parameter",60050),symbolTypeParameter:h("symbol-type-parameter",60050),symbolKey:h("symbol-key",60051),symbolText:h("symbol-text",60051),symbolReference:h("symbol-reference",60052),goToFile:h("go-to-file",60052),symbolEnum:h("symbol-enum",60053),symbolValue:h("symbol-value",60053),symbolRuler:h("symbol-ruler",60054),symbolUnit:h("symbol-unit",60054),activateBreakpoints:h("activate-breakpoints",60055),archive:h("archive",60056),arrowBoth:h("arrow-both",60057),arrowDown:h("arrow-down",60058),arrowLeft:h("arrow-left",60059),arrowRight:h("arrow-right",60060),arrowSmallDown:h("arrow-small-down",60061),arrowSmallLeft:h("arrow-small-left",60062),arrowSmallRight:h("arrow-small-right",60063),arrowSmallUp:h("arrow-small-up",60064),arrowUp:h("arrow-up",60065),bell:h("bell",60066),bold:h("bold",60067),book:h("book",60068),bookmark:h("bookmark",60069),debugBreakpointConditionalUnverified:h("debug-breakpoint-conditional-unverified",60070),debugBreakpointConditional:h("debug-breakpoint-conditional",60071),debugBreakpointConditionalDisabled:h("debug-breakpoint-conditional-disabled",60071),debugBreakpointDataUnverified:h("debug-breakpoint-data-unverified",60072),debugBreakpointData:h("debug-breakpoint-data",60073),debugBreakpointDataDisabled:h("debug-breakpoint-data-disabled",60073),debugBreakpointLogUnverified:h("debug-breakpoint-log-unverified",60074),debugBreakpointLog:h("debug-breakpoint-log",60075),debugBreakpointLogDisabled:h("debug-breakpoint-log-disabled",60075),briefcase:h("briefcase",60076),broadcast:h("broadcast",60077),browser:h("browser",60078),bug:h("bug",60079),calendar:h("calendar",60080),caseSensitive:h("case-sensitive",60081),check:h("check",60082),checklist:h("checklist",60083),chevronDown:h("chevron-down",60084),chevronLeft:h("chevron-left",60085),chevronRight:h("chevron-right",60086),chevronUp:h("chevron-up",60087),chromeClose:h("chrome-close",60088),chromeMaximize:h("chrome-maximize",60089),chromeMinimize:h("chrome-minimize",60090),chromeRestore:h("chrome-restore",60091),circleOutline:h("circle-outline",60092),circle:h("circle",60092),debugBreakpointUnverified:h("debug-breakpoint-unverified",60092),terminalDecorationIncomplete:h("terminal-decoration-incomplete",60092),circleSlash:h("circle-slash",60093),circuitBoard:h("circuit-board",60094),clearAll:h("clear-all",60095),clippy:h("clippy",60096),closeAll:h("close-all",60097),cloudDownload:h("cloud-download",60098),cloudUpload:h("cloud-upload",60099),code:h("code",60100),collapseAll:h("collapse-all",60101),colorMode:h("color-mode",60102),commentDiscussion:h("comment-discussion",60103),creditCard:h("credit-card",60105),dash:h("dash",60108),dashboard:h("dashboard",60109),database:h("database",60110),debugContinue:h("debug-continue",60111),debugDisconnect:h("debug-disconnect",60112),debugPause:h("debug-pause",60113),debugRestart:h("debug-restart",60114),debugStart:h("debug-start",60115),debugStepInto:h("debug-step-into",60116),debugStepOut:h("debug-step-out",60117),debugStepOver:h("debug-step-over",60118),debugStop:h("debug-stop",60119),debug:h("debug",60120),deviceCameraVideo:h("device-camera-video",60121),deviceCamera:h("device-camera",60122),deviceMobile:h("device-mobile",60123),diffAdded:h("diff-added",60124),diffIgnored:h("diff-ignored",60125),diffModified:h("diff-modified",60126),diffRemoved:h("diff-removed",60127),diffRenamed:h("diff-renamed",60128),diff:h("diff",60129),diffSidebyside:h("diff-sidebyside",60129),discard:h("discard",60130),editorLayout:h("editor-layout",60131),emptyWindow:h("empty-window",60132),exclude:h("exclude",60133),extensions:h("extensions",60134),eyeClosed:h("eye-closed",60135),fileBinary:h("file-binary",60136),fileCode:h("file-code",60137),fileMedia:h("file-media",60138),filePdf:h("file-pdf",60139),fileSubmodule:h("file-submodule",60140),fileSymlinkDirectory:h("file-symlink-directory",60141),fileSymlinkFile:h("file-symlink-file",60142),fileZip:h("file-zip",60143),files:h("files",60144),filter:h("filter",60145),flame:h("flame",60146),foldDown:h("fold-down",60147),foldUp:h("fold-up",60148),fold:h("fold",60149),folderActive:h("folder-active",60150),folderOpened:h("folder-opened",60151),gear:h("gear",60152),gift:h("gift",60153),gistSecret:h("gist-secret",60154),gist:h("gist",60155),gitCommit:h("git-commit",60156),gitCompare:h("git-compare",60157),compareChanges:h("compare-changes",60157),gitMerge:h("git-merge",60158),githubAction:h("github-action",60159),githubAlt:h("github-alt",60160),globe:h("globe",60161),grabber:h("grabber",60162),graph:h("graph",60163),gripper:h("gripper",60164),heart:h("heart",60165),home:h("home",60166),horizontalRule:h("horizontal-rule",60167),hubot:h("hubot",60168),inbox:h("inbox",60169),issueReopened:h("issue-reopened",60171),issues:h("issues",60172),italic:h("italic",60173),jersey:h("jersey",60174),json:h("json",60175),bracket:h("bracket",60175),kebabVertical:h("kebab-vertical",60176),key:h("key",60177),law:h("law",60178),lightbulbAutofix:h("lightbulb-autofix",60179),linkExternal:h("link-external",60180),link:h("link",60181),listOrdered:h("list-ordered",60182),listUnordered:h("list-unordered",60183),liveShare:h("live-share",60184),loading:h("loading",60185),location:h("location",60186),mailRead:h("mail-read",60187),mail:h("mail",60188),markdown:h("markdown",60189),megaphone:h("megaphone",60190),mention:h("mention",60191),milestone:h("milestone",60192),gitPullRequestMilestone:h("git-pull-request-milestone",60192),mortarBoard:h("mortar-board",60193),move:h("move",60194),multipleWindows:h("multiple-windows",60195),mute:h("mute",60196),noNewline:h("no-newline",60197),note:h("note",60198),octoface:h("octoface",60199),openPreview:h("open-preview",60200),package:h("package",60201),paintcan:h("paintcan",60202),pin:h("pin",60203),play:h("play",60204),run:h("run",60204),plug:h("plug",60205),preserveCase:h("preserve-case",60206),preview:h("preview",60207),project:h("project",60208),pulse:h("pulse",60209),question:h("question",60210),quote:h("quote",60211),radioTower:h("radio-tower",60212),reactions:h("reactions",60213),references:h("references",60214),refresh:h("refresh",60215),regex:h("regex",60216),remoteExplorer:h("remote-explorer",60217),remote:h("remote",60218),remove:h("remove",60219),replaceAll:h("replace-all",60220),replace:h("replace",60221),repoClone:h("repo-clone",60222),repoForcePush:h("repo-force-push",60223),repoPull:h("repo-pull",60224),repoPush:h("repo-push",60225),report:h("report",60226),requestChanges:h("request-changes",60227),rocket:h("rocket",60228),rootFolderOpened:h("root-folder-opened",60229),rootFolder:h("root-folder",60230),rss:h("rss",60231),ruby:h("ruby",60232),saveAll:h("save-all",60233),saveAs:h("save-as",60234),save:h("save",60235),screenFull:h("screen-full",60236),screenNormal:h("screen-normal",60237),searchStop:h("search-stop",60238),server:h("server",60240),settingsGear:h("settings-gear",60241),settings:h("settings",60242),shield:h("shield",60243),smiley:h("smiley",60244),sortPrecedence:h("sort-precedence",60245),splitHorizontal:h("split-horizontal",60246),splitVertical:h("split-vertical",60247),squirrel:h("squirrel",60248),starFull:h("star-full",60249),starHalf:h("star-half",60250),symbolClass:h("symbol-class",60251),symbolColor:h("symbol-color",60252),symbolConstant:h("symbol-constant",60253),symbolEnumMember:h("symbol-enum-member",60254),symbolField:h("symbol-field",60255),symbolFile:h("symbol-file",60256),symbolInterface:h("symbol-interface",60257),symbolKeyword:h("symbol-keyword",60258),symbolMisc:h("symbol-misc",60259),symbolOperator:h("symbol-operator",60260),symbolProperty:h("symbol-property",60261),wrench:h("wrench",60261),wrenchSubaction:h("wrench-subaction",60261),symbolSnippet:h("symbol-snippet",60262),tasklist:h("tasklist",60263),telescope:h("telescope",60264),textSize:h("text-size",60265),threeBars:h("three-bars",60266),thumbsdown:h("thumbsdown",60267),thumbsup:h("thumbsup",60268),tools:h("tools",60269),triangleDown:h("triangle-down",60270),triangleLeft:h("triangle-left",60271),triangleRight:h("triangle-right",60272),triangleUp:h("triangle-up",60273),twitter:h("twitter",60274),unfold:h("unfold",60275),unlock:h("unlock",60276),unmute:h("unmute",60277),unverified:h("unverified",60278),verified:h("verified",60279),versions:h("versions",60280),vmActive:h("vm-active",60281),vmOutline:h("vm-outline",60282),vmRunning:h("vm-running",60283),watch:h("watch",60284),whitespace:h("whitespace",60285),wholeWord:h("whole-word",60286),window:h("window",60287),wordWrap:h("word-wrap",60288),zoomIn:h("zoom-in",60289),zoomOut:h("zoom-out",60290),listFilter:h("list-filter",60291),listFlat:h("list-flat",60292),listSelection:h("list-selection",60293),selection:h("selection",60293),listTree:h("list-tree",60294),debugBreakpointFunctionUnverified:h("debug-breakpoint-function-unverified",60295),debugBreakpointFunction:h("debug-breakpoint-function",60296),debugBreakpointFunctionDisabled:h("debug-breakpoint-function-disabled",60296),debugStackframeActive:h("debug-stackframe-active",60297),circleSmallFilled:h("circle-small-filled",60298),debugStackframeDot:h("debug-stackframe-dot",60298),terminalDecorationMark:h("terminal-decoration-mark",60298),debugStackframe:h("debug-stackframe",60299),debugStackframeFocused:h("debug-stackframe-focused",60299),debugBreakpointUnsupported:h("debug-breakpoint-unsupported",60300),symbolString:h("symbol-string",60301),debugReverseContinue:h("debug-reverse-continue",60302),debugStepBack:h("debug-step-back",60303),debugRestartFrame:h("debug-restart-frame",60304),debugAlt:h("debug-alt",60305),callIncoming:h("call-incoming",60306),callOutgoing:h("call-outgoing",60307),menu:h("menu",60308),expandAll:h("expand-all",60309),feedback:h("feedback",60310),gitPullRequestReviewer:h("git-pull-request-reviewer",60310),groupByRefType:h("group-by-ref-type",60311),ungroupByRefType:h("ungroup-by-ref-type",60312),account:h("account",60313),gitPullRequestAssignee:h("git-pull-request-assignee",60313),bellDot:h("bell-dot",60314),debugConsole:h("debug-console",60315),library:h("library",60316),output:h("output",60317),runAll:h("run-all",60318),syncIgnored:h("sync-ignored",60319),pinned:h("pinned",60320),githubInverted:h("github-inverted",60321),serverProcess:h("server-process",60322),serverEnvironment:h("server-environment",60323),pass:h("pass",60324),issueClosed:h("issue-closed",60324),stopCircle:h("stop-circle",60325),playCircle:h("play-circle",60326),record:h("record",60327),debugAltSmall:h("debug-alt-small",60328),vmConnect:h("vm-connect",60329),cloud:h("cloud",60330),merge:h("merge",60331),export:h("export",60332),graphLeft:h("graph-left",60333),magnet:h("magnet",60334),notebook:h("notebook",60335),redo:h("redo",60336),checkAll:h("check-all",60337),pinnedDirty:h("pinned-dirty",60338),passFilled:h("pass-filled",60339),circleLargeFilled:h("circle-large-filled",60340),circleLarge:h("circle-large",60341),circleLargeOutline:h("circle-large-outline",60341),combine:h("combine",60342),gather:h("gather",60342),table:h("table",60343),variableGroup:h("variable-group",60344),typeHierarchy:h("type-hierarchy",60345),typeHierarchySub:h("type-hierarchy-sub",60346),typeHierarchySuper:h("type-hierarchy-super",60347),gitPullRequestCreate:h("git-pull-request-create",60348),runAbove:h("run-above",60349),runBelow:h("run-below",60350),notebookTemplate:h("notebook-template",60351),debugRerun:h("debug-rerun",60352),workspaceTrusted:h("workspace-trusted",60353),workspaceUntrusted:h("workspace-untrusted",60354),workspaceUnknown:h("workspace-unknown",60355),terminalCmd:h("terminal-cmd",60356),terminalDebian:h("terminal-debian",60357),terminalLinux:h("terminal-linux",60358),terminalPowershell:h("terminal-powershell",60359),terminalTmux:h("terminal-tmux",60360),terminalUbuntu:h("terminal-ubuntu",60361),terminalBash:h("terminal-bash",60362),arrowSwap:h("arrow-swap",60363),copy:h("copy",60364),personAdd:h("person-add",60365),filterFilled:h("filter-filled",60366),wand:h("wand",60367),debugLineByLine:h("debug-line-by-line",60368),inspect:h("inspect",60369),layers:h("layers",60370),layersDot:h("layers-dot",60371),layersActive:h("layers-active",60372),compass:h("compass",60373),compassDot:h("compass-dot",60374),compassActive:h("compass-active",60375),azure:h("azure",60376),issueDraft:h("issue-draft",60377),gitPullRequestClosed:h("git-pull-request-closed",60378),gitPullRequestDraft:h("git-pull-request-draft",60379),debugAll:h("debug-all",60380),debugCoverage:h("debug-coverage",60381),runErrors:h("run-errors",60382),folderLibrary:h("folder-library",60383),debugContinueSmall:h("debug-continue-small",60384),beakerStop:h("beaker-stop",60385),graphLine:h("graph-line",60386),graphScatter:h("graph-scatter",60387),pieChart:h("pie-chart",60388),bracketDot:h("bracket-dot",60389),bracketError:h("bracket-error",60390),lockSmall:h("lock-small",60391),azureDevops:h("azure-devops",60392),verifiedFilled:h("verified-filled",60393),newline:h("newline",60394),layout:h("layout",60395),layoutActivitybarLeft:h("layout-activitybar-left",60396),layoutActivitybarRight:h("layout-activitybar-right",60397),layoutPanelLeft:h("layout-panel-left",60398),layoutPanelCenter:h("layout-panel-center",60399),layoutPanelJustify:h("layout-panel-justify",60400),layoutPanelRight:h("layout-panel-right",60401),layoutPanel:h("layout-panel",60402),layoutSidebarLeft:h("layout-sidebar-left",60403),layoutSidebarRight:h("layout-sidebar-right",60404),layoutStatusbar:h("layout-statusbar",60405),layoutMenubar:h("layout-menubar",60406),layoutCentered:h("layout-centered",60407),target:h("target",60408),indent:h("indent",60409),recordSmall:h("record-small",60410),errorSmall:h("error-small",60411),terminalDecorationError:h("terminal-decoration-error",60411),arrowCircleDown:h("arrow-circle-down",60412),arrowCircleLeft:h("arrow-circle-left",60413),arrowCircleRight:h("arrow-circle-right",60414),arrowCircleUp:h("arrow-circle-up",60415),layoutSidebarRightOff:h("layout-sidebar-right-off",60416),layoutPanelOff:h("layout-panel-off",60417),layoutSidebarLeftOff:h("layout-sidebar-left-off",60418),blank:h("blank",60419),heartFilled:h("heart-filled",60420),map:h("map",60421),mapHorizontal:h("map-horizontal",60421),foldHorizontal:h("fold-horizontal",60421),mapFilled:h("map-filled",60422),mapHorizontalFilled:h("map-horizontal-filled",60422),foldHorizontalFilled:h("fold-horizontal-filled",60422),circleSmall:h("circle-small",60423),bellSlash:h("bell-slash",60424),bellSlashDot:h("bell-slash-dot",60425),commentUnresolved:h("comment-unresolved",60426),gitPullRequestGoToChanges:h("git-pull-request-go-to-changes",60427),gitPullRequestNewChanges:h("git-pull-request-new-changes",60428),searchFuzzy:h("search-fuzzy",60429),commentDraft:h("comment-draft",60430),send:h("send",60431),sparkle:h("sparkle",60432),insert:h("insert",60433),mic:h("mic",60434),thumbsdownFilled:h("thumbsdown-filled",60435),thumbsupFilled:h("thumbsup-filled",60436),coffee:h("coffee",60437),snake:h("snake",60438),game:h("game",60439),vr:h("vr",60440),chip:h("chip",60441),piano:h("piano",60442),music:h("music",60443),micFilled:h("mic-filled",60444),repoFetch:h("repo-fetch",60445),copilot:h("copilot",60446),lightbulbSparkle:h("lightbulb-sparkle",60447),robot:h("robot",60448),sparkleFilled:h("sparkle-filled",60449),diffSingle:h("diff-single",60450),diffMultiple:h("diff-multiple",60451),surroundWith:h("surround-with",60452),share:h("share",60453),gitStash:h("git-stash",60454),gitStashApply:h("git-stash-apply",60455),gitStashPop:h("git-stash-pop",60456),vscode:h("vscode",60457),vscodeInsiders:h("vscode-insiders",60458),codeOss:h("code-oss",60459),runCoverage:h("run-coverage",60460),runAllCoverage:h("run-all-coverage",60461),coverage:h("coverage",60462),githubProject:h("github-project",60463),mapVertical:h("map-vertical",60464),foldVertical:h("fold-vertical",60464),mapVerticalFilled:h("map-vertical-filled",60465),foldVerticalFilled:h("fold-vertical-filled",60465),goToSearch:h("go-to-search",60466),percentage:h("percentage",60467),sortPercentage:h("sort-percentage",60467),attach:h("attach",60468),goToEditingSession:h("go-to-editing-session",60469),editSession:h("edit-session",60470),codeReview:h("code-review",60471),copilotWarning:h("copilot-warning",60472),python:h("python",60473),copilotLarge:h("copilot-large",60474),copilotWarningLarge:h("copilot-warning-large",60475),keyboardTab:h("keyboard-tab",60476),copilotBlocked:h("copilot-blocked",60477),copilotNotConnected:h("copilot-not-connected",60478),flag:h("flag",60479),lightbulbEmpty:h("lightbulb-empty",60480),symbolMethodArrow:h("symbol-method-arrow",60481),copilotUnavailable:h("copilot-unavailable",60482),repoPinned:h("repo-pinned",60483),keyboardTabAbove:h("keyboard-tab-above",60484),keyboardTabBelow:h("keyboard-tab-below",60485),gitPullRequestDone:h("git-pull-request-done",60486),mcp:h("mcp",60487),extensionsLarge:h("extensions-large",60488),layoutPanelDock:h("layout-panel-dock",60489),layoutSidebarLeftDock:h("layout-sidebar-left-dock",60490),layoutSidebarRightDock:h("layout-sidebar-right-dock",60491),copilotInProgress:h("copilot-in-progress",60492),copilotError:h("copilot-error",60493),copilotSuccess:h("copilot-success",60494),chatSparkle:h("chat-sparkle",60495),searchSparkle:h("search-sparkle",60496),editSparkle:h("edit-sparkle",60497),copilotSnooze:h("copilot-snooze",60498),sendToRemoteAgent:h("send-to-remote-agent",60499),commentDiscussionSparkle:h("comment-discussion-sparkle",60500),chatSparkleWarning:h("chat-sparkle-warning",60501),chatSparkleError:h("chat-sparkle-error",60502),collection:h("collection",60503),newCollection:h("new-collection",60504),thinking:h("thinking",60505),build:h("build",60506),commentDiscussionQuote:h("comment-discussion-quote",60507),cursor:h("cursor",60508),eraser:h("eraser",60509),fileText:h("file-text",60510),quotes:h("quotes",60512),rename:h("rename",60513),runWithDeps:h("run-with-deps",60514),debugConnected:h("debug-connected",60515),strikethrough:h("strikethrough",60516),openInProduct:h("open-in-product",60517),indexZero:h("index-zero",60518),agent:h("agent",60519),editCode:h("edit-code",60520),repoSelected:h("repo-selected",60521),skip:h("skip",60522),mergeInto:h("merge-into",60523),gitBranchChanges:h("git-branch-changes",60524),gitBranchStagedChanges:h("git-branch-staged-changes",60525),gitBranchConflicts:h("git-branch-conflicts",60526),gitBranch:h("git-branch",60527),gitBranchCreate:h("git-branch-create",60527),gitBranchDelete:h("git-branch-delete",60527),searchLarge:h("search-large",60528),terminalGitBash:h("terminal-git-bash",60529),windowActive:h("window-active",60530),forward:h("forward",60531),download:h("download",60532),clockface:h("clockface",60533),unarchive:h("unarchive",60534),sessionInProgress:h("session-in-progress",60535),collectionSmall:h("collection-small",60536),vmSmall:h("vm-small",60537),cloudSmall:h("cloud-small",60538),addSmall:h("add-small",60539),removeSmall:h("remove-small",60540),worktreeSmall:h("worktree-small",60541),worktree:h("worktree",60542),screenCut:h("screen-cut",60543),ask:h("ask",60544),openai:h("openai",60545),claude:h("claude",60546),openInWindow:h("open-in-window",60547),newSession:h("new-session",60548),terminalSecure:h("terminal-secure",60549),chatImport:h("chat-import",60550),chatExport:h("chat-export",60551),shareWindow:h("share-window",60552),circleSlashCompact:h("circle-slash-compact",60553),copilotCompact:h("copilot-compact",60554),folderOpenedCompact:h("folder-opened-compact",60555),folderCompact:h("folder-compact",60556),gearCompact:h("gear-compact",60557),gitBranchCompact:h("git-branch-compact",60558),libraryCompact:h("library-compact",60559),recordKeysCompact:h("record-keys-compact",60560),remoteCompact:h("remote-compact",60561),repoForkedCompact:h("repo-forked-compact",60562),repoCompact:h("repo-compact",60563),shieldCompact:h("shield-compact",60564),sparkleCompact:h("sparkle-compact",60565),symbolColorCompact:h("symbol-color-compact",60566),windowCompact:h("window-compact",60567),errorCompact:h("error-compact",60568),warningCompact:h("warning-compact",60569),passCompact:h("pass-compact",60570),important:h("important",60571),importantCompact:h("important-compact",60572),rocketCompact:h("rocket-compact",60573),unpin:h("unpin",60574),addCompact:h("add-compact",60575),attachCompact:h("attach-compact",60576),beakerCompact:h("beaker-compact",60577),checkCompact:h("check-compact",60578),checklistCompact:h("checklist-compact",60579),chevronDownCompact:h("chevron-down-compact",60580),chevronLeftCompact:h("chevron-left-compact",60581),chevronRightCompact:h("chevron-right-compact",60582),chevronUpCompact:h("chevron-up-compact",60583),circleFilledCompact:h("circle-filled-compact",60584),circleSmallFilledCompact:h("circle-small-filled-compact",60585),closeCompact:h("close-compact",60586),collapseAllCompact:h("collapse-all-compact",60587),commentCompact:h("comment-compact",60588),commentUnresolvedCompact:h("comment-unresolved-compact",60589),debugConnectedCompact:h("debug-connected-compact",60590),debugDisconnectCompact:h("debug-disconnect-compact",60591),editCompact:h("edit-compact",60592),fileMediaCompact:h("file-media-compact",60593),gitFetch:h("git-fetch",60594),lightbulbCompact:h("lightbulb-compact",60595),loadingCompact:h("loading-compact",60596),passFilledCompact:h("pass-filled-compact",60597),projectCompact:h("project-compact",60598),refreshCompact:h("refresh-compact",60599),searchCompact:h("search-compact",60600),sessionInProgressCompact:h("session-in-progress-compact",60601),syncCompact:h("sync-compact",60602),terminalCompact:h("terminal-compact",60603),vmPending:h("vm-pending",60604),worktreeCompact:h("worktree-compact",60605),developerTools:h("developer-tools",60606),cloudCompact:h("cloud-compact",60607),agentCompact:h("agent-compact",60608),askCompact:h("ask-compact",60609),settingsCompact:h("settings-compact",60610),vmCompact:h("vm-compact",60611)};var aB={dialogError:h("dialog-error","error"),dialogWarning:h("dialog-warning","warning"),dialogInfo:h("dialog-info","info"),dialogClose:h("dialog-close","close"),treeItemExpanded:h("tree-item-expanded","chevron-down"),treeFilterOnTypeOn:h("tree-filter-on-type-on","list-filter"),treeFilterOnTypeOff:h("tree-filter-on-type-off","list-selection"),treeFilterClear:h("tree-filter-clear","close"),treeItemLoading:h("tree-item-loading","loading"),menuSelection:h("menu-selection","check"),menuSubmenu:h("menu-submenu","chevron-right"),menuBarMore:h("menubar-more","more"),scrollbarButtonLeft:h("scrollbar-button-left","triangle-left"),scrollbarButtonRight:h("scrollbar-button-right","triangle-right"),scrollbarButtonUp:h("scrollbar-button-up","triangle-up"),scrollbarButtonDown:h("scrollbar-button-down","triangle-down"),toolBarMore:h("toolbar-more","more"),quickInputBack:h("quick-input-back","arrow-left"),dropDownButton:h("drop-down-button",60084),symbolCustomColor:h("symbol-customcolor",60252),exportIcon:h("export",60332),workspaceUnspecified:h("workspace-unspecified",60355),newLine:h("newline",60394),thumbsDownFilled:h("thumbsdown-filled",60435),thumbsUpFilled:h("thumbsup-filled",60436),gitFetch:h("git-fetch",60445),lightbulbSparkleAutofix:h("lightbulb-sparkle-autofix",60447),debugBreakpointPending:h("debug-breakpoint-pending",60377),chatImport:h("chat-import",60550),chatExport:h("chat-export",60551)},le={...zO,...aB};var pu;(t=>{function i(e){return!!e&&typeof e=="object"&&typeof e.id=="string"}t.isThemeColor=i})(pu||={});var Je;(C=>{C.iconNameSegment="[A-Za-z0-9]+",C.iconNameExpression="[A-Za-z0-9-]+",C.iconModifierExpression="~[A-Za-z]+",C.iconNameCharacter="[A-Za-z0-9~-]";let o=new RegExp(`^(${C.iconNameExpression})(${C.iconModifierExpression})?$`);function r(E){let k=o.exec(E.id);if(!k)return r(le.error);let[,O,N]=k,H=["codicon","codicon-"+O];return N&&H.push("codicon-modifier-"+N.substring(1)),H}C.asClassNameArray=r;function s(E){return r(E).join(" ")}C.asClassName=s;function a(E){return"."+r(E).join(".")}C.asCSSSelector=a;function l(E){return!!E&&typeof E=="object"&&typeof E.id=="string"&&(typeof E.color>"u"||pu.isThemeColor(E.color))}C.isThemeIcon=l;let d=new RegExp(`^\\$\\((${C.iconNameExpression}(?:${C.iconModifierExpression})?)\\)$`);function c(E){let k=d.exec(E);if(!k)return;let[,O]=k;return{id:O}}C.fromString=c;function u(E){return{id:E}}C.fromId=u;function m(E,k){let O=E.id,N=O.lastIndexOf("~");return N!==-1&&(O=O.substring(0,N)),k&&(O=`${O}~${k}`),{id:O}}C.modify=m;function g(E){let k=E.id.lastIndexOf("~");if(k!==-1)return E.id.substring(k+1)}C.getModifier=g;function v(E,k){return E.id===k.id&&E.color?.id===k.color?.id}C.isEqual=v;function f(E){return E?.id===le.file.id}C.isFile=f;function x(E){return E?.id===le.folder.id}C.isFolder=x})(Je||={});var ek=new RegExp(`\\$\\(${Je.iconNameExpression}(?:${Je.iconModifierExpression})?\\)`,"g"),lB=new RegExp(`(\\\\)?${ek.source}`,"g");function qO(i){return i.replace(lB,(t,e)=>e?t:`\\${t}`)}var bj=new RegExp(`\\\\${ek.source}`,"g");var yj=new RegExp(`(\\s)?(\\\\)?${ek.source}(\\s)?`,"g");var Ij=new RegExp(`\\$\\(${Je.iconNameCharacter}+\\)`,"g");var xt=class i{static lift(t){let e=new i(t.value,t);return e.uris=t.uris,e.baseUri=t.baseUri?y.revive(t.baseUri):void 0,e}constructor(t="",e=!1){if(this.value=t,typeof this.value!="string")throw Oe("value");typeof e=="boolean"?(this.isTrusted=e,this.supportThemeIcons=!1,this.supportHtml=!1,this.supportAlertSyntax=!1):(this.isTrusted=e.isTrusted??void 0,this.supportThemeIcons=e.supportThemeIcons??!1,this.supportHtml=e.supportHtml??!1,this.supportAlertSyntax=e.supportAlertSyntax??!1)}appendText(t,e=0){return this.value+=dB(this.supportThemeIcons?qO(t):t).replace(/([ \t]+)/g,(n,o)=>"&nbsp;".repeat(o.length)).replace(/\>/gm,"\\>").replace(/\n/g,e===1?`\\
`:`

`),this}appendMarkdown(t){return this.value+=t,this}appendCodeblock(t,e){return this.value+=`
${cB(e,t)}
`,this}appendLink(t,e,n){return this.value+="[",this.value+=this._escape(e,"]"),this.value+="](",this.value+=this._escape(String(t),")"),n&&(this.value+=` "${this._escape(this._escape(n,'"'),")")}"`),this.value+=")",this}_escape(t,e){let n=new RegExp(ir(e),"g");return t.replace(n,(o,r)=>t.charAt(r-1)!=="\\"?`\\${o}`:o)}};function bo(i){return i instanceof xt?!0:i&&typeof i=="object"?typeof i.value=="string"&&(typeof i.isTrusted=="boolean"||typeof i.isTrusted=="object"||i.isTrusted===void 0)&&(typeof i.supportThemeIcons=="boolean"||i.supportThemeIcons===void 0)&&(typeof i.supportAlertSyntax=="boolean"||i.supportAlertSyntax===void 0):!1}function dB(i){return i.replace(/[\\`*_{}[\]()#+!~]/g,"\\$&").replace(/^([ \t]*)-/gm,"$1\\-")}function cB(i,t){let e=i.match(/^`+/gm)?.reduce((o,r)=>o.length>r.length?o:r).length??0,n=e>=3?e+1:3;return[`${"`".repeat(n)}${t}`,i,`${"`".repeat(n)}`].join(`
`)}function KO(i){let t=[],e=i.split("|").map(o=>o.trim());i=e[0];let n=e[1];if(n){let o=/height=(\d+)/.exec(n),r=/width=(\d+)/.exec(n),s=o?o[1]:"",a=r?r[1]:"",l=isFinite(parseInt(a)),d=isFinite(parseInt(s));l&&t.push(`width="${a}"`),d&&t.push(`height="${s}"`)}return{href:i,dimensions:t}}function ok(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var Cd=ok();function YO(i){Cd=i}var ZO=/[&<>"']/,pB=new RegExp(ZO.source,"g"),eL=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,mB=new RegExp(eL.source,"g"),gB={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},GO=i=>gB[i];function dr(i,t){if(t){if(ZO.test(i))return i.replace(pB,GO)}else if(eL.test(i))return i.replace(mB,GO);return i}var fB=/(^|[^\[])\^/g;function Vt(i,t){let e=typeof i=="string"?i:i.source;t=t||"";let n={replace:(o,r)=>{let s=typeof r=="string"?r:r.source;return s=s.replace(fB,"$1"),e=e.replace(o,s),n},getRegex:()=>new RegExp(e,t)};return n}function jO(i){try{i=encodeURI(i).replace(/%25/g,"%")}catch{return null}return i}var ff={exec:()=>null};function QO(i,t){let e=i.replace(/\|/g,(r,s,a)=>{let l=!1,d=s;for(;--d>=0&&a[d]==="\\";)l=!l;return l?"|":" |"}),n=e.split(/ \|/),o=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),t)if(n.length>t)n.splice(t);else for(;n.length<t;)n.push("");for(;o<n.length;o++)n[o]=n[o].trim().replace(/\\\|/g,"|");return n}function mf(i,t,e){let n=i.length;if(n===0)return"";let o=0;for(;o<n;){let r=i.charAt(n-o-1);if(r===t&&!e)o++;else if(r!==t&&e)o++;else break}return i.slice(0,n-o)}function hB(i,t){if(i.indexOf(t[1])===-1)return-1;let e=0;for(let n=0;n<i.length;n++)if(i[n]==="\\")n++;else if(i[n]===t[0])e++;else if(i[n]===t[1]&&(e--,e<0))return n;return-1}function JO(i,t,e,n){let o=t.href,r=t.title?dr(t.title):null,s=i[1].replace(/\\([\[\]])/g,"$1");if(i[0].charAt(0)!=="!"){n.state.inLink=!0;let a={type:"link",raw:e,href:o,title:r,text:s,tokens:n.inlineTokens(s)};return n.state.inLink=!1,a}return{type:"image",raw:e,href:o,title:r,text:dr(s)}}function vB(i,t){let e=i.match(/^(\s+)(?:```)/);if(e===null)return t;let n=e[1];return t.split(`
`).map(o=>{let r=o.match(/^\s+/);if(r===null)return o;let[s]=r;return s.length>=n.length?o.slice(n.length):o}).join(`
`)}var gu=class{options;rules;lexer;constructor(t){this.options=t||Cd}space(t){let e=this.rules.block.newline.exec(t);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(t){let e=this.rules.block.code.exec(t);if(e){let n=e[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?n:mf(n,`
`)}}}fences(t){let e=this.rules.block.fences.exec(t);if(e){let n=e[0],o=vB(n,e[3]||"");return{type:"code",raw:n,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:o}}}heading(t){let e=this.rules.block.heading.exec(t);if(e){let n=e[2].trim();if(/#$/.test(n)){let o=mf(n,"#");(this.options.pedantic||!o||/ $/.test(o))&&(n=o.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(t){let e=this.rules.block.hr.exec(t);if(e)return{type:"hr",raw:mf(e[0],`
`)}}blockquote(t){let e=this.rules.block.blockquote.exec(t);if(e){let n=mf(e[0],`
`).split(`
`),o="",r="",s=[];for(;n.length>0;){let a=!1,l=[],d;for(d=0;d<n.length;d++)if(/^ {0,3}>/.test(n[d]))l.push(n[d]),a=!0;else if(!a)l.push(n[d]);else break;n=n.slice(d);let c=l.join(`
`),u=c.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,`
    $1`).replace(/^ {0,3}>[ \t]?/gm,"");o=o?`${o}
${c}`:c,r=r?`${r}
${u}`:u;let m=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(u,s,!0),this.lexer.state.top=m,n.length===0)break;let g=s[s.length-1];if(g?.type==="code")break;if(g?.type==="blockquote"){let v=g,f=v.raw+`
`+n.join(`
`),x=this.blockquote(f);s[s.length-1]=x,o=o.substring(0,o.length-v.raw.length)+x.raw,r=r.substring(0,r.length-v.text.length)+x.text;break}else if(g?.type==="list"){let v=g,f=v.raw+`
`+n.join(`
`),x=this.list(f);s[s.length-1]=x,o=o.substring(0,o.length-g.raw.length)+x.raw,r=r.substring(0,r.length-v.raw.length)+x.raw,n=f.substring(s[s.length-1].raw.length).split(`
`);continue}}return{type:"blockquote",raw:o,tokens:s,text:r}}}list(t){let e=this.rules.block.list.exec(t);if(e){let n=e[1].trim(),o=n.length>1,r={type:"list",raw:"",ordered:o,start:o?+n.slice(0,-1):"",loose:!1,items:[]};n=o?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=o?n:"[*+-]");let s=new RegExp(`^( {0,3}${n})((?:[	 ][^\\n]*)?(?:\\n|$))`),a=!1;for(;t;){let l=!1,d="",c="";if(!(e=s.exec(t))||this.rules.block.hr.test(t))break;d=e[0],t=t.substring(d.length);let u=e[2].split(`
`,1)[0].replace(/^\t+/,C=>" ".repeat(3*C.length)),m=t.split(`
`,1)[0],g=!u.trim(),v=0;if(this.options.pedantic?(v=2,c=u.trimStart()):g?v=e[1].length+1:(v=e[2].search(/[^ ]/),v=v>4?1:v,c=u.slice(v),v+=e[1].length),g&&/^ *$/.test(m)&&(d+=m+`
`,t=t.substring(m.length+1),l=!0),!l){let C=new RegExp(`^ {0,${Math.min(3,v-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ 	][^\\n]*)?(?:\\n|$))`),E=new RegExp(`^ {0,${Math.min(3,v-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),k=new RegExp(`^ {0,${Math.min(3,v-1)}}(?:\`\`\`|~~~)`),O=new RegExp(`^ {0,${Math.min(3,v-1)}}#`);for(;t;){let N=t.split(`
`,1)[0];if(m=N,this.options.pedantic&&(m=m.replace(/^ {1,4}(?=( {4})*[^ ])/g,"  ")),k.test(m)||O.test(m)||C.test(m)||E.test(t))break;if(m.search(/[^ ]/)>=v||!m.trim())c+=`
`+m.slice(v);else{if(g||u.search(/[^ ]/)>=4||k.test(u)||O.test(u)||E.test(u))break;c+=`
`+m}!g&&!m.trim()&&(g=!0),d+=N+`
`,t=t.substring(N.length+1),u=m.slice(v)}}r.loose||(a?r.loose=!0:/\n *\n *$/.test(d)&&(a=!0));let f=null,x;this.options.gfm&&(f=/^\[[ xX]\] /.exec(c),f&&(x=f[0]!=="[ ] ",c=c.replace(/^\[[ xX]\] +/,""))),r.items.push({type:"list_item",raw:d,task:!!f,checked:x,loose:!1,text:c,tokens:[]}),r.raw+=d}r.items[r.items.length-1].raw=r.items[r.items.length-1].raw.trimEnd(),r.items[r.items.length-1].text=r.items[r.items.length-1].text.trimEnd(),r.raw=r.raw.trimEnd();for(let l=0;l<r.items.length;l++)if(this.lexer.state.top=!1,r.items[l].tokens=this.lexer.blockTokens(r.items[l].text,[]),!r.loose){let d=r.items[l].tokens.filter(u=>u.type==="space"),c=d.length>0&&d.some(u=>/\n.*\n/.test(u.raw));r.loose=c}if(r.loose)for(let l=0;l<r.items.length;l++)r.items[l].loose=!0;return r}}html(t){let e=this.rules.block.html.exec(t);if(e)return{type:"html",block:!0,raw:e[0],pre:e[1]==="pre"||e[1]==="script"||e[1]==="style",text:e[0]}}def(t){let e=this.rules.block.def.exec(t);if(e){let n=e[1].toLowerCase().replace(/\s+/g," "),o=e[2]?e[2].replace(/^<(.*)>$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",r=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:n,raw:e[0],href:o,title:r}}}table(t){let e=this.rules.block.table.exec(t);if(!e||!/[:|]/.test(e[2]))return;let n=QO(e[1]),o=e[2].replace(/^\||\| *$/g,"").split("|"),r=e[3]&&e[3].trim()?e[3].replace(/\n[ \t]*$/,"").split(`
`):[],s={type:"table",raw:e[0],header:[],align:[],rows:[]};if(n.length===o.length){for(let a of o)/^ *-+: *$/.test(a)?s.align.push("right"):/^ *:-+: *$/.test(a)?s.align.push("center"):/^ *:-+ *$/.test(a)?s.align.push("left"):s.align.push(null);for(let a=0;a<n.length;a++)s.header.push({text:n[a],tokens:this.lexer.inline(n[a]),header:!0,align:s.align[a]});for(let a of r)s.rows.push(QO(a,s.header.length).map((l,d)=>({text:l,tokens:this.lexer.inline(l),header:!1,align:s.align[d]})));return s}}lheading(t){let e=this.rules.block.lheading.exec(t);if(e)return{type:"heading",raw:e[0],depth:e[2].charAt(0)==="="?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(t){let e=this.rules.block.paragraph.exec(t);if(e){let n=e[1].charAt(e[1].length-1)===`
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:n,tokens:this.lexer.inline(n)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules.inline.escape.exec(t);if(e)return{type:"escape",raw:e[0],text:dr(e[1])}}tag(t){let e=this.rules.inline.tag.exec(t);if(e)return!this.lexer.state.inLink&&/^<a /i.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(t){let e=this.rules.inline.link.exec(t);if(e){let n=e[2].trim();if(!this.options.pedantic&&/^</.test(n)){if(!/>$/.test(n))return;let s=mf(n.slice(0,-1),"\\");if((n.length-s.length)%2===0)return}else{let s=hB(e[2],"()");if(s>-1){let l=(e[0].indexOf("!")===0?5:4)+e[1].length+s;e[2]=e[2].substring(0,s),e[0]=e[0].substring(0,l).trim(),e[3]=""}}let o=e[2],r="";if(this.options.pedantic){let s=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(o);s&&(o=s[1],r=s[3])}else r=e[3]?e[3].slice(1,-1):"";return o=o.trim(),/^</.test(o)&&(this.options.pedantic&&!/>$/.test(n)?o=o.slice(1):o=o.slice(1,-1)),JO(e,{href:o&&o.replace(this.rules.inline.anyPunctuation,"$1"),title:r&&r.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer)}}reflink(t,e){let n;if((n=this.rules.inline.reflink.exec(t))||(n=this.rules.inline.nolink.exec(t))){let o=(n[2]||n[1]).replace(/\s+/g," "),r=e[o.toLowerCase()];if(!r){let s=n[0].charAt(0);return{type:"text",raw:s,text:s}}return JO(n,r,n[0],this.lexer)}}emStrong(t,e,n=""){let o=this.rules.inline.emStrongLDelim.exec(t);if(!o||o[3]&&n.match(/[\p{L}\p{N}]/u))return;if(!(o[1]||o[2]||"")||!n||this.rules.inline.punctuation.exec(n)){let s=[...o[0]].length-1,a,l,d=s,c=0,u=o[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(u.lastIndex=0,e=e.slice(-1*t.length+s);(o=u.exec(e))!=null;){if(a=o[1]||o[2]||o[3]||o[4]||o[5]||o[6],!a)continue;if(l=[...a].length,o[3]||o[4]){d+=l;continue}else if((o[5]||o[6])&&s%3&&!((s+l)%3)){c+=l;continue}if(d-=l,d>0)continue;l=Math.min(l,l+d+c);let m=[...o[0]][0].length,g=t.slice(0,s+o.index+m+l);if(Math.min(s,l)%2){let f=g.slice(1,-1);return{type:"em",raw:g,text:f,tokens:this.lexer.inlineTokens(f)}}let v=g.slice(2,-2);return{type:"strong",raw:g,text:v,tokens:this.lexer.inlineTokens(v)}}}}codespan(t){let e=this.rules.inline.code.exec(t);if(e){let n=e[2].replace(/\n/g," "),o=/[^ ]/.test(n),r=/^ /.test(n)&&/ $/.test(n);return o&&r&&(n=n.substring(1,n.length-1)),n=dr(n,!0),{type:"codespan",raw:e[0],text:n}}}br(t){let e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}}del(t){let e=this.rules.inline.del.exec(t);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(t){let e=this.rules.inline.autolink.exec(t);if(e){let n,o;return e[2]==="@"?(n=dr(e[1]),o="mailto:"+n):(n=dr(e[1]),o=n),{type:"link",raw:e[0],text:n,href:o,tokens:[{type:"text",raw:n,text:n}]}}}url(t){let e;if(e=this.rules.inline.url.exec(t)){let n,o;if(e[2]==="@")n=dr(e[0]),o="mailto:"+n;else{let r;do r=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(r!==e[0]);n=dr(e[0]),e[1]==="www."?o="http://"+e[0]:o=e[0]}return{type:"link",raw:e[0],text:n,href:o,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(t){let e=this.rules.inline.text.exec(t);if(e){let n;return this.lexer.state.inRawBlock?n=e[0]:n=dr(e[0]),{type:"text",raw:e[0],text:n}}}},bB=/^(?: *(?:\n|$))+/,yB=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,IB=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,vf=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,xB=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,tL=/(?:[*+-]|\d{1,9}[.)])/,nL=Vt(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,tL).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),rk=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,CB=/^[^\n]+/,ik=/(?!\s*\])(?:\\.|[^\[\]\\])+/,SB=Vt(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",ik).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),TB=Vt(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,tL).getRegex(),Gb="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",sk=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,EB=Vt("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",sk).replace("tag",Gb).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),oL=Vt(rk).replace("hr",vf).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Gb).getRegex(),wB=Vt(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",oL).getRegex(),ak={blockquote:wB,code:yB,def:SB,fences:IB,heading:xB,hr:vf,html:EB,lheading:nL,list:TB,newline:bB,paragraph:oL,table:ff,text:CB},XO=Vt("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",vf).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Gb).getRegex(),kB={...ak,table:XO,paragraph:Vt(rk).replace("hr",vf).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",XO).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Gb).getRegex()},PB={...ak,html:Vt(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",sk).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:ff,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Vt(rk).replace("hr",vf).replace("heading",` *#{1,6} *[^
]`).replace("lheading",nL).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},rL=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,_B=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,iL=/^( {2,}|\\)\n(?!\s*$)/,DB=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,bf="\\p{P}\\p{S}",RB=Vt(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,bf).getRegex(),AB=/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,MB=Vt(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,bf).getRegex(),OB=Vt("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,bf).getRegex(),LB=Vt("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,bf).getRegex(),NB=Vt(/\\([punct])/,"gu").replace(/punct/g,bf).getRegex(),UB=Vt(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),FB=Vt(sk).replace("(?:-->|$)","-->").getRegex(),HB=Vt("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",FB).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Kb=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,VB=Vt(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",Kb).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),sL=Vt(/^!?\[(label)\]\[(ref)\]/).replace("label",Kb).replace("ref",ik).getRegex(),aL=Vt(/^!?\[(ref)\](?:\[\])?/).replace("ref",ik).getRegex(),BB=Vt("reflink|nolink(?!\\()","g").replace("reflink",sL).replace("nolink",aL).getRegex(),lk={_backpedal:ff,anyPunctuation:NB,autolink:UB,blockSkip:AB,br:iL,code:_B,del:ff,emStrongLDelim:MB,emStrongRDelimAst:OB,emStrongRDelimUnd:LB,escape:rL,link:VB,nolink:aL,punctuation:RB,reflink:sL,reflinkSearch:BB,tag:HB,text:DB,url:ff},WB={...lk,link:Vt(/^!?\[(label)\]\((.*?)\)/).replace("label",Kb).getRegex(),reflink:Vt(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Kb).getRegex()},tk={...lk,escape:Vt(rL).replace("])","~|])").getRegex(),url:Vt(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},$B={...tk,br:Vt(iL).replace("{2,}","*").getRegex(),text:Vt(tk.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},qb={normal:ak,gfm:kB,pedantic:PB},gf={normal:lk,gfm:tk,breaks:$B,pedantic:WB},Ss=class i{tokens;options;state;tokenizer;inlineQueue;constructor(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||Cd,this.options.tokenizer=this.options.tokenizer||new gu,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let e={block:qb.normal,inline:gf.normal};this.options.pedantic?(e.block=qb.pedantic,e.inline=gf.pedantic):this.options.gfm&&(e.block=qb.gfm,this.options.breaks?e.inline=gf.breaks:e.inline=gf.gfm),this.tokenizer.rules=e}static get rules(){return{block:qb,inline:gf}}static lex(t,e){return new i(e).lex(t)}static lexInline(t,e){return new i(e).inlineTokens(t)}lex(t){t=t.replace(/\r\n|\r/g,`
`),this.blockTokens(t,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let n=this.inlineQueue[e];this.inlineTokens(n.src,n.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(t,e=[],n=!1){this.options.pedantic?t=t.replace(/\t/g,"    ").replace(/^ +$/gm,""):t=t.replace(/^( *)(\t+)/gm,(a,l,d)=>l+"    ".repeat(d.length));let o,r,s;for(;t;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(a=>(o=a.call({lexer:this},t,e))?(t=t.substring(o.raw.length),e.push(o),!0):!1))){if(o=this.tokenizer.space(t)){t=t.substring(o.raw.length),o.raw.length===1&&e.length>0?e[e.length-1].raw+=`
`:e.push(o);continue}if(o=this.tokenizer.code(t)){t=t.substring(o.raw.length),r=e[e.length-1],r&&(r.type==="paragraph"||r.type==="text")?(r.raw+=`
`+o.raw,r.text+=`
`+o.text,this.inlineQueue[this.inlineQueue.length-1].src=r.text):e.push(o);continue}if(o=this.tokenizer.fences(t)){t=t.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.heading(t)){t=t.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.hr(t)){t=t.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.blockquote(t)){t=t.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.list(t)){t=t.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.html(t)){t=t.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.def(t)){t=t.substring(o.raw.length),r=e[e.length-1],r&&(r.type==="paragraph"||r.type==="text")?(r.raw+=`
`+o.raw,r.text+=`
`+o.raw,this.inlineQueue[this.inlineQueue.length-1].src=r.text):this.tokens.links[o.tag]||(this.tokens.links[o.tag]={href:o.href,title:o.title});continue}if(o=this.tokenizer.table(t)){t=t.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.lheading(t)){t=t.substring(o.raw.length),e.push(o);continue}if(s=t,this.options.extensions&&this.options.extensions.startBlock){let a=1/0,l=t.slice(1),d;this.options.extensions.startBlock.forEach(c=>{d=c.call({lexer:this},l),typeof d=="number"&&d>=0&&(a=Math.min(a,d))}),a<1/0&&a>=0&&(s=t.substring(0,a+1))}if(this.state.top&&(o=this.tokenizer.paragraph(s))){r=e[e.length-1],n&&r?.type==="paragraph"?(r.raw+=`
`+o.raw,r.text+=`
`+o.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):e.push(o),n=s.length!==t.length,t=t.substring(o.raw.length);continue}if(o=this.tokenizer.text(t)){t=t.substring(o.raw.length),r=e[e.length-1],r&&r.type==="text"?(r.raw+=`
`+o.raw,r.text+=`
`+o.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):e.push(o);continue}if(t){let a="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(a);break}else throw new Error(a)}}return this.state.top=!0,e}inline(t,e=[]){return this.inlineQueue.push({src:t,tokens:e}),e}inlineTokens(t,e=[]){let n,o,r,s=t,a,l,d;if(this.tokens.links){let c=Object.keys(this.tokens.links);if(c.length>0)for(;(a=this.tokenizer.rules.inline.reflinkSearch.exec(s))!=null;)c.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(a=this.tokenizer.rules.inline.blockSkip.exec(s))!=null;)s=s.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(a=this.tokenizer.rules.inline.anyPunctuation.exec(s))!=null;)s=s.slice(0,a.index)+"++"+s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;t;)if(l||(d=""),l=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(c=>(n=c.call({lexer:this},t,e))?(t=t.substring(n.raw.length),e.push(n),!0):!1))){if(n=this.tokenizer.escape(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.tag(t)){t=t.substring(n.raw.length),o=e[e.length-1],o&&n.type==="text"&&o.type==="text"?(o.raw+=n.raw,o.text+=n.text):e.push(n);continue}if(n=this.tokenizer.link(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(n.raw.length),o=e[e.length-1],o&&n.type==="text"&&o.type==="text"?(o.raw+=n.raw,o.text+=n.text):e.push(n);continue}if(n=this.tokenizer.emStrong(t,s,d)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.codespan(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.br(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.del(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.autolink(t)){t=t.substring(n.raw.length),e.push(n);continue}if(!this.state.inLink&&(n=this.tokenizer.url(t))){t=t.substring(n.raw.length),e.push(n);continue}if(r=t,this.options.extensions&&this.options.extensions.startInline){let c=1/0,u=t.slice(1),m;this.options.extensions.startInline.forEach(g=>{m=g.call({lexer:this},u),typeof m=="number"&&m>=0&&(c=Math.min(c,m))}),c<1/0&&c>=0&&(r=t.substring(0,c+1))}if(n=this.tokenizer.inlineText(r)){t=t.substring(n.raw.length),n.raw.slice(-1)!=="_"&&(d=n.raw.slice(-1)),l=!0,o=e[e.length-1],o&&o.type==="text"?(o.raw+=n.raw,o.text+=n.text):e.push(n);continue}if(t){let c="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(c);break}else throw new Error(c)}}return e}},fu=class{options;parser;constructor(t){this.options=t||Cd}space(t){return""}code({text:t,lang:e,escaped:n}){let o=(e||"").match(/^\S*/)?.[0],r=t.replace(/\n$/,"")+`
`;return o?'<pre><code class="language-'+dr(o)+'">'+(n?r:dr(r,!0))+`</code></pre>
`:"<pre><code>"+(n?r:dr(r,!0))+`</code></pre>
`}blockquote({tokens:t}){return`<blockquote>
${this.parser.parse(t)}</blockquote>
`}html({text:t}){return t}heading({tokens:t,depth:e}){return`<h${e}>${this.parser.parseInline(t)}</h${e}>
`}hr(t){return`<hr>
`}list(t){let e=t.ordered,n=t.start,o="";for(let a=0;a<t.items.length;a++){let l=t.items[a];o+=this.listitem(l)}let r=e?"ol":"ul",s=e&&n!==1?' start="'+n+'"':"";return"<"+r+s+`>
`+o+"</"+r+`>
`}listitem(t){let e="";if(t.task){let n=this.checkbox({checked:!!t.checked});t.loose?t.tokens.length>0&&t.tokens[0].type==="paragraph"?(t.tokens[0].text=n+" "+t.tokens[0].text,t.tokens[0].tokens&&t.tokens[0].tokens.length>0&&t.tokens[0].tokens[0].type==="text"&&(t.tokens[0].tokens[0].text=n+" "+t.tokens[0].tokens[0].text)):t.tokens.unshift({type:"text",raw:n+" ",text:n+" "}):e+=n+" "}return e+=this.parser.parse(t.tokens,!!t.loose),`<li>${e}</li>
`}checkbox({checked:t}){return"<input "+(t?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:t}){return`<p>${this.parser.parseInline(t)}</p>
`}table(t){let e="",n="";for(let r=0;r<t.header.length;r++)n+=this.tablecell(t.header[r]);e+=this.tablerow({text:n});let o="";for(let r=0;r<t.rows.length;r++){let s=t.rows[r];n="";for(let a=0;a<s.length;a++)n+=this.tablecell(s[a]);o+=this.tablerow({text:n})}return o&&(o=`<tbody>${o}</tbody>`),`<table>
<thead>
`+e+`</thead>
`+o+`</table>
`}tablerow({text:t}){return`<tr>
${t}</tr>
`}tablecell(t){let e=this.parser.parseInline(t.tokens),n=t.header?"th":"td";return(t.align?`<${n} align="${t.align}">`:`<${n}>`)+e+`</${n}>
`}strong({tokens:t}){return`<strong>${this.parser.parseInline(t)}</strong>`}em({tokens:t}){return`<em>${this.parser.parseInline(t)}</em>`}codespan({text:t}){return`<code>${t}</code>`}br(t){return"<br>"}del({tokens:t}){return`<del>${this.parser.parseInline(t)}</del>`}link({href:t,title:e,tokens:n}){let o=this.parser.parseInline(n),r=jO(t);if(r===null)return o;t=r;let s='<a href="'+t+'"';return e&&(s+=' title="'+e+'"'),s+=">"+o+"</a>",s}image({href:t,title:e,text:n}){let o=jO(t);if(o===null)return n;t=o;let r=`<img src="${t}" alt="${n}"`;return e&&(r+=` title="${e}"`),r+=">",r}text(t){return"tokens"in t&&t.tokens?this.parser.parseInline(t.tokens):t.text}},hf=class{strong({text:t}){return t}em({text:t}){return t}codespan({text:t}){return t}del({text:t}){return t}html({text:t}){return t}text({text:t}){return t}link({text:t}){return""+t}image({text:t}){return""+t}br(){return""}},Ts=class i{options;renderer;textRenderer;constructor(t){this.options=t||Cd,this.options.renderer=this.options.renderer||new fu,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new hf}static parse(t,e){return new i(e).parse(t)}static parseInline(t,e){return new i(e).parseInline(t)}parse(t,e=!0){let n="";for(let o=0;o<t.length;o++){let r=t[o];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[r.type]){let a=r,l=this.options.extensions.renderers[a.type].call({parser:this},a);if(l!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(a.type)){n+=l||"";continue}}let s=r;switch(s.type){case"space":{n+=this.renderer.space(s);continue}case"hr":{n+=this.renderer.hr(s);continue}case"heading":{n+=this.renderer.heading(s);continue}case"code":{n+=this.renderer.code(s);continue}case"table":{n+=this.renderer.table(s);continue}case"blockquote":{n+=this.renderer.blockquote(s);continue}case"list":{n+=this.renderer.list(s);continue}case"html":{n+=this.renderer.html(s);continue}case"paragraph":{n+=this.renderer.paragraph(s);continue}case"text":{let a=s,l=this.renderer.text(a);for(;o+1<t.length&&t[o+1].type==="text";)a=t[++o],l+=`
`+this.renderer.text(a);e?n+=this.renderer.paragraph({type:"paragraph",raw:l,text:l,tokens:[{type:"text",raw:l,text:l}]}):n+=l;continue}default:{let a='Token with "'+s.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw new Error(a)}}}return n}parseInline(t,e){e=e||this.renderer;let n="";for(let o=0;o<t.length;o++){let r=t[o];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[r.type]){let a=this.options.extensions.renderers[r.type].call({parser:this},r);if(a!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(r.type)){n+=a||"";continue}}let s=r;switch(s.type){case"escape":{n+=e.text(s);break}case"html":{n+=e.html(s);break}case"link":{n+=e.link(s);break}case"image":{n+=e.image(s);break}case"strong":{n+=e.strong(s);break}case"em":{n+=e.em(s);break}case"codespan":{n+=e.codespan(s);break}case"br":{n+=e.br(s);break}case"del":{n+=e.del(s);break}case"text":{n+=e.text(s);break}default:{let a='Token with "'+s.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw new Error(a)}}}return n}},mu=class{options;constructor(t){this.options=t||Cd}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(t){return t}postprocess(t){return t}processAllTokens(t){return t}},nk=class{defaults=ok();options=this.setOptions;parse=this.parseMarkdown(Ss.lex,Ts.parse);parseInline=this.parseMarkdown(Ss.lexInline,Ts.parseInline);Parser=Ts;Renderer=fu;TextRenderer=hf;Lexer=Ss;Tokenizer=gu;Hooks=mu;constructor(...t){this.use(...t)}walkTokens(t,e){let n=[];for(let o of t)switch(n=n.concat(e.call(this,o)),o.type){case"table":{let r=o;for(let s of r.header)n=n.concat(this.walkTokens(s.tokens,e));for(let s of r.rows)for(let a of s)n=n.concat(this.walkTokens(a.tokens,e));break}case"list":{let r=o;n=n.concat(this.walkTokens(r.items,e));break}default:{let r=o;this.defaults.extensions?.childTokens?.[r.type]?this.defaults.extensions.childTokens[r.type].forEach(s=>{let a=r[s].flat(1/0);n=n.concat(this.walkTokens(a,e))}):r.tokens&&(n=n.concat(this.walkTokens(r.tokens,e)))}}return n}use(...t){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(n=>{let o={...n};if(o.async=this.defaults.async||o.async||!1,n.extensions&&(n.extensions.forEach(r=>{if(!r.name)throw new Error("extension name required");if("renderer"in r){let s=e.renderers[r.name];s?e.renderers[r.name]=function(...a){let l=r.renderer.apply(this,a);return l===!1&&(l=s.apply(this,a)),l}:e.renderers[r.name]=r.renderer}if("tokenizer"in r){if(!r.level||r.level!=="block"&&r.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=e[r.level];s?s.unshift(r.tokenizer):e[r.level]=[r.tokenizer],r.start&&(r.level==="block"?e.startBlock?e.startBlock.push(r.start):e.startBlock=[r.start]:r.level==="inline"&&(e.startInline?e.startInline.push(r.start):e.startInline=[r.start]))}"childTokens"in r&&r.childTokens&&(e.childTokens[r.name]=r.childTokens)}),o.extensions=e),n.renderer){let r=this.defaults.renderer||new fu(this.defaults);for(let s in n.renderer){if(!(s in r))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let a=s,l=n.renderer[a],d=r[a];r[a]=(...c)=>{let u=l.apply(r,c);return u===!1&&(u=d.apply(r,c)),u||""}}o.renderer=r}if(n.tokenizer){let r=this.defaults.tokenizer||new gu(this.defaults);for(let s in n.tokenizer){if(!(s in r))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let a=s,l=n.tokenizer[a],d=r[a];r[a]=(...c)=>{let u=l.apply(r,c);return u===!1&&(u=d.apply(r,c)),u}}o.tokenizer=r}if(n.hooks){let r=this.defaults.hooks||new mu;for(let s in n.hooks){if(!(s in r))throw new Error(`hook '${s}' does not exist`);if(s==="options")continue;let a=s,l=n.hooks[a],d=r[a];mu.passThroughHooks.has(s)?r[a]=c=>{if(this.defaults.async)return Promise.resolve(l.call(r,c)).then(m=>d.call(r,m));let u=l.call(r,c);return d.call(r,u)}:r[a]=(...c)=>{let u=l.apply(r,c);return u===!1&&(u=d.apply(r,c)),u}}o.hooks=r}if(n.walkTokens){let r=this.defaults.walkTokens,s=n.walkTokens;o.walkTokens=function(a){let l=[];return l.push(s.call(this,a)),r&&(l=l.concat(r.call(this,a))),l}}this.defaults={...this.defaults,...o}}),this}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,e){return Ss.lex(t,e??this.defaults)}parser(t,e){return Ts.parse(t,e??this.defaults)}parseMarkdown(t,e){return(o,r)=>{let s={...r},a={...this.defaults,...s},l=this.onError(!!a.silent,!!a.async);if(this.defaults.async===!0&&s.async===!1)return l(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof o>"u"||o===null)return l(new Error("marked(): input parameter is undefined or null"));if(typeof o!="string")return l(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(o)+", string expected"));if(a.hooks&&(a.hooks.options=a),a.async)return Promise.resolve(a.hooks?a.hooks.preprocess(o):o).then(d=>t(d,a)).then(d=>a.hooks?a.hooks.processAllTokens(d):d).then(d=>a.walkTokens?Promise.all(this.walkTokens(d,a.walkTokens)).then(()=>d):d).then(d=>e(d,a)).then(d=>a.hooks?a.hooks.postprocess(d):d).catch(l);try{a.hooks&&(o=a.hooks.preprocess(o));let d=t(o,a);a.hooks&&(d=a.hooks.processAllTokens(d)),a.walkTokens&&this.walkTokens(d,a.walkTokens);let c=e(d,a);return a.hooks&&(c=a.hooks.postprocess(c)),c}catch(d){return l(d)}}}onError(t,e){return n=>{if(n.message+=`
Please report this to https://github.com/markedjs/marked.`,t){let o="<p>An error occurred:</p><pre>"+dr(n.message+"",!0)+"</pre>";return e?Promise.resolve(o):o}if(e)return Promise.reject(n);throw n}}},xd=new nk;function Ot(i,t){return xd.parse(i,t)}Ot.options=Ot.setOptions=function(i){return xd.setOptions(i),Ot.defaults=xd.defaults,YO(Ot.defaults),Ot};Ot.getDefaults=ok;Ot.defaults=Cd;Ot.use=function(...i){return xd.use(...i),Ot.defaults=xd.defaults,YO(Ot.defaults),Ot};Ot.walkTokens=function(i,t){return xd.walkTokens(i,t)};Ot.parseInline=xd.parseInline;Ot.Parser=Ts;Ot.parser=Ts.parse;Ot.Renderer=fu;Ot.TextRenderer=hf;Ot.Lexer=Ss;Ot.lexer=Ss.lex;Ot.Tokenizer=gu;Ot.Hooks=mu;Ot.parse=Ot;var _j=Ot.options,Dj=Ot.setOptions,Rj=Ot.use,Aj=Ot.walkTokens,Mj=Ot.parseInline;var Oj=Ts.parse,Lj=Ss.lex;function lL(i){return JSON.stringify(i,qB)}function jb(i){let t=JSON.parse(i);return t=_t(t),t}function qB(i,t){return t instanceof RegExp?{$mid:2,source:t.source,flags:t.flags}:t}function _t(i,t=0){if(!i||t>200)return i;if(typeof i=="object"){switch(i.$mid){case 1:return y.revive(i);case 2:return new RegExp(i.source,i.flags);case 17:return new Date(i.source)}if(i instanceof te||i instanceof Uint8Array)return i;if(Array.isArray(i))for(let e=0;e<i.length;++e)i[e]=_t(i[e],t+1);else for(let e in i)Object.hasOwnProperty.call(i,e)&&(i[e]=_t(i[e],t+1))}return i}var Wo=Object.freeze({text:"text/plain",binary:"application/octet-stream",unknown:"application/unknown",markdown:"text/markdown",latex:"text/latex",uriList:"text/uri-list",html:"text/html"});var dL={".aac":"audio/x-aac",".avi":"video/x-msvideo",".bmp":"image/bmp",".flv":"video/x-flv",".gif":"image/gif",".ico":"image/x-icon",".jpe":["image/jpg","image/jpeg"],".jpeg":["image/jpg","image/jpeg"],".jpg":["image/jpg","image/jpeg"],".m1v":"video/mpeg",".m2a":"audio/mpeg",".m2v":"video/mpeg",".m3a":"audio/mpeg",".mid":"audio/midi",".midi":"audio/midi",".mk3d":"video/x-matroska",".mks":"video/x-matroska",".mkv":"video/x-matroska",".mov":"video/quicktime",".movie":"video/x-sgi-movie",".mp2":"audio/mpeg",".mp2a":"audio/mpeg",".mp3":"audio/mpeg",".mp4":"video/mp4",".mp4a":"audio/mp4",".mp4v":"video/mp4",".mpe":"video/mpeg",".mpeg":"video/mpeg",".mpg":"video/mpeg",".mpg4":"video/mp4",".mpga":"audio/mpeg",".oga":"audio/ogg",".ogg":"audio/ogg",".opus":"audio/opus",".ogv":"video/ogg",".png":"image/png",".psd":"image/vnd.adobe.photoshop",".qt":"video/quicktime",".spx":"audio/ogg",".svg":"image/svg+xml",".tga":"image/x-tga",".tif":"image/tiff",".tiff":"image/tiff",".wav":"audio/x-wav",".webm":"video/webm",".webp":"image/webp",".wma":"audio/x-ms-wma",".wmv":"video/x-ms-wmv",".woff":"application/font-woff"};function dk(i){for(let t in dL){let e=dL[t];if(Array.isArray(e)?e.includes(i):e===i)return t}}var KB=/^(.+)\/(.+?)(;.+)?$/;function ck(i,t){let e=KB.exec(i);return e?`${e[1].toLowerCase()}/${e[2].toLowerCase()}${e[3]??""}`:t?void 0:i}function Qb(i){return["application/vnd.code.notebook.stdout","application/vnd.code.notebook.stderr"].includes(i)}var yo=Symbol("unset"),Jb=class{constructor(){this.root=new yf;this._size=0}get size(){return this._size}get nodes(){return this.root.children?.values()||yt.empty()}get entries(){return this.root.children?.entries()||yt.empty()}insert(t,e,n){this.opNode(t,o=>o._value=e,n)}mutate(t,e){this.opNode(t,n=>n._value=e(n._value===yo?void 0:n._value))}mutatePath(t,e){this.opNode(t,()=>{},n=>e(n))}delete(t){let e=this.getPathToKey(t);if(!e)return;let n=e.length-1,o=e[n].node._value;if(o!==yo){for(this._size--,e[n].node._value=yo;n>0;n--){let{node:r,part:s}=e[n];if(r.children?.size||r._value!==yo)break;e[n-1].node.children.delete(s)}return o}}*deleteRecursive(t){let e=this.getPathToKey(t);if(!e)return;let n=e[e.length-1].node;for(let o=e.length-1;o>0;o--){let r=e[o-1];if(r.node.children.delete(e[o].part),r.node.children.size>0||r.node._value!==yo)break}for(let o of cL(n))o._value!==yo&&(this._size--,yield o._value);n===this.root&&(this.root._value=yo,this.root.children=void 0)}find(t){let e=this.root;for(let n of t){let o=e.children?.get(n);if(!o)return;e=o}return e._value===yo?void 0:e._value}hasKeyOrParent(t){let e=this.root;for(let n of t){let o=e.children?.get(n);if(!o)return!1;if(o._value!==yo)return!0;e=o}return!1}hasKeyOrChildren(t){let e=this.root;for(let n of t){let o=e.children?.get(n);if(!o)return!1;e=o}return!0}hasKey(t){let e=this.root;for(let n of t){let o=e.children?.get(n);if(!o)return!1;e=o}return e._value!==yo}getPathToKey(t){let e=[{part:"",node:this.root}],n=0;for(let o of t){let r=e[n].node.children?.get(o);if(!r)return;e.push({part:o,node:r}),n++}return e}opNode(t,e,n){let o=this.root;for(let a of t){if(o.children)if(o.children.has(a))o=o.children.get(a);else{let l=new yf;o.children.set(a,l),o=l}else{let l=new yf;o.children=new Map([[a,l]]),o=l}n?.(o)}let r=o._value===yo?0:1;e(o);let s=o._value===yo?0:1;this._size+=s-r}*values(){for(let{_value:t}of cL(this.root))t!==yo&&(yield t)}};function*cL(i){let t=[i];for(;t.length>0;){let e=t.pop();if(yield e,e.children)for(let n of e.children.values())t.push(n)}}var yf=class{constructor(){this._value=yo}get value(){return this._value===yo?void 0:this._value}set value(t){this._value=t===void 0?yo:t}};var uL=new class{constructor(){this._zoomLevel=0;this._onDidChangeZoomLevel=new w;this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event}getZoomLevel(){return this._zoomLevel}setZoomLevel(i){i=Math.min(Math.max(-5,i),20),this._zoomLevel!==i&&(this._zoomLevel=i,this._onDidChangeZoomLevel.fire(this._zoomLevel))}};var GB=dn?1.5:1.35,uk=8,pk=class i{constructor(t){this._bareFontInfoBrand=void 0;this.pixelRatio=t.pixelRatio,this.fontFamily=String(t.fontFamily),this.fontWeight=String(t.fontWeight),this.fontSize=t.fontSize,this.fontFeatureSettings=t.fontFeatureSettings,this.fontVariationSettings=t.fontVariationSettings,this.lineHeight=t.lineHeight|0,this.letterSpacing=t.letterSpacing}static _create(t,e,n,o,r,s,a,l,d){s===0?s=GB*n:s<uk&&(s=s*n),s=Math.round(s),s<uk&&(s=uk);let c=1+(d?0:uL.getZoomLevel()*.1);return n*=c,s*=c,r===gk&&(e==="normal"||e==="bold"?r=mk:(r=`'wght' ${parseInt(e,10)}`,e="normal")),new i({pixelRatio:l,fontFamily:t,fontWeight:e,fontSize:n,fontFeatureSettings:o,fontVariationSettings:r,lineHeight:s,letterSpacing:a})}getId(){return`${this.pixelRatio}-${this.fontFamily}-${this.fontWeight}-${this.fontSize}-${this.fontFeatureSettings}-${this.fontVariationSettings}-${this.lineHeight}-${this.letterSpacing}`}getMassagedFontFamily(){let t=Qr.fontFamily,e=i._wrapInQuotes(this.fontFamily);return t&&this.fontFamily!==t?`${e}, ${t}`:e}static _wrapInQuotes(t){return/[,"']/.test(t)?t:/[+ ]/.test(t)?`"${t}"`:t}},jB=2,Xb=class extends pk{constructor(e,n){super(e);this._editorStylingBrand=void 0;this.version=jB;this.isTrusted=n,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}},mk="normal",gk="translate",QB="Consolas, 'Courier New', monospace",JB="Menlo, Monaco, 'Courier New', monospace",XB="'Droid Sans Mono', monospace",Qr={fontFamily:dn?JB:It?QB:XB,fontWeight:"normal",fontSize:dn?12:14,lineHeight:0,letterSpacing:0};var fk={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}};var hk="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";function YB(i=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(let e of hk)i.indexOf(e)>=0||(t+="\\"+e);return t+="\\s]+)",new RegExp(t,"g")}var ZB=YB();function vk(i){let t=ZB;if(i&&i instanceof RegExp)if(i.global)t=i;else{let e="g";i.ignoreCase&&(e+="i"),i.multiline&&(e+="m"),i.unicode&&(e+="u"),t=new RegExp(i.source,e)}return t.lastIndex=0,t}var pL=new zn;pL.unshift({maxLen:1e3,windowSize:15,timeBudget:150});function bk(i,t,e,n,o){if(t=vk(t),o||(o=yt.first(pL)),e.length>o.maxLen){let d=i-o.maxLen/2;return d<0?d=0:n+=d,e=e.substring(d,i+o.maxLen/2),bk(i,t,e,n,o)}let r=Date.now(),s=i-1-n,a=-1,l=null;for(let d=1;!(Date.now()-r>=o.timeBudget);d++){let c=s-o.windowSize*d;t.lastIndex=Math.max(0,c);let u=e5(t,e,s,a);if(!u&&l||(l=u,c<=0))break;a=c}if(l){let d={word:l[0],startColumn:n+1+l.index,endColumn:n+1+l.index+l[0].length};return t.lastIndex=0,d}return null}function e5(i,t,e,n){let o;for(;o=i.exec(t);){let r=o.index||0;if(r<=e&&i.lastIndex>=e)return o;if(n>0&&r>n)return null}return null}var dQ=A("accessibilityService");var cQ=new T("accessibilityModeEnabled",!1);var t5=8;var yk=class{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}},Tt=class{constructor(t,e,n,o){this.id=t,this.name=e,this.defaultValue=n,this.schema=o}applyUpdate(t,e){return Yb(t,e)}compute(t,e,n){return n}},hu=class{constructor(t,e){this.newValue=t;this.didChange=e}};function Yb(i,t){if(typeof i!="object"||typeof t!="object"||!i||!t)return new hu(t,i!==t);if(Array.isArray(i)||Array.isArray(t)){let n=Array.isArray(i)&&Array.isArray(t)&&Qt(i,t);return new hu(t,!n)}let e=!1;for(let n in t)if(t.hasOwnProperty(n)){let o=Yb(i[n],t[n]);o.didChange&&(i[n]=o.newValue,e=!0)}return new hu(i,e)}var Mi=class{constructor(t,e){this.schema=void 0;this.id=t,this.name="_never_",this.defaultValue=e}applyUpdate(t,e){return Yb(t,e)}validate(t){return this.defaultValue}},Na=class{constructor(t,e,n,o){this.id=t,this.name=e,this.defaultValue=n,this.schema=o}applyUpdate(t,e){return Yb(t,e)}compute(t,e,n){return n}};function ce(i,t){return typeof i>"u"?t:i==="false"?!1:!!i}var Ee=class extends Na{constructor(t,e,n,o=void 0){typeof o<"u"&&(o.type="boolean",o.default=n),super(t,e,n,o)}validate(t){return ce(t,this.defaultValue)}};function n5(i,t,e,n){if(typeof i=="string"&&(i=parseInt(i,10)),typeof i!="number"||isNaN(i))return t;let o=i;return o=Math.max(e,o),o=Math.min(n,o),o|0}var Ze=class i extends Na{static clampedInt(t,e,n,o){return n5(t,e,n,o)}constructor(t,e,n,o,r,s=void 0){typeof s<"u"&&(s.type="integer",s.default=n,s.minimum=o,s.maximum=r),super(t,e,n,s),this.minimum=o,this.maximum=r}validate(t){return i.clampedInt(t,this.defaultValue,this.minimum,this.maximum)}};var $o=class i extends Na{static clamp(t,e,n){return t<e?e:t>n?n:t}static float(t,e){return typeof t=="string"&&(t=parseFloat(t)),typeof t!="number"||isNaN(t)?e:t}constructor(t,e,n,o,r,s,a){typeof r<"u"&&(r.type="number",r.default=n,r.minimum=s,r.maximum=a),super(t,e,n,r),this.validationFn=o,this.minimum=s,this.maximum=a}validate(t){return this.validationFn(i.float(t,this.defaultValue))}},Xn=class i extends Na{static string(t,e){return typeof t!="string"?e:t}constructor(t,e,n,o=void 0){typeof o<"u"&&(o.type="string",o.default=n),super(t,e,n,o)}validate(t){return i.string(t,this.defaultValue)}};function St(i,t,e,n){return typeof i!="string"?t:n&&i in n?n[i]:e.indexOf(i)===-1?t:i}var Ct=class extends Na{constructor(t,e,n,o,r=void 0){typeof r<"u"&&(r.type="string",r.enum=o.slice(0),r.default=n),super(t,e,n,r),this._allowedValues=o}validate(t){return St(t,this.defaultValue,this._allowedValues)}},Td=class extends Tt{constructor(t,e,n,o,r,s,a=void 0){typeof a<"u"&&(a.type="string",a.enum=r,a.default=o),super(t,e,n,a),this._allowedValues=r,this._convert=s}validate(t){return typeof t!="string"?this.defaultValue:this._allowedValues.indexOf(t)===-1?this.defaultValue:this._convert(t)}};function o5(i){switch(i){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}var Ik=class extends Tt{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[p(329,null),p(331,null),p(330,null)],default:"auto",tags:["accessibility"],description:p(328,null)})}validate(t){switch(t){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(t,e,n){return n===0?t.accessibilitySupport:n}},xk=class extends Tt{constructor(){let t={insertSpace:!0,ignoreEmptyLines:!0};super(29,"comments",t,{"editor.comments.insertSpace":{type:"boolean",default:t.insertSpace,description:p(359,null)},"editor.comments.ignoreEmptyLines":{type:"boolean",default:t.ignoreEmptyLines,description:p(358,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{insertSpace:ce(e.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:ce(e.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}};function r5(i){switch(i){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}var dP=(s=>(s[s.Line=1]="Line",s[s.Block=2]="Block",s[s.Underline=3]="Underline",s[s.LineThin=4]="LineThin",s[s.BlockOutline=5]="BlockOutline",s[s.UnderlineThin=6]="UnderlineThin",s))(dP||{});function mL(i){switch(i){case"line":return 1;case"block":return 2;case"underline":return 3;case"line-thin":return 4;case"block-outline":return 5;case"underline-thin":return 6}}var Ck=class extends Mi{constructor(){super(162,"")}compute(t,e,n){let o=["monaco-editor"];return e.get(48)&&o.push(e.get(48)),t.extraEditorClassName&&o.push(t.extraEditorClassName),e.get(82)==="default"?o.push("mouse-default"):e.get(82)==="copy"&&o.push("mouse-copy"),e.get(127)&&o.push("showUnused"),e.get(157)&&o.push("showDeprecated"),o.join(" ")}},Sk=class extends Ee{constructor(){super(45,"emptySelectionClipboard",!0,{description:p(482,null)})}compute(t,e,n){return n&&t.emptySelectionClipboard}},Tk=class extends Tt{constructor(){let t={cursorMoveOnType:!0,findOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0,closeOnResult:!1,history:"workspace",replaceHistory:"workspace"};super(50,"find",t,{"editor.find.cursorMoveOnType":{type:"boolean",default:t.cursorMoveOnType,description:p(495,null)},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:t.seedSearchStringFromSelection,enumDescriptions:[p(418,null),p(417,null),p(419,null)],description:p(501,null)},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:t.autoFindInSelection,enumDescriptions:[p(412,null),p(410,null),p(411,null)],description:p(493,null)},"editor.find.globalFindClipboard":{type:"boolean",default:t.globalFindClipboard,description:p(497,null),included:dn},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:t.addExtraSpaceOnTop,description:p(492,null)},"editor.find.loop":{type:"boolean",default:t.loop,description:p(499,null)},"editor.find.closeOnResult":{type:"boolean",default:t.closeOnResult,description:p(494,null)},"editor.find.history":{type:"string",enum:["never","workspace"],default:"workspace",enumDescriptions:[p(413,null),p(414,null)],description:p(498,null)},"editor.find.replaceHistory":{type:"string",enum:["never","workspace"],default:"workspace",enumDescriptions:[p(415,null),p(416,null)],description:p(500,null)},"editor.find.findOnType":{type:"boolean",default:t.findOnType,description:p(496,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{cursorMoveOnType:ce(e.cursorMoveOnType,this.defaultValue.cursorMoveOnType),findOnType:ce(e.findOnType,this.defaultValue.findOnType),seedSearchStringFromSelection:typeof e.seedSearchStringFromSelection=="boolean"?e.seedSearchStringFromSelection?"always":"never":St(e.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:typeof e.autoFindInSelection=="boolean"?e.autoFindInSelection?"always":"never":St(e.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:ce(e.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:ce(e.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:ce(e.loop,this.defaultValue.loop),closeOnResult:ce(e.closeOnResult,this.defaultValue.closeOnResult),history:St(e.history,this.defaultValue.history,["never","workspace"]),replaceHistory:St(e.replaceHistory,this.defaultValue.replaceHistory,["never","workspace"])}}},Ek=class i extends Tt{static{this.OFF='"liga" off, "calt" off'}static{this.ON='"liga" on, "calt" on'}constructor(){super(60,"fontLigatures",i.OFF,{anyOf:[{type:"boolean",description:p(511,null)},{type:"string",description:p(510,null)}],description:p(512,null),default:!1})}validate(t){return typeof t>"u"?this.defaultValue:typeof t=="string"?t==="false"||t.length===0?i.OFF:t==="true"?i.ON:t:t?i.ON:i.OFF}},wk=class i extends Tt{static{this.OFF=mk}static{this.TRANSLATE=gk}constructor(){super(63,"fontVariations",i.OFF,{anyOf:[{type:"boolean",description:p(514,null)},{type:"string",description:p(515,null)}],description:p(516,null),default:!1})}validate(t){return typeof t>"u"?this.defaultValue:typeof t=="string"?t==="false"?i.OFF:t==="true"?i.TRANSLATE:t:t?i.TRANSLATE:i.OFF}compute(t,e,n){return t.fontInfo.fontVariationSettings}},kk=class extends Mi{constructor(){super(59,new Xb({pixelRatio:0,fontFamily:"",fontWeight:"",fontSize:0,fontFeatureSettings:"",fontVariationSettings:"",lineHeight:0,letterSpacing:0,isMonospace:!1,typicalHalfwidthCharacterWidth:0,typicalFullwidthCharacterWidth:0,canUseHalfwidthRightwardsArrow:!1,spaceWidth:0,middotWidth:0,wsmiddotWidth:0,maxDigitWidth:0},!1))}compute(t,e,n){return t.fontInfo}},Pk=class extends Mi{constructor(){super(161,1)}compute(t,e,n){return t.inputMode==="overtype"?e.get(92):e.get(34)}},_k=class extends Mi{constructor(){super(170,!1)}compute(t,e){return t.editContextSupported&&e.get(44)}},Dk=class extends Mi{constructor(){super(172,!1)}compute(t,e){return t.accessibilitySupport===2?e.get(7):e.get(6)}},Rk=class extends Na{constructor(){super(61,"fontSize",Qr.fontSize,{type:"number",minimum:6,maximum:100,default:Qr.fontSize,description:p(513,null)})}validate(t){let e=$o.float(t,this.defaultValue);return e===0?Qr.fontSize:$o.clamp(e,6,100)}compute(t,e,n){return t.fontInfo.fontSize}},Ak=class i extends Tt{static{this.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"]}static{this.MINIMUM_VALUE=1}static{this.MAXIMUM_VALUE=1e3}constructor(){super(62,"fontWeight",Qr.fontWeight,{anyOf:[{type:"number",minimum:i.MINIMUM_VALUE,maximum:i.MAXIMUM_VALUE,errorMessage:p(518,null)},{type:"string",pattern:"^(normal|bold|1000|[1-9][0-9]{0,2})$"},{enum:i.SUGGESTION_VALUES}],default:Qr.fontWeight,description:p(517,null)})}validate(t){return t==="normal"||t==="bold"?t:String(Ze.clampedInt(t,Qr.fontWeight,i.MINIMUM_VALUE,i.MAXIMUM_VALUE))}},Mk=class extends Tt{constructor(){let t={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",multipleTests:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:"",alternativeTestsCommand:""},e={type:"string",enum:["peek","gotoAndPeek","goto"],default:t.multiple,enumDescriptions:[p(423,null),p(422,null),p(421,null)]},n=["","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(67,"gotoLocation",t,{"editor.gotoLocation.multiple":{deprecationMessage:p(420,null)},"editor.gotoLocation.multipleDefinitions":{description:p(406,null),...e},"editor.gotoLocation.multipleTypeDefinitions":{description:p(409,null),...e},"editor.gotoLocation.multipleDeclarations":{description:p(405,null),...e},"editor.gotoLocation.multipleImplementations":{description:p(407,null),...e},"editor.gotoLocation.multipleReferences":{description:p(408,null),...e},"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:t.alternativeDefinitionCommand,enum:n,description:p(336,null)},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:t.alternativeTypeDefinitionCommand,enum:n,description:p(339,null)},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:t.alternativeDeclarationCommand,enum:n,description:p(335,null)},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:t.alternativeImplementationCommand,enum:n,description:p(337,null)},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:t.alternativeReferenceCommand,enum:n,description:p(338,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{multiple:St(e.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:St(e.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:St(e.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:St(e.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:St(e.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:St(e.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),multipleTests:St(e.multipleTests,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:Xn.string(e.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:Xn.string(e.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:Xn.string(e.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:Xn.string(e.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:Xn.string(e.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand),alternativeTestsCommand:Xn.string(e.alternativeTestsCommand,this.defaultValue.alternativeTestsCommand)}}},Ok=class extends Tt{constructor(){let t={enabled:"on",delay:300,hidingDelay:300,sticky:!0,above:!0,showLongLineWarning:!0};super(69,"hover",t,{"editor.hover.enabled":{type:"string",enum:["on","off","onKeyboardModifier"],default:t.enabled,markdownEnumDescriptions:[p(527,null),p(526,null),p(528,null,dn?"Command":"Control")],description:p(525,null),keywords:["hint","info","tooltip"]},"editor.hover.delay":{type:"number",default:t.delay,minimum:0,maximum:1e4,description:p(524,null)},"editor.hover.sticky":{type:"boolean",default:t.sticky,description:p(531,null)},"editor.hover.hidingDelay":{type:"integer",minimum:0,default:t.hidingDelay,markdownDescription:p(529,null)},"editor.hover.above":{type:"boolean",default:t.above,description:p(523,null)},"editor.hover.showLongLineWarning":{type:"boolean",default:t.showLongLineWarning,description:p(530,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{enabled:St(e.enabled,this.defaultValue.enabled,["on","off","onKeyboardModifier"]),delay:Ze.clampedInt(e.delay,this.defaultValue.delay,0,1e4),sticky:ce(e.sticky,this.defaultValue.sticky),hidingDelay:Ze.clampedInt(e.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:ce(e.above,this.defaultValue.above),showLongLineWarning:ce(e.showLongLineWarning,this.defaultValue.showLongLineWarning)}}};var Lk=class i extends Mi{constructor(){super(165,{width:0,height:0,glyphMarginLeft:0,glyphMarginWidth:0,glyphMarginDecorationLaneCount:0,lineNumbersLeft:0,lineNumbersWidth:0,decorationsLeft:0,decorationsWidth:0,contentLeft:0,contentWidth:0,minimap:{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:0,minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:0},viewportColumn:0,isWordWrapMinified:!1,isViewportWrapping:!1,wrappingColumn:-1,verticalScrollbarWidth:0,horizontalScrollbarHeight:0,overviewRuler:{top:0,width:0,height:0,right:0}})}compute(t,e,n){return i.computeLayout(e,{memory:t.memory,outerWidth:t.outerWidth,outerHeight:t.outerHeight,isDominatedByLongLines:t.isDominatedByLongLines,lineHeight:t.fontInfo.lineHeight,viewLineCount:t.viewLineCount,lineNumbersDigitCount:t.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:t.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:t.fontInfo.maxDigitWidth,pixelRatio:t.pixelRatio,glyphMarginDecorationLaneCount:t.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(t){let e=t.height/t.lineHeight,n=Math.floor(t.paddingTop/t.lineHeight),o=Math.floor(t.paddingBottom/t.lineHeight);t.scrollBeyondLastLine&&(o=Math.max(o,e-1));let r=(n+t.viewLineCount+o)/(t.pixelRatio*t.height),s=Math.floor(t.viewLineCount/r);return{typicalViewportLineCount:e,extraLinesBeforeFirstLine:n,extraLinesBeyondLastLine:o,desiredRatio:r,minimapLineCount:s}}static _computeMinimapLayout(t,e){let n=t.outerWidth,o=t.outerHeight,r=t.pixelRatio;if(!t.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(r*o),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:o};let s=e.stableMinimapLayoutInput,a=s&&t.outerHeight===s.outerHeight&&t.lineHeight===s.lineHeight&&t.typicalHalfwidthCharacterWidth===s.typicalHalfwidthCharacterWidth&&t.pixelRatio===s.pixelRatio&&t.scrollBeyondLastLine===s.scrollBeyondLastLine&&t.paddingTop===s.paddingTop&&t.paddingBottom===s.paddingBottom&&t.minimap.enabled===s.minimap.enabled&&t.minimap.side===s.minimap.side&&t.minimap.size===s.minimap.size&&t.minimap.showSlider===s.minimap.showSlider&&t.minimap.renderCharacters===s.minimap.renderCharacters&&t.minimap.maxColumn===s.minimap.maxColumn&&t.minimap.scale===s.minimap.scale&&t.verticalScrollbarWidth===s.verticalScrollbarWidth&&t.isViewportWrapping===s.isViewportWrapping,l=t.lineHeight,d=t.typicalHalfwidthCharacterWidth,c=t.scrollBeyondLastLine,u=t.minimap.renderCharacters,m=r>=2?Math.round(t.minimap.scale*2):t.minimap.scale,g=t.minimap.maxColumn,v=t.minimap.size,f=t.minimap.side,x=t.verticalScrollbarWidth,C=t.viewLineCount,E=t.remainingWidth,k=t.isViewportWrapping,O=u?2:3,N=Math.floor(r*o),H=N/r,q=!1,Q=!1,z=O*m,$=m/r,oe=1;if(v==="fill"||v==="fit"){let{typicalViewportLineCount:Z,extraLinesBeforeFirstLine:se,extraLinesBeyondLastLine:ne,desiredRatio:ue,minimapLineCount:Ke}=i.computeContainedMinimapLineCount({viewLineCount:C,scrollBeyondLastLine:c,paddingTop:t.paddingTop,paddingBottom:t.paddingBottom,height:o,lineHeight:l,pixelRatio:r});if(C/Ke>1)q=!0,Q=!0,m=1,z=1,$=m/r;else{let dt=!1,wt=m+1;if(v==="fit"){let Be=Math.ceil((se+C+ne)*z);k&&a&&E<=e.stableFitRemainingWidth?(dt=!0,wt=e.stableFitMaxMinimapScale):dt=Be>N}if(v==="fill"||dt){q=!0;let Be=m;z=Math.min(l*r,Math.max(1,Math.floor(1/ue))),k&&a&&E<=e.stableFitRemainingWidth&&(wt=e.stableFitMaxMinimapScale),m=Math.min(wt,Math.max(1,Math.floor(z/O))),m>Be&&(oe=Math.min(2,m/Be)),$=m/r/oe,N=Math.ceil(Math.max(Z,se+C+ne)*z),k?(e.stableMinimapLayoutInput=t,e.stableFitRemainingWidth=E,e.stableFitMaxMinimapScale=m):(e.stableMinimapLayoutInput=null,e.stableFitRemainingWidth=0)}}}let he=Math.floor(g*$),lt=Math.min(he,Math.max(0,Math.floor((E-x-2)*$/(d+$)))+t5),Fe=Math.floor(r*lt),ee=Fe/r;Fe=Math.floor(Fe*oe);let j=u?1:2,re=f==="left"?0:n-lt-x;return{renderMinimap:j,minimapLeft:re,minimapWidth:lt,minimapHeightIsEditorHeight:q,minimapIsSampling:Q,minimapScale:m,minimapLineHeight:z,minimapCanvasInnerWidth:Fe,minimapCanvasInnerHeight:N,minimapCanvasOuterWidth:ee,minimapCanvasOuterHeight:H}}static computeLayout(t,e){let n=e.outerWidth|0,o=e.outerHeight|0,r=e.lineHeight|0,s=e.lineNumbersDigitCount|0,a=e.typicalHalfwidthCharacterWidth,l=e.maxDigitWidth,d=e.pixelRatio,c=e.viewLineCount,u=t.get(154),m=u==="inherit"?t.get(153):u,g=m==="inherit"?t.get(149):m,v=t.get(152),f=e.isDominatedByLongLines,x=t.get(66),C=t.get(76).renderType!==0,E=t.get(77),k=t.get(119),O=t.get(96),N=t.get(81),H=t.get(117),q=H.verticalScrollbarSize,Q=H.verticalHasArrows,z=H.arrowSize,$=H.horizontalScrollbarSize,oe=t.get(52),he=t.get(126)!=="never",lt=t.get(74);oe&&he&&(lt+=16);let Fe=0;if(C){let mo=Math.max(s,E);Fe=Math.round(mo*l)}let ee=0;x&&(ee=r*e.glyphMarginDecorationLaneCount);let j=0,re=j+ee,Z=re+Fe,se=Z+lt,ne=n-ee-Fe-lt,ue=!1,Ke=!1,Re=-1;t.get(2)===2&&m==="inherit"&&f?(ue=!0,Ke=!0):g==="on"||g==="bounded"?Ke=!0:g==="wordWrapColumn"&&(Re=v);let dt=i._computeMinimapLayout({outerWidth:n,outerHeight:o,lineHeight:r,typicalHalfwidthCharacterWidth:a,pixelRatio:d,scrollBeyondLastLine:k,paddingTop:O.top,paddingBottom:O.bottom,minimap:N,verticalScrollbarWidth:q,viewLineCount:c,remainingWidth:ne,isViewportWrapping:Ke},e.memory||new yk);dt.renderMinimap!==0&&dt.minimapLeft===0&&(j+=dt.minimapWidth,re+=dt.minimapWidth,Z+=dt.minimapWidth,se+=dt.minimapWidth);let wt=ne-dt.minimapWidth,Be=Math.max(1,Math.floor((wt-q-2)/a)),mn=Q?z:0;return Ke&&(Re=Math.max(1,Be),g==="bounded"&&(Re=Math.min(Re,v))),{width:n,height:o,glyphMarginLeft:j,glyphMarginWidth:ee,glyphMarginDecorationLaneCount:e.glyphMarginDecorationLaneCount,lineNumbersLeft:re,lineNumbersWidth:Fe,decorationsLeft:Z,decorationsWidth:lt,contentLeft:se,contentWidth:wt,minimap:dt,viewportColumn:Be,isWordWrapMinified:ue,isViewportWrapping:Ke,wrappingColumn:Re,verticalScrollbarWidth:q,horizontalScrollbarHeight:$,overviewRuler:{top:mn,width:q,height:o-2*mn,right:0}}}},Nk=class extends Tt{constructor(){super(156,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[p(744,null),p(743,null)],type:"string",enum:["simple","advanced"],default:"simple",description:p(742,null)}})}validate(t){return St(t,"simple",["simple","advanced"])}compute(t,e,n){return e.get(2)===2?"advanced":n}};var Uk=class extends Tt{constructor(){let t={enabled:"onCode"};super(73,"lightbulb",t,{"editor.lightbulb.enabled":{type:"string",enum:["off","onCode","on"],default:t.enabled,enumDescriptions:[p(444,null),p(446,null),p(445,null)],description:p(483,null)}})}validate(t){return!t||typeof t!="object"?this.defaultValue:{enabled:St(t.enabled,this.defaultValue.enabled,["off","onCode","on"])}}},Fk=class extends Tt{constructor(){let t={enabled:!0,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:!0};super(131,"stickyScroll",t,{"editor.stickyScroll.enabled":{type:"boolean",default:t.enabled,description:p(448,null)},"editor.stickyScroll.maxLineCount":{type:"number",default:t.maxLineCount,minimum:1,maximum:20,description:p(449,null)},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:t.defaultModel,description:p(447,null)},"editor.stickyScroll.scrollWithEditor":{type:"boolean",default:t.scrollWithEditor,description:p(450,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{enabled:ce(e.enabled,this.defaultValue.enabled),maxLineCount:Ze.clampedInt(e.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:St(e.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:ce(e.scrollWithEditor,this.defaultValue.scrollWithEditor)}}},Hk=class extends Tt{constructor(){let t={enabled:"on",fontSize:0,fontFamily:"",padding:!1,maximumLength:43};super(159,"inlayHints",t,{"editor.inlayHints.enabled":{type:"string",default:t.enabled,description:p(533,null),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[p(440,null),p(441,null,dn?"Ctrl+Option":"Ctrl+Alt"),p(439,null,dn?"Ctrl+Option":"Ctrl+Alt"),p(438,null)]},"editor.inlayHints.fontSize":{type:"number",default:t.fontSize,markdownDescription:p(535,null,"`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:"string",default:t.fontFamily,markdownDescription:p(534,null,"`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:"boolean",default:t.padding,description:p(537,null)},"editor.inlayHints.maximumLength":{type:"number",default:t.maximumLength,markdownDescription:p(536,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return typeof e.enabled=="boolean"&&(e.enabled=e.enabled?"on":"off"),{enabled:St(e.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:Ze.clampedInt(e.fontSize,this.defaultValue.fontSize,0,100),fontFamily:Xn.string(e.fontFamily,this.defaultValue.fontFamily),padding:ce(e.padding,this.defaultValue.padding),maximumLength:Ze.clampedInt(e.maximumLength,this.defaultValue.maximumLength,0,Number.MAX_SAFE_INTEGER)}}},Vk=class extends Tt{constructor(){super(74,"lineDecorationsWidth",10)}validate(t){return typeof t=="string"&&/^\d+(\.\d+)?ch$/.test(t)?-parseFloat(t.substring(0,t.length-2)):Ze.clampedInt(t,this.defaultValue,0,1e3)}compute(t,e,n){return n<0?Ze.clampedInt(-n*t.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):n}},Bk=class extends $o{constructor(){super(75,"lineHeight",Qr.lineHeight,t=>$o.clamp(t,0,150),{markdownDescription:p(559,null)},0,150)}compute(t,e,n){return t.fontInfo.lineHeight}},Wk=class extends Tt{constructor(){let t={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:"none",renderCharacters:!0,maxColumn:120,scale:1,showRegionSectionHeaders:!0,showMarkSectionHeaders:!0,markSectionHeaderRegex:"\\bMARK:\\s*(?<separator>-?)\\s*(?<label>.*)$",sectionHeaderFontSize:9,sectionHeaderLetterSpacing:1};super(81,"minimap",t,{"editor.minimap.enabled":{type:"boolean",default:t.enabled,description:p(572,null)},"editor.minimap.autohide":{type:"string",enum:["none","mouseover","scroll"],enumDescriptions:[p(570,null),p(569,null),p(571,null)],default:t.autohide,description:p(568,null)},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[p(586,null),p(584,null),p(585,null)],default:t.size,description:p(583,null)},"editor.minimap.side":{type:"string",enum:["left","right"],default:t.side,description:p(582,null)},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:t.showSlider,description:p(581,null)},"editor.minimap.scale":{type:"number",default:t.scale,minimum:1,maximum:3,enum:[1,2,3],description:p(576,null)},"editor.minimap.renderCharacters":{type:"boolean",default:t.renderCharacters,description:p(575,null)},"editor.minimap.maxColumn":{type:"number",default:t.maxColumn,description:p(574,null)},"editor.minimap.showRegionSectionHeaders":{type:"boolean",default:t.showRegionSectionHeaders,description:p(580,null)},"editor.minimap.showMarkSectionHeaders":{type:"boolean",default:t.showMarkSectionHeaders,description:p(579,null)},"editor.minimap.markSectionHeaderRegex":{type:"string",default:t.markSectionHeaderRegex,description:p(573,null)},"editor.minimap.sectionHeaderFontSize":{type:"number",default:t.sectionHeaderFontSize,description:p(577,null)},"editor.minimap.sectionHeaderLetterSpacing":{type:"number",default:t.sectionHeaderLetterSpacing,description:p(578,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t,n=this.defaultValue.markSectionHeaderRegex,o=e.markSectionHeaderRegex;if(typeof o=="string")try{new RegExp(o,"d"),n=o}catch{}return{enabled:ce(e.enabled,this.defaultValue.enabled),autohide:St(e.autohide,this.defaultValue.autohide,["none","mouseover","scroll"]),size:St(e.size,this.defaultValue.size,["proportional","fill","fit"]),side:St(e.side,this.defaultValue.side,["right","left"]),showSlider:St(e.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:ce(e.renderCharacters,this.defaultValue.renderCharacters),scale:Ze.clampedInt(e.scale,1,1,3),maxColumn:Ze.clampedInt(e.maxColumn,this.defaultValue.maxColumn,1,1e4),showRegionSectionHeaders:ce(e.showRegionSectionHeaders,this.defaultValue.showRegionSectionHeaders),showMarkSectionHeaders:ce(e.showMarkSectionHeaders,this.defaultValue.showMarkSectionHeaders),markSectionHeaderRegex:n,sectionHeaderFontSize:$o.clamp($o.float(e.sectionHeaderFontSize,this.defaultValue.sectionHeaderFontSize),4,32),sectionHeaderLetterSpacing:$o.clamp($o.float(e.sectionHeaderLetterSpacing,this.defaultValue.sectionHeaderLetterSpacing),0,5)}}};function i5(i){return i==="ctrlCmd"?dn?"metaKey":"ctrlKey":"altKey"}var $k=class extends Tt{constructor(){super(96,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:p(611,null)},"editor.padding.bottom":{type:"number",default:0,minimum:0,maximum:1e3,description:p(610,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{top:Ze.clampedInt(e.top,0,0,1e3),bottom:Ze.clampedInt(e.bottom,0,0,1e3)}}},zk=class extends Tt{constructor(){let t={enabled:!0,cycle:!0};super(98,"parameterHints",t,{"editor.parameterHints.enabled":{type:"boolean",default:t.enabled,description:p(613,null)},"editor.parameterHints.cycle":{type:"boolean",default:t.cycle,description:p(612,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{enabled:ce(e.enabled,this.defaultValue.enabled),cycle:ce(e.cycle,this.defaultValue.cycle)}}},qk=class extends Mi{constructor(){super(163,1)}compute(t,e,n){return t.pixelRatio}},Kk=class extends Tt{constructor(){super(100,"placeholder",void 0)}validate(t){return typeof t>"u"?this.defaultValue:typeof t=="string"?t:this.defaultValue}},Gk=class extends Tt{constructor(){let t={other:"offWhenInlineCompletions",comments:"off",strings:"off"},e=[{type:"boolean"},{type:"string",enum:["on","inline","off","offWhenInlineCompletions"],enumDescriptions:[p(606,null),p(538,null),p(604,null),p(605,null)]}];super(102,"quickSuggestions",t,{anyOf:[{type:"boolean"},{type:"string",enum:["on","inline","off","offWhenInlineCompletions"],enumDescriptions:[p(628,null),p(625,null),p(626,null),p(627,null)]},{type:"object",additionalProperties:!1,properties:{strings:{anyOf:e,default:t.strings,description:p(624,null)},comments:{anyOf:e,default:t.comments,description:p(622,null)},other:{anyOf:e,default:t.other,description:p(623,null)}}}],default:t,markdownDescription:p(621,null,"`#editor.suggestOnTriggerCharacters#`"),experiment:{mode:"auto"}}),this.defaultValue=t}validate(t){if(typeof t=="boolean"){let d=t?"on":"off";return{comments:d,strings:d,other:d}}if(typeof t=="string"){let d=["on","inline","off","offWhenInlineCompletions"],c=St(t,this.defaultValue.other,d);return{comments:c,strings:c,other:c}}if(!t||typeof t!="object")return this.defaultValue;let{other:e,comments:n,strings:o}=t,r=["on","inline","off","offWhenInlineCompletions"],s,a,l;return typeof e=="boolean"?s=e?"on":"off":s=St(e,this.defaultValue.other,r),typeof n=="boolean"?a=n?"on":"off":a=St(n,this.defaultValue.comments,r),typeof o=="boolean"?l=o?"on":"off":l=St(o,this.defaultValue.strings,r),{other:s,comments:a,strings:l}}};var jk=class extends Tt{constructor(){super(76,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[p(562,null),p(563,null),p(564,null),p(561,null)],default:"on",description:p(560,null)})}validate(t){let e=this.defaultValue.renderType,n=this.defaultValue.renderFn;return typeof t<"u"&&(typeof t=="function"?(e=4,n=t):t==="interval"?e=3:t==="relative"?e=2:t==="on"?e=1:e=0),{renderType:e,renderFn:n}}};var Qk=class extends Tt{constructor(){let t=[],e={type:"number",description:p(645,null)};super(116,"rulers",t,{type:"array",items:{anyOf:[e,{type:["object"],properties:{column:e,color:{type:"string",description:p(644,null),format:"color-hex"}}}]},default:t,description:p(643,null)})}validate(t){if(Array.isArray(t)){let e=[];for(let n of t)if(typeof n=="number")e.push({column:Ze.clampedInt(n,0,0,1e4),color:null});else if(n&&typeof n=="object"){let o=n;e.push({column:Ze.clampedInt(o.column,0,0,1e4),color:o.color})}return e.sort((n,o)=>n.column-o.column),e}return this.defaultValue}},Jk=class extends Tt{constructor(){super(105,"readOnlyMessage",void 0)}validate(t){return!t||typeof t!="object"?this.defaultValue:t}};function gL(i,t){if(typeof i!="string")return t;switch(i){case"hidden":return 2;case"visible":return 3;default:return 1}}var Xk=class extends Tt{constructor(){let t={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,ignoreHorizontalScrollbarInContentHeight:!1};super(117,"scrollbar",t,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[p(655,null),p(657,null),p(656,null)],default:"auto",description:p(654,null)},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[p(648,null),p(650,null),p(649,null)],default:"auto",description:p(647,null)},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:t.verticalScrollbarSize,description:p(658,null)},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:t.horizontalScrollbarSize,description:p(651,null)},"editor.scrollbar.scrollByPage":{type:"boolean",default:t.scrollByPage,description:p(653,null)},"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight":{type:"boolean",default:t.ignoreHorizontalScrollbarInContentHeight,description:p(652,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t,n=Ze.clampedInt(e.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),o=Ze.clampedInt(e.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:Ze.clampedInt(e.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:gL(e.vertical,this.defaultValue.vertical),horizontal:gL(e.horizontal,this.defaultValue.horizontal),useShadows:ce(e.useShadows,this.defaultValue.useShadows),verticalHasArrows:ce(e.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:ce(e.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:ce(e.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:ce(e.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:n,horizontalSliderSize:Ze.clampedInt(e.horizontalSliderSize,n,0,1e3),verticalScrollbarSize:o,verticalSliderSize:Ze.clampedInt(e.verticalSliderSize,o,0,1e3),scrollByPage:ce(e.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:ce(e.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}},Jr="inUntrustedWorkspace",Sd={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"},Yk=class extends Tt{constructor(){let t={nonBasicASCII:Jr,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:Jr,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(142,"unicodeHighlight",t,{[Sd.nonBasicASCII]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Jr],default:t.nonBasicASCII,description:p(719,null)},[Sd.invisibleCharacters]:{restricted:!0,type:"boolean",default:t.invisibleCharacters,description:p(718,null)},[Sd.ambiguousCharacters]:{restricted:!0,type:"boolean",default:t.ambiguousCharacters,description:p(715,null)},[Sd.includeComments]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Jr],default:t.includeComments,description:p(716,null)},[Sd.includeStrings]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Jr],default:t.includeStrings,description:p(717,null)},[Sd.allowedCharacters]:{restricted:!0,type:"object",default:t.allowedCharacters,description:p(713,null),additionalProperties:{type:"boolean"}},[Sd.allowedLocales]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:t.allowedLocales,description:p(714,null)}})}applyUpdate(t,e){let n=!1;e.allowedCharacters&&t&&(Rt(t.allowedCharacters,e.allowedCharacters)||(t={...t,allowedCharacters:e.allowedCharacters},n=!0)),e.allowedLocales&&t&&(Rt(t.allowedLocales,e.allowedLocales)||(t={...t,allowedLocales:e.allowedLocales},n=!0));let o=super.applyUpdate(t,e);return n?new hu(o.newValue,!0):o}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{nonBasicASCII:vu(e.nonBasicASCII,Jr,[!0,!1,Jr]),invisibleCharacters:ce(e.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:ce(e.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:vu(e.includeComments,Jr,[!0,!1,Jr]),includeStrings:vu(e.includeStrings,Jr,[!0,!1,Jr]),allowedCharacters:this.validateBooleanMap(e.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(e.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(t,e){if(typeof t!="object"||!t)return e;let n={};for(let[o,r]of Object.entries(t))r===!0&&(n[o]=!0);return n}},Zk=class extends Tt{constructor(){let t={enabled:!0,mode:"subwordSmart",showToolbar:"onHover",suppressSuggestions:!1,keepOnBlur:!1,fontFamily:"default",syntaxHighlightingEnabled:!0,minShowDelay:0,suppressInSnippetMode:!0,edits:{enabled:!0,showCollapsed:!1,renderSideBySide:"auto",allowCodeShifting:"always",showLongDistanceHint:!0},triggerCommandOnProviderChange:!1,experimental:{suppressInlineSuggestions:"",showOnSuggestConflict:"never",emptyResponseInformation:!0}};super(71,"inlineSuggest",t,{"editor.inlineSuggest.enabled":{type:"boolean",default:t.enabled,description:p(545,null)},"editor.inlineSuggest.showToolbar":{type:"string",default:t.showToolbar,enum:["always","onHover","never"],enumDescriptions:[p(550,null),p(552,null),p(551,null)],description:p(549,null)},"editor.inlineSuggest.syntaxHighlightingEnabled":{type:"boolean",default:t.syntaxHighlightingEnabled,description:p(556,null)},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:t.suppressSuggestions,description:p(555,null)},"editor.inlineSuggest.suppressInSnippetMode":{type:"boolean",default:t.suppressInSnippetMode,description:p(554,null)},"editor.inlineSuggest.minShowDelay":{type:"number",default:0,minimum:0,maximum:1e4,description:p(547,null)},"editor.inlineSuggest.experimental.suppressInlineSuggestions":{type:"string",default:t.experimental.suppressInlineSuggestions,tags:["experimental"],description:p(553,null),experiment:{mode:"auto"}},"editor.inlineSuggest.experimental.emptyResponseInformation":{type:"boolean",default:t.experimental.emptyResponseInformation,tags:["experimental"],description:p(544,null),experiment:{mode:"auto"}},"editor.inlineSuggest.triggerCommandOnProviderChange":{type:"boolean",default:t.triggerCommandOnProviderChange,tags:["experimental"],description:p(557,null),experiment:{mode:"auto"}},"editor.inlineSuggest.experimental.showOnSuggestConflict":{type:"string",default:t.experimental.showOnSuggestConflict,tags:["experimental"],enum:["always","never","whenSuggestListIsIncomplete"],description:p(548,null),experiment:{mode:"auto"}},"editor.inlineSuggest.fontFamily":{type:"string",default:t.fontFamily,description:p(546,null)},"editor.inlineSuggest.edits.allowCodeShifting":{type:"string",default:t.edits.allowCodeShifting,description:p(540,null),enum:["always","horizontal","never"],tags:["nextEditSuggestions"]},"editor.inlineSuggest.edits.showLongDistanceHint":{type:"boolean",default:t.edits.showLongDistanceHint,description:p(543,null),tags:["nextEditSuggestions","experimental"]},"editor.inlineSuggest.edits.renderSideBySide":{type:"string",default:t.edits.renderSideBySide,description:p(541,null),enum:["auto","never"],enumDescriptions:[p(442,null),p(443,null)],tags:["nextEditSuggestions"]},"editor.inlineSuggest.edits.showCollapsed":{type:"boolean",default:t.edits.showCollapsed,description:p(542,null),tags:["nextEditSuggestions"]}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{enabled:ce(e.enabled,this.defaultValue.enabled),mode:St(e.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:St(e.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),suppressSuggestions:ce(e.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:ce(e.keepOnBlur,this.defaultValue.keepOnBlur),fontFamily:Xn.string(e.fontFamily,this.defaultValue.fontFamily),syntaxHighlightingEnabled:ce(e.syntaxHighlightingEnabled,this.defaultValue.syntaxHighlightingEnabled),minShowDelay:Ze.clampedInt(e.minShowDelay,0,0,1e4),suppressInSnippetMode:ce(e.suppressInSnippetMode,this.defaultValue.suppressInSnippetMode),edits:this._validateEdits(e.edits),triggerCommandOnProviderChange:ce(e.triggerCommandOnProviderChange,this.defaultValue.triggerCommandOnProviderChange),experimental:this._validateExperimental(e.experimental)}}_validateEdits(t){if(!t||typeof t!="object")return this.defaultValue.edits;let e=t;return{enabled:ce(e.enabled,this.defaultValue.edits.enabled),showCollapsed:ce(e.showCollapsed,this.defaultValue.edits.showCollapsed),allowCodeShifting:St(e.allowCodeShifting,this.defaultValue.edits.allowCodeShifting,["always","horizontal","never"]),showLongDistanceHint:ce(e.showLongDistanceHint,this.defaultValue.edits.showLongDistanceHint),renderSideBySide:St(e.renderSideBySide,this.defaultValue.edits.renderSideBySide,["never","auto"])}}_validateExperimental(t){if(!t||typeof t!="object")return this.defaultValue.experimental;let e=t;return{suppressInlineSuggestions:Xn.string(e.suppressInlineSuggestions,this.defaultValue.experimental.suppressInlineSuggestions),showOnSuggestConflict:St(e.showOnSuggestConflict,this.defaultValue.experimental.showOnSuggestConflict,["always","never","whenSuggestListIsIncomplete"]),emptyResponseInformation:ce(e.emptyResponseInformation,this.defaultValue.experimental.emptyResponseInformation)}}},eP=class extends Tt{constructor(){let t={enabled:fk.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:fk.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(21,"bracketPairColorization",t,{"editor.bracketPairColorization.enabled":{type:"boolean",default:t.enabled,markdownDescription:p(349,null,"`#workbench.colorCustomizations#`")},"editor.bracketPairColorization.independentColorPoolPerBracketType":{type:"boolean",default:t.independentColorPoolPerBracketType,description:p(350,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{enabled:ce(e.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:ce(e.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}},tP=class extends Tt{constructor(){let t={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(22,"guides",t,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[p(427,null),p(425,null),p(426,null)],default:t.bracketPairs,description:p(424,null)},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[p(431,null),p(429,null),p(430,null)],default:t.bracketPairsHorizontal,description:p(428,null)},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:t.highlightActiveBracketPair,description:p(432,null)},"editor.guides.indentation":{type:"boolean",default:t.indentation,description:p(437,null)},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[p(436,null),p(434,null),p(435,null)],default:t.highlightActiveIndentation,description:p(433,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{bracketPairs:vu(e.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:vu(e.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:ce(e.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:ce(e.indentation,this.defaultValue.indentation),highlightActiveIndentation:vu(e.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}}};function vu(i,t,e){let n=e.indexOf(i);return n===-1?t:e[n]}var nP=class extends Tt{constructor(){let t={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!1,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(134,"suggest",t,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[p(685,null),p(687,null)],default:t.insertMode,description:p(683,null)},"editor.suggest.filterGraceful":{type:"boolean",default:t.filterGraceful,description:p(682,null)},"editor.suggest.localityBonus":{type:"boolean",default:t.localityBonus,description:p(690,null)},"editor.suggest.shareSuggestSelections":{type:"boolean",default:t.shareSuggestSelections,markdownDescription:p(694,null)},"editor.suggest.selectionMode":{type:"string",enum:["always","never","whenTriggerCharacter","whenQuickSuggestion"],enumDescriptions:[p(684,null),p(686,null),p(689,null),p(688,null)],default:t.selectionMode,markdownDescription:p(693,null,"`#editor.quickSuggestions#`","`#editor.suggestOnTriggerCharacters#`")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:t.snippetsPreventQuickSuggestions,description:p(698,null)},"editor.suggest.showIcons":{type:"boolean",default:t.showIcons,description:p(695,null)},"editor.suggest.showStatusBar":{type:"boolean",default:t.showStatusBar,description:p(697,null)},"editor.suggest.preview":{type:"boolean",default:t.preview,description:p(692,null)},"editor.suggest.showInlineDetails":{type:"boolean",default:t.showInlineDetails,description:p(696,null)},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:p(691,null)},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:p(375,null)},"editor.suggest.showMethods":{type:"boolean",default:!0,markdownDescription:p(468,null)},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:p(464,null)},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:p(455,null)},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:p(457,null)},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:!0,markdownDescription:p(451,null)},"editor.suggest.showFields":{type:"boolean",default:!0,markdownDescription:p(461,null)},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:p(480,null)},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:p(452,null)},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:p(474,null)},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:p(465,null)},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:p(469,null)},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:p(471,null)},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:p(460,null)},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:p(470,null)},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:p(477,null)},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:p(479,null)},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:p(454,null)},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:p(459,null)},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:p(458,null)},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:p(467,null)},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:p(475,null)},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:p(453,null)},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:p(462,null)},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:p(472,null)},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:p(456,null)},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:p(463,null)},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:p(476,null)},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:p(473,null)},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:p(478,null)},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:p(466,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{insertMode:St(e.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:ce(e.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:ce(e.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:ce(e.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:ce(e.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:St(e.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:ce(e.showIcons,this.defaultValue.showIcons),showStatusBar:ce(e.showStatusBar,this.defaultValue.showStatusBar),preview:ce(e.preview,this.defaultValue.preview),previewMode:St(e.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:ce(e.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:ce(e.showMethods,this.defaultValue.showMethods),showFunctions:ce(e.showFunctions,this.defaultValue.showFunctions),showConstructors:ce(e.showConstructors,this.defaultValue.showConstructors),showDeprecated:ce(e.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:ce(e.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:ce(e.showFields,this.defaultValue.showFields),showVariables:ce(e.showVariables,this.defaultValue.showVariables),showClasses:ce(e.showClasses,this.defaultValue.showClasses),showStructs:ce(e.showStructs,this.defaultValue.showStructs),showInterfaces:ce(e.showInterfaces,this.defaultValue.showInterfaces),showModules:ce(e.showModules,this.defaultValue.showModules),showProperties:ce(e.showProperties,this.defaultValue.showProperties),showEvents:ce(e.showEvents,this.defaultValue.showEvents),showOperators:ce(e.showOperators,this.defaultValue.showOperators),showUnits:ce(e.showUnits,this.defaultValue.showUnits),showValues:ce(e.showValues,this.defaultValue.showValues),showConstants:ce(e.showConstants,this.defaultValue.showConstants),showEnums:ce(e.showEnums,this.defaultValue.showEnums),showEnumMembers:ce(e.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:ce(e.showKeywords,this.defaultValue.showKeywords),showWords:ce(e.showWords,this.defaultValue.showWords),showColors:ce(e.showColors,this.defaultValue.showColors),showFiles:ce(e.showFiles,this.defaultValue.showFiles),showReferences:ce(e.showReferences,this.defaultValue.showReferences),showFolders:ce(e.showFolders,this.defaultValue.showFolders),showTypeParameters:ce(e.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:ce(e.showSnippets,this.defaultValue.showSnippets),showUsers:ce(e.showUsers,this.defaultValue.showUsers),showIssues:ce(e.showIssues,this.defaultValue.showIssues)}}},oP=class extends Tt{constructor(){super(129,"smartSelect",{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:p(667,null),default:!0,type:"boolean"},"editor.smartSelect.selectSubwords":{description:p(668,null),default:!0,type:"boolean"}})}validate(t){return!t||typeof t!="object"?this.defaultValue:{selectLeadingAndTrailingWhitespace:ce(t.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:ce(t.selectSubwords,this.defaultValue.selectSubwords)}}},rP=class extends Tt{constructor(){let t=[];super(147,"wordSegmenterLocales",t,{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}],description:p(728,null),type:"array",items:{type:"string"},default:t})}validate(t){if(typeof t=="string"&&(t=[t]),Array.isArray(t)){let e=[];for(let n of t)if(typeof n=="string")try{Intl.Segmenter.supportedLocalesOf(n).length>0&&e.push(n)}catch{}return e}return this.defaultValue}};var iP=class extends Tt{constructor(){super(155,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[p(740,null),p(741,null),p(739,null),p(738,null)],description:p(737,null),default:"same"}})}validate(t){switch(t){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}return 1}compute(t,e,n){return e.get(2)===2?0:n}},sP=class extends Mi{constructor(){super(166,{isDominatedByLongLines:!1,isWordWrapMinified:!1,isViewportWrapping:!1,wrappingColumn:-1})}compute(t,e,n){let o=e.get(165);return{isDominatedByLongLines:t.isDominatedByLongLines,isWordWrapMinified:o.isWordWrapMinified,isViewportWrapping:o.isViewportWrapping,wrappingColumn:o.wrappingColumn}}},aP=class extends Tt{constructor(){let t={enabled:!0,showDropSelector:"afterDrop"};super(43,"dropIntoEditor",t,{"editor.dropIntoEditor.enabled":{type:"boolean",default:t.enabled,markdownDescription:p(378,null)},"editor.dropIntoEditor.showDropSelector":{type:"string",markdownDescription:p(379,null),enum:["afterDrop","never"],enumDescriptions:[p(380,null),p(381,null)],default:"afterDrop"}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{enabled:ce(e.enabled,this.defaultValue.enabled),showDropSelector:St(e.showDropSelector,this.defaultValue.showDropSelector,["afterDrop","never"])}}},lP=class extends Tt{constructor(){let t={enabled:!0,showPasteSelector:"afterPaste"};super(97,"pasteAs",t,{"editor.pasteAs.enabled":{type:"boolean",default:t.enabled,markdownDescription:p(614,null)},"editor.pasteAs.showPasteSelector":{type:"string",markdownDescription:p(615,null),enum:["afterPaste","never"],enumDescriptions:[p(616,null),p(617,null)],default:"afterPaste"}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{enabled:ce(e.enabled,this.defaultValue.enabled),showPasteSelector:St(e.showPasteSelector,this.defaultValue.showPasteSelector,["afterPaste","never"])}}},s5=[];function U(i){return s5[i.id]=i,i}var IQ={acceptSuggestionOnCommitCharacter:U(new Ee(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:p(324,null)})),acceptSuggestionOnEnter:U(new Ct(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",p(326,null),""],markdownDescription:p(325,null)})),accessibilitySupport:U(new Ik),accessibilityPageSize:U(new Ze(3,"accessibilityPageSize",500,1,1073741824,{description:p(327,null),tags:["accessibility"]})),allowOverflow:U(new Ee(4,"allowOverflow",!0)),allowVariableLineHeights:U(new Ee(5,"allowVariableLineHeights",!0,{description:p(334,null)})),allowVariableFonts:U(new Ee(6,"allowVariableFonts",!0,{description:p(332,null)})),allowVariableFontsInAccessibilityMode:U(new Ee(7,"allowVariableFontsInAccessibilityMode",!1,{description:p(333,null),tags:["accessibility"]})),ariaLabel:U(new Xn(8,"ariaLabel",p(481,null))),ariaRequired:U(new Ee(9,"ariaRequired",!1,void 0)),screenReaderAnnounceInlineSuggestion:U(new Ee(12,"screenReaderAnnounceInlineSuggestion",!0,{description:p(646,null),tags:["accessibility"]})),autoClosingBrackets:U(new Ct(10,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",p(384,null),p(383,null),""],description:p(340,null)})),autoClosingComments:U(new Ct(11,"autoClosingComments","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",p(386,null),p(385,null),""],description:p(341,null)})),autoClosingDelete:U(new Ct(13,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",p(387,null),""],description:p(342,null)})),autoClosingOvertype:U(new Ct(14,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",p(388,null),""],description:p(343,null)})),autoClosingQuotes:U(new Ct(15,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",p(390,null),p(389,null),""],description:p(344,null)})),autoIndent:U(new Td(16,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],o5,{enumDescriptions:[p(395,null),p(394,null),p(392,null),p(391,null),p(393,null)],description:p(345,null)})),autoIndentOnPaste:U(new Ee(17,"autoIndentOnPaste",!1,{description:p(346,null)})),autoIndentOnPasteWithinString:U(new Ee(18,"autoIndentOnPasteWithinString",!0,{description:p(347,null)})),automaticLayout:U(new Ee(19,"automaticLayout",!1)),autoSurround:U(new Ct(20,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[p(397,null),p(398,null),p(396,null),""],description:p(348,null)})),bracketPairColorization:U(new eP),bracketPairGuides:U(new tP),stickyTabStops:U(new Ee(132,"stickyTabStops",!1,{description:p(681,null)})),codeLens:U(new Ee(23,"codeLens",!0,{description:p(351,null)})),codeLensFontFamily:U(new Xn(24,"codeLensFontFamily","",{description:p(352,null)})),codeLensFontSize:U(new Ze(25,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:p(353,null)})),colorDecorators:U(new Ee(26,"colorDecorators",!0,{description:p(355,null)})),colorDecoratorActivatedOn:U(new Ct(168,"colorDecoratorsActivatedOn","clickAndHover",["clickAndHover","hover","click"],{enumDescriptions:[p(400,null),p(401,null),p(399,null)],description:p(354,null)})),colorDecoratorsLimit:U(new Ze(27,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:p(356,null)})),columnSelection:U(new Ee(28,"columnSelection",!1,{description:p(357,null)})),comments:U(new xk),contextmenu:U(new Ee(30,"contextmenu",!0)),copyWithSyntaxHighlighting:U(new Ee(31,"copyWithSyntaxHighlighting",!0,{description:p(360,null)})),cursorBlinking:U(new Td(32,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],r5,{description:p(361,null)})),cursorSmoothCaretAnimation:U(new Ct(33,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[p(365,null),p(364,null),p(366,null)],description:p(363,null)})),cursorStyle:U(new Td(34,"cursorStyle",1,"line",["line","block","underline","line-thin","block-outline","underline-thin"],mL,{description:p(367,null)})),overtypeCursorStyle:U(new Td(92,"overtypeCursorStyle",2,"block",["line","block","underline","line-thin","block-outline","underline-thin"],mL,{description:p(607,null)})),cursorSurroundingLines:U(new Ze(35,"cursorSurroundingLines",0,0,1073741824,{description:p(368,null)})),cursorSurroundingLinesStyle:U(new Ct(36,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[p(371,null),p(370,null)],markdownDescription:p(369,null)})),cursorWidth:U(new Ze(37,"cursorWidth",0,0,1073741824,{markdownDescription:p(372,null)})),cursorHeight:U(new Ze(38,"cursorHeight",0,0,1073741824,{markdownDescription:p(362,null)})),disableLayerHinting:U(new Ee(39,"disableLayerHinting",!1)),disableMonospaceOptimizations:U(new Ee(40,"disableMonospaceOptimizations",!1)),domReadOnly:U(new Ee(41,"domReadOnly",!1)),doubleClickSelectsBlock:U(new Ee(173,"doubleClickSelectsBlock",!0,{description:p(376,null)})),dragAndDrop:U(new Ee(42,"dragAndDrop",!0,{description:p(377,null)})),emptySelectionClipboard:U(new Sk),dropIntoEditor:U(new aP),editContext:U(new Ee(44,"editContext",!0,{description:p(382,null),included:Vg||zv||Bv})),renderRichScreenReaderContent:U(new Ee(107,"renderRichScreenReaderContent",!1,{markdownDescription:p(637,null)})),stickyScroll:U(new Fk),experimentalGpuAcceleration:U(new Ct(46,"experimentalGpuAcceleration","off",["off","on"],{tags:["experimental"],enumDescriptions:[p(485,null),p(486,null)],description:p(484,null)})),experimentalWhitespaceRendering:U(new Ct(47,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[p(490,null),p(488,null),p(489,null)],description:p(487,null)})),extraEditorClassName:U(new Xn(48,"extraEditorClassName","")),fastScrollSensitivity:U(new $o(49,"fastScrollSensitivity",5,i=>i<=0?5:i,{markdownDescription:p(491,null)})),find:U(new Tk),fixedOverflowWidgets:U(new Ee(51,"fixedOverflowWidgets",!1)),folding:U(new Ee(52,"folding",!0,{description:p(502,null)})),foldingStrategy:U(new Ct(53,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[p(507,null),p(508,null)],description:p(506,null)})),foldingHighlight:U(new Ee(54,"foldingHighlight",!0,{description:p(503,null)})),foldingImportsByDefault:U(new Ee(55,"foldingImportsByDefault",!1,{description:p(504,null)})),foldingMaximumRegions:U(new Ze(56,"foldingMaximumRegions",5e3,10,65e3,{description:p(505,null)})),unfoldOnClickAfterEndOfLine:U(new Ee(57,"unfoldOnClickAfterEndOfLine",!1,{description:p(712,null)})),fontFamily:U(new Xn(58,"fontFamily",Qr.fontFamily,{description:p(509,null)})),fontInfo:U(new kk),fontLigatures2:U(new Ek),fontSize:U(new Rk),fontWeight:U(new Ak),fontVariations:U(new wk),formatOnPaste:U(new Ee(64,"formatOnPaste",!1,{description:p(519,null)})),formatOnType:U(new Ee(65,"formatOnType",!1,{description:p(520,null)})),glyphMargin:U(new Ee(66,"glyphMargin",!0,{description:p(521,null)})),gotoLocation:U(new Mk),hideCursorInOverviewRuler:U(new Ee(68,"hideCursorInOverviewRuler",!1,{description:p(522,null)})),hover:U(new Ok),inDiffEditor:U(new Ee(70,"inDiffEditor",!1)),inertialScroll:U(new Ee(158,"inertialScroll",!1,{description:p(532,null)})),letterSpacing:U(new $o(72,"letterSpacing",Qr.letterSpacing,i=>$o.clamp(i,-5,20),{description:p(558,null)})),lightbulb:U(new Uk),lineDecorationsWidth:U(new Vk),lineHeight:U(new Bk),lineNumbers:U(new jk),lineNumbersMinChars:U(new Ze(77,"lineNumbersMinChars",5,1,300)),linkedEditing:U(new Ee(78,"linkedEditing",!1,{description:p(565,null)})),links:U(new Ee(79,"links",!0,{description:p(566,null)})),matchBrackets:U(new Ct(80,"matchBrackets","always",["always","near","never"],{description:p(567,null)})),minimap:U(new Wk),mouseStyle:U(new Ct(82,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:U(new $o(83,"mouseWheelScrollSensitivity",1,i=>i===0?1:i,{markdownDescription:p(588,null)})),mouseWheelZoom:U(new Ee(84,"mouseWheelZoom",!1,{markdownDescription:dn?p(590,null):p(589,null)})),multiCursorMergeOverlapping:U(new Ee(85,"multiCursorMergeOverlapping",!0,{description:p(592,null)})),multiCursorModifier:U(new Td(86,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],i5,{markdownEnumDescriptions:[p(595,null),p(594,null)],markdownDescription:p(593,null)})),mouseMiddleClickAction:U(new Ct(87,"mouseMiddleClickAction","default",["default","openLink","ctrlLeftClick"],{description:p(587,null)})),multiCursorPaste:U(new Ct(88,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[p(598,null),p(597,null)],markdownDescription:p(596,null)})),multiCursorLimit:U(new Ze(89,"multiCursorLimit",1e4,1,1e5,{markdownDescription:p(591,null)})),occurrencesHighlight:U(new Ct(90,"occurrencesHighlight","singleFile",["off","singleFile","multiFile"],{markdownEnumDescriptions:[p(601,null),p(602,null),p(600,null)],markdownDescription:p(599,null)})),occurrencesHighlightDelay:U(new Ze(91,"occurrencesHighlightDelay",0,0,2e3,{description:p(603,null),tags:["preview"]})),overtypeOnPaste:U(new Ee(93,"overtypeOnPaste",!0,{description:p(608,null)})),overviewRulerBorder:U(new Ee(94,"overviewRulerBorder",!0,{description:p(609,null)})),overviewRulerLanes:U(new Ze(95,"overviewRulerLanes",3,0,3)),padding:U(new $k),pasteAs:U(new lP),parameterHints:U(new zk),peekWidgetDefaultFocus:U(new Ct(99,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[p(620,null),p(619,null)],description:p(618,null)})),placeholder:U(new Kk),definitionLinkOpensInPeek:U(new Ee(101,"definitionLinkOpensInPeek",!1,{description:p(374,null)})),quickSuggestions:U(new Gk),quickSuggestionsDelay:U(new Ze(103,"quickSuggestionsDelay",10,0,1073741824,{description:p(629,null),experiment:{mode:"auto"}})),readOnly:U(new Ee(104,"readOnly",!1)),readOnlyMessage:U(new Jk),renameOnType:U(new Ee(106,"renameOnType",!1,{description:p(630,null),markdownDeprecationMessage:p(631,null)})),renderControlCharacters:U(new Ee(108,"renderControlCharacters",!0,{description:p(632,null),restricted:!0})),renderFinalNewline:U(new Ct(109,"renderFinalNewline",qn?"dimmed":"on",["off","on","dimmed"],{description:p(633,null)})),renderLineHighlight:U(new Ct(110,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",p(635,null)],description:p(634,null)})),renderLineHighlightOnlyWhenFocus:U(new Ee(111,"renderLineHighlightOnlyWhenFocus",!1,{description:p(636,null)})),renderValidationDecorations:U(new Ct(112,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:U(new Ct(113,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",p(639,null),p(640,null),p(641,null),""],description:p(638,null)})),revealHorizontalRightPadding:U(new Ze(114,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:U(new Ee(115,"roundedSelection",!0,{description:p(642,null)})),rulers:U(new Qk),scrollbar:U(new Xk),scrollBeyondLastColumn:U(new Ze(118,"scrollBeyondLastColumn",4,0,1073741824,{description:p(659,null)})),scrollBeyondLastLine:U(new Ee(119,"scrollBeyondLastLine",!0,{description:p(660,null)})),scrollOnMiddleClick:U(new Ee(171,"scrollOnMiddleClick",!1,{description:p(661,null)})),scrollPredominantAxis:U(new Ee(120,"scrollPredominantAxis",!0,{description:p(662,null)})),selectionClipboard:U(new Ee(121,"selectionClipboard",!0,{description:p(663,null),included:qn})),selectionHighlight:U(new Ee(122,"selectionHighlight",!0,{description:p(664,null)})),selectionHighlightMaxLength:U(new Ze(123,"selectionHighlightMaxLength",200,0,1073741824,{description:p(665,null)})),selectionHighlightMultiline:U(new Ee(124,"selectionHighlightMultiline",!1,{description:p(666,null)})),selectOnLineNumbers:U(new Ee(125,"selectOnLineNumbers",!0)),showFoldingControls:U(new Ct(126,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[p(671,null),p(673,null),p(672,null)],description:p(670,null)})),showUnused:U(new Ee(127,"showUnused",!0,{description:p(674,null)})),showDeprecated:U(new Ee(157,"showDeprecated",!0,{description:p(669,null)})),inlayHints:U(new Hk),snippetSuggestions:U(new Ct(128,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[p(680,null),p(677,null),p(678,null),p(679,null)],description:p(676,null)})),smartSelect:U(new oP),smoothScrolling:U(new Ee(130,"smoothScrolling",!1,{description:p(675,null)})),stopRenderingLineAfter:U(new Ze(133,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:U(new nP),inlineSuggest:U(new Zk),inlineCompletionsAccessibilityVerbose:U(new Ee(169,"inlineCompletionsAccessibilityVerbose",!1,{description:p(539,null)})),suggestFontSize:U(new Ze(135,"suggestFontSize",0,0,1e3,{markdownDescription:p(699,null,"`0`","`#editor.fontSize#`")})),suggestLineHeight:U(new Ze(136,"suggestLineHeight",0,0,1e3,{markdownDescription:p(700,null,"`0`","`#editor.lineHeight#`")})),suggestOnTriggerCharacters:U(new Ee(137,"suggestOnTriggerCharacters",!0,{description:p(701,null)})),suggestSelection:U(new Ct(138,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[p(703,null),p(704,null),p(705,null)],description:p(702,null)})),tabCompletion:U(new Ct(139,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[p(708,null),p(707,null),p(709,null)],description:p(706,null)})),tabIndex:U(new Ze(140,"tabIndex",0,-1,1073741824)),trimWhitespaceOnDelete:U(new Ee(141,"trimWhitespaceOnDelete",!1,{description:p(711,null)})),unicodeHighlight:U(new Yk),unusualLineTerminators:U(new Ct(143,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[p(721,null),p(722,null),p(723,null)],description:p(720,null)})),useShadowDOM:U(new Ee(144,"useShadowDOM",!0)),useTabStops:U(new Ee(145,"useTabStops",!0,{description:p(724,null)})),wordBreak:U(new Ct(146,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[p(727,null),p(726,null)],description:p(725,null)})),wordSegmenterLocales:U(new rP),wordSeparators:U(new Xn(148,"wordSeparators",hk,{description:p(729,null)})),wordWrap:U(new Ct(149,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[p(732,null),p(733,null),p(734,null),p(731,null)],description:p(730,null)})),wordWrapBreakAfterCharacters:U(new Xn(150,"wordWrapBreakAfterCharacters"," 	})]?|/&.,;\xA2\xB0\u2032\u2033\u2030\u2103\u3001\u3002\uFF61\uFF64\uFFE0\uFF0C\uFF0E\uFF1A\uFF1B\uFF1F\uFF01\uFF05\u30FB\uFF65\u309D\u309E\u30FD\u30FE\u30FC\u30A1\u30A3\u30A5\u30A7\u30A9\u30C3\u30E3\u30E5\u30E7\u30EE\u30F5\u30F6\u3041\u3043\u3045\u3047\u3049\u3063\u3083\u3085\u3087\u308E\u3095\u3096\u31F0\u31F1\u31F2\u31F3\u31F4\u31F5\u31F6\u31F7\u31F8\u31F9\u31FA\u31FB\u31FC\u31FD\u31FE\u31FF\u3005\u303B\uFF67\uFF68\uFF69\uFF6A\uFF6B\uFF6C\uFF6D\uFF6E\uFF6F\uFF70\u201D\u3009\u300B\u300D\u300F\u3011\u3015\uFF09\uFF3D\uFF5D\uFF63")),wordWrapBreakBeforeCharacters:U(new Xn(151,"wordWrapBreakBeforeCharacters","([{\u2018\u201C\u3008\u300A\u300C\u300E\u3010\u3014\uFF08\uFF3B\uFF5B\uFF62\xA3\xA5\uFF04\uFFE1\uFFE5+\uFF0B")),wordWrapColumn:U(new Ze(152,"wordWrapColumn",80,1,1073741824,{markdownDescription:p(735,null)})),wordWrapOverride1:U(new Ct(153,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:U(new Ct(154,"wordWrapOverride2","inherit",["off","on","inherit"])),wrapOnEscapedLineFeeds:U(new Ee(160,"wrapOnEscapedLineFeeds",!1,{markdownDescription:p(736,null)})),effectiveCursorStyle:U(new Pk),editorClassName:U(new Ck),defaultColorDecorators:U(new Ct(167,"defaultColorDecorators","auto",["auto","always","never"],{enumDescriptions:[p(403,null),p(402,null),p(404,null)],description:p(373,null)})),pixelRatio:U(new qk),tabFocusMode:U(new Ee(164,"tabFocusMode",!1,{markdownDescription:p(710,null)})),layoutInfo:U(new Lk),wrappingInfo:U(new sP),wrappingIndent:U(new iP),wrappingStrategy:U(new Nk),effectiveEditContextEnabled:U(new _k),effectiveAllowVariableFonts:U(new Dk)};var vn=class i{constructor(t,e){this.lineNumber=t,this.column=e}with(t=this.lineNumber,e=this.column){return t===this.lineNumber&&e===this.column?this:new i(t,e)}delta(t=0,e=0){return this.with(Math.max(1,this.lineNumber+t),Math.max(1,this.column+e))}equals(t){return i.equals(this,t)}static equals(t,e){return!t&&!e?!0:!!t&&!!e&&t.lineNumber===e.lineNumber&&t.column===e.column}isBefore(t){return i.isBefore(this,t)}static isBefore(t,e){return t.lineNumber<e.lineNumber?!0:e.lineNumber<t.lineNumber?!1:t.column<e.column}isBeforeOrEqual(t){return i.isBeforeOrEqual(this,t)}static isBeforeOrEqual(t,e){return t.lineNumber<e.lineNumber?!0:e.lineNumber<t.lineNumber?!1:t.column<=e.column}static compare(t,e){let n=t.lineNumber|0,o=e.lineNumber|0;if(n===o){let r=t.column|0,s=e.column|0;return r-s}return n-o}clone(){return new i(this.lineNumber,this.column)}toString(){return"("+this.lineNumber+","+this.column+")"}static lift(t){return new i(t.lineNumber,t.column)}static isIPosition(t){return!!t&&typeof t.lineNumber=="number"&&typeof t.column=="number"}toJSON(){return{lineNumber:this.lineNumber,column:this.column}}};var Ne=class i{constructor(t,e,n,o){t>n||t===n&&e>o?(this.startLineNumber=n,this.startColumn=o,this.endLineNumber=t,this.endColumn=e):(this.startLineNumber=t,this.startColumn=e,this.endLineNumber=n,this.endColumn=o)}isEmpty(){return i.isEmpty(this)}static isEmpty(t){return t.startLineNumber===t.endLineNumber&&t.startColumn===t.endColumn}containsPosition(t){return i.containsPosition(this,t)}static containsPosition(t,e){return!(e.lineNumber<t.startLineNumber||e.lineNumber>t.endLineNumber||e.lineNumber===t.startLineNumber&&e.column<t.startColumn||e.lineNumber===t.endLineNumber&&e.column>t.endColumn)}static strictContainsPosition(t,e){return!(e.lineNumber<t.startLineNumber||e.lineNumber>t.endLineNumber||e.lineNumber===t.startLineNumber&&e.column<=t.startColumn||e.lineNumber===t.endLineNumber&&e.column>=t.endColumn)}containsRange(t){return i.containsRange(this,t)}static containsRange(t,e){return!(e.startLineNumber<t.startLineNumber||e.endLineNumber<t.startLineNumber||e.startLineNumber>t.endLineNumber||e.endLineNumber>t.endLineNumber||e.startLineNumber===t.startLineNumber&&e.startColumn<t.startColumn||e.endLineNumber===t.endLineNumber&&e.endColumn>t.endColumn)}strictContainsRange(t){return i.strictContainsRange(this,t)}static strictContainsRange(t,e){return!(e.startLineNumber<t.startLineNumber||e.endLineNumber<t.startLineNumber||e.startLineNumber>t.endLineNumber||e.endLineNumber>t.endLineNumber||e.startLineNumber===t.startLineNumber&&e.startColumn<=t.startColumn||e.endLineNumber===t.endLineNumber&&e.endColumn>=t.endColumn)}plusRange(t){return i.plusRange(this,t)}static plusRange(t,e){let n,o,r,s;return e.startLineNumber<t.startLineNumber?(n=e.startLineNumber,o=e.startColumn):e.startLineNumber===t.startLineNumber?(n=e.startLineNumber,o=Math.min(e.startColumn,t.startColumn)):(n=t.startLineNumber,o=t.startColumn),e.endLineNumber>t.endLineNumber?(r=e.endLineNumber,s=e.endColumn):e.endLineNumber===t.endLineNumber?(r=e.endLineNumber,s=Math.max(e.endColumn,t.endColumn)):(r=t.endLineNumber,s=t.endColumn),new i(n,o,r,s)}intersectRanges(t){return i.intersectRanges(this,t)}static intersectRanges(t,e){let n=t.startLineNumber,o=t.startColumn,r=t.endLineNumber,s=t.endColumn,a=e.startLineNumber,l=e.startColumn,d=e.endLineNumber,c=e.endColumn;return n<a?(n=a,o=l):n===a&&(o=Math.max(o,l)),r>d?(r=d,s=c):r===d&&(s=Math.min(s,c)),n>r||n===r&&o>s?null:new i(n,o,r,s)}equalsRange(t){return i.equalsRange(this,t)}static equalsRange(t,e){return!t&&!e?!0:!!t&&!!e&&t.startLineNumber===e.startLineNumber&&t.startColumn===e.startColumn&&t.endLineNumber===e.endLineNumber&&t.endColumn===e.endColumn}getEndPosition(){return i.getEndPosition(this)}static getEndPosition(t){return new vn(t.endLineNumber,t.endColumn)}getStartPosition(){return i.getStartPosition(this)}static getStartPosition(t){return new vn(t.startLineNumber,t.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(t,e){return new i(this.startLineNumber,this.startColumn,t,e)}setStartPosition(t,e){return new i(t,e,this.endLineNumber,this.endColumn)}collapseToStart(){return i.collapseToStart(this)}static collapseToStart(t){return new i(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)}collapseToEnd(){return i.collapseToEnd(this)}static collapseToEnd(t){return new i(t.endLineNumber,t.endColumn,t.endLineNumber,t.endColumn)}delta(t){return new i(this.startLineNumber+t,this.startColumn,this.endLineNumber+t,this.endColumn)}isSingleLine(){return this.startLineNumber===this.endLineNumber}static fromPositions(t,e=t){return new i(t.lineNumber,t.column,e.lineNumber,e.column)}static lift(t){return t?new i(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null}static isIRange(t){return!!t&&typeof t.startLineNumber=="number"&&typeof t.startColumn=="number"&&typeof t.endLineNumber=="number"&&typeof t.endColumn=="number"}static areIntersectingOrTouching(t,e){return!(t.endLineNumber<e.startLineNumber||t.endLineNumber===e.startLineNumber&&t.endColumn<e.startColumn||e.endLineNumber<t.startLineNumber||e.endLineNumber===t.startLineNumber&&e.endColumn<t.startColumn)}static areIntersecting(t,e){return!(t.endLineNumber<e.startLineNumber||t.endLineNumber===e.startLineNumber&&t.endColumn<=e.startColumn||e.endLineNumber<t.startLineNumber||e.endLineNumber===t.startLineNumber&&e.endColumn<=t.startColumn)}static areOnlyIntersecting(t,e){return!(t.endLineNumber<e.startLineNumber-1||t.endLineNumber===e.startLineNumber&&t.endColumn<e.startColumn-1||e.endLineNumber<t.startLineNumber-1||e.endLineNumber===t.startLineNumber&&e.endColumn<t.startColumn-1)}static compareRangesUsingStarts(t,e){if(t&&e){let r=t.startLineNumber|0,s=e.startLineNumber|0;if(r===s){let a=t.startColumn|0,l=e.startColumn|0;if(a===l){let d=t.endLineNumber|0,c=e.endLineNumber|0;if(d===c){let u=t.endColumn|0,m=e.endColumn|0;return u-m}return d-c}return a-l}return r-s}return(t?1:0)-(e?1:0)}static compareRangesUsingEnds(t,e){return t.endLineNumber===e.endLineNumber?t.endColumn===e.endColumn?t.startLineNumber===e.startLineNumber?t.startColumn-e.startColumn:t.startLineNumber-e.startLineNumber:t.endColumn-e.endColumn:t.endLineNumber-e.endLineNumber}static spansMultipleLines(t){return t.endLineNumber>t.startLineNumber}toJSON(){return this}};var Zb=class{constructor(){this._tokenizationSupports=new Map;this._factories=new Map;this._onDidChange=new w;this.onDidChange=this._onDidChange.event;this._colorMap=null}handleChange(t){this._onDidChange.fire({changedLanguages:t,changedColorMap:!1})}register(t,e){return this._tokenizationSupports.set(t,e),this.handleChange([t]),X(()=>{this._tokenizationSupports.get(t)===e&&(this._tokenizationSupports.delete(t),this.handleChange([t]))})}get(t){return this._tokenizationSupports.get(t)||null}registerFactory(t,e){this._factories.get(t)?.dispose();let n=new cP(this,t,e);return this._factories.set(t,n),X(()=>{let o=this._factories.get(t);!o||o!==n||(this._factories.delete(t),o.dispose())})}async getOrCreate(t){let e=this.get(t);if(e)return e;let n=this._factories.get(t);return!n||n.isResolved?null:(await n.resolve(),this.get(t))}isResolved(t){if(this.get(t))return!0;let n=this._factories.get(t);return!!(!n||n.isResolved)}setColorMap(t){this._colorMap=t,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}},cP=class extends V{constructor(e,n,o){super();this._registry=e;this._languageId=n;this._factory=o;this._isDisposed=!1;this._resolvePromise=null;this._isResolved=!1}get isResolved(){return this._isResolved}dispose(){this._isDisposed=!0,super.dispose()}async resolve(){return this._resolvePromise||(this._resolvePromise=this._create()),this._resolvePromise}async _create(){let e=await this._factory.tokenizationSupport;this._isResolved=!0,e&&!this._isDisposed&&this._register(this._registry.register(this._languageId,e))}};var l5;(r=>{let i=new Map;i.set(0,le.symbolMethod),i.set(1,le.symbolFunction),i.set(2,le.symbolConstructor),i.set(3,le.symbolField),i.set(4,le.symbolVariable),i.set(5,le.symbolClass),i.set(6,le.symbolStruct),i.set(7,le.symbolInterface),i.set(8,le.symbolModule),i.set(9,le.symbolProperty),i.set(10,le.symbolEvent),i.set(11,le.symbolOperator),i.set(12,le.symbolUnit),i.set(13,le.symbolValue),i.set(15,le.symbolEnum),i.set(14,le.symbolConstant),i.set(15,le.symbolEnum),i.set(16,le.symbolEnumMember),i.set(17,le.symbolKeyword),i.set(28,le.symbolSnippet),i.set(18,le.symbolText),i.set(19,le.symbolColor),i.set(20,le.symbolFile),i.set(21,le.symbolReference),i.set(22,le.symbolCustomColor),i.set(23,le.symbolFolder),i.set(24,le.symbolTypeParameter),i.set(25,le.account),i.set(26,le.issues),i.set(27,le.tools);function t(s){let a=i.get(s);return a||(console.info("No codicon found for CompletionItemKind "+s),a=le.symbolProperty),a}r.toIcon=t;function e(s){switch(s){case 0:return p(905,null);case 1:return p(901,null);case 2:return p(893,null);case 3:return p(898,null);case 4:return p(918,null);case 5:return p(890,null);case 6:return p(911,null);case 7:return p(902,null);case 8:return p(906,null);case 9:return p(908,null);case 10:return p(897,null);case 11:return p(907,null);case 12:return p(915,null);case 13:return p(917,null);case 14:return p(892,null);case 15:return p(895,null);case 16:return p(896,null);case 17:return p(904,null);case 18:return p(912,null);case 19:return p(891,null);case 20:return p(899,null);case 21:return p(909,null);case 22:return p(894,null);case 23:return p(900,null);case 24:return p(914,null);case 25:return p(916,null);case 26:return p(903,null);case 27:return p(913,null);case 28:return p(910,null);default:return""}}r.toLabel=e;let n=new Map;n.set("method",0),n.set("function",1),n.set("constructor",2),n.set("field",3),n.set("variable",4),n.set("class",5),n.set("struct",6),n.set("interface",7),n.set("module",8),n.set("property",9),n.set("event",10),n.set("operator",11),n.set("unit",12),n.set("value",13),n.set("constant",14),n.set("enum",15),n.set("enum-member",16),n.set("enumMember",16),n.set("keyword",17),n.set("snippet",28),n.set("text",18),n.set("color",19),n.set("file",20),n.set("reference",21),n.set("customcolor",22),n.set("folder",23),n.set("type-parameter",24),n.set("typeParameter",24),n.set("account",25),n.set("issue",26),n.set("tool",27);function o(s,a){let l=n.get(s);return typeof l>"u"&&!a&&(l=9),l}r.fromString=o})(l5||={});function hL(i){return!!i&&y.isUri(i.uri)&&Ne.isIRange(i.range)&&(Ne.isIRange(i.originSelectionRange)||Ne.isIRange(i.targetSelectionRange))}function vL(i){return!!i&&y.isUri(i.uri)&&Ne.isIRange(i.range)}var qQ={17:p(866,null),16:p(867,null),4:p(868,null),13:p(869,null),8:p(870,null),9:p(871,null),21:p(872,null),23:p(873,null),7:p(874,null),0:p(875,null),11:p(876,null),10:p(877,null),19:p(878,null),5:p(879,null),1:p(880,null),2:p(881,null),20:p(882,null),15:p(883,null),18:p(884,null),24:p(885,null),3:p(886,null),6:p(887,null),14:p(888,null),22:p(889,null),25:p(920,null),12:p(921,null)};var uP;(o=>{let i=new Map;i.set(0,le.symbolFile),i.set(1,le.symbolModule),i.set(2,le.symbolNamespace),i.set(3,le.symbolPackage),i.set(4,le.symbolClass),i.set(5,le.symbolMethod),i.set(6,le.symbolProperty),i.set(7,le.symbolField),i.set(8,le.symbolConstructor),i.set(9,le.symbolEnum),i.set(10,le.symbolInterface),i.set(11,le.symbolFunction),i.set(12,le.symbolVariable),i.set(13,le.symbolConstant),i.set(14,le.symbolString),i.set(15,le.symbolNumber),i.set(16,le.symbolBoolean),i.set(17,le.symbolArray),i.set(18,le.symbolObject),i.set(19,le.symbolKey),i.set(20,le.symbolNull),i.set(21,le.symbolEnumMember),i.set(22,le.symbolStruct),i.set(23,le.symbolEvent),i.set(24,le.symbolOperator),i.set(25,le.symbolTypeParameter);function t(r){let s=i.get(r);return s||(console.info("No codicon found for SymbolKind "+r),s=le.symbolProperty),s}o.toIcon=t;let e=new Map;e.set(0,20),e.set(1,8),e.set(2,8),e.set(3,8),e.set(4,5),e.set(5,0),e.set(6,9),e.set(7,3),e.set(8,2),e.set(9,15),e.set(10,7),e.set(11,1),e.set(12,4),e.set(13,14),e.set(14,18),e.set(15,13),e.set(16,13),e.set(17,13),e.set(18,13),e.set(19,17),e.set(20,13),e.set(21,16),e.set(22,6),e.set(23,10),e.set(24,11),e.set(25,24);function n(r){let s=e.get(r);return s===void 0&&(console.info("No completion kind found for SymbolKind "+r),s=20),s}o.toCompletionKind=n})(uP||={});var Es=class i{constructor(t){this.value=t}static{this.Comment=new i("comment")}static{this.Imports=new i("imports")}static{this.Region=new i("region")}static fromValue(t){switch(t){case"comment":return i.Comment;case"imports":return i.Imports;case"region":return i.Region}return new i(t)}};var pP;(t=>{function i(e){return!e||typeof e!="object"?!1:typeof e.id=="string"&&typeof e.title=="string"}t.is=i})(pP||={});var KQ=new Zb;var mP=(o=>(o[o.Left=1]="Left",o[o.Center=2]="Center",o[o.Right=4]="Right",o[o.Full=7]="Full",o))(mP||{});var Ed=class{constructor(t,e){this._findMatchBrand=void 0;this.range=t,this.matches=e}};var ty=class{constructor(t,e,n){this.regex=t,this.wordSeparators=e,this.simpleSearch=n}},ny=class{constructor(t,e,n){this.reverseEdits=t;this.changes=e;this.trimAutoWhitespaceLineNumbers=n}};var bu=(o=>(o[o.Hint=1]="Hint",o[o.Info=2]="Info",o[o.Warning=4]="Warning",o[o.Error=8]="Error",o))(bu||{});(a=>{function i(l,d){return d-l}a.compare=i;let t=Object.create(null);t[8]=p(2571,null),t[4]=p(2575,null),t[2]=p(2573,null);function e(l){return t[l]||""}a.toString=e;let n=Object.create(null);n[8]=p(2572,null),n[4]=p(2576,null),n[2]=p(2574,null);function o(l){return n[l]||""}a.toStringPlural=o;function r(l){switch(l){case je.Error:return 8;case je.Warning:return 4;case je.Info:return 2;case je.Ignore:return 1}}a.fromSeverity=r;function s(l){switch(l){case 8:return je.Error;case 4:return je.Warning;case 2:return je.Info;case 1:return je.Ignore}}a.toSeverity=s})(bu||={});var d5;(n=>{function t(o){return e(o,!0)}n.makeKey=t;function e(o,r){let s=[""];return o.source?s.push(o.source.replace("\xA6","\\\xA6")):s.push(""),o.code?typeof o.code=="string"?s.push(o.code.replace("\xA6","\\\xA6")):s.push(o.code.value.replace("\xA6","\\\xA6")):s.push(""),o.severity!==void 0&&o.severity!==null?s.push(bu.toString(o.severity)):s.push(""),o.message&&r?s.push(o.message.replace("\xA6","\\\xA6")):s.push(""),o.startLineNumber!==void 0&&o.startLineNumber!==null?s.push(o.startLineNumber.toString()):s.push(""),o.startColumn!==void 0&&o.startColumn!==null?s.push(o.startColumn.toString()):s.push(""),o.endLineNumber!==void 0&&o.endLineNumber!==null?s.push(o.endLineNumber.toString()):s.push(""),o.endColumn!==void 0&&o.endColumn!==null?s.push(o.endColumn.toString()):s.push(""),s.push(""),s.join("\xA6")}n.makeKeyOptionalMessage=e})(d5||={});var YQ=A("markerService");var c5=A("progressService");var iJ=Object.freeze({total(){},worked(){},done(){}}),Ua=class{constructor(t){this.callback=t}static{this.None=Object.freeze({report(){}})}get value(){return this._value}report(t){this._value=t,this.callback(this._value)}},oy=class extends V{constructor(e,n){super();this.deferred=new cn;n.withProgress(e,o=>(this.reporter=o,this.lastStep&&o.report(this.lastStep),this.deferred.p)),this._register(X(()=>this.deferred.complete()))}report(e){this.reporter?this.reporter.report(e):this.lastStep=e}};oy=R([S(1,c5)],oy);var sJ=A("editorProgressService");var gP=class{constructor(){this.data=new Map}add(t,e){Dn(Ae(t)),Dn(st(e)),Dn(!this.data.has(t),"There is already an extension with this id"),this.data.set(t,e)}knows(t){return this.data.has(t)}as(t){return this.data.get(t)||null}dispose(){this.data.forEach(t=>{NE(t.dispose)&&t.dispose()}),this.data.clear()}},Et=new gP;var fP=class extends V{constructor(e,n="",o="",r=!0,s){super();this._onDidChange=this._register(new w);this._enabled=!0;this._id=e,this._label=n,this._cssClass=o,this._enabled=r,this._actionCallback=s}get onDidChange(){return this._onDidChange.event}get id(){return this._id}get label(){return this._label}set label(e){this._setLabel(e)}_setLabel(e){this._label!==e&&(this._label=e,this._onDidChange.fire({label:e}))}get tooltip(){return this._tooltip||""}set tooltip(e){this._setTooltip(e)}_setTooltip(e){this._tooltip!==e&&(this._tooltip=e,this._onDidChange.fire({tooltip:e}))}get class(){return this._cssClass}set class(e){this._setClass(e)}_setClass(e){this._cssClass!==e&&(this._cssClass=e,this._onDidChange.fire({class:e}))}get enabled(){return this._enabled}set enabled(e){this._setEnabled(e)}_setEnabled(e){this._enabled!==e&&(this._enabled=e,this._onDidChange.fire({enabled:e}))}get checked(){return this._checked}set checked(e){this._setChecked(e)}_setChecked(e){this._checked!==e&&(this._checked=e,this._onDidChange.fire({checked:e}))}async run(e,n){this._actionCallback&&await this._actionCallback(e)}};var yL=class i{constructor(){this.id=i.ID;this.label="";this.tooltip="";this.class="separator";this.enabled=!1;this.checked=void 0}static join(...t){let e=[];for(let n of t)n.length&&(e.length?e=[...e,new i,...n]:e=n);return e}static clean(t){for(;t.length>0&&t[0].id===i.ID;)t.shift();for(;t.length>0&&t[t.length-1].id===i.ID;)t.pop();for(let e=t.length-2;e>=0;e--)t[e].id===i.ID&&t[e+1].id===i.ID&&t.splice(e+1,1);return t}static{this.ID="vs.actions.separator"}async run(){}},If=class{constructor(t,e,n,o){this.tooltip="";this.enabled=!0;this.checked=void 0;this.id=t,this.label=e,this.class=o,this._actions=n}get actions(){return this._actions}async run(){}},IL=class i extends fP{static{this.ID="vs.actions.empty"}constructor(){super(i.ID,p(46,null),void 0,!1)}};var u5={EditorPane:"workbench.contributions.editors",EditorFactory:"workbench.contributions.editor.inputFactories"},xP={id:"default",displayName:p(5818,null),providerDisplayName:p(5815,null)};function iy(i){if(ws(i))return!1;let t=i;return t?.original!==void 0&&t.modified!==void 0}function xL(i){if(ws(i))return!1;let t=i;return!t||t.resources&&!Array.isArray(t.resources)?!1:!!t.resources||!!t.multiDiffSource}function hP(i){if(ws(i)||iy(i))return!1;let t=i;return t?.primary!==void 0&&t.secondary!==void 0}function ry(i){if(ws(i))return!1;let t=i;return y.isUri(t?.base?.resource)&&y.isUri(t?.input1?.resource)&&y.isUri(t?.input2?.resource)&&y.isUri(t?.result?.resource)}var vP=class{constructor(){this.mapIdToSaveSource=new Map}registerSource(t,e){let n=this.mapIdToSaveSource.get(t);return n||(n={source:t,label:e},this.mapIdToSaveSource.set(t,n)),n.source}getSourceLabel(t){return this.mapIdToSaveSource.get(t)?.label??t}},UJ=new vP;var bP=class extends V{};function ws(i){return i instanceof bP}function p5(i){let t=i;return y.isUri(t?.preferredResource)}function m5(i){let t=i;return ws(t?.primary)&&ws(t?.secondary)}function SL(i){let t=i;return ws(t?.modified)&&ws(t?.original)}var yP=class{getOriginalUri(t,e){if(!t)return;if(ry(t))return CL.getOriginalUri(t.result,e);if(e?.supportSideBySide){let{primary:o,secondary:r}=this.getSideEditors(t);if(o&&r){if(e?.supportSideBySide===3)return{primary:this.getOriginalUri(o,{filterByScheme:e.filterByScheme}),secondary:this.getOriginalUri(r,{filterByScheme:e.filterByScheme})};if(e?.supportSideBySide===4)return this.getOriginalUri(o,{filterByScheme:e.filterByScheme})??this.getOriginalUri(r,{filterByScheme:e.filterByScheme});t=e.supportSideBySide===1?o:r}}if(iy(t)||xL(t)||hP(t)||ry(t))return;let n=p5(t)?t.preferredResource:t.resource;return!n||!e?.filterByScheme?n:this.filterUri(n,e.filterByScheme)}getSideEditors(t){return m5(t)||hP(t)?{primary:t.primary,secondary:t.secondary}:SL(t)||iy(t)?{primary:t.modified,secondary:t.original}:{primary:void 0,secondary:void 0}}getCanonicalUri(t,e){if(!t)return;if(ry(t))return CL.getCanonicalUri(t.result,e);if(e?.supportSideBySide){let{primary:o,secondary:r}=this.getSideEditors(t);if(o&&r){if(e?.supportSideBySide===3)return{primary:this.getCanonicalUri(o,{filterByScheme:e.filterByScheme}),secondary:this.getCanonicalUri(r,{filterByScheme:e.filterByScheme})};if(e?.supportSideBySide===4)return this.getCanonicalUri(o,{filterByScheme:e.filterByScheme})??this.getCanonicalUri(r,{filterByScheme:e.filterByScheme});t=e.supportSideBySide===1?o:r}}if(iy(t)||xL(t)||hP(t)||ry(t))return;let n=t.resource;return!n||!e?.filterByScheme?n:this.filterUri(n,e.filterByScheme)}filterUri(t,e){if(Array.isArray(e)){if(e.some(n=>t.scheme===n))return t}else if(e===t.scheme)return t}};var CL=new yP;var IP=class{constructor(){this.editorSerializerConstructors=new Map;this.editorSerializerInstances=new Map}start(t){let e=this.instantiationService=t.get(Po);for(let[n,o]of this.editorSerializerConstructors)this.createEditorSerializer(n,o,e);this.editorSerializerConstructors.clear()}createEditorSerializer(t,e,n){let o=n.createInstance(e);this.editorSerializerInstances.set(t,o)}registerFileEditorFactory(t){if(this.fileEditorFactory)throw new Error("Can only register one file editor factory.");this.fileEditorFactory=t}getFileEditorFactory(){return zr(this.fileEditorFactory)}registerEditorSerializer(t,e){if(this.editorSerializerConstructors.has(t)||this.editorSerializerInstances.has(t))throw new Error(`A editor serializer with type ID '${t}' was already registered.`);return this.instantiationService?this.createEditorSerializer(t,e,this.instantiationService):this.editorSerializerConstructors.set(t,e),X(()=>{this.editorSerializerConstructors.delete(t),this.editorSerializerInstances.delete(t)})}getEditorSerializer(t){return this.editorSerializerInstances.get(typeof t=="string"?t:t.typeId)}};Et.add(u5.EditorFactory,new IP);var CP;(a=>(a.CopilotCLI="copilotcli",a.CopilotCloud="copilot-cloud-agent",a.Local="local",a.ClaudeCode="claude-code",a.Codex="openai-codex",a.Growth="copilot-growth",a.AgentHostCopilot="agent-host-copilotcli"))(CP||={});var yu=CP.Local,g5;(o=>{function i(r){return new Map(Object.entries(r))}o.fromRecord=i;function t(r){let s=Object.create(null),a=n(r);for(let[l,d]of a)s[l]=d;return s}o.toRecord=t;function e(r){if(!r)return;let s=n(r);return Array.from(s,([a,l])=>({optionId:a,value:typeof l=="string"?l:l.id}))}o.toStrValueArray=e;function n(r){return r instanceof Map?r:Object.entries(r)}})(g5||={});var f5=A("chatSessionsService");var cr;(s=>{s.scheme=K.vscodeLocalChatSession;function t(a){let l=oo(te.wrap(new TextEncoder().encode(a)),!1,!0);return y.from({scheme:s.scheme,authority:yu,path:"/"+l})}s.forSession=t;function e(){let a=Math.floor(Math.random()*1e9);return t(`chat-${a}`)}s.getNewSessionUri=e;function n(a){let l=r(a);return l?.chatSessionType===yu?l.sessionId:void 0}s.parseLocalSessionId=n;function o(a){return!!n(a)}s.isLocalSession=o;function r(a){if(a.scheme!==s.scheme||!a.authority)return;let l=a.path.split("/");if(l.length!==2)return;let d=a.authority,c=go(l[1]);return{chatSessionType:d,sessionId:new TextDecoder().decode(c.buffer)}}})(cr||={});function Fa(i){let t=cr.parseLocalSessionId(i);return t||i.toString()}function wd(i){return i.scheme===K.vscodeChatEditor?yu:i.scheme===cr.scheme?i.authority||yu:i.scheme}function kd(i){return i.path.startsWith("/untitled-")}var xf;(r=>{r.icon=le.error;function t(s){return{filterUri:s.resource,owner:s.owner,problemMessage:s.message,filterRange:{startLineNumber:s.startLineNumber,endLineNumber:s.endLineNumber,startColumn:s.startColumn,endColumn:s.endColumn}}}r.fromMarker=t;function e(s){return{id:n(s),name:o(s),icon:r.icon,value:s,kind:"diagnostic",...s}}r.toEntry=e;function n(s){return[s.filterUri,s.owner,s.filterSeverity,s.filterRange?.startLineNumber,s.filterRange?.startColumn].join(":")}r.id=n;function o(s){let a;if((u=>(u[u.MaxChars=30]="MaxChars",u[u.MaxSpaceLookback=10]="MaxSpaceLookback"))(a||={}),s.problemMessage){if(s.problemMessage.length<30)return s.problemMessage;let d=s.problemMessage.lastIndexOf(" ",30);return d===-1||d+10<30?s.problemMessage.substring(0,30)+"\u2026":s.problemMessage.substring(0,d)+"\u2026"}let l=p(9744,null);return s.filterUri&&(l=p(9745,null,tt(s.filterUri))),l}r.label=o})(xf||={});var Ha;(n=>{function i(o){return y.isUri(o.value)?o.value:vL(o.value)?o.value.uri:void 0}n.toUri=i;function t(o){if(o.value instanceof Uint8Array){let r={...o};return r.value={$base64:oo(te.wrap(o.value))},r}return o}n.toExport=t;function e(o){if(o&&"values"in o&&Array.isArray(o.values))return{kind:"generic",id:o.id??"",name:o.name,value:o.values[0]?.value,range:o.range,modelDescription:o.modelDescription,references:o.references};if(o.value&&typeof o.value=="object"&&"$base64"in o.value&&typeof o.value.$base64=="string"){let r={...o};return r.value=go(o.value.$base64).buffer,r}return o}n.fromExport=e})(Ha||={});function TL(i){return i.kind==="implicit"}function EL(i){return i.kind==="string"}function wL(i){return i.kind==="image"}function Cf(i){return i.kind==="promptFile"}function kL(i){return i.kind==="promptText"}function PL(i){let t=i;return typeof t=="object"&&t!==null&&(typeof t.value=="string"||typeof t.value>"u")&&(typeof t.name=="string"||typeof t.name>"u")&&(t.resourceUri===void 0||y.isUri(t.resourceUri))&&(typeof t.name=="string"||y.isUri(t.resourceUri))&&(t.icon===void 0||Je.isThemeIcon(t.icon))&&y.isUri(t.uri)&&typeof t.handle=="number"}function Va(i,t,e,n=!1,o){return{id:`${t}__${i.toString()}`,name:`prompt:${tt(i)}`,value:i,kind:"promptFile",modelDescription:"Prompt instructions file",isRoot:t!=="vscode.instructions.file.reference",originLabel:e,toolReferences:o,automaticallyAdded:n}}function _L(i,t=!1,e){return{id:"vscode.customizations.index",name:"prompt:customizationsIndex",value:i,kind:"promptText",modelDescription:"Chat customizations index",automaticallyAdded:t,toolReferences:e}}function DL(i,t){return{kind:"tool",id:i.id,icon:Je.isThemeIcon(i.icon)?i.icon:void 0,name:i.displayName,value:void 0,range:t}}var Pd=class{constructor(t){this._ids=new Set;this._entries=[];t&&this.add(...t)}add(...t){for(let e of t)this._ids.has(e.id)||(this._ids.add(e.id),this._entries.push(e))}insertFirst(t){this._ids.has(t.id)||(this._ids.add(t.id),this._entries.unshift(t))}remove(t){this._ids.delete(t.id),this._entries=this._entries.filter(e=>e.id!==t.id)}has(t){return this._ids.has(t.id)}asArray(){return this._entries.slice(0)}get length(){return this._entries.length}};var zo,SP=globalThis.vscode;if(typeof SP<"u"&&typeof SP.context<"u"){let i=SP.context.configuration();if(i)zo=i.product;else throw new Error("Sandbox: unable to resolve product configuration from preload script.")}else if(globalThis._VSCODE_PRODUCT_JSON&&globalThis._VSCODE_PACKAGE_JSON){if(zo=globalThis._VSCODE_PRODUCT_JSON,or.VSCODE_DEV&&Object.assign(zo,{nameShort:`${zo.nameShort} Dev`,nameLong:`${zo.nameLong} Dev`,dataFolderName:`${zo.dataFolderName}-dev`,serverDataFolderName:zo.serverDataFolderName?`${zo.serverDataFolderName}-dev`:void 0}),!zo.version){let i=globalThis._VSCODE_PACKAGE_JSON;Object.assign(zo,{version:i.version})}}else zo={nameShort:"Code",nameLong:"Visual Studio Code",applicationName:"code",win32x64AppId:"{{EA457B21-F73E-494C-ACAB-524FDE069978}",win32arm64AppId:"{{A5270FC5-65AD-483E-AC30-2C276B63D0AC}",win32x64UserAppId:"{{771FD6B0-FA20-440A-A002-3B3BAC16DC50}",win32arm64UserAppId:"{{D9E514E7-1A56-452D-9337-2990C0DC4310}",win32NameVersion:"Microsoft Visual Studio Code",win32DirName:"Microsoft VS Code",win32SetupExeBasename:"VSCodeSetup",win32AppUserModelId:"Microsoft.VisualStudioCode",win32ShellNameShort:"Code",win32MutexName:"vscode",win32RegValueName:"VSCode",win32VersionedUpdate:!0,darwinCredits:"resources/darwin/Credits.rtf",darwinBundleIdentifier:"com.microsoft.VSCode",darwinSharedKeychainServiceName:"com.microsoft.VSCode.shared-secrets",darwinProfileUUID:"EBAE60D6-C8A2-4419-92FF-24F8AD5077AB",darwinProfilePayloadUUID:"C6B5723A-6539-4F31-8A4E-3CC96E51F48C",darwinExecutable:"VSCode",linuxIconName:"vscode",licenseFileName:"LICENSE.rtf",licenseName:"Multiple, see https://code.visualstudio.com/license",serverGreeting:[],serverLicense:["*","* Visual Studio Code Server","*","* By using the software, you agree to","* the Visual Studio Code Server License Terms (https://aka.ms/vscode-server-license) and","* the Microsoft Privacy Statement (https://privacy.microsoft.com/en-US/privacystatement).","*"],serverLicensePrompt:"Do you accept the terms in the License Agreement (Y/n)?",serverApplicationName:"code-server",urlProtocol:"vscode",dataFolderName:".vscode",sharedDataFolderName:".vscode-shared",serverDataFolderName:".vscode-server",downloadUrl:"https://code.visualstudio.com",updateUrl:"https://update.code.visualstudio.com",webUrl:"https://vscode.dev",webEndpointUrl:"https://main.vscode-cdn.net",webEndpointUrlTemplate:"https://{{uuid}}.vscode-cdn.net/{{quality}}/{{commit}}",nlsCoreBaseUrl:"https://www.vscode-unpkg.net/nls/",webviewContentExternalBaseUrlTemplate:"https://{{uuid}}.vscode-cdn.net/{{quality}}/{{commit}}/out/vs/workbench/contrib/webview/browser/pre/",quality:"stable",extensionsGallery:{nlsBaseUrl:"https://www.vscode-unpkg.net/_lp/",serviceUrl:"https://marketplace.visualstudio.com/_apis/public/gallery",itemUrl:"https://marketplace.visualstudio.com/items",publisherUrl:"https://marketplace.visualstudio.com/publishers",resourceUrlTemplate:"https://{publisher}.vscode-unpkg.net/{publisher}/{name}/{version}/{path}",extensionUrlTemplate:"https://www.vscode-unpkg.net/_gallery/{publisher}/{name}/latest",controlUrl:"https://main.vscode-cdn.net/extensions/marketplace.json",mcpUrl:"https://main.vscode-cdn.net/mcp/servers.json",accessSKUs:["copilot_enterprise_seat","copilot_enterprise_seat_quota","copilot_enterprise_seat_multi_quota","copilot_enterprise_seat_assignment","copilot_enterprise_seat_assignment_quota","copilot_enterprise_seat_assignment_multi_quota","copilot_enterprise_trial_seat","copilot_enterprise_trial_seat_quota","copilot_for_business_seat","copilot_for_business_seat_quota","copilot_for_business_seat_multi_quota","copilot_for_business_seat_assignment","copilot_for_business_seat_assignment_quota","copilot_for_business_seat_assignment_multi_quota","copilot_for_business_trial_seat","copilot_for_business_trial_seat_quota"]},mcpGallery:{serviceUrl:"https://api.mcp.github.com",itemWebUrl:"https://github.com/mcp/{name}",publisherUrl:"https://github.com/{name}",supportUrl:"https://support.github.com",privacyPolicyUrl:"https://docs.github.com/site-policy/privacy-policies/github-general-privacy-statement",termsOfServiceUrl:"https://docs.github.com/site-policy/github-terms/github-terms-of-service",reportUrl:"https://docs.github.com/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam"},extensionProperties:{"github.copilot-chat":{hasPrereleaseVersion:!1,excludeVersionRange:"<=0.16.1"},"github.copilot":{hasPrereleaseVersion:!0}},extensionsForceVersionByQuality:["github.copilot-chat","github.copilot"],builtInExtensions:[{name:"ms-vscode.js-debug-companion",version:"1.1.3",sha256:"7380a890787452f14b2db7835dfa94de538caf358ebc263f9d46dd68ac52de93",repo:"https://github.com/microsoft/vscode-js-debug-companion",metadata:{id:"99cb0b7f-7354-4278-b8da-6cc79972169d",publisherId:{publisherId:"5f5636e7-69ed-4afe-b5d6-8d231fb3d3ee",publisherName:"ms-vscode",displayName:"Microsoft",flags:"verified"},publisherDisplayName:"Microsoft"}},{name:"ms-vscode.js-debug",version:"1.117.0",sha256:"854eeb8a785b1f41ba2bd02d7ccd4fdbe10021b61473293973c7e96d036c7fb8",repo:"https://github.com/microsoft/vscode-js-debug",metadata:{id:"25629058-ddac-4e17-abba-74678e126c5d",publisherId:{publisherId:"5f5636e7-69ed-4afe-b5d6-8d231fb3d3ee",publisherName:"ms-vscode",displayName:"Microsoft",flags:"verified"},publisherDisplayName:"Microsoft"}},{name:"ms-vscode.vscode-js-profile-table",version:"1.0.10",sha256:"7361748ddf9fd09d8a2ed1f2a2d7376a2cf9aae708692820b799708385c38e08",repo:"https://github.com/microsoft/vscode-js-profile-visualizer",metadata:{id:"7e52b41b-71ad-457b-ab7e-0620f1fc4feb",publisherId:{publisherId:"5f5636e7-69ed-4afe-b5d6-8d231fb3d3ee",publisherName:"ms-vscode",displayName:"Microsoft",flags:"verified"},publisherDisplayName:"Microsoft"}},{name:"TypeScriptTeam.jsts-chat-features",version:"0.0.4",sha256:"b94b8703f136af2a0bc8801a805f66f74cfeeb714a26d3d9991624003f4348b6",metadata:{id:"7d881d23-233c-448d-9700-cf11a0de79c2",publisherId:{publisherId:"4f0355d2-4a53-4ab1-a8ea-507f4a333a6f",publisherName:"ms-vscode",displayName:"Microsoft",flags:"verified"},publisherDisplayName:"Microsoft"}}],profileTemplatesUrl:"https://main.vscode-cdn.net/core/profile-templates.json",emergencyAlertUrl:"https://main.vscode-cdn.net/core/stable.json",extensionPublisherOrgs:["microsoft"],trustedExtensionPublishers:["microsoft","github","openai"],extensionRecommendations:{"ms-vscode.vscode-chat-customizations-evaluations":{onFileOpen:[{pathGlob:"{**/*prompt.md, **/*skill.md, **/*instructions.md, **/*agent.md}",important:!1},{languages:["prompt","chatagent","skill","instructions"],important:!1}]},"ms-dotnettools.csdevkit":{onFileOpen:[{pathGlob:"{**/*.cs,**/global.json,**/*.csproj,**/*.cshtml,**/*.sln}",important:!0},{languages:["csharp"],important:!0},{pathGlob:"{**/project.json,**/appsettings.json}"}]},"microsoft-aspire.aspire-vscode":{onFileOpen:[{pathGlob:"{**/apphost.cs,**/apphost.js,**/apphost.ts,**/apphost.py,**/AppHost.java,**/aspire.config.json,**/.aspire/settings.json}",important:!0}]},"ms-python.python":{onFileOpen:[{pathGlob:"{**/*.py}",important:!0},{languages:["python"],important:!0},{pathGlob:"{**/*.ipynb}"}]},"ms-toolsai.jupyter":{onFileOpen:[{pathGlob:"{**/*.py}",contentPattern:"^#\\s*%%$",important:!0,whenInstalled:["ms-python.python"]},{pathGlob:"{**/*.ipynb}"}]},"ms-toolsai.datawrangler":{onFileOpen:[{pathGlob:"{**/*.ipynb}",contentPattern:"import\\s*pandas|from\\s*pandas",whenInstalled:["ms-toolsai.jupyter"]}]},"golang.Go":{onFileOpen:[{pathGlob:"**/*.go",important:!0},{languages:["go"],important:!0}]},"vscjava.vscode-java-pack":{onFileOpen:[{pathGlob:"{**/*.java}",important:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]},{languages:["java"],important:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]}]},"ms-vscode.PowerShell":{onFileOpen:[{pathGlob:"{**/*.ps1,**/*.psd1,**/*.psm1}",important:!0},{languages:["powershell"],important:!0},{pathGlob:"{**/*.ps.config,**/*.ps1.config}"}]},"ms-toolsai.prompty":{onFileOpen:[{pathGlob:"{**/*.prompty}",important:!1}]},"quantum.qsharp-lang-vscode":{onFileOpen:[{pathGlob:"{**/*.qs,**/*.qsc,**/*.qasm}",important:!0}]},"typespec.typespec-vscode":{onFileOpen:[{pathGlob:"{**/*.tsp,**/tspconfig.yaml}",important:!0}]},"ms-vscode.cpptools-extension-pack":{onFileOpen:[{pathGlob:"{**/*.c,**/*.cpp,**/*.cc,**/.cxx,**/*.hh,**/*.hpp,**/*.hxx,**/*.h}",important:!0,whenNotInstalled:["llvm-vs-code-extensions.vscode-clangd"]},{languages:["c","cpp"],important:!0,whenNotInstalled:["llvm-vs-code-extensions.vscode-clangd"]}]},"ms-azuretools.vscode-containers":{onFileOpen:[{pathGlob:"{**/dockerfile,**/Dockerfile,**/docker-compose.yml,**/docker-compose.*.yml}",important:!0,whenNotInstalled:["ms-azuretools.vscode-docker"]},{languages:["dockerfile"],important:!0,whenNotInstalled:["ms-azuretools.vscode-docker"]},{pathGlob:"{**/*.cs,**/project.json,**/global.json,**/*.csproj,**/*.cshtml,**/*.sln,**/appsettings.json,**/*.py,**/*.ipynb,**/*.js,**/*.ts,**/package.json}",whenNotInstalled:["ms-azuretools.vscode-docker"]}]},"vue.volar":{onFileOpen:[{pathGlob:"{**/*.vue}",important:!0},{languages:["vue"],important:!0}]},"ms-vscode.makefile-tools":{onFileOpen:[{pathGlob:"{**/makefile,**/Makefile}",important:!0},{languages:["makefile"],important:!0}]},"ms-vscode.cmake-tools":{onFileOpen:[{pathGlob:"{**/CMakeLists.txt}",important:!0}]},"ms-azure-devops.azure-pipelines":{onFileOpen:[{pathGlob:"{**/azure-pipelines.yaml}",important:!0}]},"msazurermtools.azurerm-vscode-tools":{onFileOpen:[{pathGlob:"{**/azuredeploy.json}",important:!0}]},"ms-vscode-remote.remote-containers":{onFileOpen:[{pathGlob:"{**/devcontainer.json}",important:!0}]},"ms-azuretools.vscode-bicep":{onFileOpen:[{pathGlob:"{**/*.bicep}",important:!0,whenNotInstalled:["ms-azuretools.rad-vscode-bicep"]}]},"svelte.svelte-vscode":{onFileOpen:[{pathGlob:"{**/*.svelte}",important:!0}]},"ms-vscode.vscode-github-issue-notebooks":{onFileOpen:[{pathGlob:"{**/*.github-issues}",important:!0}]},"ms-playwright.playwright":{onFileOpen:[{pathGlob:"{**/*playwright*.config.ts,**/*playwright*.config.js,**/*playwright*.config.mjs}",important:!0}]},"vscjava.vscode-gradle":{onFileOpen:[{pathGlob:"{**/gradlew,**/gradlew.bat,**/build.gradle,**/build.gradle.kts,**/settings.gradle,**/settings.gradle.kts}",important:!0}]},"REditorSupport.r":{onFileOpen:[{pathGlob:"{**/*.r}",important:!0},{languages:["r"],important:!0}]},"firefox-devtools.vscode-firefox-debug":{onFileOpen:[{pathGlob:"{**/*.ts,**/*.tsx,**/*.js,**/*.jsx,**/*.es6,**/.babelrc}"}]},"ms-edgedevtools.vscode-edge-devtools":{onFileOpen:[{pathGlob:"{**/*.ts,**/*.tsx,**/*.js,**/*.css,**/*.html}"}]},"Ionide.Ionide-fsharp":{onFileOpen:[{pathGlob:"{**/*.fsx,**/*.fsi,**/*.fs,**/*.ml,**/*.mli}"}]},"dbaeumer.vscode-eslint":{onFileOpen:[{pathGlob:"{**/*.js,**/*.jsx,**/*.es6,**/.eslintrc.*,**/.eslintrc,**/.babelrc,**/jsconfig.json}"}]},"bmewburn.vscode-intelephense-client":{onFileOpen:[{pathGlob:"{**/*.php,**/php.ini}"}]},"xdebug.php-debug":{onFileOpen:[{pathGlob:"{**/*.php,**/php.ini}"}]},"rust-lang.rust-analyzer":{onFileOpen:[{pathGlob:"{**/*.rs,**/*.rslib}"}]},"DavidAnson.vscode-markdownlint":{onFileOpen:[{pathGlob:"{**/*.md}"}]},"EditorConfig.EditorConfig":{onFileOpen:[{pathGlob:"{**/.editorconfig}"}]},"HookyQR.beautify":{onFileOpen:[{pathGlob:"{**/.jsbeautifyrc}"}]},"donjayamanne.githistory":{onFileOpen:[{pathGlob:"{**/.gitignore,**/.git}"}]},"eamodio.gitlens":{onFileOpen:[{pathGlob:"{**/.gitignore,**/.git}"}]},"Shopify.ruby-lsp":{onFileOpen:[{pathGlob:"{**/*.rb,**/*.erb,**/*.reek,**/.fasterer.yml,**/ruby-lint.yml,**/.rubocop.yml}"}]},"swiftlang.swift-vscode":{onFileOpen:[{pathGlob:"{**/*.swift,**/*.swiftinterface}",important:!0}]},"DotJoshJohnson.xml":{onFileOpen:[{pathGlob:"{**/*.xml}"}]},"stylelint.vscode-stylelint":{onFileOpen:[{pathGlob:"{**/.stylelintrc,**/stylelint.config.js}"}]},"ms-mssql.mssql":{onFileOpen:[{pathGlob:"{**/*.sql}"}]},"mtxr.sqltools":{onFileOpen:[{pathGlob:"{**/*.sql}"}]},"usqlextpublisher.usql-vscode-ext":{onFileOpen:[{pathGlob:"{**/*.usql}"}]},"ms-vscode.sublime-keybindings":{onFileOpen:[{pathGlob:"{**/.sublime-project,**/.sublime-workspace}"}]},"k--kato.intellij-idea-keybindings":{onFileOpen:[{pathGlob:"{**/.idea}"}]},"christian-kohler.npm-intellisense":{onFileOpen:[{pathGlob:"{**/package.json}"}]},"cake-build.cake-vscode":{onFileOpen:[{pathGlob:"{**/build.cake}"}]},"Angular.ng-template":{onFileOpen:[{pathGlob:"{**/.angular-cli.json,**/angular.json,**/*.ng.html,**/*.ng,**/*.ngml}"}]},"vscjava.vscode-maven":{onFileOpen:[{pathGlob:"**/pom.xml"}]},"ms-azuretools.vscode-azureterraform":{onFileOpen:[{pathGlob:"**/*.tf"}]},"HashiCorp.terraform":{onFileOpen:[{pathGlob:"**/*.tf"}]},"vsciot-vscode.vscode-arduino":{onFileOpen:[{pathGlob:"**/*.ino"}]},"ms-kubernetes-tools.vscode-kubernetes-tools":{onFileOpen:[{pathGlob:"{**/Chart.yaml}"}]},"Oracle.oracledevtools":{onFileOpen:[{pathGlob:"{**/*.sql}"}]},"betterthantomorrow.calva":{onFileOpen:[{pathGlob:"{**/*.clj,**/*.cljs}"}]},"vmware.vscode-boot-dev-pack":{onFileOpen:[{pathGlob:"{**/application.properties}"}]},"GitHub.copilot":{onFileOpen:[{pathGlob:"{**/*.ts,**/*.tsx,**/*.js,**/*.jsx,**/*.py,**/*.go,**/*.rb,**/*.html,**/*.css,**/*.php,**/*.cpp,**/*.vue,**/*.c,**/*.sql,**/*.java,**/*.cs,**/*.rs,**/*.dart,**/*.ps,**/*.ps1,**/*.tex}"}]},"GitHub.copilot-chat":{onSettingsEditorOpen:{descriptionOverride:"GitHub Copilot is an AI-powered coding assistant that helps you write code faster and smarter."}},"GitHub.vscode-github-actions":{onFileOpen:[{pathGlob:"{**/.github/workflows/*.yml}",important:!0}]},"circleci.circleci":{onFileOpen:[{pathGlob:"{**/.circleci/config.yml}"}]},"mechatroner.rainbow-csv":{onFileOpen:[{pathGlob:"**/*.csv",important:!0}]},"tomoki1207.pdf":{onFileOpen:[{pathGlob:"**/*.pdf",important:!0}]},"Redis.redis-for-vscode":{onFileOpen:[{pathGlob:"{**/redis.*,**/redis-server.*,**/redis_*,**/redisinsight.*}",important:!0}]},"SonarSource.sonarlint-vscode":{onFileOpen:[{pathGlob:"{**/sonar-project.properties,**/sonarcloud.properties,**/sonarlint.*}",important:!0}]}},onboardingKeymaps:[{id:"vscode",label:"VS Code",description:"Default keyboard mapping"},{id:"sublime",label:"Sublime Text",extensionId:"ms-vscode.sublime-keybindings",description:"Keyboard mapping from Sublime Text"},{id:"intellij",label:"IntelliJ / JetBrains",extensionId:"k--kato.intellij-idea-keybindings",description:"Keyboard mapping from IntelliJ IDEA"},{id:"vim",label:"Vim",extensionId:"vscodevim.vim",description:"Vim modal editing"},{id:"eclipse",label:"Eclipse",extensionId:"alphabotsec.vscode-eclipse-keybindings",description:"Keyboard mapping from Eclipse"},{id:"notepadpp",label:"Notepad++",extensionId:"ms-vscode.notepadplusplus-keybindings",description:"Keyboard mapping from Notepad++"}],onboardingThemes:[{id:"dark-2026",label:"Dark 2026",themeId:"Dark 2026",type:"dark"},{id:"hc-dark",label:"Dark High Contrast",themeId:"Default High Contrast",type:"hcDark"},{id:"solarized-dark",label:"Solarized Dark",themeId:"Solarized Dark",type:"dark"},{id:"light-2026",label:"Light 2026",themeId:"Light 2026",type:"light"},{id:"hc-light",label:"Light High Contrast",themeId:"Default High Contrast Light",type:"hcLight"},{id:"solarized-light",label:"Solarized Light",themeId:"Solarized Light",type:"light"}],keymapExtensionTips:["vscodevim.vim","ms-vscode.sublime-keybindings","ms-vscode.atom-keybindings","ms-vscode.brackets-keybindings","ms-vscode.vs-keybindings","ms-vscode.notepadplusplus-keybindings","k--kato.intellij-idea-keybindings","lfs.vscode-emacs-friendly","alphabotsec.vscode-eclipse-keybindings","alefragnani.delphi-keybindings"],languageExtensionTips:["ms-python.python","ms-vscode.cpptools-extension-pack","ms-dotnettools.csdevkit","ms-toolsai.jupyter","vscjava.vscode-java-pack","ecmel.vscode-html-css","vue.volar","bmewburn.vscode-intelephense-client","dsznajder.es7-react-js-snippets","golang.go","ms-vscode.powershell","dart-code.dart-code","rust-lang.rust-analyzer","Shopify.ruby-lsp","GitHub.copilot"],configBasedExtensionTips:{git:{configPath:".git/config",configName:"Git",recommendations:{"github.vscode-pull-request-github":{name:"GitHub Pull Request",contentPattern:"^\\s*url\\s*=\\s*https:\\/\\/github\\.com.*$"},"eamodio.gitlens":{name:"GitLens"}}},devContainer:{configPath:".devcontainer/devcontainer.json",configName:"Dev Container",recommendations:{"ms-vscode-remote.remote-containers":{name:"Dev Containers",important:!0}}},maven:{configPath:"pom.xml",configName:"Maven",recommendations:{"vscjava.vscode-java-pack":{name:"Java",important:!0,isExtensionPack:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]},"vmware.vscode-boot-dev-pack":{name:"Spring Boot Extension Pack",isExtensionPack:!0}}},gradle:{configPath:"build.gradle",configName:"Gradle",recommendations:{"vscjava.vscode-java-pack":{name:"Java",important:!0,isExtensionPack:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]}}},"github-pull-request":{configPath:".vscode/.github-pull-request.rec",configName:"GitHub",configScheme:"vscode-vfs",recommendations:{"github.vscode-pull-request-github":{name:"GitHub Pull Request",important:!0}}},"pyproject-formatter":{configPath:"pyproject.toml",configName:"Python Formatter",recommendations:{"ms-python.black-formatter":{name:"Black Formatter",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?black"?\\s*[\\].])|("black\\s*["[(<=>!~;@])'},"ms-python.autopep8":{name:"Autopep8",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?autopep8"?\\s*[\\].])|("autopep8\\s*["[(<=>!~;@])'}}},"pep8-formatter":{configPath:".pep8",configName:"Python Formatter",recommendations:{"ms-python.autopep8":{name:"Autopep8"}}},"python-setup-cgf-formatter":{configPath:"setup.cfg",configName:"Python Formatter",recommendations:{"ms-python.autopep8":{name:"Autopep8",contentPattern:"^\\[pep8\\]"}}},"tox-ini-formatter":{configPath:"tox.ini",configName:"Python Formatter",recommendations:{"ms-python.autopep8":{name:"Autopep8",contentPattern:"^\\[pep8\\]"}}},"pyproject-linter":{configPath:"pyproject.toml",configName:"Python Linter",recommendations:{"ms-python.pylint":{name:"Pylint",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?pylint"?\\s*[\\].])|("pylint\\s*["[(<=>!~;@])'},"charliermarsh.ruff":{name:"Ruff",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?ruff"?\\s*[\\].])|("ruff\\s*["[(<=>!~;@])'},"ms-python.mypy-type-checker":{name:"Mypy Type Checker",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?mypy"?\\s*[\\].])|("mypy\\s*["[(<=>!~;@])'},"ms-python.flake8":{name:"Flake8",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?flake8"?\\s*[\\].])|("flake8\\s*["[(<=>!~;@])'}}},".pylintrc-linter":{configPath:".pylintrc",configName:"Python Linter",recommendations:{"ms-python.pylint":{name:"Pylint"}}},"pylintrc-linter":{configPath:"pylintrc",configName:"Python Linter",recommendations:{"ms-python.pylint":{name:"Pylint"}}},"mypy-ini-linter":{configPath:".mypy.ini",configName:"Python Linter",recommendations:{"ms-python.mypy-type-checker":{name:"Mypy Type Checker"}}},"tox-ini-linter":{configPath:"tox.ini",configName:"Python Linter",recommendations:{"ms-python.flake8":{name:"Flake8",contentPattern:"^\\[flake8\\]"}}},".flake8-linter":{configPath:".flake8",configName:"Python Linter",recommendations:{"ms-python.flake8":{name:"Flake8"}}},"python-setup-cgf-linter":{configPath:"setup.cfg",configName:"Python Linter",recommendations:{"ms-python.flake8":{name:"Flake8",contentPattern:"^\\[flake8\\]"}}}},exeBasedExtensionTips:{az:{friendlyName:"Azure CLI",windowsPath:"%ProgramFiles(x86)%\\Microsoft SDKs\\Azure\\CLI2\\wbin\\az.cmd",recommendations:{"ms-vscode.vscode-node-azure-pack":{name:"Azure Tools"},"ms-azuretools.vscode-azure-github-copilot":{name:"GitHub Copilot for Azure"}}},azd:{friendlyName:"Azure Dev CLI",windowsPath:"%USERPROFILE%\\AppData\\Local\\Programs\\Azure Dev CLI\\azd.exe",recommendations:{"ms-vscode.vscode-node-azure-pack":{name:"Azure Tools"},"ms-azuretools.vscode-azure-github-copilot":{name:"GitHub Copilot for Azure"}}},"azd-user":{friendlyName:"Azure Dev CLI",windowsPath:"%ProgramFiles%\\Azure Dev CLI\\azd.exe",recommendations:{"ms-vscode.vscode-node-azure-pack":{name:"Azure Tools"},"ms-azuretools.vscode-azure-github-copilot":{name:"GitHub Copilot for Azure"}}},"azure-powershell":{friendlyName:"Azure PowerShell",windowsPath:"%USERPROFILE%\\.Azure",recommendations:{"ms-vscode.vscode-node-azure-pack":{name:"Azure Tools"}}},heroku:{friendlyName:"Heroku CLI",windowsPath:"%ProgramFiles%\\Heroku\\bin\\heroku.cmd",recommendations:{"ms-azuretools.vscode-azureappservice":{name:"Azure App Service"},"pkosta2005.heroku-command":{name:"heroku-cli"}}},mongo:{friendlyName:"Mongo",windowsPath:"%ProgramFiles%\\MongoDB\\Server\\3.6\\bin\\mongod.exe",recommendations:{"ms-azuretools.vscode-cosmosdb":{name:"Azure Databases"}}},serverless:{friendlyName:"Serverless framework",windowsPath:"%APPDATA%\\npm\\serverless.cmd",recommendations:{"ms-azuretools.vscode-azurefunctions":{name:"Azure Functions"}}},func:{friendlyName:"Azure Function SDK",windowsPath:"%APPDATA%\\npm\\func.cmd",recommendations:{"ms-azuretools.vscode-azurefunctions":{name:"Azure Functions"}}},mysql:{friendlyName:"MySQL",windowsPath:"%ProgramFiles%\\MySQL\\MySQL Server 8.0\\bin\\mysqld.exe",recommendations:{"mtxr.sqltools":{name:"SQLTools"}}},postgres:{friendlyName:"PostgreSQL",windowsPath:"%ProgramFiles%\\PostgreSQL\\11\\bin\\psql.exe",recommendations:{"ms-ossdata.vscode-postgresql":{name:"PostgreSQL"},"mtxr.sqltools":{name:"SQLTools"}}},sqlcmd:{friendlyName:"SQL CLI",recommendations:{"ms-mssql.mssql":{name:"SQL Server (mssql)"}}},now:{friendlyName:"Now CLI",windowsPath:"%APPDATA%\\npm\\now.cmd",recommendations:{"ms-azuretools.vscode-azureappservice":{name:"Azure App Service"},"ms-azuretools.vscode-containers":{name:"Docker"}}},docker:{friendlyName:"Docker",windowsPath:"%ProgramFiles%\\Docker\\Docker\\Resources\\bin\\docker.exe",recommendations:{"ms-azuretools.vscode-containers":{name:"Docker",important:!0,whenNotInstalled:["ms-azuretools.vscode-docker"]},"ms-vscode-remote.remote-containers":{name:"Dev Containers",important:!0},"ms-kubernetes-tools.vscode-kubernetes-tools":{name:"Kubernetes"}}},kubectl:{friendlyName:"Kubernetes",windowsPath:"%ProgramFiles%\\Docker\\Docker\\Resources\\bin\\kubectl.exe",recommendations:{"ms-azuretools.vscode-containers":{name:"Docker"},"ms-kubernetes-tools.vscode-kubernetes-tools":{name:"Kubernetes"},"ms-vscode-remote.remote-containers":{name:"Dev Containers"}}},ng:{friendlyName:"Angular CLI",windowsPath:"%APPDATA%\\npmexit\\ng.cmd",recommendations:{"johnpapa.Angular2":{name:"Angular Snippets"}}},"create-react-app":{friendlyName:"Create React App",windowsPath:"%APPDATA%\\npm\\create-react-app.cmd",recommendations:{"msjsdiag.vscode-react-native":{name:"React Native Tools"}}},"react-native":{friendlyName:"React Native",windowsPath:"%APPDATA%\\npm\\react-native-cli",recommendations:{"msjsdiag.vscode-react-native":{name:"React Native Tools"}}},p4:{friendlyName:"Perforce",recommendations:{"slevesque.perforce":{name:"Perforce for VS Code"}}},hg:{friendlyName:"Mercurial",recommendations:{"mrcrowl.hg":{name:"Hg"}}},git:{friendlyName:"Git",windowsPath:"%ProgramFiles%\\Git\\git-bash.exe",recommendations:{"eamodio.gitlens":{name:"GitLens"}}},svn:{friendlyName:"Subversion",windowsPath:"%ProgramFiles%\\TortoiseSVN\\bin\\TortoiseProc.exe",recommendations:{"johnstoncode.svn-scm":{name:"SVN"}}},subl:{friendlyName:"Sublime",windowsPath:"%ProgramFiles%\\Sublime Text3\\sublime_text.exe",recommendations:{"ms-vscode.sublime-keybindings":{name:"Sublime Text Keymap and Settings Importer"}}},atom:{friendlyName:"Atom",windowsPath:"%USERPROFILE%\\AppData\\Local\\atom\\bin\\atom.cmd",recommendations:{"ms-vscode.atom-keybindings":{name:"Atom Keymap"}}},brackets:{friendlyName:"Brackets",windowsPath:"%ProgramFiles(x86)%\\Brackets\\Brackets.exe",recommendations:{"ms-vscode.brackets-keybindings":{name:"Brackets Keymap"}}},notepadplusplus:{friendlyName:"Notepad++",windowsPath:"%ProgramFiles%\\Notepad++\\Notepad++.exe",recommendations:{"ms-vscode.notepadplusplus-keybindings":{name:"Notepad++ keymap"}}},vi:{friendlyName:"VIM",windowsPath:"%ProgramFiles(x86)%\\Vim\\vim80\\gvim.exe",recommendations:{"vscodevim.vim":{name:"Vim"}}},mvn:{friendlyName:"Maven",recommendations:{"vscjava.vscode-java-pack":{name:"Java",important:!0,isExtensionPack:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]}}},gradle:{friendlyName:"Gradle",recommendations:{"vscjava.vscode-java-pack":{name:"Java",important:!0,isExtensionPack:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]}}},ollama:{friendlyName:"Ollama",windowsPath:"%USERPROFILE%\\AppData\\Local\\Programs\\Ollama\\ollama.exe",recommendations:{"ms-windows-ai-studio.windows-ai-studio":{name:"AI Toolkit for Visual Studio Code"}}},"Microsoft Edge":{friendlyName:"Microsoft Edge",windowsPath:"%USERPROFILE%\\AppData\\Local\\Microsoft\\Edge\\Application\\msedge.exe",recommendations:{"ms-edgedevtools.vscode-edge-devtools":{name:"Microsoft Edge Developer Tools"}}},"Microsoft Edge Dev":{friendlyName:"Microsoft Edge Dev",windowsPath:"%USERPROFILE%\\AppData\\Local\\Microsoft\\Edge Dev\\Application\\msedge.exe",recommendations:{"ms-edgedevtools.vscode-edge-devtools":{name:"Microsoft Edge Developer Tools"}}},"Microsoft Edge Beta":{friendlyName:"Microsoft Edge Beta",windowsPath:"%USERPROFILE%\\AppData\\Local\\Microsoft\\Edge Beta\\Application\\msedge.exe",recommendations:{"ms-edgedevtools.vscode-edge-devtools":{name:"Microsoft Edge Developer Tools"}}},"Microsoft Edge Canary":{friendlyName:"Microsoft Edge Canary",windowsPath:"%USERPROFILE%\\AppData\\Local\\Microsoft\\Edge SxS\\Application\\msedge.exe",recommendations:{"ms-edgedevtools.vscode-edge-devtools":{name:"Microsoft Edge Developer Tools"}}},"Mozilla Firefox (x86)":{friendlyName:"Mozilla Firefox",windowsPath:"%ProgramFiles(x86)%\\Mozilla Firefox\\firefox.exe",recommendations:{"firefox-devtools.vscode-firefox-debug":{name:"Debugger for Firefox"}}},"Mozilla Firefox Developer Edition (x86)":{friendlyName:"Mozilla Firefox Developer Edition",windowsPath:"%ProgramFiles(x86)%\\Firefox Developer Edition\\firefox.exe",recommendations:{"firefox-devtools.vscode-firefox-debug":{name:"Debugger for Firefox"}}},"Mozilla Firefox":{friendlyName:"Mozilla Firefox",windowsPath:"%ProgramFiles%\\Mozilla Firefox\\firefox.exe",recommendations:{"firefox-devtools.vscode-firefox-debug":{name:"Debugger for Firefox"}}},"Mozilla Firefox Developer Edition":{friendlyName:"Mozilla Firefox Developer Edition",windowsPath:"%ProgramFiles%\\Firefox Developer Edition\\firefox.exe",recommendations:{"firefox-devtools.vscode-firefox-debug":{name:"Debugger for Firefox"}}},cordova:{friendlyName:"Cordova",windowsPath:"%APPDATA%\\npm\\cordova",recommendations:{"msjsdiag.cordova-tools":{name:"Cordova Tools"}}},gcloud:{friendlyName:"Google GCloud CLI",windowsPath:"%ProgramFiles(x86)%\\Google\\Cloud SDK\\google-cloud-sdk\\bin\\gcloud.cmd",recommendations:{"GoogleCloudTools.cloudcode":{name:"Cloud Code"}}},skaffold:{friendlyName:"Skaffold Code to Cluster",recommendations:{"ms-azuretools.vscode-containers":{name:"Docker"},"ms-kubernetes-tools.vscode-kubernetes-tools":{name:"Kubernetes"}}},minikube:{friendlyName:"MiniKube Local Kubernetes Cluster",recommendations:{"ms-azuretools.vscode-containers":{name:"Docker"},"ms-kubernetes-tools.vscode-kubernetes-tools":{name:"Kubernetes"},"ms-vscode-remote.remote-containers":{name:"Dev Containers"}}},podman:{friendlyName:"Podman",recommendations:{"ms-vscode-remote.remote-containers":{name:"Dev Containers"}}},wsl:{friendlyName:"Windows Subsystem for Linux (WSL)",windowsPath:"%WINDIR%\\system32\\lxss\\LxssManager.dll",recommendations:{"ms-vscode-remote.remote-wsl":{name:"WSL"}}}},webExtensionTips:["tyriar.luna-paint","codespaces-contrib.codeswing","ms-vscode.vscode-github-issue-notebooks","esbenp.prettier-vscode","hediet.vscode-drawio"],virtualWorkspaceExtensionTips:{"vscode-vfs":{friendlyName:"Remote Repositories",extensionId:"ms-vscode.remote-repositories",startEntry:{helpLink:"https://aka.ms/vscode-remote/remote-repositories",startConnectLabel:"Remote Repository",startCommand:"remoteHub.continueOn.openRepository",priority:5}}},remoteExtensionTips:{wsl:{friendlyName:"WSL",extensionId:"ms-vscode-remote.remote-wsl",supportedPlatforms:["Windows","Web"],startEntry:{helpLink:"https://aka.ms/vscode-remote/wsl",startConnectLabel:"WSL",startCommand:"remote-wsl.connect",priority:3}},"ssh-remote":{friendlyName:"Remote - SSH",extensionId:"ms-vscode-remote.remote-ssh",supportedPlatforms:["Windows","Linux","Mac"],startEntry:{helpLink:"https://aka.ms/vscode-remote/ssh",startConnectLabel:"SSH ",startCommand:"opensshremotes.openEmptyWindowInCurrentWindow",priority:1}},"dev-container":{friendlyName:"Dev Containers",extensionId:"ms-vscode-remote.remote-containers",supportedPlatforms:["Windows","Linux","Mac"],startEntry:{helpLink:"https://aka.ms/vscode-remote/containers",startConnectLabel:"Dev Container",startCommand:"remote-containers.reopenInContainer",priority:2}},"attached-container":{friendlyName:"Dev Containers",extensionId:"ms-vscode-remote.remote-containers"},codespaces:{friendlyName:"GitHub Codespaces",extensionId:"github.codespaces",startEntry:{helpLink:"https://aka.ms/vscode-remote-codespaces",startConnectLabel:"GitHub Codespace ",startCommand:"github.codespaces.connect",priority:4}},tunnel:{friendlyName:"Remote - Tunnels",extensionId:"ms-vscode.remote-server",startEntry:{helpLink:"https://aka.ms/remote-tunnels-doc",startConnectLabel:"Tunnel",startCommand:"remote-tunnels.connectCurrentWindowToTunnel",priority:0}},amlext:{friendlyName:"Azure Machine Learning",extensionId:"ms-toolsai.vscode-ai-remote"}},commandPaletteSuggestedCommandIds:["workbench.action.files.openFile","workbench.action.files.openFileFolder","workbench.action.files.openFolder","workbench.action.remote.showMenu","editor.action.formatDocument","editor.action.commentLine","workbench.action.tasks.runTask","workbench.action.openSettings2","workbench.action.selectTheme","workbench.action.openWalkthrough","workbench.action.openIssueReporter"],extensionKeywords:{md:["Markdown"],js:["JavaScript"],jsx:["JavaScript"],es6:["JavaScript"],html:["Html"],ts:["TypeScript"],tsx:["TypeScript"],css:["CSS"],scss:["SASS"],txt:["Text"],php:["PHP"],php3:["PHP"],php4:["PHP"],ph3:["PHP"],ph4:["PHP"],xml:["XML"],py:["Python"],pyc:["Python"],pyd:["Python"],pyo:["Python"],pyw:["Python"],pyz:["Python"],java:["Java"],class:["Java"],jar:["Java"],c:["c","objective c","objective-c"],m:["objective c","objective-c"],mm:["objective c","objective-c"],cpp:["cpp","c plus plus","c","c++"],cc:["cpp","c plus plus","c","c++"],cxx:["cpp","c plus plus","c++"],hh:["cpp","c plus plus","c++"],hpp:["cpp","c++"],h:["cpp","c plus plus","c++","c","objective c","objective-c"],sql:["sql"],sh:["bash"],bash:["bash"],zsh:["bash","zshell"],cs:["c#","csharp"],csproj:["c#","csharp"],sln:["c#","csharp"],go:["go"],sty:["latex"],tex:["latex"],ps:["powershell"],ps1:["powershell"],rs:["rust"],rslib:["rust"],hs:["haskell"],lhs:["haskell"],scm:["scheme"],ss:["scheme"],clj:["clojure"],cljs:["clojure"],cljc:["clojure"],edn:["clojure"],erl:["erlang"],hrl:["erlang"],scala:["scala"],sc:["scala"],pl:["perl"],pm:["perl"],t:["perl"],pod:["perl"],groovy:["groovy"],swift:["swift"],rb:["ruby"],rbw:["ruby"],jl:["julia"],f:["fortran"],for:["fortran"],f90:["fortran"],f95:["fortran"],coffee:["CoffeeScript"],litcoffee:["CoffeeScript"],yaml:["yaml"],yml:["yaml"],dart:["dart"],json:["json"]},extensionAllowedBadgeProviders:["api.travis-ci.com","app.fossa.io","badge.buildkite.com","badge.fury.io","badgen.net","badges.frapsoft.com","badges.gitter.im","cdn.travis-ci.com","ci.appveyor.com","circleci.com","cla.opensource.microsoft.com","codacy.com","codeclimate.com","codecov.io","coveralls.io","david-dm.org","deepscan.io","dev.azure.com","docs.rs","flat.badgen.net","gitlab.com","godoc.org","goreportcard.com","img.shields.io","isitmaintained.com","marketplace.visualstudio.com","nodesecurity.io","opencollective.com","snyk.io","travis-ci.com","travis-ci.org","visualstudio.com","vsmarketplacebadge.apphb.com"],extensionAllowedBadgeProvidersRegex:["^https:\\/\\/github\\.com\\/[^/]+\\/[^/]+\\/(actions\\/)?workflows\\/.*badge\\.svg"],crashReporter:{productName:"VSCode",companyName:"Microsoft"},appCenter:{"win32-x64":"appcenter://code?aid=a4e3233c-699c-46ec-b4f4-9c2a77254662","win32-arm64":"appcenter://code?aid=3712d786-7cc8-4f11-8b08-cc12eab6d4f7","linux-x64":"appcenter://code?aid=fba07a4d-84bd-4fc8-a125-9640fc8ce171",darwin:"appcenter://code?aid=860d6632-f65b-490b-85a8-3e72944f7774","darwin-arm64":"appcenter://code?aid=be71415d-3893-4ae5-b453-e537b9668a10","darwin-universal":"appcenter://code?aid=de75e3cc-e22f-4f42-a03f-1409c21d8af8"},enableTelemetry:!0,aiConfig:{ariaKey:"5bbf946d11a54f6783919c455abaddaf-fd62977b-c92d-4714-a45d-649d06980372-7168"},msftInternalDomains:["redmond.corp.microsoft.com","northamerica.corp.microsoft.com","fareast.corp.microsoft.com","ntdev.corp.microsoft.com","wingroup.corp.microsoft.com","southpacific.corp.microsoft.com","wingroup.windeploy.ntdev.microsoft.com","ddnet.microsoft.com","europe.corp.microsoft.com"],documentationUrl:"https://go.microsoft.com/fwlink/?LinkID=533484#vscode",serverDocumentationUrl:"https://aka.ms/vscode-server-doc",releaseNotesUrl:"https://go.microsoft.com/fwlink/?LinkID=533483#vscode",keyboardShortcutsUrlMac:"https://go.microsoft.com/fwlink/?linkid=832143",keyboardShortcutsUrlLinux:"https://go.microsoft.com/fwlink/?linkid=832144",keyboardShortcutsUrlWin:"https://go.microsoft.com/fwlink/?linkid=832145",introductoryVideosUrl:"https://go.microsoft.com/fwlink/?linkid=832146",tipsAndTricksUrl:"https://go.microsoft.com/fwlink/?linkid=852118",newsletterSignupUrl:"https://www.research.net/r/vsc-newsletter",youTubeUrl:"https://aka.ms/vscode-youtube",requestFeatureUrl:"https://go.microsoft.com/fwlink/?LinkID=533482",reportIssueUrl:"https://github.com/Microsoft/vscode/issues/new",reportMarketplaceIssueUrl:"https://github.com/microsoft/vsmarketplace/issues/new",licenseUrl:"https://go.microsoft.com/fwlink/?LinkID=533485",serverLicenseUrl:"https://aka.ms/vscode-server-license",privacyStatementUrl:"https://go.microsoft.com/fwlink/?LinkId=521839",showTelemetryOptOut:!0,npsSurveyUrl:"https://aka.ms/vscode-nps",checksumFailMoreInfoUrl:"https://go.microsoft.com/fwlink/?LinkId=828886",electronRepository:"Microsoft/vscode-electron-prebuilt",nodejsRepository:"Microsoft/vscode-node",settingsSearchUrl:"https://bingsettingssearch.trafficmanager.net/api/Search",surveys:[{surveyId:"cpp.1",surveyUrl:"https://www.research.net/r/VBVV6C6",languageId:"cpp",editCount:10,userProbability:.15},{surveyId:"java.2",surveyUrl:"https://www.research.net/r/vscodejava",languageId:"java",editCount:10,userProbability:.3},{surveyId:"javascript.1",surveyUrl:"https://www.research.net/r/vscode-js",languageId:"javascript",editCount:10,userProbability:.05},{surveyId:"typescript.1",surveyUrl:"https://www.research.net/r/vscode-ts",languageId:"typescript",editCount:10,userProbability:.05},{surveyId:"csharp.1",surveyUrl:"https://www.research.net/r/8KGJ9V8",languageId:"csharp",editCount:10,userProbability:.1}],extensionsEnabledWithApiProposalVersion:["GitHub.copilot-chat","ms-vscode.vscode-commander","ms-vscode.vscode-copilot-vision","GitHub.vscode-pull-request-github"],extensionEnabledApiProposals:{"mrleemurray.theme-2026":["css"],"ms-azuretools.vscode-containers":["authenticationChallenges"],"ms-azuretools.vscode-azureresourcegroups":["authenticationChallenges"],"ms-azuretools.vscode-azure-github-copilot":["authenticationChallenges"],"ms-azuretools.vscode-dev-azurecloudshell":["contribEditSessions","authenticationChallenges"],"ms-toolsai.vscode-ai":["authenticationChallenges"],"TeamsDevApp.vscode-ai-foundry":["authenticationChallenges"],"ms-vscode.vscode-selfhost-test-provider":["testObserver","testRelatedCode"],"VisualStudioExptTeam.vscodeintellicode-completions":["inlineCompletionsAdditions"],"ms-vsliveshare.vsliveshare":["contribMenuBarHome","contribShareMenu","contribStatusBarItems","diffCommand","documentFiltersExclusive","fileSearchProvider","findTextInFiles","notebookLiveShare","terminalDimensions","terminalDataWriteEvent","textSearchProvider"],"ms-vscode.js-debug":["portsAttributes","findTextInFiles","workspaceTrust","tunnels","browser"],"ms-toolsai.vscode-ai-remote":["resolvers","authenticationChallenges"],"ms-python.python":["codeActionAI","contribEditorContentMenu","quickPickSortByLabel","portsAttributes","testObserver","quickPickItemTooltip","terminalDataWriteEvent","terminalExecuteCommandEvent","notebookReplDocument","notebookVariableProvider","terminalShellEnv"],"ms-python.vscode-python-envs":["terminalShellEnv","terminalDataWriteEvent","taskExecutionTerminal"],"ms-dotnettools.dotnet-interactive-vscode":["notebookMessaging"],"GitHub.codespaces":["contribEditSessions","contribMenuBarHome","contribRemoteHelp","contribViewsRemote","resolvers","tunnels","terminalDataWriteEvent","treeViewReveal","notebookKernelSource"],"ms-vscode.azure-repos":["extensionRuntime","fileSearchProvider","textSearchProvider"],"ms-vscode.remote-repositories":["canonicalUriProvider","contribEditSessions","contribRemoteHelp","contribMenuBarHome","contribViewsRemote","contribViewsWelcome","contribShareMenu","documentFiltersExclusive","editSessionIdentityProvider","extensionRuntime","fileSearchProvider","quickPickSortByLabel","workspaceTrust","shareProvider","scmActionButton","scmSelectedProvider","scmValidation","textSearchProvider","timeline"],"ms-vscode-remote.remote-wsl":["resolvers","contribRemoteHelp","contribViewsRemote","telemetry"],"ms-vscode-remote.remote-ssh":["resolvers","tunnels","terminalDataWriteEvent","contribRemoteHelp","contribViewsRemote","telemetry"],"ms-vscode.remote-server":["resolvers","tunnels","contribViewsWelcome"],"ms-vscode.remote-explorer":["contribRemoteHelp","contribViewsRemote","extensionsAny"],"ms-vscode-remote.remote-containers":["contribEditSessions","resolvers","portsAttributes","tunnels","workspaceTrust","terminalDimensions","contribRemoteHelp","contribViewsRemote"],"ms-vscode.js-debug-nightly":["portsAttributes","findTextInFiles","workspaceTrust","tunnels","browser"],"ms-vscode.lsif-browser":["documentFiltersExclusive"],"ms-vscode.vscode-speech":["speech"],"GitHub.vscode-pull-request-github":["activeComment","chatContextProvider","chatParticipantAdditions","chatParticipantPrivate","chatSessionsProvider","codiconDecoration","codeActionRanges","commentingRangeHint","commentReactor","commentReveal","commentsDraftState","commentThreadApplicability","contribAccessibilityHelpContent","contribCommentEditorActionsMenu","contribCommentPeekContext","contribCommentThreadAdditionalMenu","contribCommentsViewThreadMenus","contribEditorContentMenu","contribMultiDiffEditorMenus","contribShareMenu","diffCommand","languageModelToolResultAudience","markdownAlertSyntax","quickDiffProvider","remoteCodingAgents","shareProvider","tabInputMultiDiff","tabInputTextMerge","tokenInformation","treeItemMarkdownLabel","treeViewMarkdownMessage"],"GitHub.copilot":["inlineCompletionsAdditions","devDeviceId"],"GitHub.copilot-nightly":["inlineCompletionsAdditions","devDeviceId"],"GitHub.copilot-chat":["agentSessionsWorkspace","agentsWindowConfiguration","interactive","terminalDataWriteEvent","terminalExecuteCommandEvent","terminalSelection","terminalQuickFixProvider","chatParticipantAdditions","defaultChatParticipant","embeddings","chatProvider","mappedEditsProvider","aiRelatedInformation","aiSettingsSearch","codeActionAI","findTextInFiles","findTextInFiles2","textSearchProvider","textSearchProvider2","activeComment","commentReveal","contribSourceControlInputBoxMenu","contribCommentEditorActionsMenu","contribCommentThreadAdditionalMenu","contribCommentsViewThreadMenus","contribChatEditorInlineGutterMenu","extensionAffinity","newSymbolNamesProvider","findFiles2","chatReferenceDiagnostic","extensionsAny","authLearnMore","testObserver","aiTextSearchProvider","documentFiltersExclusive","chatParticipantPrivate","contribDebugCreateConfiguration","inlineCompletionsAdditions","chatReferenceBinaryData","languageModelSystem","languageModelCapabilities","languageModelThinkingPart","languageModelToolSupportsModel","chatStatusItem","taskProblemMatcherStatus","contribLanguageModelToolSets","textDocumentChangeReason","resolvers","taskExecutionTerminal","dataChannels","chatSessionsProvider","chatSessionCustomizationProvider","devDeviceId","contribEditorContentMenu","tokenInformation","toolInvocationApproveCombination","chatPromptFiles","mcpServerDefinitions","tabInputMultiDiff","workspaceTrust","chatHooks","chatDebug","environmentPower","terminalTitle","languageModelPricing","chatInputNotification"],"GitHub.remotehub":["contribRemoteHelp","contribMenuBarHome","contribViewsRemote","contribViewsWelcome","documentFiltersExclusive","extensionRuntime","fileSearchProvider","quickPickSortByLabel","workspaceTrust","scmSelectedProvider","scmValidation","textSearchProvider","timeline"],"ms-python.vscode-pylance":["terminalShellEnv","portsAttributes","codeActionAI"],"ms-python.debugpy":["contribViewsWelcome","debugVisualization","portsAttributes"],"ms-toolsai.jupyter-renderers":["contribNotebookStaticPreloads"],"ms-toolsai.jupyter":["notebookDeprecated","notebookMessaging","notebookMime","portsAttributes","quickPickSortByLabel","notebookKernelSource","interactiveWindow","notebookControllerAffinityHidden","contribNotebookStaticPreloads","quickPickItemTooltip","notebookExecution","notebookCellExecution","notebookVariableProvider","notebookReplDocument"],"donjayamanne.kusto":["notebookVariableProvider"],"ms-toolsai.tensorboard":["portsAttributes"],"dbaeumer.vscode-eslint":[],"ms-vscode.azure-sphere-tools-ui":["tunnels"],"ms-azuretools.vscode-azureappservice":["terminalDataWriteEvent"],"ms-vscode.anycode":["extensionsAny"],"ms-vscode.cpptools":["terminalDataWriteEvent","chatParticipantAdditions"],"vscjava.vscode-java-pack":[],"ms-dotnettools.csdevkit":["inlineCompletionsAdditions"],"ms-dotnettools.vscodeintellicode-csharp":["inlineCompletionsAdditions"],"ms-dotnettools.vscode-dotnet-modernize":["chatParticipantAdditions","chatPromptFiles"],"microsoft-IsvExpTools.powerplatform-vscode":["fileSearchProvider","textSearchProvider"],"microsoft-IsvExpTools.powerplatform-vscode-preview":["fileSearchProvider","textSearchProvider"],"TeamsDevApp.ms-teams-vscode-extension":["chatParticipantAdditions","languageModelSystem","mcpServerDefinitions"],"ms-toolsai.datawrangler":[],"ms-vscode.vscode-commander":[],"ms-vscode.vscode-websearchforcopilot":[],"ms-vscode.vscode-copilot-vision":["chatReferenceBinaryData","codeActionAI"],"ms-autodev.vscode-autodev":["chatParticipantAdditions"],"vscjava.migrate-java-to-azure":["chatParticipantAdditions","chatParticipantPrivate"],"vscjava.vscode-java-upgrade":["chatParticipantAdditions","chatParticipantPrivate"],"FoundryLocal.foundry-local-chat":["chatProvider"],"Microsoft.foundry-local-chat":["chatProvider"],"ms-wmcp.windows-mcp-server-extension":["mcpToolDefinitions"],"openai.chatgpt":["languageModelProxy","chatSessionsProvider"],"TypeScriptTeam.native-preview":["editorHoverVerbosityLevel","multiDocumentHighlightProvider"],"ms-vscode.vscode-eng-codereview":["chatContextProvider"],"ms-vscode.vscode-chat-customizations-evaluations":["chatSessionCustomizationProvider","contribEditorContentMenu"]},tasConfig:{endpoint:"https://default.exp-tas.com/vscode/ab",telemetryEventName:"query-expfeature",assignmentContextTelemetryPropertyName:"abexp.assignmentcontext"},extensionKind:{"Shan.code-settings-sync":["ui"],"shalldie.background":["ui"],"techer.open-in-browser":["ui"],"CoenraadS.bracket-pair-colorizer-2":["ui"],"CoenraadS.bracket-pair-colorizer":["ui","workspace"],"hiro-sun.vscode-emacs":["ui","workspace"],"hnw.vscode-auto-open-markdown-preview":["ui","workspace"],"wayou.vscode-todo-highlight":["ui","workspace"],"aaron-bond.better-comments":["ui","workspace"],"vscodevim.vim":["ui"],"ollyhayes.colmak-vim":["ui"]},extensionPointExtensionKind:{typescriptServerPlugins:["workspace"]},extensionSyncedKeys:{"ritwickdey.liveserver":["liveServer.setup.version"]},extensionVirtualWorkspacesSupport:{"esbenp.prettier-vscode":{default:!1},"msjsdiag.debugger-for-chrome":{default:!1},"redhat.java":{default:!1},"HookyQR.beautify":{default:!1},"ritwickdey.LiveServer":{default:!1},"VisualStudioExptTeam.vscodeintellicode":{default:!1},"octref.vetur":{default:!1},"formulahendry.code-runner":{default:!1},"xdebug.php-debug":{default:!1},"ms-mssql.mssql":{default:!1},"christian-kohler.path-intellisense":{default:!1},"eg2.tslint":{default:!1},"eg2.vscode-npm-script":{default:!1},"donjayamanne.githistory":{default:!1},"Zignd.html-css-class-completion":{default:!1},"christian-kohler.npm-intellisense":{default:!1},"EditorConfig.EditorConfig":{default:!1},"austin.code-gnu-global":{default:!1},"johnpapa.Angular2":{default:!1},"ms-vscode.vscode-typescript-tslint-plugin":{default:!1},"DotJoshJohnson.xml":{default:!1},"techer.open-in-browser":{default:!1},"tht13.python":{default:!1},"bmewburn.vscode-intelephense-client":{default:!1},"Angular.ng-template":{default:!1},"xdebug.php-pack":{default:!1},"dbaeumer.jshint":{default:!1},"yzhang.markdown-all-in-one":{default:!1},"Dart-Code.flutter":{default:!1},"streetsidesoftware.code-spell-checker":{default:!1},"rebornix.Ruby":{default:!1},"ms-vscode.sublime-keybindings":{default:!1},"mitaki28.vscode-clang":{default:!1},"steoates.autoimport":{default:!1},"donjayamanne.python-extension-pack":{default:!1},"shd101wyy.markdown-preview-enhanced":{default:!1},"mikestead.dotenv":{default:!1},"pranaygp.vscode-css-peek":{default:!1},"ikappas.phpcs":{default:!1},"platformio.platformio-ide":{default:!1},"jchannon.csharpextensions":{default:!1},"gruntfuggly.todo-tree":{default:!1}},linkProtectionTrustedDomains:["https://*.visualstudio.com","https://*.microsoft.com","https://aka.ms","https://*.gallerycdn.vsassets.io","https://*.github.com","https://login.microsoftonline.com","https://*.vscode.dev","https://*.github.dev","https://gh.io","https://portal.azure.com","https://raw.githubusercontent.com","https://private-user-images.githubusercontent.com","https://avatars.githubusercontent.com","https://auth.openai.com"],trustedExtensionAuthAccess:{github:["vscode.github","github.remotehub","ms-vscode.remote-server","github.vscode-pull-request-github","github.codespaces","github.copilot","github.copilot-chat","ms-vsliveshare.vsliveshare","ms-azuretools.vscode-azure-github-copilot"],"github-enterprise":["vscode.github","github.remotehub","ms-vscode.remote-server","github.vscode-pull-request-github","github.codespaces","github.copilot","github.copilot-chat","ms-vsliveshare.vsliveshare","ms-azuretools.vscode-azure-github-copilot"],microsoft:["github.copilot-chat","ms-vscode.azure-repos","ms-vscode.remote-server","ms-vsliveshare.vsliveshare","ms-azuretools.vscode-azure-github-copilot","ms-azuretools.vscode-azureresourcegroups","ms-azuretools.vscode-dev-azurecloudshell","ms-edu.vscode-learning","ms-toolsai.vscode-ai","ms-toolsai.vscode-ai-remote"],"microsoft-sovereign-cloud":["ms-vscode.azure-repos","ms-vscode.remote-server","ms-vsliveshare.vsliveshare","ms-azuretools.vscode-azure-github-copilot","ms-azuretools.vscode-azureresourcegroups","ms-azuretools.vscode-dev-azurecloudshell","ms-edu.vscode-learning","ms-toolsai.vscode-ai","ms-toolsai.vscode-ai-remote"],"__GitHub.copilot-chat":["ms-azuretools.vscode-azure-github-copilot","github.vscode-pull-request-github"]},trustedExtensionProtocolHandlers:["vscode.git","vscode.github-authentication","vscode.microsoft-authentication","github.vscode-pull-request-github"],authClientIdMetadataUrl:"https://vscode.dev/oauth/client-metadata.json",inheritAuthAccountPreference:{"github.copilot":["github.copilot-chat"]},auth:{loginUrl:"https://login.microsoftonline.com/common/oauth2/authorize",tokenUrl:"https://login.microsoftonline.com/common/oauth2/token",redirectUrl:"https://vscode-redirect.azurewebsites.net/",clientId:"aebc6443-996d-45c2-90f0-388ff96faa56"},"configurationSync.store":{url:"https://vscode-sync.trafficmanager.net/",stableUrl:"https://vscode-sync.trafficmanager.net/",insidersUrl:"https://vscode-sync-insiders.trafficmanager.net/",canSwitch:!1,authenticationProviders:{github:{scopes:["user:email"]},microsoft:{scopes:["openid","profile","email","offline_access"]}}},"editSessions.store":{url:"https://vscode-sync.trafficmanager.net/",authenticationProviders:{microsoft:{scopes:["openid","profile","email","offline_access"]},github:{scopes:["user:email"]}}},tunnelServerQualities:{stable:{serverApplicationName:"code-server"},exploration:{serverApplicationName:"code-server-exploration"},insider:{serverApplicationName:"code-server-insiders"}},tunnelApplicationName:"code-tunnel",tunnelApplicationConfig:{editorWebUrl:"https://vscode.dev",extension:{friendlyName:"Remote - Tunnels",extensionId:"ms-vscode.remote-server"},authenticationProviders:{github:{scopes:["user:email","read:org"]},microsoft:{scopes:["46da2f7e-b5ef-422a-88d4-2a7f9de6a0b2/.default","profile","openid"]}}},win32TunnelServiceMutex:"vscode-tunnelservice",win32TunnelMutex:"vscode-tunnel",aiGeneratedWorkspaceTrust:{title:"This workspace was generated by GitHub Copilot",checkboxText:"Trust the contents of all files in this workspace",trustOption:"Yes, I trust the contents",dontTrustOption:"No, I don't trust the contents",startupTrustRequestLearnMore:"If you don't trust the contents of the files generated by GitHub Copilot, we recommend continuing in restricted mode. See [our docs](https://aka.ms/vscode-workspace-trust) to learn more. "},defaultChatAgent:{providerExtensionId:"vscode.github-authentication",extensionId:"GitHub.copilot",chatExtensionId:"GitHub.copilot-chat",chatExtensionOutputId:"GitHub.copilot-chat.GitHub Copilot Chat.log",chatExtensionOutputExtensionStateCommand:"github.copilot.debug.extensionState",documentationUrl:"https://aka.ms/github-copilot-overview",termsStatementUrl:"https://aka.ms/github-copilot-terms-statement",privacyStatementUrl:"https://aka.ms/github-copilot-privacy-statement",skusDocumentationUrl:"https://aka.ms/github-copilot-plans",publicCodeMatchesUrl:"https://aka.ms/github-copilot-match-public-code",manageSettingsUrl:"https://aka.ms/github-copilot-settings",managePlanUrl:"https://aka.ms/github-copilot-manage-plan",manageOverageUrl:"https://aka.ms/github-copilot-manage-overage",upgradePlanUrl:"https://aka.ms/github-copilot-upgrade-plan",signUpUrl:"https://aka.ms/github-sign-up",provider:{default:{id:"github",name:"GitHub"},enterprise:{id:"github-enterprise",name:"GHE.com"},google:{id:"google",name:"Google"},apple:{id:"apple",name:"Apple"}},providerUriSetting:"github-enterprise.uri",providerScopes:[["read:user","user:email","repo","workflow"],["user:email"],["read:user"]],entitlementUrl:"https://api.github.com/copilot_internal/user",entitlementSignupLimitedUrl:"https://api.github.com/copilot_internal/subscribe_limited_user",chatQuotaExceededContext:"github.copilot.chat.quotaExceeded",completionsQuotaExceededContext:"github.copilot.completions.quotaExceeded",walkthroughCommand:"github.copilot.open.walkthrough",completionsMenuCommand:"github.copilot.toggleStatusMenu",chatRefreshTokenCommand:"github.copilot.refreshToken",generateCommitMessageCommand:"github.copilot.git.generateCommitMessage",resolveMergeConflictsCommand:"github.copilot.git.resolveMergeConflicts",completionsAdvancedSetting:"github.copilot.advanced",completionsEnablementSetting:"github.copilot.enable",nextEditSuggestionsSetting:"github.copilot.nextEditSuggestions.enabled",tokenEntitlementUrl:"https://api.github.com/copilot_internal/v2/token",managedSettingsUrl:"https://api.github.com/copilot_internal/managed_settings",mcpRegistryDataUrl:"https://api.github.com/copilot/mcp_registry"},chatParticipantRegistry:"https://main.vscode-cdn.net/extensions/chat.json",remoteDefaultExtensionsIfInstalledLocally:["GitHub.copilot","GitHub.copilot-chat","GitHub.vscode-pull-request-github"],extensionConfigurationPolicy:{"github.copilot.nextEditSuggestions.enabled":{name:"CopilotNextEditSuggestions",minimumVersion:"1.99",category:"InteractiveSession",description:"Whether to enable next edit suggestions (NES). NES can propose a next edit based on your recent changes."},"github.copilot.chat.reviewSelection.enabled":{name:"CopilotReviewSelection",minimumVersion:"1.104",category:"InteractiveSession",description:"Enables code review on current selection."},"github.copilot.chat.reviewAgent.enabled":{name:"CopilotReviewAgent",minimumVersion:"1.104",category:"InteractiveSession",description:"Enables the code review agent."},"github.copilot.chat.claudeAgent.enabled":{name:"Claude3PIntegration",minimumVersion:"1.113",category:"InteractiveSession",description:"Enable Claude Agent sessions in VS Code. Start and resume agentic coding sessions powered by Anthropic Claude Agent SDK directly in the editor. Uses your existing Copilot subscription."}},win32ContextMenu:{x64:{clsid:"1C6DF0C0-192A-4451-BE36-6A59A86A692E"},arm64:{clsid:"F5EA5883-1DA8-4A05-864A-D5DE2D2B2854"}},chatSessionRecommendations:[{extensionId:"openai.chatgpt",extensionName:"Codex - OpenAI's coding agent",displayName:"Codex Agent",name:"codex",description:"Codex is OpenAI's coding agent that helps you write, review, and ship code faster.",postInstallCommand:"chatgpt.newCodexPanel"},{extensionId:"GitHub.copilot-chat",extensionName:"GitHub Copilot Chat",displayName:"Background Agent",name:"cli",description:"Delegate tasks to a background agent.",postInstallCommand:"workbench.action.chat.openNewSessionSidebar.copilotcli"},{extensionId:"GitHub.copilot-chat",extensionName:"GitHub Copilot Chat",displayName:"Cloud Agent",name:"cloud",description:"Delegate tasks to the GitHub Copilot Cloud Agent. The agent works asynchronously in the cloud to implement changes, iterates via chat, and can create or update pull requests as needed.",postInstallCommand:"workbench.action.chat.openNewSessionSidebar.copilot-cloud-agent"}],builtInExtensionsEnabledWithAutoUpdates:["GitHub.copilot-chat"],sessionsWindowAllowedExtensions:["pkief.material-icon-theme","zhuangtongfa.material-theme","vscode-icons-team.vscode-icons","oderwat.indent-rainbow","formulahendry.auto-close-tag","pranaygp.vscode-css-peek","codezombiech.gitignore","usernamehw.errorlens","wayou.vscode-todo-highlight","bierner.markdown-mermaid","kisstkondoros.vscode-gutter-preview","tomoki1207.pdf","vscodevim.vim","ecmel.vscode-html-css","bradlc.vscode-tailwindcss","xabikos.JavaScriptSnippets","dsznajder.es7-react-js-snippets","formulahendry.auto-rename-tag","naumovs.color-highlight","streetsidesoftware.code-spell-checker","Vue.volar","dbaeumer.vscode-eslint","esbenp.prettier-vscode","redhat.vscode-xml","redhat.java"],version:"1.124.2",commit:"6928394f91b684055b873eecb8bc281365131f1c",date:"2026-06-12T00:12:36Z"},Object.keys(zo).length===0&&Object.assign(zo,{version:"1.104.0-dev",nameShort:"Code - OSS Dev",nameLong:"Code - OSS Dev",applicationName:"code-oss",dataFolderName:".vscode-oss",urlProtocol:"code-oss",reportIssueUrl:"https://github.com/microsoft/vscode/issues/new",licenseName:"MIT",licenseUrl:"https://github.com/microsoft/vscode/blob/main/LICENSE.txt",serverLicenseUrl:"https://github.com/microsoft/vscode/blob/main/LICENSE.txt",defaultChatAgent:{extensionId:"GitHub.copilot",chatExtensionId:"GitHub.copilot-chat",provider:{default:{id:"github",name:"GitHub"},enterprise:{id:"github-enterprise",name:"GitHub Enterprise"}},providerScopes:[]}});var ur=zo;var bn=A("configurationService");function sy(i,t){let e=Object.create(null);for(let n in i)TP(e,n,i[n],t);return e}function TP(i,t,e,n){let o=t.split("."),r=o.pop(),s=i;for(let a=0;a<o.length;a++){let l=o[a],d=s[l];switch(typeof d){case"undefined":d=s[l]=Object.create(null);break;case"object":if(d===null){n(`Ignoring ${t} as ${o.slice(0,a+1).join(".")} is null`);return}break;default:n(`Ignoring ${t} as ${o.slice(0,a+1).join(".")} is ${JSON.stringify(d)}`);return}s=d}if(typeof s=="object"&&s!==null)try{s[r]=e}catch{n(`Ignoring ${t} as ${o.join(".")} is ${JSON.stringify(s)}`)}else n(`Ignoring ${t} as ${o.join(".")} is ${JSON.stringify(s)}`)}function RL(i,t){let e=t.split(".");AL(i,e)}function AL(i,t){if(!i)return;let e=i,n=t.shift();if(t.length===0){delete e[n];return}if(Object.keys(e).indexOf(n)!==-1){let o=e[n];typeof o=="object"&&o!==null&&!Array.isArray(o)&&(AL(o,t),Object.keys(o).length===0&&delete e[n])}}function Sf(i,t,e){function n(s,a){let l=s;for(let d of a){if(typeof l!="object"||l===null)return;l=l[d]}return l}let o=t.split("."),r=n(i,o);return typeof r>"u"?e:r}function ML(i){return i.replace(/^\[/,"").replace(/]$/g,"").replace(/\]\[/g,", ")}function Iu(i,t=It){return Y0(i,t)?i.charAt(0).toUpperCase()+i.slice(1):i}function ay(i,t){return i.replace(/^~($|\/|\\)/,`${t}$1`)}var OL=A("dialogService");var TX=A("fileDialogService");var xu=A("productService"),LL="vscode://schemas/vscode-product";function NL(i){let t=!1,e=new Map,n=new Map;if(h5(i,c=>{if(i===c)return!0;let u=JSON.stringify(c);if(u.length<30)return!0;let m=e.get(u);if(!m){let g={schemas:[c]};return e.set(u,g),n.set(c,g),!0}return m.schemas.push(c),n.set(c,m),t=!0,!1}),e.clear(),!t)return JSON.stringify(i);let r="$defs";for(;i.hasOwnProperty(r);)r+="_";let s=[];function a(c){return JSON.stringify(c,(u,m)=>{if(m!==c){let g=n.get(m);if(g&&g.schemas.length>1)return g.id||(g.id=`_${s.length}`,s.push(g.schemas[0])),{$ref:`#/${r}/${g.id}`}}return m})}let l=a(i),d=[];for(let c=0;c<s.length;c++)d.push(`"_${c}":${a(s[c])}`);return d.length?`${l.substring(0,l.length-1)},"${r}":{${d.join(",")}}}`:l}function Cu(i){return typeof i=="object"&&i!==null}function h5(i,t){if(!i||typeof i!="object")return;let e=(...l)=>{for(let d of l)Cu(d)&&s.push(d)},n=(...l)=>{for(let d of l)if(Cu(d))for(let c in d){let u=d[c];Cu(u)&&s.push(u)}},o=(...l)=>{for(let d of l)if(Array.isArray(d))for(let c of d)Cu(c)&&s.push(c)},r=l=>{if(Array.isArray(l))for(let d of l)Cu(d)&&s.push(d);else Cu(l)&&s.push(l)},s=[i],a=s.pop();for(;a;)t(a)&&(e(a.additionalItems,a.additionalProperties,a.not,a.contains,a.propertyNames,a.if,a.then,a.else,a.unevaluatedItems,a.unevaluatedProperties),n(a.definitions,a.$defs,a.properties,a.patternProperties,a.dependencies,a.dependentSchemas),o(a.anyOf,a.allOf,a.oneOf,a.prefixItems),r(a.items)),a=s.pop()}var _d={JSONContribution:"base.contributions.json"};function UL(i){return i.length>0&&i.charAt(i.length-1)==="#"?i.substring(0,i.length-1):i}var EP=class extends V{constructor(){super(...arguments);this.schemasById={};this.schemaAssociations={};this._onDidChangeSchema=this._register(new w);this.onDidChangeSchema=this._onDidChangeSchema.event;this._onDidChangeSchemaAssociations=this._register(new w);this.onDidChangeSchemaAssociations=this._onDidChangeSchemaAssociations.event}registerSchema(e,n,o){let r=UL(e);this.schemasById[r]=n,this._onDidChangeSchema.fire(e),o&&o.add(X(()=>{delete this.schemasById[r],this._onDidChangeSchema.fire(e)}))}registerSchemaAssociation(e,n){let o=UL(e);return this.schemaAssociations[o]||(this.schemaAssociations[o]=[]),this.schemaAssociations[o].includes(n)||(this.schemaAssociations[o].push(n),this._onDidChangeSchemaAssociations.fire()),X(()=>{let r=this.schemaAssociations[o];if(r){let s=r.indexOf(n);s!==-1&&(r.splice(s,1),r.length===0&&delete this.schemaAssociations[o],this._onDidChangeSchemaAssociations.fire())}})}notifySchemaChanged(e){this._onDidChangeSchema.fire(e)}getSchemaContributions(){return{schemas:this.schemasById}}getSchemaContent(e){let n=this.schemasById[e];return n?NL(n):void 0}hasSchemaContent(e){return!!this.schemasById[e]}getSchemaAssociations(){return this.schemaAssociations}},v5=new EP;Et.add(_d.JSONContribution,v5);var _r={Configuration:"base.contributions.configuration"};function b5(i,t){return i===t?!0:!i||!t?!1:typeof i=="string"||typeof t=="string"?i===t:i.id===t.id}var ly={properties:{},patternProperties:{}},dy={properties:{},patternProperties:{}},cy={properties:{},patternProperties:{}},uy={properties:{},patternProperties:{}},py={properties:{},patternProperties:{}},my={properties:{},patternProperties:{}},Tf={properties:{},patternProperties:{}},Dd="vscode://schemas/settings/resourceLanguage";var gy=Et.as(_d.JSONContribution),wP=class extends V{constructor(){super();this.registeredConfigurationDefaults=[];this.overrideIdentifiers=new Set;this._onDidSchemaChange=this._register(new w);this.onDidSchemaChange=this._onDidSchemaChange.event;this._onDidUpdateConfiguration=this._register(new w);this.onDidUpdateConfiguration=this._onDidUpdateConfiguration.event;this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:p(2258,null),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.excludedConfigurationProperties={},gy.registerSchema(Dd,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(e,n=!0){return this.registerConfigurations([e],n),e}registerConfigurations(e,n=!0){let o=new Set;this.doRegisterConfigurations(e,n,o),gy.registerSchema(Dd,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:o})}deregisterConfigurations(e){let n=new Set;this.doDeregisterConfigurations(e,n),gy.registerSchema(Dd,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:n})}updateConfigurations({add:e,remove:n}){let o=new Set;this.doDeregisterConfigurations(n,o),this.doRegisterConfigurations(e,!1,o),gy.registerSchema(Dd,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:o})}registerDefaultConfigurations(e){let n=new Set;this.doRegisterDefaultConfigurations(e,n),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:n,defaultsOverrides:!0})}doRegisterDefaultConfigurations(e,n){this.registeredConfigurationDefaults.push(...e);let o=[];for(let{overrides:r,source:s}of e)for(let a in r){n.add(a);let l=this.configurationDefaultsOverrides.get(a)??this.configurationDefaultsOverrides.set(a,{configurationDefaultOverrides:[]}).get(a),d=r[a];if(l.configurationDefaultOverrides.push({value:d,source:s}),Pr.test(a)){let c=this.mergeDefaultConfigurationsForOverrideIdentifier(a,d,s,l.configurationDefaultOverrideValue);if(!c)continue;l.configurationDefaultOverrideValue=c,this.updateDefaultOverrideProperty(a,c,s),o.push(...Su(a))}else{let c=this.mergeDefaultConfigurationsForConfigurationProperty(a,d,s,l.configurationDefaultOverrideValue);if(!c)continue;l.configurationDefaultOverrideValue=c;let u=this.configurationProperties[a];u&&(this.updatePropertyDefaultValue(a,u),this.updateSchema(a,u))}}this.doRegisterOverrideIdentifiers(o)}deregisterDefaultConfigurations(e){let n=new Set;this.doDeregisterDefaultConfigurations(e,n),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:n,defaultsOverrides:!0})}doDeregisterDefaultConfigurations(e,n){for(let o of e){let r=this.registeredConfigurationDefaults.indexOf(o);r!==-1&&this.registeredConfigurationDefaults.splice(r,1)}for(let{overrides:o,source:r}of e)for(let s in o){let a=this.configurationDefaultsOverrides.get(s);if(!a)continue;let l=a.configurationDefaultOverrides.findIndex(d=>r?b5(d.source,r):d.value===o[s]);if(l!==-1){if(a.configurationDefaultOverrides.splice(l,1),a.configurationDefaultOverrides.length===0&&this.configurationDefaultsOverrides.delete(s),Pr.test(s)){let d;for(let c of a.configurationDefaultOverrides)d=this.mergeDefaultConfigurationsForOverrideIdentifier(s,c.value,c.source,d);d&&!Gc(d.value)?(a.configurationDefaultOverrideValue=d,this.updateDefaultOverrideProperty(s,d,r)):(this.configurationDefaultsOverrides.delete(s),delete this.configurationProperties[s],delete this.defaultLanguageConfigurationOverridesNode.properties[s])}else{let d;for(let u of a.configurationDefaultOverrides)d=this.mergeDefaultConfigurationsForConfigurationProperty(s,u.value,u.source,d);a.configurationDefaultOverrideValue=d;let c=this.configurationProperties[s];c&&(this.updatePropertyDefaultValue(s,c),this.updateSchema(s,c))}n.add(s)}}this.updateOverridePropertyPatternKey()}updateDefaultOverrideProperty(e,n,o){let r={section:{id:this.defaultLanguageConfigurationOverridesNode.id,title:this.defaultLanguageConfigurationOverridesNode.title,order:this.defaultLanguageConfigurationOverridesNode.order,extensionInfo:this.defaultLanguageConfigurationOverridesNode.extensionInfo},type:"object",default:n.value,description:p(2257,null,ML(e)),$ref:Dd,defaultDefaultValue:n.value,source:o,defaultValueSource:o};this.configurationProperties[e]=r,this.defaultLanguageConfigurationOverridesNode.properties[e]=r}mergeDefaultConfigurationsForOverrideIdentifier(e,n,o,r){let s=r?.value||{},a=r?.source??new Map;if(!(a instanceof Map)){console.error("objectConfigurationSources is not a Map");return}for(let l of Object.keys(n)){let d=n[l];if(st(d)&&(cs(s[l])||st(s[l]))){if(s[l]={...s[l]??{},...d},o)for(let u in d)a.set(`${l}.${u}`,o)}else s[l]=d,o?a.set(l,o):a.delete(l)}return{value:s,source:a}}mergeDefaultConfigurationsForConfigurationProperty(e,n,o,r){let s=this.configurationProperties[e],a=r?.value??s?.defaultDefaultValue,l=o;if(st(n)&&(s!==void 0&&s.type==="object"||s===void 0&&(cs(a)||st(a)))){if(l=r?.source??new Map,!(l instanceof Map)){console.error("defaultValueSource is not a Map");return}for(let c in n)o&&l.set(`${e}.${c}`,o);n={...st(a)?a:{},...n}}return{value:n,source:l}}deltaConfiguration(e){let n=!1,o=new Set;e.removedDefaults&&(this.doDeregisterDefaultConfigurations(e.removedDefaults,o),n=!0),e.addedDefaults&&(this.doRegisterDefaultConfigurations(e.addedDefaults,o),n=!0),e.removedConfigurations&&this.doDeregisterConfigurations(e.removedConfigurations,o),e.addedConfigurations&&this.doRegisterConfigurations(e.addedConfigurations,!1,o),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:o,defaultsOverrides:n})}notifyConfigurationSchemaUpdated(...e){this._onDidSchemaChange.fire()}registerOverrideIdentifiers(e){this.doRegisterOverrideIdentifiers(e),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(e){for(let n of e)this.overrideIdentifiers.add(n);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(e,n,o){e.forEach(r=>{this.validateAndRegisterProperties(r,n,r.extensionInfo,r.restrictedProperties,void 0,o),this.configurationContributors.push(r),this.registerJSONConfiguration(r)})}doDeregisterConfigurations(e,n){let o=r=>{if(r.properties)for(let s in r.properties){n.add(s);let a=this.configurationProperties[s];a?.policy?.name&&this.policyConfigurations.delete(a.policy.name),delete this.configurationProperties[s],this.removeFromSchema(s,r.properties[s])}r.allOf?.forEach(s=>o(s))};for(let r of e){o(r);let s=this.configurationContributors.indexOf(r);s!==-1&&this.configurationContributors.splice(s,1)}}validateAndRegisterProperties(e,n=!0,o,r,s=4,a){s=Mt(e.scope)?s:e.scope;let l=e.properties;if(l)for(let c in l){let u=l[c];if(u.section={id:e.id,title:e.title,order:e.order,extensionInfo:e.extensionInfo},n&&I5(c,u,o?.id)){delete l[c];continue}u.source=o,u.defaultDefaultValue=l[c].default,this.updatePropertyDefaultValue(c,u),Pr.test(c)?u.scope=void 0:(u.scope=Mt(u.scope)?s:u.scope,u.restricted=Mt(u.restricted)?!!r?.includes(c):u.restricted),u.experiment?u.tags?.some(v=>v.toLowerCase()==="onexp")||(u.tags=u.tags??[],u.tags.push("onExP")):u.tags?.some(v=>v.toLowerCase()==="onexp")&&(console.error(`Invalid tag 'onExP' found for property '${c}'. Please use 'experiment' property instead.`),u.experiment={mode:"startup"});let m=l[c].hasOwnProperty("included")&&!l[c].included,g=l[c].policy?.name;m?(this.excludedConfigurationProperties[c]=l[c],g&&(this.policyConfigurations.set(g,c),a.add(c)),delete l[c]):(a.add(c),g&&this.policyConfigurations.set(g,c),this.configurationProperties[c]=l[c],!l[c].deprecationMessage&&l[c].markdownDeprecationMessage&&(l[c].deprecationMessage=l[c].markdownDeprecationMessage))}let d=e.allOf;if(d)for(let c of d)this.validateAndRegisterProperties(c,n,o,r,s,a)}getConfigurations(){return this.configurationContributors}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}getExcludedConfigurationProperties(){return this.excludedConfigurationProperties}getRegisteredDefaultConfigurations(){return[...this.registeredConfigurationDefaults]}getConfigurationDefaultsOverrides(){let e=new Map;for(let[n,o]of this.configurationDefaultsOverrides)o.configurationDefaultOverrideValue&&e.set(n,o.configurationDefaultOverrideValue);return e}registerJSONConfiguration(e){let n=o=>{let r=o.properties;if(r)for(let a in r)this.updateSchema(a,r[a]);o.allOf?.forEach(n)};n(e)}updateSchema(e,n){switch(ly.properties[e]=n,n.scope){case 1:dy.properties[e]=n;break;case 2:uy.properties[e]=n;break;case 3:cy.properties[e]=n;break;case 7:py.properties[e]=n;break;case 4:my.properties[e]=n;break;case 5:Tf.properties[e]=n;break;case 6:Tf.properties[e]=n,this.resourceLanguageSettingsSchema.properties[e]=n;break}}removeFromSchema(e,n){switch(delete ly.properties[e],n.scope){case 1:delete dy.properties[e];break;case 2:delete uy.properties[e];break;case 3:delete cy.properties[e];break;case 7:delete py.properties[e];break;case 4:delete my.properties[e];break;case 5:case 6:delete Tf.properties[e],delete this.resourceLanguageSettingsSchema.properties[e];break}}updateOverridePropertyPatternKey(){for(let e of this.overrideIdentifiers.values()){let n=`[${e}]`,o={type:"object",description:p(2259,null),errorMessage:p(2260,null),$ref:Dd};this.updatePropertyDefaultValue(n,o),ly.properties[n]=o,dy.properties[n]=o,cy.properties[n]=o,uy.properties[n]=o,py.properties[n]=o,my.properties[n]=o,Tf.properties[n]=o}}registerOverridePropertyPatternKey(){let e={type:"object",description:p(2259,null),errorMessage:p(2260,null),$ref:Dd};ly.patternProperties[Wa]=e,dy.patternProperties[Wa]=e,cy.patternProperties[Wa]=e,uy.patternProperties[Wa]=e,py.patternProperties[Wa]=e,my.patternProperties[Wa]=e,Tf.patternProperties[Wa]=e,this._onDidSchemaChange.fire()}updatePropertyDefaultValue(e,n){let o=this.configurationDefaultsOverrides.get(e)?.configurationDefaultOverrideValue,r,s;o&&(!n.disallowConfigurationDefault||!o.source)&&(r=o.value,s=o.source),cs(r)&&(r=n.defaultDefaultValue,s=void 0),cs(r)&&(r=y5(n.type)),n.default=r,n.defaultValueSource=s}},HL="\\[([^\\]]+)\\]",FL=new RegExp(HL,"g"),Wa=`^(${HL})+$`,Pr=new RegExp(Wa);function Su(i){let t=[];if(Pr.test(i)){let e=FL.exec(i);for(;e?.length;){let n=e[1].trim();n&&t.push(n),e=FL.exec(i)}}return Ir(t)}function y5(i){switch(Array.isArray(i)?i[0]:i){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}var fy=new wP;Et.add(_r.Configuration,fy);function I5(i,t,e){return i.trim()?Pr.test(i)?p(2256,null,i):fy.getConfigurationProperties()[i]!==void 0&&(!e||!x5.has(e.toLowerCase()))?p(2254,null,i):t.policy?.name&&fy.getPolicyConfigurations().get(t.policy?.name)!==void 0?p(2253,null,i,t.policy?.name,fy.getPolicyConfigurations().get(t.policy?.name)):null:p(2255,null)}var x5=new Set(ur.defaultChatAgent?[ur.defaultChatAgent.extensionId,ur.defaultChatAgent.chatExtensionId].map(i=>i.toLowerCase()):[]);var vy=A("requestService");function C5(i){return i.res.statusCode&&i.res.statusCode>=200&&i.res.statusCode<300||i.res.statusCode===1223}function WL(i){return i.res.statusCode===204}async function PP(i){return WL(i)?null:(await $E(i.stream)).toString()}async function $L(i){if(!C5(i))throw new Error("Server returned "+i.res.statusCode);if(WL(i))return null;let e=(await $E(i.stream)).toString();try{return JSON.parse(e)}catch(n){throw n.message+=`:
`+e,n}}var S5=!1,kP=[],VL,BL;function T5(i=!0,t=!0){if(VL===i&&BL===t)return;VL=i,BL=t;let e=Et.as(_r.Configuration),n=kP;kP=[{id:"http",order:15,title:p(2690,null),type:"object",scope:2,properties:{"http.useLocalProxyConfiguration":{type:"boolean",default:t,markdownDescription:p(2705,null),restricted:!0}}},{id:"http",order:15,title:p(2690,null),type:"object",scope:1,properties:{"http.electronFetch":{type:"boolean",default:!1,description:p(2688,null),restricted:!0}}},{id:"http",order:15,title:p(2690,null),type:"object",scope:i?1:2,properties:{"http.proxy":{type:"string",pattern:"^(https?|socks|socks4a?|socks5h?)://([^:]*(:[^@]*)?@)?([^:]+|\\[[:0-9a-fA-F]+\\])(:\\d+)?/?$|^$",markdownDescription:p(2693,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.proxyStrictSSL":{type:"boolean",default:!0,markdownDescription:p(2701,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.proxyKerberosServicePrincipal":{type:"string",markdownDescription:p(2695,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.noProxy":{type:"array",items:{type:"string"},markdownDescription:p(2692,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.proxyAuthorization":{type:["null","string"],default:null,markdownDescription:p(2694,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.proxySupport":{type:"string",enum:["off","on","fallback","override"],enumDescriptions:[p(2698,null),p(2699,null),p(2697,null),p(2700,null)],default:"override",markdownDescription:p(2696,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.systemCertificates":{type:"boolean",default:!0,markdownDescription:p(2702,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.systemCertificatesNode":{type:"boolean",tags:["experimental"],default:S5,markdownDescription:p(2703,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0,experiment:{mode:"auto"}},"http.experimental.systemCertificatesV2":{type:"boolean",tags:["experimental"],default:!1,markdownDescription:p(2704,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.fetchAdditionalSupport":{type:"boolean",default:!0,markdownDescription:p(2689,null,"`#http.useLocalProxyConfiguration#`","`#http.proxySupport#`","`#http.systemCertificates#`"),restricted:!0},"http.webSocketAdditionalSupport":{type:"boolean",default:!0,markdownDescription:p(2706,null,"`#http.useLocalProxyConfiguration#`","`#http.proxySupport#`","`#http.systemCertificates#`"),restricted:!0},"http.experimental.networkInterfaceCheckInterval":{type:"number",default:300,minimum:-1,tags:["experimental"],markdownDescription:p(2691,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0,experiment:{mode:"auto"}}}}],e.updateConfigurations({add:kP,remove:n})}T5();var $a=class i extends V{constructor(e,n=Object.create(null)){super();this.database=e;this.options=n;this._onDidChangeStorage=this._register(new Ta);this.onDidChangeStorage=this._onDidChangeStorage.event;this.state=0;this.cache=new Map;this.flushDelayer=this._register(new fb(i.DEFAULT_FLUSH_DELAY));this.pendingDeletes=new Set;this.pendingInserts=new Map;this.pendingClose=void 0;this.whenFlushedCallbacks=[];this.registerListeners()}static{this.DEFAULT_FLUSH_DELAY=100}registerListeners(){this._register(this.database.onDidChangeItemsExternal(e=>this.onDidChangeItemsExternal(e)))}onDidChangeItemsExternal(e){this._onDidChangeStorage.pause();try{e.changed?.forEach((n,o)=>this.acceptExternal(o,n)),e.deleted?.forEach(n=>this.acceptExternal(n,void 0))}finally{this._onDidChangeStorage.resume()}}acceptExternal(e,n){if(this.state===2)return;let o=!1;Mt(n)?o=this.cache.delete(e):this.cache.get(e)!==n&&(this.cache.set(e,n),o=!0),o&&this._onDidChangeStorage.fire({key:e,external:!0})}get items(){return this.cache}get size(){return this.cache.size}async init(){this.state===0&&(this.state=1,this.options.hint!==0&&(this.cache=await this.database.getItems()))}get(e,n){let o=this.cache.get(e);return Mt(o)?n:o}getBoolean(e,n){let o=this.get(e);return Mt(o)?n:o==="true"}getNumber(e,n){let o=this.get(e);return Mt(o)?n:parseInt(o,10)}getObject(e,n){let o=this.get(e);return Mt(o)?n:jb(o)}async set(e,n,o=!1){if(this.state===2)return;if(Mt(n))return this.delete(e,o);let r=st(n)||Array.isArray(n)?lL(n):String(n);if(this.cache.get(e)!==r)return this.cache.set(e,r),this.pendingInserts.set(e,r),this.pendingDeletes.delete(e),this._onDidChangeStorage.fire({key:e,external:o}),this.doFlush()}async delete(e,n=!1){if(!(this.state===2||!this.cache.delete(e)))return this.pendingDeletes.has(e)||this.pendingDeletes.add(e),this.pendingInserts.delete(e),this._onDidChangeStorage.fire({key:e,external:n}),this.doFlush()}async optimize(){if(this.state!==2)return await this.flush(0),this.database.optimize()}async close(){return this.pendingClose||(this.pendingClose=this.doClose()),this.pendingClose}async doClose(){this.state=2;try{await this.doFlush(0)}catch{}await this.database.close(()=>this.cache)}get hasPending(){return this.pendingInserts.size>0||this.pendingDeletes.size>0}async flushPending(){if(!this.hasPending)return;let e={insert:this.pendingInserts,delete:this.pendingDeletes};return this.pendingDeletes=new Set,this.pendingInserts=new Map,this.database.updateItems(e).finally(()=>{if(!this.hasPending)for(;this.whenFlushedCallbacks.length;)this.whenFlushedCallbacks.pop()?.()})}async flush(e){if(!(this.state===2||this.pendingClose))return this.doFlush(e)}async doFlush(e){return this.options.hint===1?this.flushPending():this.flushDelayer.trigger(()=>this.flushPending(),e)}async whenFlushed(){if(this.hasPending)return new Promise(e=>this.whenFlushedCallbacks.push(e))}isInMemory(){return this.options.hint===1}},Rd=class{constructor(){this.onDidChangeItemsExternal=Le.None;this.items=new Map}async getItems(){return this.items}async updateItems(t){t.insert?.forEach((e,n)=>this.items.set(n,e)),t.delete?.forEach(e=>this.items.delete(e))}async optimize(){}async close(){}},zL="__$__migratedStorageMarker",qL=class i extends $a{constructor(){super(...arguments);this.migratedKeys=new Set;this.fallbackStorage=void 0;this.isFallbackStorageReadonly=!1}async init(){await super.init(),this.migratedKeys=this.loadMigratedKeys()}setFallbackStorage(e,n){this.fallbackStorage=e,this.isFallbackStorageReadonly=n}static{this.INTERNAL_KEY_PREFIX="__$__"}get(e,n){if(!e.startsWith(i.INTERNAL_KEY_PREFIX)&&!this.migratedKeys.has(e)&&cs(super.get(e))){this.migratedKeys.add(e);let o=this.fallbackStorage?.items.get(e);cs(o)||(this.set(e,o),this.isFallbackStorageReadonly||this.fallbackStorage?.delete(e),this.persistMigratedKeys())}return super.get(e,n)}loadMigratedKeys(){let e=super.get(zL);if(e)try{return new Set(JSON.parse(e))}catch{}return new Set}persistMigratedKeys(){this.set(zL,JSON.stringify([...this.migratedKeys]))}};var Ef=A("environmentService"),mY=Ef;var by=A("IUriIdentityService");var wf="agents",w5={settings:!0,keybindings:!0,prompts:!0,mcp:!0,languageModels:!0,snippets:!0,tasks:!0,extensions:!0};function GL(i){let t=i;return!!(t&&typeof t=="object"&&typeof t.id=="string"&&typeof t.isDefault=="boolean"&&typeof t.name=="string"&&y.isUri(t.location)&&y.isUri(t.globalStorageHome)&&y.isUri(t.settingsResource)&&y.isUri(t.keybindingsResource)&&y.isUri(t.tasksResource)&&y.isUri(t.snippetsHome)&&y.isUri(t.promptsHome)&&y.isUri(t.extensionsResource)&&y.isUri(t.mcpResource)&&y.isUri(t.languageModelsResource)&&y.isUri(t.agentPluginsHome))}var jL=A("IUserDataProfilesService");function yy(i,t,e,n,o,r){let s=i===wf;return{id:i,name:t,location:e,isDefault:!1,icon:o?.icon,globalStorageHome:r&&o?.useDefaultFlags?.globalState?r.globalStorageHome:Nt(e,"globalStorage"),settingsResource:r&&o?.useDefaultFlags?.settings?r.settingsResource:Nt(e,"settings.json"),keybindingsResource:r&&o?.useDefaultFlags?.keybindings?r.keybindingsResource:Nt(e,"keybindings.json"),tasksResource:r&&o?.useDefaultFlags?.tasks?r.tasksResource:Nt(e,"tasks.json"),snippetsHome:r&&o?.useDefaultFlags?.snippets?r.snippetsHome:Nt(e,"snippets"),promptsHome:r&&o?.useDefaultFlags?.prompts?r.promptsHome:Nt(e,"prompts"),extensionsResource:r&&o?.useDefaultFlags?.extensions?r.extensionsResource:Nt(e,"extensions.json"),mcpResource:r&&o?.useDefaultFlags?.mcp?r.mcpResource:Nt(e,"mcp.json"),languageModelsResource:r&&o?.useDefaultFlags?.languageModels?r.languageModelsResource:Nt(e,"chatLanguageModels.json"),agentPluginsHome:r?r.agentPluginsHome:Nt(e,"agent-plugins"),cacheHome:Nt(n,i),useDefaultFlags:o?.useDefaultFlags,isTransient:o?.transient,isInternal:s||o?.transient,isAgentsWindowProfile:s,workspaces:o?.workspaces}}var KL="builtin",Iy=class extends V{constructor(e,n,o,r){super();this.environmentService=e;this.fileService=n;this.uriIdentityService=o;this.logService=r;this._onDidChangeProfiles=this._register(new w);this.onDidChangeProfiles=this._onDidChangeProfiles.event;this._onWillCreateProfile=this._register(new w);this.onWillCreateProfile=this._onWillCreateProfile.event;this._onWillRemoveProfile=this._register(new w);this.onWillRemoveProfile=this._onWillRemoveProfile.event;this._onDidResetWorkspaces=this._register(new w);this.onDidResetWorkspaces=this._onDidResetWorkspaces.event;this.profileCreationPromises=new Map;this.transientProfilesObject={profiles:[],emptyWindows:new Map};this.profilesHome=Nt(this.environmentService.userRoamingDataHome,"profiles"),this.profilesCacheHome=Nt(this.environmentService.cacheHome,"CachedProfilesData")}static{this.PROFILES_KEY="userDataProfiles"}static{this.PROFILE_ASSOCIATIONS_KEY="profileAssociations"}get defaultProfile(){return this.profiles[0]}get profiles(){return[...this.profilesObject.profiles,...this.transientProfilesObject.profiles]}init(){this._profilesObject=void 0}get profilesObject(){if(!this._profilesObject){let e=this.createDefaultProfile(),n=[e];try{for(let r of this.getStoredProfiles()){if(this.isInvalidProfile(r)){this.logService.warn("Skipping the invalid stored profile",r.location||r.name);continue}let s=tt(r.location);n.push(yy(s,r.name,r.location,this.profilesCacheHome,{icon:r.icon,useDefaultFlags:s===wf?w5:r.useDefaultFlags},e))}}catch(r){this.logService.error(r)}let o=new Map;if(n.length)try{let r=this.getStoredProfileAssociations();if(r.workspaces)for(let[s,a]of Object.entries(r.workspaces)){let l=y.parse(s),d=n.find(c=>c.id===a);if(d){let c=d.workspaces?d.workspaces.slice(0):[];c.push(l),d.workspaces=c}}if(r.emptyWindows)for(let[s,a]of Object.entries(r.emptyWindows)){let l=n.find(d=>d.id===a);l&&o.set(s,l)}}catch(r){this.logService.error(r)}this._profilesObject={profiles:n,emptyWindows:o}}return this._profilesObject}isInvalidProfile(e){return!e.name||!Ae(e.name)||!e.location}createDefaultProfile(){let e=yy("__default__profile__",p(3132,null),this.environmentService.userRoamingDataHome,this.profilesCacheHome);return{...e,extensionsResource:this.getDefaultProfileExtensionsLocation()??e.extensionsResource,isDefault:!0}}async createTransientProfile(e){let n="Temp",o=new RegExp(`${ir(n)}\\s(\\d+)`),r=0;for(let a of this.profiles){let l=o.exec(a.name),d=l?parseInt(l[1]):0;r=d>r?d:r}let s=`${n} ${r+1}`;return this.createProfile(ar(We()).toString(16),s,{transient:!0},e)}async createNamedProfile(e,n,o){return this.createProfile(ar(We()).toString(16),e,n,o)}async createProfile(e,n,o,r){return await this.doCreateProfile(e,n,o,r)}async doCreateProfile(e,n,o,r){if(!Ae(n)||!n)throw new Error("Name of the profile is mandatory and must be of type `string`");let s=this.profileCreationPromises.get(n);return s||(s=(async()=>{try{if(this.profiles.find(u=>u.id===e||e!==wf&&!u.isTransient&&!o?.transient&&u.name===n))throw new Error(`Profile with ${n} name already exists`);let l=r?this.getWorkspace(r):void 0;y.isUri(l)&&(o={...o,workspaces:[l]});let d=yy(e,n,this.uriIdentityService.extUri.joinPath(this.profilesHome,...e===wf?[KL,e]:[e]),this.profilesCacheHome,e===wf?{}:o,this.defaultProfile);await this.fileService.createFolder(d.location);let c=[];return this._onWillCreateProfile.fire({profile:d,join(u){c.push(u)}}),await Ra.settled(c),l&&!y.isUri(l)&&this.updateEmptyWindowAssociation(l,d,!!d.isTransient),this.updateProfiles([d],[],[]),this.profiles.find(u=>u.id===d.id)??d}finally{this.profileCreationPromises.delete(n)}})(),this.profileCreationPromises.set(n,s)),s}async updateProfile(e,n){if(e.isAgentsWindowProfile)throw new Error("Cannot update agents window profile");let o=[];for(let s of this.profiles){let a;if(e.id===s.id)s.isDefault?n.workspaces&&(a=s,a.workspaces=n.workspaces):a=yy(s.id,n.name??s.name,s.location,this.profilesCacheHome,{icon:n.icon===null?void 0:n.icon??s.icon,transient:n.transient??s.isTransient,useDefaultFlags:n.useDefaultFlags??s.useDefaultFlags,workspaces:n.workspaces??s.workspaces},this.defaultProfile);else if(n.workspaces){let l=s.workspaces?.filter(d=>!n.workspaces?.some(c=>this.uriIdentityService.extUri.isEqual(d,c)));s.workspaces?.length!==l?.length&&(a=s,a.workspaces=l)}a&&o.push(a)}if(!o.length)throw e.isDefault?new Error("Cannot update default profile"):new Error(`Profile '${e.name}' does not exist`);this.updateProfiles([],[],o);let r=this.profiles.find(s=>s.id===e.id);if(!r)throw new Error(`Profile '${e.name}' was not updated`);return r}async removeProfile(e){if(e.isDefault)throw new Error("Cannot remove default profile");let n=this.profiles.find(r=>r.id===e.id);if(!n)throw new Error(`Profile '${e.name}' does not exist`);let o=[];this._onWillRemoveProfile.fire({profile:n,join(r){o.push(r)}});try{await Promise.allSettled(o)}catch(r){this.logService.error(r)}this.updateProfiles([],[n],[]);try{await this.fileService.del(n.cacheHome,{recursive:!0})}catch(r){PO(r)!==1&&this.logService.error(r)}}async setProfileForWorkspace(e,n){let o=this.profiles.find(s=>s.id===n.id);if(!o)throw new Error(`Profile '${n.name}' does not exist`);let r=this.getWorkspace(e);if(y.isUri(r)){let s=o.workspaces?[...o.workspaces]:[];s.some(a=>this.uriIdentityService.extUri.isEqual(a,r))||(s.push(r),await this.updateProfile(o,{workspaces:s}))}else this.updateEmptyWindowAssociation(r,o,!1),this.updateStoredProfiles(this.profiles)}unsetWorkspace(e,n=!1){let o=this.getWorkspace(e);if(y.isUri(o)){let r=this.getProfileForWorkspace(e);r&&this.updateProfile(r,{workspaces:r.workspaces?.filter(s=>!this.uriIdentityService.extUri.isEqual(s,o))})}else this.updateEmptyWindowAssociation(o,void 0,n),this.updateStoredProfiles(this.profiles)}async resetWorkspaces(){this.transientProfilesObject.emptyWindows.clear(),this.profilesObject.emptyWindows.clear();for(let e of this.profiles)e.workspaces=void 0;this.updateProfiles([],[],this.profiles),this._onDidResetWorkspaces.fire()}async cleanUp(){try{if(await this.fileService.exists(this.profilesHome)){let e=await this.fileService.resolve(this.profilesHome);await Promise.all((e.children||[]).filter(n=>n.isDirectory&&n.name!==KL&&this.profiles.every(o=>!this.uriIdentityService.extUri.isEqual(o.location,n.resource))).map(n=>this.fileService.del(n.resource,{recursive:!0})))}}catch(e){this.logService.error("Error deleting redundant profile folders",e)}try{let e=this.getStoredProfiles(),n=[];for(let o of this.getStoredProfiles())this.isInvalidProfile(o)?this.logService.warn(`Invalid user data profile found: ${o.name}`):n.push(o);e.length!==n.length&&this.saveStoredProfiles(n)}catch(e){this.logService.error("Error removing invalid stored profiles",e)}}async cleanUpTransientProfiles(){let e=this.transientProfilesObject.profiles.filter(n=>!this.isProfileAssociatedToWorkspace(n));await Promise.allSettled(e.map(n=>this.removeProfile(n)))}getProfileForWorkspace(e){let n=this.getWorkspace(e);return y.isUri(n)&&this.uriIdentityService.extUri.isEqual(n,this.environmentService.agentSessionsWorkspace)?this.profiles.find(o=>o.isAgentsWindowProfile):y.isUri(n)?this.profiles.find(o=>o.workspaces?.some(r=>this.uriIdentityService.extUri.isEqual(r,n))):this.profilesObject.emptyWindows.get(n)??this.transientProfilesObject.emptyWindows.get(n)}getWorkspace(e){return RO(e)?e.uri:AO(e)?e.configPath:e.id}isProfileAssociatedToWorkspace(e){return!!(e.workspaces?.length||[...this.profilesObject.emptyWindows.values()].some(n=>this.uriIdentityService.extUri.isEqual(n.location,e.location))||[...this.transientProfilesObject.emptyWindows.values()].some(n=>this.uriIdentityService.extUri.isEqual(n.location,e.location)))}updateProfiles(e,n,o,r=!1){let s=[...this.profiles,...e],a=this.transientProfilesObject.profiles;this.transientProfilesObject.profiles=[];let l=[];for(let d of s){if(n.some(c=>d.id===c.id)){for(let c of[...this.profilesObject.emptyWindows.keys()])d.id===this.profilesObject.emptyWindows.get(c)?.id&&this.profilesObject.emptyWindows.delete(c);continue}if(!d.isDefault){d=o.find(u=>d.id===u.id)??d;let c=a.find(u=>d.id===u.id);if(d.isTransient)this.transientProfilesObject.profiles.push(d);else if(c){for(let[u,m]of this.transientProfilesObject.emptyWindows.entries())if(d.id===m.id){this.transientProfilesObject.emptyWindows.delete(u),this.profilesObject.emptyWindows.set(u,d);break}}}d.workspaces?.length===0&&(d.workspaces=void 0),l.push(d)}this.updateStoredProfiles(l),r||this.triggerProfilesChanges(e,n,o)}triggerProfilesChanges(e,n,o){this._onDidChangeProfiles.fire({added:e,removed:n,updated:o,all:this.profiles})}updateEmptyWindowAssociation(e,n,o){o=n?.isTransient?!0:o,o?n?this.transientProfilesObject.emptyWindows.set(e,n):this.transientProfilesObject.emptyWindows.delete(e):(this.transientProfilesObject.emptyWindows.delete(e),n?this.profilesObject.emptyWindows.set(e,n):this.profilesObject.emptyWindows.delete(e))}updateStoredProfiles(e){let n=[],o={},r={};for(let s of e)if(!s.isTransient&&(s.isDefault||n.push({location:s.location,name:s.name,icon:s.icon,useDefaultFlags:s.useDefaultFlags}),s.workspaces))for(let a of s.workspaces)o[a.toString()]=s.id;for(let[s,a]of this.profilesObject.emptyWindows.entries())r[s.toString()]=a.id;this.saveStoredProfileAssociations({workspaces:o,emptyWindows:r}),this.saveStoredProfiles(n),this._profilesObject=void 0}getStoredProfiles(){return[]}saveStoredProfiles(e){throw new Error("not implemented")}getStoredProfileAssociations(){return{}}saveStoredProfileAssociations(e){throw new Error("not implemented")}getDefaultProfileExtensionsLocation(){}};Iy=R([S(0,Ef),S(1,Cs),S(2,by),S(3,ae)],Iy);var k5="__$__isNewStorageMarker",xy="__$__targetStorageMarker",pr=A("storageService");function P5(i){let t=i.get(xy);if(t)try{return JSON.parse(t)}catch{}return Object.create(null)}var DP=class i extends V{constructor(e={flushInterval:i.DEFAULT_FLUSH_INTERVAL}){super();this._onDidChangeValue=this._register(new Ta);this._onDidChangeTarget=this._register(new Ta);this.onDidChangeTarget=this._onDidChangeTarget.event;this._onWillSaveState=this._register(new w);this.onWillSaveState=this._onWillSaveState.event;this.runFlushWhenIdle=this._register(new ln);this._workspaceKeyTargets=void 0;this._profileKeyTargets=void 0;this._applicationKeyTargets=void 0;this._applicationSharedKeyTargets=void 0;this.flushWhenIdleScheduler=this._register(new fo(()=>this.doFlushWhenIdle(),e.flushInterval))}static{this.DEFAULT_FLUSH_INTERVAL=60*1e3}onDidChangeValue(e,n,o){return Le.filter(this._onDidChangeValue.event,r=>r.scope===e&&(n===void 0||r.key===n),o)}doFlushWhenIdle(){this.runFlushWhenIdle.value=Rw(()=>{this.shouldFlushWhenIdle()&&this.flush(),this.flushWhenIdleScheduler.schedule()})}shouldFlushWhenIdle(){return!0}stopFlushWhenIdle(){Fn([this.runFlushWhenIdle,this.flushWhenIdleScheduler])}initialize(){return this.initializationPromise||(this.initializationPromise=(async()=>{fn("code/willInitStorage");try{await this.doInitialize()}finally{fn("code/didInitStorage")}this.flushWhenIdleScheduler.schedule()})()),this.initializationPromise}emitDidChangeValue(e,n){let{key:o,external:r}=n;if(o===xy){switch(e){case-2:this._applicationSharedKeyTargets=void 0;break;case-1:this._applicationKeyTargets=void 0;break;case 0:this._profileKeyTargets=void 0;break;case 1:this._workspaceKeyTargets=void 0;break}this._onDidChangeTarget.fire({scope:e})}else this._onDidChangeValue.fire({scope:e,key:o,target:this.getKeyTargets(e)[o],external:r})}emitWillSaveState(e){this._onWillSaveState.fire({reason:e})}get(e,n,o){return this.getStorage(n)?.get(e,o)}getBoolean(e,n,o){return this.getStorage(n)?.getBoolean(e,o)}getNumber(e,n,o){return this.getStorage(n)?.getNumber(e,o)}getObject(e,n,o){return this.getStorage(n)?.getObject(e,o)}storeAll(e,n){this.withPausedEmitters(()=>{for(let o of e)this.store(o.key,o.value,o.scope,o.target,n)})}store(e,n,o,r,s=!1){if(Mt(n)){this.remove(e,o,s);return}this.withPausedEmitters(()=>{this.updateKeyTarget(e,o,r),this.getStorage(o)?.set(e,n,s)})}remove(e,n,o=!1){this.withPausedEmitters(()=>{this.updateKeyTarget(e,n,void 0),this.getStorage(n)?.delete(e,o)})}withPausedEmitters(e){this._onDidChangeValue.pause(),this._onDidChangeTarget.pause();try{e()}finally{this._onDidChangeValue.resume(),this._onDidChangeTarget.resume()}}keys(e,n){let o=[],r=this.getKeyTargets(e);for(let s of Object.keys(r))r[s]===n&&o.push(s);return o}updateKeyTarget(e,n,o,r=!1){let s=this.getKeyTargets(n);typeof o=="number"?s[e]!==o&&(s[e]=o,this.getStorage(n)?.set(xy,JSON.stringify(s),r)):typeof s[e]=="number"&&(delete s[e],this.getStorage(n)?.set(xy,JSON.stringify(s),r))}get workspaceKeyTargets(){return this._workspaceKeyTargets||(this._workspaceKeyTargets=this.loadKeyTargets(1)),this._workspaceKeyTargets}get profileKeyTargets(){return this._profileKeyTargets||(this._profileKeyTargets=this.loadKeyTargets(0)),this._profileKeyTargets}get applicationKeyTargets(){return this._applicationKeyTargets||(this._applicationKeyTargets=this.loadKeyTargets(-1)),this._applicationKeyTargets}get applicationSharedKeyTargets(){return this._applicationSharedKeyTargets||(this._applicationSharedKeyTargets=this.loadKeyTargets(-2)),this._applicationSharedKeyTargets}getKeyTargets(e){switch(e){case-2:return this.applicationSharedKeyTargets;case-1:return this.applicationKeyTargets;case 0:return this.profileKeyTargets;default:return this.workspaceKeyTargets}}loadKeyTargets(e){let n=this.getStorage(e);return n?P5(n):Object.create(null)}isNew(e){return this.getBoolean(k5,e)===!0}async flush(e=0){this._onWillSaveState.fire({reason:e});let n=this.getStorage(-1),o=this.getStorage(-2),r=this.getStorage(0),s=this.getStorage(1);switch(e){case 0:await Ra.settled([n?.whenFlushed()??Promise.resolve(),o?.whenFlushed()??Promise.resolve(),r?.whenFlushed()??Promise.resolve(),s?.whenFlushed()??Promise.resolve()]);break;case 1:await Ra.settled([n?.flush(0)??Promise.resolve(),o?.flush(0)??Promise.resolve(),r?.flush(0)??Promise.resolve(),s?.flush(0)??Promise.resolve()]);break}}async log(){let e=this.getStorage(-1)?.items??new Map,n=this.getStorage(-2)?.items??new Map,o=this.getStorage(0)?.items??new Map,r=this.getStorage(1)?.items??new Map;return _5(e,n,o,r,this.getLogDetails(-1)??"",this.getLogDetails(-2)??"",this.getLogDetails(0)??"",this.getLogDetails(1)??"")}async optimize(e){return await this.flush(),this.getStorage(e)?.optimize()}async switch(e,n){return this.emitWillSaveState(0),GL(e)?this.switchToProfile(e,n):this.switchToWorkspace(e,n)}canSwitchProfile(e,n){return!(e.id===n.id||QL(n)&&QL(e))}switchData(e,n,o){this.withPausedEmitters(()=>{let r=new Set;for(let[s,a]of e)r.add(s),n.get(s)!==a&&this.emitDidChangeValue(o,{key:s,external:!0});for(let[s]of n.items)r.has(s)||this.emitDidChangeValue(o,{key:s,external:!0})})}};function QL(i){return i.isDefault||!!i.useDefaultFlags?.globalState}var Cy=class extends DP{constructor(){super();this.applicationStorage=this._register(new $a(new Rd,{hint:1}));this.applicationSharedStorage=this._register(new $a(new Rd,{hint:1}));this.profileStorage=this._register(new $a(new Rd,{hint:1}));this.workspaceStorage=this._register(new $a(new Rd,{hint:1}));this._register(this.workspaceStorage.onDidChangeStorage(e=>this.emitDidChangeValue(1,e))),this._register(this.profileStorage.onDidChangeStorage(e=>this.emitDidChangeValue(0,e))),this._register(this.applicationStorage.onDidChangeStorage(e=>this.emitDidChangeValue(-1,e))),this._register(this.applicationSharedStorage.onDidChangeStorage(e=>this.emitDidChangeValue(-2,e)))}getStorage(e){switch(e){case-2:return this.applicationSharedStorage;case-1:return this.applicationStorage;case 0:return this.profileStorage;default:return this.workspaceStorage}}getLogDetails(e){switch(e){case-2:return"inMemory (application-shared)";case-1:return"inMemory (application)";case 0:return"inMemory (profile)";default:return"inMemory (workspace)"}}async doInitialize(){}async switchToProfile(){}async switchToWorkspace(){}shouldFlushWhenIdle(){return!1}hasScope(e){return!1}};async function _5(i,t,e,n,o,r,s,a){let l=O=>{try{return JSON.parse(O)}catch{return O}},d=new Map,c=new Map;i.forEach((O,N)=>{d.set(N,O),c.set(N,l(O))});let u=new Map,m=new Map;t.forEach((O,N)=>{u.set(N,O),m.set(N,l(O))});let g=new Map,v=new Map;e.forEach((O,N)=>{g.set(N,O),v.set(N,l(O))});let f=new Map,x=new Map;n.forEach((O,N)=>{f.set(N,O),x.set(N,l(O))}),console.group(o!==s?`Storage: Application (path: ${o})`:`Storage: Application & Profile (path: ${o}, default profile)`);let C=[];d.forEach((O,N)=>{C.push({key:N,value:O})}),console.table(C),console.groupEnd(),console.log(c),console.group(`Storage: Application Shared (path: ${r})`);let E=[];if(u.forEach((O,N)=>{E.push({key:N,value:O})}),console.table(E),console.groupEnd(),console.log(m),o!==s){console.group(`Storage: Profile (path: ${s}, profile specific)`);let O=[];g.forEach((N,H)=>{O.push({key:H,value:N})}),console.table(O),console.groupEnd(),console.log(v)}console.group(`Storage: Workspace (path: ${a})`);let k=[];f.forEach((O,N)=>{k.push({key:N,value:O})}),console.table(k),console.groupEnd(),console.log(x)}var Oi=A("telemetryService");var tZ=A("customEndpointTelemetryService");var Sy="__";function JL(i){return typeof i=="object"&&i!==null&&"wwwAuthenticate"in i&&typeof i.wwwAuthenticate=="string"}var XL=A("IAuthenticationService");var rZ=A("IAuthenticationExtensionsService");var YL=A("openerService");var Ty=Ef;var ZL=A("lifecycleService");var Tn=class{constructor(t,e,n){this.owner=t;this.debugNameSource=e;this.referenceFn=n}getDebugName(t){return oN(t,this)}},eN=new Map,RP=new WeakMap;function oN(i,t){let e=RP.get(i);if(e)return e;let n=D5(i,t);if(n){let o=eN.get(n)??0;o++,eN.set(n,o);let r=o===1?n:`${n}#${o}`;return RP.set(i,r),r}}function D5(i,t){let e=RP.get(i);if(e)return e;let n=t.owner?A5(t.owner)+".":"",o,r=t.debugNameSource;if(r!==void 0)if(typeof r=="function"){if(o=r(),o!==void 0)return n+o}else return n+r;let s=t.referenceFn;if(s!==void 0&&(o=kf(s),o!==void 0))return n+o;if(t.owner!==void 0){let a=R5(t.owner,i);if(a!==void 0)return n+a}}function R5(i,t){for(let e in i)if(i[e]===t)return e}var tN=new Map,nN=new WeakMap;function A5(i){let t=nN.get(i);if(t)return t;let e=AP(i)??"Object",n=tN.get(e)??0;n++,tN.set(e,n);let o=n===1?e:`${e}#${n}`;return nN.set(i,o),o}function AP(i){let t=i.constructor;if(t)return t.name==="Object"?void 0:t.name}function kf(i){let t=i.toString(),n=/\/\*\*\s*@description\s*([^*]*)\*\//.exec(t);return(n?n[1]:void 0)?.trim()}function Io(i,t){return i===t}function M5(){return(i,t)=>i===t}function MP(i,t,e){return Qt(i,t,e??Io)}function O5(i){return(t,e)=>Qt(t,e,i??Io)}function Tu(i,t){if(i===t)return!0;if(Array.isArray(i)&&Array.isArray(t)){if(i.length!==t.length)return!1;for(let e=0;e<i.length;e++)if(!Tu(i[e],t[e]))return!1;return!0}if(i&&typeof i=="object"&&t&&typeof t=="object"&&Object.getPrototypeOf(i)===Object.prototype&&Object.getPrototypeOf(t)===Object.prototype){let e=i,n=t,o=Object.keys(e),r=Object.keys(n),s=new Set(r);if(o.length!==r.length)return!1;for(let a of o)if(!s.has(a)||!Tu(e[a],n[a]))return!1;return!0}return!1}function L5(){return(i,t)=>Tu(i,t)}function N5(i,t){return JSON.stringify(i)===JSON.stringify(t)}function U5(){return(i,t)=>JSON.stringify(i)===JSON.stringify(t)}function F5(){return(i,t)=>i.equals(t)}function H5(i,t,e){return i==null||t===void 0||t===null?t===i:e(i,t)}function V5(i){return(t,e)=>t==null||e===void 0||e===null?e===t:i(t,e)}var B5;(u=>(u.strict=Io,u.strictC=M5,u.array=MP,u.arrayC=O5,u.structural=Tu,u.structuralC=L5,u.jsonStringify=N5,u.jsonStringifyC=U5,u.thisC=F5,u.ifDefined=H5,u.ifDefinedC=V5))(B5||={});function OP(i){let t=new Error("BugIndicatingErrorRecovery: "+i);Pt(t),console.error("recovered from an error that indicates a bug",t)}var Ad;function Pf(i){Ad?Ad instanceof Ey?Ad.loggers.push(i):Ad=new Ey([Ad,i]):Ad=i}function Bt(){return Ad}var LP;function rN(i){LP=i}function iN(i){LP&&LP(i)}var Ey=class{constructor(t){this.loggers=t}handleObservableCreated(t,e){for(let n of this.loggers)n.handleObservableCreated(t,e)}handleOnListenerCountChanged(t,e){for(let n of this.loggers)n.handleOnListenerCountChanged(t,e)}handleObservableUpdated(t,e){for(let n of this.loggers)n.handleObservableUpdated(t,e)}handleAutorunCreated(t,e){for(let n of this.loggers)n.handleAutorunCreated(t,e)}handleAutorunDisposed(t){for(let e of this.loggers)e.handleAutorunDisposed(t)}handleAutorunDependencyChanged(t,e,n){for(let o of this.loggers)o.handleAutorunDependencyChanged(t,e,n)}handleAutorunStarted(t){for(let e of this.loggers)e.handleAutorunStarted(t)}handleAutorunFinished(t){for(let e of this.loggers)e.handleAutorunFinished(t)}handleDerivedDependencyChanged(t,e,n){for(let o of this.loggers)o.handleDerivedDependencyChanged(t,e,n)}handleDerivedCleared(t){for(let e of this.loggers)e.handleDerivedCleared(t)}handleBeginTransaction(t){for(let e of this.loggers)e.handleBeginTransaction(t)}handleEndTransaction(t){for(let e of this.loggers)e.handleEndTransaction(t)}};function qa(i,t){let e=new za(i,t);try{i(e)}finally{e.finish()}}function NP(i,t,e){i?t(i):qa(t,e)}var za=class{constructor(t,e){this._fn=t;this._getDebugName=e;this._updatingObservers=[];Bt()?.handleBeginTransaction(this)}getDebugName(){return this._getDebugName?this._getDebugName():kf(this._fn)}updateObserver(t,e){if(!this._updatingObservers){OP("Transaction already finished!"),qa(n=>{n.updateObserver(t,e)});return}this._updatingObservers.push({observer:t,observable:e}),t.beginUpdate(e)}finish(){let t=this._updatingObservers;if(!t){OP("transaction.finish() has already been called!");return}for(let e=0;e<t.length;e++){let{observer:n,observable:o}=t[e];n.endUpdate(o)}this._updatingObservers=null,Bt()?.handleEndTransaction(this)}debugGetUpdatingObservers(){return this._updatingObservers}};var sn;(n=>{let i=!1;function t(){i=!0}n.enable=t;function e(){if(!i)return;let o=Error,r=o.stackTraceLimit;o.stackTraceLimit=3;let s=new Error().stack;return o.stackTraceLimit=r,UP.fromStack(s,2)}n.ofCaller=e})(sn||={});var UP=class i{constructor(t,e,n,o){this.fileName=t;this.line=e;this.column=n;this.id=o}static fromStack(t,e){let n=t.split(`
`),o=W5(n[e+1]);if(o)return new i(o.fileName,o.line,o.column,o.id)}};function W5(i){let t=i.match(/\((.*):(\d+):(\d+)\)/);if(t)return{fileName:t[1],line:parseInt(t[2]),column:parseInt(t[3]),id:i};let e=i.match(/at ([^\(\)]*):(\d+):(\d+)/);if(e)return{fileName:e[1],line:parseInt(e[2]),column:parseInt(e[3]),id:i}}var FP;function sN(i){FP=i}var aN;function lN(i){aN=i}var dN;function cN(i){dN=i}var HP;function uN(i){HP=i}var _f=class{get TChange(){return null}reportChanges(){this.get()}read(t){return t?t.readObservable(this):this.get()}map(t,e,n=sn.ofCaller()){let o=e===void 0?void 0:t,r=e===void 0?t:e;return FP({owner:o,debugName:()=>{let s=kf(r);if(s!==void 0)return s;let l=/^\s*\(?\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\)?\s*=>\s*\1(?:\??)\.([a-zA-Z_$][a-zA-Z_$0-9]*)\s*$/.exec(r.toString());if(l)return`${this.debugName}.${l[2]}`;if(!o)return`${this.debugName} (mapped)`},debugReferenceFn:r},s=>r(this.read(s),s),n)}flatten(){return FP({owner:void 0,debugName:()=>`${this.debugName} (flattened)`},t=>this.read(t).read(t))}recomputeInitiallyAndOnChange(t,e){return t.add(aN(this,e)),this}keepObserved(t){return t.add(dN(this)),this}get debugValue(){return this.get()}get debug(){return new VP(this)}},VP=class{constructor(t){this.observable=t}getDependencyGraph(){return HP(this.observable,{type:"dependencies"})}getObserverGraph(){return HP(this.observable,{type:"observers"})}},mr=class extends _f{constructor(e){super();this._observers=new Set;Bt()?.handleObservableCreated(this,e)}addObserver(e){let n=this._observers.size;this._observers.add(e),n===0&&this.onFirstObserverAdded(),n!==this._observers.size&&Bt()?.handleOnListenerCountChanged(this,this._observers.size)}removeObserver(e){let n=this._observers.delete(e);n&&this._observers.size===0&&this.onLastObserverRemoved(),n&&Bt()?.handleOnListenerCountChanged(this,this._observers.size)}onFirstObserverAdded(){}onLastObserverRemoved(){}log(){let e=!!Bt();return iN(this),e||Bt()?.handleObservableCreated(this,sn.ofCaller()),this}debugGetObservers(){return this._observers}};function un(i,t,e=sn.ofCaller()){let n;return typeof i=="string"?n=new Tn(void 0,i,void 0):n=new Tn(i,void 0,void 0),new Li(n,t,Io,e)}var Li=class extends mr{constructor(e,n,o,r){super(r);this._debugNameData=e;this._equalityComparator=o;this._value=n,Bt()?.handleObservableUpdated(this,{hadValue:!1,newValue:n,change:void 0,didChange:!0,oldValue:void 0})}get debugName(){return this._debugNameData.getDebugName(this)??"ObservableValue"}get(){return this._value}set(e,n,o){if(o===void 0&&this._equalityComparator(this._value,e))return;let r;n||(n=r=new za(()=>{},()=>`Setting ${this.debugName}`));try{let s=this._value;this._setValue(e),Bt()?.handleObservableUpdated(this,{oldValue:s,newValue:e,change:o,didChange:!0,hadValue:!0});for(let a of this._observers)n.updateObserver(a,this),a.handleChange(this,o)}finally{r&&r.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(e){this._value=e}debugGetState(){return{value:this._value}}debugSetValue(e){this._value=e}};var wy=class extends mr{constructor(e,n,o,r){super(r);this._debugNameData=e;this._equalityComparator=o;this._isUpToDate=!0;this._deltas=[];this._updateCounter=0;this._value=n}get debugName(){return this._debugNameData.getDebugName(this)??"LazyObservableValue"}get(){return this._update(),this._value}_update(){if(!this._isUpToDate)if(this._isUpToDate=!0,this._deltas.length>0){for(let e of this._deltas){Bt()?.handleObservableUpdated(this,{change:e,didChange:!0,oldValue:"(unknown)",newValue:this._value,hadValue:!0});for(let n of this._observers)n.handleChange(this,e)}this._deltas.length=0}else{Bt()?.handleObservableUpdated(this,{change:void 0,didChange:!0,oldValue:"(unknown)",newValue:this._value,hadValue:!0});for(let e of this._observers)e.handleChange(this,void 0)}}_beginUpdate(){if(this._updateCounter++,this._updateCounter===1)for(let e of this._observers)e.beginUpdate(this)}_endUpdate(){if(this._updateCounter--,this._updateCounter===0){this._update();let e=[...this._observers];for(let n of e)n.endUpdate(this)}}addObserver(e){let n=!this._observers.has(e)&&this._updateCounter>0;super.addObserver(e),n&&e.beginUpdate(this)}removeObserver(e){let n=this._observers.has(e)&&this._updateCounter>0;super.removeObserver(e),n&&e.endUpdate(this)}set(e,n,o){if(o===void 0&&this._equalityComparator(this._value,e))return;let r;n||(n=r=new za(()=>{},()=>`Setting ${this.debugName}`));try{if(this._isUpToDate=!1,this._setValue(e),o!==void 0&&this._deltas.push(o),n.updateObserver({beginUpdate:()=>this._beginUpdate(),endUpdate:()=>this._endUpdate(),handleChange:(s,a)=>{},handlePossibleChange:s=>{}},this),this._updateCounter>1)for(let s of this._observers)s.handlePossibleChange(this)}finally{r&&r.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(e){this._value=e}};function ks(i,t,e=sn.ofCaller()){return i.lazy?new wy(new Tn(i.owner,i.debugName,void 0),t,i.equalsFn??Io,e):new Li(new Tn(i.owner,i.debugName,void 0),t,i.equalsFn??Io,e)}function $5(i){switch(i){case 1:return"dependenciesMightHaveChanged";case 2:return"stale";case 3:return"upToDate";default:return"<unknown>"}}var Ps=class{constructor(t,e,n,o){this._debugNameData=t;this._runFn=e;this._changeTracker=n;this._state=2;this._updateCount=0;this._disposed=!1;this._dependencies=new Set;this._dependenciesToBeRemoved=new Set;this._isRunning=!1;this._iteration=0;this._store=void 0;this._delayedStore=void 0;this._changeSummary=this._changeTracker?.createChangeSummary(void 0),Bt()?.handleAutorunCreated(this,o),this._run(),ya(this)}get debugName(){return this._debugNameData.getDebugName(this)??"(anonymous)"}dispose(){if(!this._disposed){this._disposed=!0;for(let t of this._dependencies)t.removeObserver(this);this._dependencies.clear(),this._store!==void 0&&this._store.dispose(),this._delayedStore!==void 0&&this._delayedStore.dispose(),Bt()?.handleAutorunDisposed(this),Ia(this)}}_run(){let t=this._dependenciesToBeRemoved;this._dependenciesToBeRemoved=this._dependencies,this._dependencies=t,this._state=3;try{if(!this._disposed){Bt()?.handleAutorunStarted(this);let e=this._changeSummary,n=this._delayedStore;n!==void 0&&(this._delayedStore=void 0);try{this._isRunning=!0,this._changeTracker&&(this._changeTracker.beforeUpdate?.(this,e),this._changeSummary=this._changeTracker.createChangeSummary(e)),this._store!==void 0&&(this._store.dispose(),this._store=void 0),this._runFn(this,e)}catch(o){ha(o)}finally{this._isRunning=!1,n!==void 0&&n.dispose()}}}finally{this._disposed||Bt()?.handleAutorunFinished(this);for(let e of this._dependenciesToBeRemoved)e.removeObserver(this);this._dependenciesToBeRemoved.clear()}}toString(){return`Autorun<${this.debugName}>`}beginUpdate(t){this._state===3&&(this._checkIterations(),this._state=1),this._updateCount++}endUpdate(t){try{if(this._updateCount===1){this._iteration=1;do{if(this._checkIterations())return;if(this._state===1){this._state=3;for(let e of this._dependencies)if(e.reportChanges(),this._state===2)break}this._iteration++,this._state!==3&&this._run()}while(this._state!==3)}}finally{this._updateCount--}Rg(()=>this._updateCount>=0)}handlePossibleChange(t){this._state===3&&this._isDependency(t)&&(this._checkIterations(),this._state=1)}handleChange(t,e){if(this._isDependency(t)){Bt()?.handleAutorunDependencyChanged(this,t,e);try{(!this._changeTracker||this._changeTracker.handleChange({changedObservable:t,change:e,didChange:o=>o===t},this._changeSummary))&&(this._checkIterations(),this._state=2)}catch(n){ha(n)}}}_isDependency(t){return this._dependencies.has(t)&&!this._dependenciesToBeRemoved.has(t)}_ensureNoRunning(){if(!this._isRunning)throw new kt("The reader object cannot be used outside its compute function!")}readObservable(t){if(this._ensureNoRunning(),this._disposed)return t.get();t.addObserver(this);let e=t.get();return this._dependencies.add(t),this._dependenciesToBeRemoved.delete(t),e}get store(){if(this._ensureNoRunning(),this._disposed)throw new kt("Cannot access store after dispose");return this._store===void 0&&(this._store=new J),this._store}get delayedStore(){if(this._ensureNoRunning(),this._disposed)throw new kt("Cannot access store after dispose");return this._delayedStore===void 0&&(this._delayedStore=new J),this._delayedStore}debugGetState(){return{isRunning:this._isRunning,updateCount:this._updateCount,dependencies:this._dependencies,state:this._state,stateStr:$5(this._state)}}debugRerun(){this._isRunning?this._state=2:this._run()}_checkIterations(){return this._iteration>100?(ha(new kt(`Autorun '${this.debugName}' is stuck in an infinite update loop.`)),!0):!1}};function so(i,t=sn.ofCaller()){return new Ps(new Tn(void 0,void 0,i),i,void 0,t)}function BP(i,t,e=sn.ofCaller()){let n,o=!1;n=so(r=>{t({delayedStore:r.delayedStore,store:r.store,readObservable:r.readObservable.bind(r),dispose:()=>{n?i.delete(n):o=!0}})},e),o?n.dispose():i.add(n)}function z5(i){switch(i){case 0:return"initial";case 1:return"dependenciesMightHaveChanged";case 2:return"stale";case 3:return"upToDate";default:return"<unknown>"}}var Mn=class extends mr{constructor(e,n,o,r=void 0,s,a){super(a);this._debugNameData=e;this._computeFn=n;this._changeTracker=o;this._handleLastObserverRemoved=r;this._equalityComparator=s;this._state=0;this._value=void 0;this._updateCount=0;this._dependencies=new Set;this._dependenciesToBeRemoved=new Set;this._changeSummary=void 0;this._isUpdating=!1;this._isComputing=!1;this._didReportChange=!1;this._isInBeforeUpdate=!1;this._isReaderValid=!1;this._store=void 0;this._delayedStore=void 0;this._removedObserverToCallEndUpdateOn=null;this._changeSummary=this._changeTracker?.createChangeSummary(void 0)}get debugName(){return this._debugNameData.getDebugName(this)??"(anonymous)"}onLastObserverRemoved(){this._state=0,this._value=void 0,Bt()?.handleDerivedCleared(this);for(let e of this._dependencies)e.removeObserver(this);this._dependencies.clear(),this._store!==void 0&&(this._store.dispose(),this._store=void 0),this._delayedStore!==void 0&&(this._delayedStore.dispose(),this._delayedStore=void 0),this._handleLastObserverRemoved?.()}get(){if(this._isComputing,this._observers.size===0){let n;try{this._isReaderValid=!0;let o;this._changeTracker&&(o=this._changeTracker.createChangeSummary(void 0),this._changeTracker.beforeUpdate?.(this,o)),n=this._computeFn(this,o)}finally{this._isReaderValid=!1}return this.onLastObserverRemoved(),n}else{do{if(this._state===1){for(let n of this._dependencies)if(n.reportChanges(),this._state===2)break}this._state===1&&(this._state=3),this._state!==3&&this._recompute()}while(this._state!==3);return this._value}}_recompute(){let e=!1;this._isComputing=!0,this._didReportChange=!1;let n=this._dependenciesToBeRemoved;this._dependenciesToBeRemoved=this._dependencies,this._dependencies=n;try{let o=this._changeSummary;this._isReaderValid=!0,this._changeTracker&&(this._isInBeforeUpdate=!0,this._changeTracker.beforeUpdate?.(this,o),this._isInBeforeUpdate=!1,this._changeSummary=this._changeTracker?.createChangeSummary(o));let r=this._state!==0,s=this._value;this._state=3;let a=this._delayedStore;a!==void 0&&(this._delayedStore=void 0);try{this._store!==void 0&&(this._store.dispose(),this._store=void 0),this._value=this._computeFn(this,o)}finally{this._isReaderValid=!1;for(let l of this._dependenciesToBeRemoved)l.removeObserver(this);this._dependenciesToBeRemoved.clear(),a!==void 0&&a.dispose()}e=this._didReportChange||r&&!this._equalityComparator(s,this._value),Bt()?.handleObservableUpdated(this,{oldValue:s,newValue:this._value,change:void 0,didChange:e,hadValue:r})}catch(o){ha(o)}if(this._isComputing=!1,!this._didReportChange&&e)for(let o of this._observers)o.handleChange(this,void 0);else this._didReportChange=!1}toString(){return`LazyDerived<${this.debugName}>`}beginUpdate(e){if(this._isUpdating)throw new kt("Cyclic deriveds are not supported yet!");this._updateCount++,this._isUpdating=!0;try{let n=this._updateCount===1;if(this._state===3&&(this._state=1,!n))for(let o of this._observers)o.handlePossibleChange(this);if(n)for(let o of this._observers)o.beginUpdate(this)}finally{this._isUpdating=!1}}endUpdate(e){if(this._updateCount--,this._updateCount===0){let n=[...this._observers];for(let o of n)o.endUpdate(this);if(this._removedObserverToCallEndUpdateOn){let o=[...this._removedObserverToCallEndUpdateOn];this._removedObserverToCallEndUpdateOn=null;for(let r of o)r.endUpdate(this)}}Rg(()=>this._updateCount>=0)}handlePossibleChange(e){if(this._state===3&&this._dependencies.has(e)&&!this._dependenciesToBeRemoved.has(e)){this._state=1;for(let n of this._observers)n.handlePossibleChange(this)}}handleChange(e,n){if(this._dependencies.has(e)&&!this._dependenciesToBeRemoved.has(e)||this._isInBeforeUpdate){Bt()?.handleDerivedDependencyChanged(this,e,n);let o=!1;try{o=this._changeTracker?this._changeTracker.handleChange({changedObservable:e,change:n,didChange:s=>s===e},this._changeSummary):!0}catch(s){ha(s)}let r=this._state===3;if(o&&(this._state===1||r)&&(this._state=2,r))for(let s of this._observers)s.handlePossibleChange(this)}}_ensureReaderValid(){if(!this._isReaderValid)throw new kt("The reader object cannot be used outside its compute function!")}readObservable(e){this._ensureReaderValid(),e.addObserver(this);let n=e.get();return this._dependencies.add(e),this._dependenciesToBeRemoved.delete(e),n}reportChange(e){this._ensureReaderValid(),this._didReportChange=!0;for(let n of this._observers)n.handleChange(this,e)}get store(){return this._ensureReaderValid(),this._store===void 0&&(this._store=new J),this._store}get delayedStore(){return this._ensureReaderValid(),this._delayedStore===void 0&&(this._delayedStore=new J),this._delayedStore}addObserver(e){let n=!this._observers.has(e)&&this._updateCount>0;super.addObserver(e),n&&(this._removedObserverToCallEndUpdateOn?.delete(e)||e.beginUpdate(this))}removeObserver(e){this._observers.has(e)&&this._updateCount>0&&(this._removedObserverToCallEndUpdateOn||(this._removedObserverToCallEndUpdateOn=new Set),this._removedObserverToCallEndUpdateOn.add(e)),super.removeObserver(e)}debugGetState(){return{state:this._state,stateStr:z5(this._state),updateCount:this._updateCount,isComputing:this._isComputing,dependencies:this._dependencies,value:this._value}}debugSetValue(e){this._value=e}debugRecompute(){this.beginUpdate(this);try{this._isComputing?this._state=2:this._recompute()}finally{this.endUpdate(this)}}setValue(e,n,o){this._value=e;let r=this._observers;n.updateObserver(this,this);for(let s of r)s.handleChange(this,o)}};function _s(i,t,e=sn.ofCaller()){return t!==void 0?new Mn(new Tn(i,void 0,t),t,void 0,void 0,Io,e):new Mn(new Tn(void 0,void 0,i),i,void 0,void 0,Io,e)}function Df(i,t,e=sn.ofCaller()){return new Mn(new Tn(i.owner,i.debugName,i.debugReferenceFn),t,void 0,i.onLastObserverRemoved,i.equalsFn??Io,e)}sN(Df);function ao(...i){let t,e,n,o;return i.length===2?[e,n]=i:[t,e,n,o]=i,new Dr(new Tn(t,void 0,n),e,n,()=>Dr.globalTransaction,Io,o??sn.ofCaller())}var Dr=class extends mr{constructor(e,n,o,r,s,a){super(a);this._debugNameData=e;this.event=n;this._getValue=o;this._getTransaction=r;this._equalityComparator=s;this._hasValue=!1;this.handleEvent=e=>{let n=this._getValue(e),o=this._value,r=!this._hasValue||!this._equalityComparator(o,n),s=!1;r&&(this._value=n,this._hasValue&&(s=!0,NP(this._getTransaction(),a=>{Bt()?.handleObservableUpdated(this,{oldValue:o,newValue:n,change:void 0,didChange:r,hadValue:this._hasValue});for(let l of this._observers)a.updateObserver(l,this),l.handleChange(this,void 0)},()=>{let a=this.getDebugName();return"Event fired"+(a?`: ${a}`:"")})),this._hasValue=!0),s||Bt()?.handleObservableUpdated(this,{oldValue:o,newValue:n,change:void 0,didChange:r,hadValue:this._hasValue})}}getDebugName(){return this._debugNameData.getDebugName(this)}get debugName(){let e=this.getDebugName();return"From Event"+(e?`: ${e}`:"")}onFirstObserverAdded(){this._subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this._subscription.dispose(),this._subscription=void 0,this._hasValue=!1,this._value=void 0}get(){return this._subscription?(this._hasValue||this.handleEvent(void 0),this._value):this._getValue(void 0)}debugSetValue(e){this._value=e}debugGetState(){return{value:this._value,hasValue:this._hasValue}}};(e=>{e.Observer=Dr;function t(n,o){let r=!1;Dr.globalTransaction===void 0&&(Dr.globalTransaction=n,r=!0);try{o()}finally{r&&(Dr.globalTransaction=void 0)}}e.batchEventsGlobally=t})(ao||={});function pN(i){let t=new ky(!1,void 0);return i.addObserver(t),X(()=>{i.removeObserver(t)})}cN(pN);function mN(i,t){let e=new ky(!0,t);i.addObserver(e);try{e.beginUpdate(i)}finally{e.endUpdate(i)}return X(()=>{i.removeObserver(e)})}lN(mN);var ky=class{constructor(t,e){this._forceRecompute=t;this._handleValue=e;this._counter=0}beginUpdate(t){this._counter++}endUpdate(t){this._counter===1&&this._forceRecompute&&(this._handleValue?this._handleValue(t.get()):t.reportChanges()),this._counter--}handlePossibleChange(t){}handleChange(t,e){}};function $P(i){return new WP(i)}var WP=class extends _f{constructor(e){super();this.value=e}get debugName(){return this.toString()}get(){return this.value}addObserver(e){}removeObserver(e){}log(){return this}toString(){return`Const: ${this.value}`}};function Rf(i,t,e=sn.ofCaller()){return new zP(typeof i=="string"?i:new Tn(i,void 0,void 0),t,e)}var zP=class extends mr{constructor(e,n,o){super(o);this.event=n;this.handleEvent=()=>{qa(e=>{for(let n of this._observers)e.updateObserver(n,this),n.handleChange(this,void 0)},()=>this.debugName)};this.debugName=typeof e=="string"?e:e.getDebugName(this)??"Observable Signal From Event"}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0}get(){}};var Py;function gN(i){Py||(Py=new Af,Pf(Py)),Py.addFilteredObj(i)}var Af=class{constructor(){this.indentation=0;this.changedObservablesSets=new WeakMap}addFilteredObj(t){this._filteredObjects||(this._filteredObjects=new Set),this._filteredObjects.add(t)}_isIncluded(t){return this._filteredObjects?.has(t)??!0}textToConsoleArgs(t){return J5([Eu(Z5("|  ",this.indentation)),t])}formatInfo(t){return t.hadValue?t.didChange?[Eu(" "),Rr(gr(t.oldValue,70),{color:"red",strikeThrough:!0}),Eu(" "),Rr(gr(t.newValue,60),{color:"green"})]:[Eu(" (unchanged)")]:[Eu(" "),Rr(gr(t.newValue,60),{color:"green"}),Eu(" (initial)")]}handleObservableCreated(t){if(t instanceof Mn){let e=t;if(this.changedObservablesSets.set(e,new Set),!1){let o=[];e.__debugUpdating=o;let r=e.beginUpdate;e.beginUpdate=a=>(o.push(a),r.apply(e,[a]));let s=e.endUpdate;e.endUpdate=a=>{let l=o.indexOf(a);return l===-1&&console.error("endUpdate called without beginUpdate",e.debugName,a.debugName),o.splice(l,1),s.apply(e,[a])}}}}handleOnListenerCountChanged(t,e){}handleObservableUpdated(t,e){if(this._isIncluded(t)){if(t instanceof Mn){this._handleDerivedRecomputed(t,e);return}console.log(...this.textToConsoleArgs([wu("observable value changed"),Rr(t.debugName,{color:"BlueViolet"}),...this.formatInfo(e)]))}}formatChanges(t){if(t.size!==0)return Rr(" (changed deps: "+[...t].map(e=>e.debugName).join(", ")+")",{color:"gray"})}handleDerivedDependencyChanged(t,e,n){this._isIncluded(t)&&this.changedObservablesSets.get(t)?.add(e)}_handleDerivedRecomputed(t,e){if(!this._isIncluded(t))return;let n=this.changedObservablesSets.get(t);n&&(console.log(...this.textToConsoleArgs([wu("derived recomputed"),Rr(t.debugName,{color:"BlueViolet"}),...this.formatInfo(e),this.formatChanges(n),{data:[{fn:t._debugNameData.referenceFn??t._computeFn}]}])),n.clear())}handleDerivedCleared(t){this._isIncluded(t)&&console.log(...this.textToConsoleArgs([wu("derived cleared"),Rr(t.debugName,{color:"BlueViolet"})]))}handleFromEventObservableTriggered(t,e){this._isIncluded(t)&&console.log(...this.textToConsoleArgs([wu("observable from event triggered"),Rr(t.debugName,{color:"BlueViolet"}),...this.formatInfo(e),{data:[{fn:t._getValue}]}]))}handleAutorunCreated(t){this._isIncluded(t)&&this.changedObservablesSets.set(t,new Set)}handleAutorunDisposed(t){}handleAutorunDependencyChanged(t,e,n){this._isIncluded(t)&&this.changedObservablesSets.get(t).add(e)}handleAutorunStarted(t){let e=this.changedObservablesSets.get(t);e&&(this._isIncluded(t)&&console.log(...this.textToConsoleArgs([wu("autorun"),Rr(t.debugName,{color:"BlueViolet"}),this.formatChanges(e),{data:[{fn:t._debugNameData.referenceFn??t._runFn}]}])),e.clear(),this.indentation++)}handleAutorunFinished(t){this.indentation--}handleBeginTransaction(t){let e=t.getDebugName();e===void 0&&(e=""),this._isIncluded(t)&&console.log(...this.textToConsoleArgs([wu("transaction"),Rr(e,{color:"BlueViolet"}),{data:[{fn:t._fn}]}])),this.indentation++}handleEndTransaction(){this.indentation--}};function J5(i){let t=new Array,e=[],n="";function o(s){if("length"in s)for(let a of s)a&&o(a);else"text"in s?(n+=`%c${s.text}`,t.push(s.style),s.data&&e.push(...s.data)):"data"in s&&e.push(...s.data)}o(i);let r=[n,...t];return r.push(...e),r}function Eu(i){return Rr(i,{color:"black"})}function wu(i){return Rr(eW(`${i}: `,10),{color:"black",bold:!0})}function Rr(i,t={color:"black"}){function e(o){return Object.entries(o).reduce((r,[s,a])=>`${r}${s}:${a};`,"")}let n={color:t.color};return t.strikeThrough&&(n["text-decoration"]="line-through"),t.bold&&(n["font-weight"]="bold"),{text:i,style:e(n)}}function gr(i,t){switch(typeof i){case"number":return""+i;case"string":return i.length+2<=t?`"${i}"`:`"${i.substr(0,t-7)}"+...`;case"boolean":return i?"true":"false";case"undefined":return"undefined";case"object":return i===null?"null":Array.isArray(i)?X5(i,t):Y5(i,t);case"symbol":return i.toString();case"function":return`[[Function${i.name?" "+i.name:""}]]`;default:return""+i}}function X5(i,t){let e="[ ",n=!0;for(let o of i){if(n||(e+=", "),e.length-5>t){e+="...";break}n=!1,e+=`${gr(o,t-e.length)}`}return e+=" ]",e}function Y5(i,t){if(typeof i.toString=="function"&&i.toString!==Object.prototype.toString){let r=i.toString();return r.length<=t?r:r.substring(0,t-3)+"..."}let e=AP(i),n=e?e+"(":"{ ",o=!0;for(let[r,s]of Object.entries(i)){if(o||(n+=", "),n.length-5>t){n+="...";break}o=!1,n+=`${r}: ${gr(s,t-n.length)}`}return n+=e?")":" }",n}function Z5(i,t){let e="";for(let n=1;n<=t;n++)e+=i;return e}function eW(i,t){for(;i.length<t;)i+=" ";return i}var _y=class i{constructor(t,e){this._channelFactory=t;this._getHandler=e;this._channel=this._channelFactory({handleNotification:r=>{let s=r,a=this._getHandler().notifications[s[0]];if(!a)throw new Error(`Unknown notification "${s[0]}"!`);a(...s[1])},handleRequest:r=>{let s=r;try{return{type:"result",value:this._getHandler().requests[s[0]](...s[1])}}catch(a){return{type:"error",value:a}}}});let n=new Proxy({},{get:(r,s)=>async(...a)=>{let l=await this._channel.sendRequest([s,a]);if(l.type==="error")throw l.value;return l.value}}),o=new Proxy({},{get:(r,s)=>(...a)=>{this._channel.sendNotification([s,a])}});this.api={notifications:o,requests:n}}static createHost(t,e){return new i(t,e)}static createClient(t,e){return new i(t,e)}};function fN(i,t){let e=globalThis,n=[],o,{channel:r,handler:s}=tW({sendNotification:l=>{o?o.sendNotification(l):n.push(l)}}),a;return(e.$$debugValueEditor_debugChannels??(e.$$debugValueEditor_debugChannels={}))[i]=l=>{a=t(),o=l;for(let d of n)l.sendNotification(d);return n=[],s},_y.createClient(r,()=>{if(!a)throw new Error("Not supported");return a})}function tW(i){let t;return{channel:n=>(t=n,{sendNotification:o=>{i.sendNotification(o)},sendRequest:o=>{throw new Error("not supported")}}),handler:{handleRequest:n=>n.type==="notification"?t?.handleNotification(n.data):t?.handleRequest(n.data)}}}var Dy=class{constructor(){this._timeout=void 0}throttle(t,e){this._timeout===void 0&&(this._timeout=setTimeout(()=>{this._timeout=void 0,t()},e))}dispose(){this._timeout!==void 0&&clearTimeout(this._timeout)}};function qP(i,t){for(let e in t)i[e]&&typeof i[e]=="object"&&t[e]&&typeof t[e]=="object"?qP(i[e],t[e]):i[e]=t[e]}function KP(i,t){for(let e in t)t[e]===null?delete i[e]:i[e]&&typeof i[e]=="object"&&t[e]&&typeof t[e]=="object"?KP(i[e],t[e]):i[e]=t[e]}var Ry=class i{constructor(){this._declarationId=0;this._instanceId=0;this._declarations=new Map;this._instanceInfos=new WeakMap;this._aliveInstances=new Map;this._activeTransactions=new Set;this._channel=fN("observableDevTools",()=>({notifications:{setDeclarationIdFilter:t=>{},logObservableValue:t=>{console.log("logObservableValue",t)},flushUpdates:()=>{this._flushUpdates()},resetUpdates:()=>{this._pendingChanges=null,this._channel.api.notifications.handleChange(this._fullState,!0)}},requests:{getDeclarations:()=>{let t={};for(let e of this._declarations.values())t[e.id]=e;return{decls:t}},getSummarizedInstances:()=>null,getObservableValueInfo:t=>({observers:[...this._aliveInstances.get(t).debugGetObservers()].map(n=>this._formatObserver(n)).filter(no)}),getDerivedInfo:t=>{let e=this._aliveInstances.get(t);return{dependencies:[...e.debugGetState().dependencies].map(n=>this._formatObservable(n)).filter(no),observers:[...e.debugGetObservers()].map(n=>this._formatObserver(n)).filter(no)}},getAutorunInfo:t=>({dependencies:[...this._aliveInstances.get(t).debugGetState().dependencies].map(n=>this._formatObservable(n)).filter(no)}),getTransactionState:()=>this.getTransactionState(),setValue:(t,e)=>{let n=this._aliveInstances.get(t);if(n instanceof Mn)n.debugSetValue(e);else if(n instanceof Li)n.debugSetValue(e);else if(n instanceof Dr)n.debugSetValue(e);else throw new kt("Observable is not supported");let o=[...n.debugGetObservers()];for(let r of o)r.beginUpdate(n);for(let r of o)r.handleChange(n,void 0);for(let r of o)r.endUpdate(n)},getValue:t=>{let e=this._aliveInstances.get(t);if(e instanceof Mn)return gr(e.debugGetState().value,200);if(e instanceof Li)return gr(e.debugGetState().value,200)},logValue:t=>{let e=this._aliveInstances.get(t);if(e&&"get"in e)console.log("Logged Value:",e.get());else throw new kt("Observable is not supported")},rerun:t=>{let e=this._aliveInstances.get(t);if(e instanceof Mn)e.debugRecompute();else if(e instanceof Ps)e.debugRerun();else throw new kt("Observable is not supported")}}}));this._pendingChanges=null;this._changeThrottler=new Dy;this._fullState={};this._flushUpdates=()=>{this._pendingChanges!==null&&(this._channel.api.notifications.handleChange(this._pendingChanges,!1),this._pendingChanges=null)};sn.enable()}static{this._instance=void 0}static getInstance(){return i._instance===void 0&&(i._instance=new i),i._instance}getTransactionState(){let t=[],e=[...this._activeTransactions];if(e.length===0)return;let n=e.flatMap(r=>r.debugGetUpdatingObservers()??[]).map(r=>r.observer),o=new Set;for(;n.length>0;){let r=n.shift();if(o.has(r))continue;o.add(r);let s=this._getInfo(r,a=>{o.has(a)||n.push(a)});s&&t.push(s)}return{names:e.map(r=>r.getDebugName()??"tx"),affected:t}}_getObservableInfo(t){let e=this._instanceInfos.get(t);if(!e){Pt(new kt("No info found"));return}return e}_getAutorunInfo(t){let e=this._instanceInfos.get(t);if(!e){Pt(new kt("No info found"));return}return e}_getInfo(t,e){if(t instanceof Mn){let n=[...t.debugGetObservers()];for(let l of n)e(l);let o=this._getObservableInfo(t);if(!o)return;let r=t.debugGetState(),s={name:t.debugName,instanceId:o.instanceId,updateCount:r.updateCount},a=[...o.changedObservables].map(l=>this._instanceInfos.get(l)?.instanceId).filter(no);if(r.isComputing)return{...s,type:"observable/derived",state:"updating",changedDependencies:a,initialComputation:!1};switch(r.state){case 0:return{...s,type:"observable/derived",state:"noValue"};case 3:return{...s,type:"observable/derived",state:"upToDate"};case 2:return{...s,type:"observable/derived",state:"stale",changedDependencies:a};case 1:return{...s,type:"observable/derived",state:"possiblyStale"}}}else if(t instanceof Ps){let n=this._getAutorunInfo(t);if(!n)return;let o={name:t.debugName,instanceId:n.instanceId,updateCount:n.updateCount},r=[...n.changedObservables].map(s=>this._instanceInfos.get(s).instanceId);if(t.debugGetState().isRunning)return{...o,type:"autorun",state:"updating",changedDependencies:r};switch(t.debugGetState().state){case 3:return{...o,type:"autorun",state:"upToDate"};case 2:return{...o,type:"autorun",state:"stale",changedDependencies:r};case 1:return{...o,type:"autorun",state:"possiblyStale"}}}}_formatObservable(t){let e=this._getObservableInfo(t);if(e)return{name:t.debugName,instanceId:e.instanceId}}_formatObserver(t){if(t instanceof Mn)return{name:t.toString(),instanceId:this._getObservableInfo(t)?.instanceId};let e=this._getAutorunInfo(t);if(e)return{name:t.toString(),instanceId:e.instanceId}}_handleChange(t){KP(this._fullState,t),this._pendingChanges===null?this._pendingChanges=t:qP(this._pendingChanges,t),this._changeThrottler.throttle(this._flushUpdates,10)}_getDeclarationId(t,e){if(!e)return-1;let n=this._declarations.get(e.id);return n===void 0&&(n={id:this._declarationId++,type:t,url:e.fileName,line:e.line,column:e.column},this._declarations.set(e.id,n),this._handleChange({decls:{[n.id]:n}})),n.id}handleObservableCreated(t,e){let o={declarationId:this._getDeclarationId("observable/value",e),instanceId:this._instanceId++,listenerCount:0,lastValue:void 0,updateCount:0,changedObservables:new Set};this._instanceInfos.set(t,o)}handleOnListenerCountChanged(t,e){let n=this._getObservableInfo(t);if(n){if(n.listenerCount===0&&e>0){let o=t instanceof Mn?"observable/derived":"observable/value";this._aliveInstances.set(n.instanceId,t),this._handleChange({instances:{[n.instanceId]:{instanceId:n.instanceId,declarationId:n.declarationId,formattedValue:n.lastValue,type:o,name:t.debugName}}})}else n.listenerCount>0&&e===0&&(this._handleChange({instances:{[n.instanceId]:null}}),this._aliveInstances.delete(n.instanceId));n.listenerCount=e}}handleObservableUpdated(t,e){if(t instanceof Mn){this._handleDerivedRecomputed(t,e);return}let n=this._getObservableInfo(t);n&&e.didChange&&(n.lastValue=gr(e.newValue,30),n.listenerCount>0&&this._handleChange({instances:{[n.instanceId]:{formattedValue:n.lastValue}}}))}handleAutorunCreated(t,e){let o={declarationId:this._getDeclarationId("autorun",e),instanceId:this._instanceId++,updateCount:0,changedObservables:new Set};this._instanceInfos.set(t,o),this._aliveInstances.set(o.instanceId,t),o&&this._handleChange({instances:{[o.instanceId]:{instanceId:o.instanceId,declarationId:o.declarationId,runCount:0,type:"autorun",name:t.debugName}}})}handleAutorunDisposed(t){let e=this._getAutorunInfo(t);e&&(this._handleChange({instances:{[e.instanceId]:null}}),this._instanceInfos.delete(t),this._aliveInstances.delete(e.instanceId))}handleAutorunDependencyChanged(t,e,n){let o=this._getAutorunInfo(t);o&&o.changedObservables.add(e)}handleAutorunStarted(t){}handleAutorunFinished(t){let e=this._getAutorunInfo(t);e&&(e.changedObservables.clear(),e.updateCount++,this._handleChange({instances:{[e.instanceId]:{runCount:e.updateCount}}}))}handleDerivedDependencyChanged(t,e,n){let o=this._getObservableInfo(t);o&&o.changedObservables.add(e)}_handleDerivedRecomputed(t,e){let n=this._getObservableInfo(t);if(!n)return;let o=gr(e.newValue,30);n.updateCount++,n.changedObservables.clear(),n.lastValue=o,n.listenerCount>0&&this._handleChange({instances:{[n.instanceId]:{formattedValue:o,recomputationCount:n.updateCount}}})}handleDerivedCleared(t){let e=this._getObservableInfo(t);e&&(e.lastValue=void 0,e.changedObservables.clear(),e.listenerCount>0&&this._handleChange({instances:{[e.instanceId]:{formattedValue:void 0}}}))}handleBeginTransaction(t){this._activeTransactions.add(t)}handleEndTransaction(t){this._activeTransactions.delete(t)}};function hN(i,t){let e=t?.debugNamePostProcessor??(r=>r),n=Md.from(i,e);if(!n)return"";let o=new Set;return t.type==="observers"?bN(n,0,o,t).trim():vN(n,0,o,t).trim()}function vN(i,t,e,n){let o="		".repeat(t),r=[];if(e.has(i.sourceObj))return r.push(`${o}* ${i.type} ${i.name} (already listed)`),r.join(`
`);if(e.add(i.sourceObj),r.push(`${o}* ${i.type} ${i.name}:`),r.push(`${o}  value: ${gr(i.value,50)}`),r.push(`${o}  state: ${i.state}`),i.dependencies.length>0){r.push(`${o}  dependencies:`);for(let a of i.dependencies){let l=Md.from(a,n.debugNamePostProcessor??(d=>d))??Md.unknown(a);r.push(vN(l,t+1,e,n))}}return r.join(`
`)}function bN(i,t,e,n){let o="		".repeat(t),r=[];if(e.has(i.sourceObj))return r.push(`${o}* ${i.type} ${i.name} (already listed)`),r.join(`
`);if(e.add(i.sourceObj),r.push(`${o}* ${i.type} ${i.name}:`),r.push(`${o}  value: ${gr(i.value,50)}`),r.push(`${o}  state: ${i.state}`),i.observers.length>0){r.push(`${o}  observers:`);for(let a of i.observers){let l=Md.from(a,n.debugNamePostProcessor??(d=>d))??Md.unknown(a);r.push(bN(l,t+1,e,n))}}return r.join(`
`)}var Md=class i{constructor(t,e,n,o,r,s,a){this.sourceObj=t;this.name=e;this.type=n;this.value=o;this.state=r;this.dependencies=s;this.observers=a}static from(t,e){if(t instanceof Ps){let n=t.debugGetState();return new i(t,e(t.debugName),"autorun",void 0,n.stateStr,Array.from(n.dependencies),[])}else if(t instanceof Mn){let n=t.debugGetState();return new i(t,e(t.debugName),"derived",n.value,n.stateStr,Array.from(n.dependencies),Array.from(t.debugGetObservers()))}else if(t instanceof Li){let n=t.debugGetState();return new i(t,e(t.debugName),"observableValue",n.value,"upToDate",[],Array.from(t.debugGetObservers()))}else if(t instanceof Dr){let n=t.debugGetState();return new i(t,e(t.debugName),"fromEvent",n.value,n.hasValue?"upToDate":"initial",[],Array.from(t.debugGetObservers()))}}static unknown(t){return new i(t,"(unknown)","unknown",void 0,"unknown",[],[])}};uN(hN);rN(gN);var rW=!1;rW&&Pf(new Af);or&&or.VSCODE_DEV_DEBUG_OBSERVABLES&&Pf(Ry.getInstance());var Ay=A("defaultAccountService");var be;(a=>(a.Setup={hidden:new T("chatSetupHidden",!1,!0),installed:new T("chatSetupInstalled",!1,!0),disabled:new T("chatSetupDisabled",!1,!0),disabledInWorkspace:new T("chatSetupDisabledInWorkspace",!1,!0),untrusted:new T("chatSetupUntrusted",!1,!0),later:new T("chatSetupLater",!1,!0),registered:new T("chatSetupRegistered",!1,!0),completed:new T("chatSetupCompleted",!1,!0)},a.Entitlement={signedOut:new T("chatEntitlementSignedOut",!1,!0),canSignUp:new T("chatPlanCanSignUp",!1,!0),planFree:new T("chatPlanFree",!1,!0),planPro:new T("chatPlanPro",!1,!0),planEdu:new T("chatPlanEdu",!1,!0),planProPlus:new T("chatPlanProPlus",!1,!0),planMax:new T("chatPlanMax",!1,!0),planBusiness:new T("chatPlanBusiness",!1,!0),planEnterprise:new T("chatPlanEnterprise",!1,!0),organisations:new T("chatEntitlementOrganisations",void 0,!0),internal:new T("chatEntitlementInternal",!1,!0),sku:new T("chatEntitlementSku",void 0,!0)},a.chatQuotaExceeded=new T("chatQuotaExceeded",!1,!0),a.completionsQuotaExceeded=new T("completionsQuotaExceeded",!1,!0),a.chatAnonymous=new T("chatAnonymous",!1,!0),a.clientByokEnabled=new T("github.copilot.clientByokEnabled",!0,!0),a.hasByokModels=new T("github.copilot.hasByokModels",!1,!0)))(be||={});var iW=A("chatEntitlementService");function sW(i){return i===10||i===6||i===7||i===11||i===8||i===9}var My={upgradePlanUrl:ur.defaultChatAgent?.upgradePlanUrl??"",providerUriSetting:ur.defaultChatAgent?.providerUriSetting??"",entitlementSignupLimitedUrl:ur.defaultChatAgent?.entitlementSignupLimitedUrl??"",chatQuotaExceededContext:ur.defaultChatAgent?.chatQuotaExceededContext??"",completionsQuotaExceededContext:ur.defaultChatAgent?.completionsQuotaExceededContext??""},xN="chat.allowAnonymousAccess";function jP(i,t,e){return!(i.getValue(xN)!==!0||t!==1||e.hidden||e.disabledInWorkspace)}function CN(i,t,e){e.publicLog2("chatEntitlements",{chatHidden:!!i.hidden,chatDisabled:!!i.disabled,chatEntitlement:i.entitlement,chatRegistered:!!i.registered,chatAnonymous:jP(t,i.entitlement,i)})}var Ds=class extends V{constructor(e,n,o,r,s,a,l,d){super();this.contextKeyService=r;this.configurationService=s;this.telemetryService=a;this.logService=l;this.storageService=d;this._onDidChangeQuotaExceeded=this._register(new w);this.onDidChangeQuotaExceeded=this._onDidChangeQuotaExceeded.event;this._onDidChangeQuotaRemaining=this._register(new w);this.onDidChangeQuotaRemaining=this._onDidChangeQuotaRemaining.event;this._onDidChangeUsageBasedBilling=this._register(new w);this.onDidChangeUsageBasedBilling=this._onDidChangeUsageBasedBilling.event;this.ExtensionQuotaContextKeys={chatQuotaExceeded:My.chatQuotaExceededContext,completionsQuotaExceeded:My.completionsQuotaExceededContext};this._onDidChangeAnonymous=this._register(new w);this.onDidChangeAnonymous=this._onDidChangeAnonymous.event;this.anonymousObs=ao(this.onDidChangeAnonymous,()=>this.anonymous);let c=this.storageService.getBoolean(Ds.CACHED_UBB_STORAGE_KEY,0);if(this._quotas=c!==void 0?{usageBasedBilling:c}:{},this.chatQuotaExceededContextKey=be.chatQuotaExceeded.bindTo(this.contextKeyService),this.completionsQuotaExceededContextKey=be.completionsQuotaExceeded.bindTo(this.contextKeyService),this.anonymousContextKey=be.chatAnonymous.bindTo(this.contextKeyService),this.anonymousContextKey.set(this.anonymous),this.contextKeyService.getContextKeyValue(be.clientByokEnabled.key)===void 0&&be.clientByokEnabled.bindTo(this.contextKeyService),this.onDidChangeEntitlement=Le.map(Le.filter(this.contextKeyService.onDidChangeContext,m=>m.affectsSome(new Set([be.Entitlement.planEdu.key,be.Entitlement.planPro.key,be.Entitlement.planBusiness.key,be.Entitlement.planEnterprise.key,be.Entitlement.planProPlus.key,be.Entitlement.planMax.key,be.Entitlement.planFree.key,be.Entitlement.canSignUp.key,be.Entitlement.signedOut.key,be.Entitlement.organisations.key,be.Entitlement.internal.key,be.Entitlement.sku.key])),this._store),()=>{},this._store),this.entitlementObs=ao(this.onDidChangeEntitlement,()=>this.entitlement),this.onDidChangeSentiment=Le.map(Le.filter(this.contextKeyService.onDidChangeContext,m=>m.affectsSome(new Set([be.Setup.completed.key,be.Setup.hidden.key,be.Setup.disabled.key,be.Setup.untrusted.key,be.Setup.installed.key,be.Setup.later.key,be.Setup.registered.key])),this._store),()=>{},this._store),this.sentimentObs=ao(this.onDidChangeSentiment,()=>this.sentiment),nr&&!o.remoteAuthority&&!o.isSessionsWindow){be.Setup.hidden.bindTo(this.contextKeyService).set(!0);return}if(!n.defaultChatAgent)return;let u=this.context=new bt(()=>this._register(e.createInstance(fr)));this.requests=new bt(()=>this._register(e.createInstance(Mf,u.value,{clearQuotas:()=>this.clearQuotas(),acceptQuotas:m=>this.acceptQuotas(m)}))),this.registerListeners()}static{this.CACHED_UBB_STORAGE_KEY="chat.usageBasedBilling"}get entitlement(){return this.contextKeyService.getContextKeyValue(be.Entitlement.planEdu.key)===!0?10:this.contextKeyService.getContextKeyValue(be.Entitlement.planPro.key)===!0?6:this.contextKeyService.getContextKeyValue(be.Entitlement.planBusiness.key)===!0?8:this.contextKeyService.getContextKeyValue(be.Entitlement.planEnterprise.key)===!0?9:this.contextKeyService.getContextKeyValue(be.Entitlement.planProPlus.key)===!0?7:this.contextKeyService.getContextKeyValue(be.Entitlement.planMax.key)===!0?11:this.contextKeyService.getContextKeyValue(be.Entitlement.planFree.key)===!0?5:this.contextKeyService.getContextKeyValue(be.Entitlement.canSignUp.key)===!0?3:this.contextKeyService.getContextKeyValue(be.Entitlement.signedOut.key)===!0?1:2}get isInternal(){return this.contextKeyService.getContextKeyValue(be.Entitlement.internal.key)===!0}get organisations(){return this.contextKeyService.getContextKeyValue(be.Entitlement.organisations.key)}get sku(){return this.contextKeyService.getContextKeyValue(be.Entitlement.sku.key)}get copilotTrackingId(){return this.context?.value.state.copilotTrackingId}get previewFeaturesDisabled(){return this.contextKeyService.getContextKeyValue("github.copilot.previewFeaturesDisabled")===!0}get clientByokEnabled(){return this.contextKeyService.getContextKeyValue("github.copilot.clientByokEnabled")===!0}get hasByokModels(){return this.contextKeyService.getContextKeyValue("github.copilot.hasByokModels")===!0}get quotas(){return this._quotas}registerListeners(){let e=new Set([this.ExtensionQuotaContextKeys.chatQuotaExceeded,this.ExtensionQuotaContextKeys.completionsQuotaExceeded]),n=this._register(new ln);this._register(this.contextKeyService.onDidChangeContext(s=>{s.affectsSome(e)&&(n.value&&n.value.cancel(),n.value=new Me,this.update(n.value.token))}));let o=this.anonymous,r=()=>{let s=this.anonymous;s!==o&&(o=s,this.anonymousContextKey.set(s),this.context?.hasValue&&CN(this.context.value.state,this.configurationService,this.telemetryService),this._onDidChangeAnonymous.fire())};this._register(this.configurationService.onDidChangeConfiguration(s=>{s.affectsConfiguration(xN)&&r()})),this._register(this.onDidChangeEntitlement(()=>r())),this._register(this.onDidChangeSentiment(()=>r()))}acceptQuotas(e){let n=this._quotas;this._quotas=e,this.updateContextKeys(),n.usageBasedBilling!==e.usageBasedBilling&&(e.usageBasedBilling!==void 0?this.storageService.store(Ds.CACHED_UBB_STORAGE_KEY,e.usageBasedBilling,0,1):this.storageService.remove(Ds.CACHED_UBB_STORAGE_KEY,0)),this.logService.getLevel()===1&&this.logService.trace(`[chat entitlement]: acceptQuotas: ${JSON.stringify(e)}`);let{changed:o}=this.compareQuotas(n.chat,e.chat),{changed:r}=this.compareQuotas(n.completions,e.completions),{changed:s}=this.compareQuotas(n.premiumChat,e.premiumChat);(o.exceeded||r.exceeded||s.exceeded)&&this._onDidChangeQuotaExceeded.fire();let a=n.sessionRateLimit?.percentRemaining!==e.sessionRateLimit?.percentRemaining,l=n.weeklyRateLimit?.percentRemaining!==e.weeklyRateLimit?.percentRemaining;(o.remaining||r.remaining||s.remaining||a||l||n.usageBasedBilling!==e.usageBasedBilling)&&this._onDidChangeQuotaRemaining.fire(),n.usageBasedBilling!==e.usageBasedBilling&&this._onDidChangeUsageBasedBilling.fire(),n.additionalUsageEnabled!==void 0&&e.additionalUsageEnabled!==void 0&&n.additionalUsageEnabled!==e.additionalUsageEnabled&&this.telemetryService.publicLog2("chatAdditionalSpendConfiguration",{enabled:e.additionalUsageEnabled??!1,entitlement:this.entitlement}),e.additionalUsageEnabled&&e.premiumChat?.percentRemaining===0&&n.premiumChat?.percentRemaining!==void 0&&n.premiumChat.percentRemaining>0&&this.telemetryService.publicLog2("chatAdditionalSpendActive",{entitlement:this.entitlement,additionalUsageCount:e.additionalUsageCount??0})}compareQuotas(e,n){return{changed:{exceeded:e?.percentRemaining===0!=(n?.percentRemaining===0),remaining:e?.percentRemaining!==n?.percentRemaining||e?.usageBasedBilling!==n?.usageBasedBilling}}}clearQuotas(){this.acceptQuotas({})}updateContextKeys(){let e=this._quotas.chat?.percentRemaining===0,n=this._quotas.premiumChat?.unlimited?this._quotas.premiumChat.hasQuota===!1:this._quotas.premiumChat?.percentRemaining===0,o=this._quotas.additionalUsageEnabled??!1,r=this.entitlement===8||this.entitlement===9;this.chatQuotaExceededContextKey.set(e||n&&(r||!o)),this.completionsQuotaExceededContextKey.set(this._quotas.completions?.percentRemaining===0)}get sentiment(){return{completed:this.contextKeyService.getContextKeyValue(be.Setup.completed.key)===!0,installed:this.contextKeyService.getContextKeyValue(be.Setup.installed.key)===!0,hidden:this.contextKeyService.getContextKeyValue(be.Setup.hidden.key)===!0,disabledInWorkspace:this.contextKeyService.getContextKeyValue(be.Setup.disabledInWorkspace.key)===!0,disabled:this.contextKeyService.getContextKeyValue(be.Setup.disabled.key)===!0,untrusted:this.contextKeyService.getContextKeyValue(be.Setup.untrusted.key)===!0,later:this.contextKeyService.getContextKeyValue(be.Setup.later.key)===!0,registered:this.contextKeyService.getContextKeyValue(be.Setup.registered.key)===!0}}get anonymous(){return jP(this.configurationService,this.entitlement,this.sentiment)}markAnonymousRateLimited(){this.anonymous&&(this.chatQuotaExceededContextKey.set(!0),this._onDidChangeQuotaExceeded.fire())}markSetupCompleted(){this.context?.value.update({completed:!0})}setForceHidden(e){this.context?this.context.value.setForceHidden(e):be.Setup.hidden.bindTo(this.contextKeyService).set(e)}async update(e){await this.requests?.value.forceResolveEntitlement(e)}};Ds=R([S(0,Po),S(1,xu),S(2,Ty),S(3,Er),S(4,bn),S(5,Oi),S(6,ae),S(7,pr)],Ds);function aW(i){let t={resetDate:i.quota_reset_date_utc??i.quota_reset_date??i.limited_user_reset_date,resetDateHasTime:typeof i.quota_reset_date_utc=="string",usageBasedBilling:i.token_based_billing,canUpgradePlan:i.can_upgrade_plan};if(i.monthly_quotas?.chat&&typeof i.limited_user_quotas?.chat=="number"&&(t.chat={percentRemaining:Math.min(100,Math.max(0,i.limited_user_quotas.chat/i.monthly_quotas.chat*100)),unlimited:!1}),i.monthly_quotas?.completions&&typeof i.limited_user_quotas?.completions=="number"&&(t.completions={percentRemaining:Math.min(100,Math.max(0,i.limited_user_quotas.completions/i.monthly_quotas.completions*100)),unlimited:!1}),i.quota_snapshots){for(let n of["chat","completions","premium_interactions"]){let o=i.quota_snapshots[n];if(!o)continue;let r=o.entitlement!==void 0?Number(o.entitlement):void 0;if(!o.unlimited&&r===0)continue;let s=o.quota_remaining!==void 0?Number(o.quota_remaining):void 0,a={percentRemaining:Math.min(100,Math.max(0,o.percent_remaining)),unlimited:o.unlimited,hasQuota:o.has_quota,usageBasedBilling:i.token_based_billing,resetAt:o.quota_reset_at||void 0,entitlement:r!==void 0&&Number.isFinite(r)&&r>=0?r:void 0,quotaRemaining:s!==void 0&&Number.isFinite(s)&&s>=0?s:void 0};switch(n){case"chat":t.chat=a;break;case"completions":t.completions=a;break;case"premium_interactions":t.premiumChat=a;break}}let e=i.quota_snapshots.premium_interactions;t.additionalUsageEnabled=e?.overage_permitted??!1,t.additionalUsageCount=e?.overage_count??0}return t}var Mf=class extends V{constructor(e,n,o,r,s,a,l,d,c,u){super();this.context=e;this.chatQuotasAccessor=n;this.telemetryService=o;this.logService=r;this.requestService=s;this.dialogService=a;this.openerService=l;this.lifecycleService=d;this.defaultAccountService=c;this.authenticationService=u;this.pendingResolveCts=new Me;this.state={entitlement:this.context.state.entitlement},this.registerListeners(),this.resolve()}registerListeners(){this._register(this.defaultAccountService.onDidChangeDefaultAccount(()=>this.resolve())),this._register(this.context.onDidChange(()=>{(this.context.state.disabled||this.context.state.entitlement===1)&&(this.state={entitlement:this.state.entitlement,quotas:void 0},this.chatQuotasAccessor.clearQuotas())}))}async resolve(){this.pendingResolveCts.dispose(!0);let e=this.pendingResolveCts=new Me,n=await this.defaultAccountService.getDefaultAccount();if(e.token.isCancellationRequested)return;let o;n?this.state.entitlement===1&&(o={entitlement:2}):o={entitlement:1},o&&this.update(o),n&&await this.resolveEntitlement(n,e.token)}async resolveEntitlement(e,n){let o=await this.doResolveEntitlement(e,n);return typeof o?.entitlement=="number"&&!n.isCancellationRequested&&this.update(o),o}async doResolveEntitlement(e,n){if(n.isCancellationRequested)return;let o=e.entitlementsData;if(!o)return this.logService.trace("[chat entitlement]: no entitlements data available on default account"),{entitlement:o===null?1:2};let r;o.access_type_sku==="free_limited_copilot"?r=5:o.access_type_sku==="free_educational_quota"?r=10:o.can_signup_for_limited?r=3:o.copilot_plan==="individual_edu"?r=10:o.copilot_plan==="individual"?r=6:o.copilot_plan==="individual_pro"?r=7:o.copilot_plan==="individual_max"?r=11:o.copilot_plan==="business"?r=8:o.copilot_plan==="enterprise"?r=9:r=4;let s={entitlement:r,organisations:o.organization_login_list,quotas:this.toQuotas(o),sku:o.access_type_sku,copilotTrackingId:o.analytics_tracking_id};return this.logService.trace(`[chat entitlement]: resolved to ${s.entitlement}, quotas: ${JSON.stringify(s.quotas)}`),this.telemetryService.publicLog2("chatInstallEntitlement",{entitlement:s.entitlement,tid:o.analytics_tracking_id,sku:s.sku,quotaChatUnlimited:s.quotas?.chat?.unlimited,quotaChatHasQuota:s.quotas?.chat?.hasQuota,quotaChatEntitlement:s.quotas?.chat?.entitlement,quotaPremiumChat:s.quotas?.premiumChat?.percentRemaining,quotaPremiumChatUnlimited:s.quotas?.premiumChat?.unlimited,quotaPremiumChatHasQuota:s.quotas?.premiumChat?.hasQuota,quotaPremiumChatEntitlement:s.quotas?.premiumChat?.entitlement,quotaCompletions:s.quotas?.completions?.percentRemaining,quotaCompletionsUnlimited:s.quotas?.completions?.unlimited,quotaCompletionsHasQuota:s.quotas?.completions?.hasQuota,quotaCompletionsEntitlement:s.quotas?.completions?.entitlement,quotaResetDate:s.quotas?.resetDate,usageBasedBilling:s.quotas?.usageBasedBilling,additionalUsageEnabled:s.quotas?.additionalUsageEnabled,additionalUsageCount:s.quotas?.additionalUsageCount,canUpgradePlan:s.quotas?.canUpgradePlan}),s}toQuotas(e){return aW(e)}async request(e,n,o,r,s,a){let l;for(let d of r){if(s.isCancellationRequested)return l;try{let c=await this.requestService.request({type:n,url:e,data:n==="POST"?JSON.stringify(o):void 0,disableCache:!0,headers:{Authorization:`Bearer ${d.accessToken}`},callSite:a},s),u=c.res.statusCode;if(u&&u!==200){l=c;continue}return c}catch(c){s.isCancellationRequested||this.logService.error(`[chat entitlement] request: error ${c}`)}}return l}update(e){this.state=e,this.context.update({entitlement:this.state.entitlement,organisations:this.state.organisations,sku:this.state.sku,copilotTrackingId:this.state.copilotTrackingId}),e.quotas&&this.chatQuotasAccessor.acceptQuotas(e.quotas)}async forceResolveEntitlement(e=ye.None){let n=await this.defaultAccountService.refresh({forceRefresh:!0});if(n)return this.resolveEntitlement(n,e)}async signUpFree(){let e=await this.getSessions();if(e.length!==0)return this.doSignUpFree(e)}async doSignUpFree(e){let n={restricted_telemetry:this.telemetryService.telemetryLevel===0?"disabled":"enabled",public_code_suggestions:"enabled"},o=await this.request(My.entitlementSignupLimitedUrl,"POST",n,e,ye.None,"chatEntitlementService.signUpFree");if(!o)return await this.onUnknownSignUpError(p(19355,null),"[chat entitlement] sign-up: no response")?this.doSignUpFree(e):{errorCode:1};if(o.res.statusCode&&o.res.statusCode!==200){if(o.res.statusCode===422)try{let l=await PP(o);if(l){let d=JSON.parse(l);if(typeof d.message=="string"&&d.message)return this.onUnprocessableSignUpError(`[chat entitlement] sign-up: unprocessable entity (${d.message})`,d.message),{errorCode:o.res.statusCode}}}catch{}return await this.onUnknownSignUpError(p(19356,null,o.res.statusCode),`[chat entitlement] sign-up: unexpected status code ${o.res.statusCode}`)?this.doSignUpFree(e):{errorCode:o.res.statusCode}}let r=null;try{r=await PP(o)}catch{}if(!r)return await this.onUnknownSignUpError(p(19354,null),"[chat entitlement] sign-up: response has no content")?this.doSignUpFree(e):{errorCode:2};let s;try{s=JSON.parse(r),this.logService.trace(`[chat entitlement] sign-up: response is ${r}`)}catch(a){return await this.onUnknownSignUpError(p(19353,null),`[chat entitlement] sign-up: error parsing response (${a})`)?this.doSignUpFree(e):{errorCode:3}}return this.update({entitlement:5}),!!s?.subscribed}async getSessions(){let e=await this.defaultAccountService.getDefaultAccount();if(e){let o=(await this.authenticationService.getSessions(e.authenticationProvider.id)).filter(r=>r.id===e.sessionId);if(o.length)return o}return[...await this.authenticationService.getSessions(this.defaultAccountService.getDefaultAccountAuthenticationProvider().id)]}async onUnknownSignUpError(e,n){if(this.logService.error(n),!this.lifecycleService.willShutdown){let{confirmed:o}=await this.dialogService.confirm({type:je.Error,message:p(19357,null),detail:e,primaryButton:p(19352,null)});return o}return!1}onUnprocessableSignUpError(e,n){this.logService.error(e),this.lifecycleService.willShutdown||this.dialogService.prompt({type:je.Error,message:p(19358,null),detail:n,buttons:[{label:p(19344,null),run:()=>{}},{label:p(19343,null),run:()=>this.openerService.open(y.parse(My.upgradePlanUrl))}]})}async signIn(e){let n=await this.defaultAccountService.signIn({additionalScopes:e?.additionalScopes,extraAuthorizeParameters:{get_started_with:"copilot-vscode"},provider:e?.useSocialProvider});if(!n)return{};let o=await this.doResolveEntitlement(n,ye.None);return{defaultAccount:n,entitlements:o}}dispose(){this.pendingResolveCts.dispose(!0),super.dispose()}};Mf=R([S(2,Oi),S(3,ae),S(4,vy),S(5,OL),S(6,YL),S(7,ZL),S(8,Ay),S(9,XL)],Mf);var fr=class extends V{constructor(e,n,o,r,s){super();this.storageService=n;this.logService=o;this.configurationService=r;this.telemetryService=s;this.suspendedState=void 0;this._onDidChange=this._register(new w);this.onDidChange=this._onDidChange.event;this.updateBarrier=void 0;this._forceHidden=!1;this.canSignUpContextKey=be.Entitlement.canSignUp.bindTo(e),this.signedOutContextKey=be.Entitlement.signedOut.bindTo(e),this.freeContextKey=be.Entitlement.planFree.bindTo(e),this.eduContextKey=be.Entitlement.planEdu.bindTo(e),this.proContextKey=be.Entitlement.planPro.bindTo(e),this.proPlusContextKey=be.Entitlement.planProPlus.bindTo(e),this.maxContextKey=be.Entitlement.planMax.bindTo(e),this.businessContextKey=be.Entitlement.planBusiness.bindTo(e),this.enterpriseContextKey=be.Entitlement.planEnterprise.bindTo(e),this.organisationsContextKey=be.Entitlement.organisations.bindTo(e),this.isInternalContextKey=be.Entitlement.internal.bindTo(e),this.skuContextKey=be.Entitlement.sku.bindTo(e),this.completedContext=be.Setup.completed.bindTo(e),this.hiddenContext=be.Setup.hidden.bindTo(e),this.disabledInWorkspaceContext=be.Setup.disabledInWorkspace.bindTo(e),this.laterContext=be.Setup.later.bindTo(e),this.installedContext=be.Setup.installed.bindTo(e),this.disabledContext=be.Setup.disabled.bindTo(e),this.untrustedContext=be.Setup.untrusted.bindTo(e),this.registeredContext=be.Setup.registered.bindTo(e),this._state=this.storageService.getObject(fr.CHAT_ENTITLEMENT_CONTEXT_STORAGE_KEY,0)??{entitlement:1,organisations:void 0,sku:void 0,copilotTrackingId:void 0},this.storageService.getBoolean(fr.CHAT_ENTITLEMENT_CONTEXT_MIGRATED_STORAGE_KEY,0)===!0||(this.storageService.store(fr.CHAT_ENTITLEMENT_CONTEXT_MIGRATED_STORAGE_KEY,!0,0,1),this._state.installed&&!this._state.completed&&(this._state.completed=!0,this.storageService.store(fr.CHAT_ENTITLEMENT_CONTEXT_STORAGE_KEY,this._state,0,1))),this.updateContextSync(),this.registerListeners()}static{this.CHAT_ENTITLEMENT_CONTEXT_STORAGE_KEY="chat.setupContext"}static{this.CHAT_ENTITLEMENT_CONTEXT_MIGRATED_STORAGE_KEY="chat.setupContext.migrated.v1"}static{this.CHAT_DISABLED_CONFIGURATION_KEY="chat.disableAIFeatures"}get state(){return this.withConfiguration(this.suspendedState??this._state)}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(fr.CHAT_DISABLED_CONFIGURATION_KEY)&&this.updateContext()}))}withConfiguration(e){return this._forceHidden||this.configurationService.getValue(fr.CHAT_DISABLED_CONFIGURATION_KEY)===!0?{...e,hidden:!0}:e}setForceHidden(e){this._forceHidden!==e&&(this._forceHidden=e,this.updateContext())}async update(e){this.logService.trace(`[chat entitlement context] update(): ${JSON.stringify(e)}`);let n=JSON.stringify(this._state);if(typeof e.installed=="boolean"&&typeof e.disabled=="boolean"&&typeof e.untrusted=="boolean"&&(this._state.installed=e.installed,this._state.disabled=e.disabled,this._state.untrusted=e.untrusted,this._state.disabledInWorkspace=e.disabledInWorkspace,e.installed&&!e.disabled&&(e.hidden=!1)),typeof e.hidden=="boolean"&&(this._state.hidden=e.hidden),typeof e.later=="boolean"&&(this._state.later=e.later),typeof e.completed=="boolean"&&(this._state.completed=e.completed),typeof e.entitlement=="number"&&(this._state.entitlement=e.entitlement,this._state.organisations=e.organisations,this._state.sku=e.sku,this._state.copilotTrackingId=e.copilotTrackingId,this._state.entitlement===5||sW(this._state.entitlement)?this._state.registered=!0:this._state.entitlement===3&&(this._state.registered=!1)),jP(this.configurationService,this._state.entitlement,this._state)&&(this._state.sku="no_auth_limited_copilot"),n!==JSON.stringify(this._state))return this.storageService.store(fr.CHAT_ENTITLEMENT_CONTEXT_STORAGE_KEY,{...this._state,later:void 0},0,1),this.updateContext()}async updateContext(){await this.updateBarrier?.wait(),this.updateContextSync()}updateContextSync(){let e=this.withConfiguration(this._state);this.signedOutContextKey.set(e.entitlement===1),this.canSignUpContextKey.set(e.entitlement===3),this.freeContextKey.set(e.entitlement===5),this.eduContextKey.set(e.entitlement===10),this.proContextKey.set(e.entitlement===6),this.proPlusContextKey.set(e.entitlement===7),this.maxContextKey.set(e.entitlement===11),this.businessContextKey.set(e.entitlement===8),this.enterpriseContextKey.set(e.entitlement===9),this.organisationsContextKey.set(e.organisations),this.isInternalContextKey.set(!!e.organisations?.some(n=>n==="github"||n==="microsoft"||n==="ms-copilot"||n==="MicrosoftCopilot")),this.skuContextKey.set(e.sku),this.completedContext.set(!!e.completed),this.hiddenContext.set(!!e.hidden),this.disabledInWorkspaceContext.set(!!e.disabledInWorkspace),this.laterContext.set(!!e.later),this.installedContext.set(!!e.installed),this.disabledContext.set(!!e.disabled),this.untrustedContext.set(!!e.untrusted),this.registeredContext.set(!!e.registered),this.logService.trace(`[chat entitlement context] updateContext(): ${JSON.stringify(e)}`),CN(e,this.configurationService,this.telemetryService),this._onDidChange.fire()}suspend(){this.suspendedState={...this._state},this.updateBarrier=new An}resume(){this.suspendedState=void 0,this.updateBarrier?.open(),this.updateBarrier=void 0}};fr=R([S(0,Er),S(1,pr),S(2,ae),S(3,bn),S(4,Oi)],fr);Qe(iW,Ds,0);var QP=A("languageService");var JP=A("modelService");var $re=new T("workbenchState",void 0,{type:"string",description:p(5813,null)}),zre=new T("workspaceFolderCount",0,p(5814,null)),qre=new T("openFolderWorkspaceSupport",!0,!0),Kre=new T("enterMultiRootWorkspaceSupport",!0,!0),Gre=new T("emptyWorkspaceSupport",!0,!0),jre=new T("dirtyWorkingCopies",!1,p(5755,null)),SN=new T("remoteName","",p(5791,null)),Qre=new T("virtualWorkspace","",p(5812,null)),Jre=new T("temporaryWorkspace",!1,p(5806,null)),TN=new T("isSessionsWindow",!1,p(5777,null)),Xre=new T("hasWebFileSystemAccess",!1,!0),Yre=new T("embedderIdentifier",void 0,p(5766,null)),Zre=new T("inAutomation",!1,p(5769,null)),eie=new T("isFullscreen",!1,p(5775,null)),tie=new T("isAuxiliaryWindowFocusedContext",!1,p(5772,null)),nie=new T("isWindowAlwaysOnTop",!1,p(5779,null)),EN=new T("isAuxiliaryWindow",!1,p(5771,null)),oie=new T("activeEditorIsDirty",!1,p(5743,null)),rie=new T("activeEditorIsNotPreview",!1,p(5746,null)),iie=new T("activeEditorIsFirstInGroup",!1,p(5744,null)),sie=new T("activeEditorIsLastInGroup",!1,p(5745,null)),aie=new T("activeEditorIsPinned",!1,p(5747,null)),lie=new T("activeEditorIsReadonly",!1,p(5748,null)),die=new T("activeCompareEditorCanSwap",!1,p(5732,null)),cie=new T("activeEditorCanToggleReadonly",!0,p(5738,null)),uie=new T("activeEditorCanRevert",!1,p(5737,null)),pie=new T("activeEditorCanSplitInGroup",!0),mie=new T("activeEditor",null,{type:"string",description:p(5735,null)}),gie=new T("activeEditorAvailableEditorIds","",p(5736,null)),fie=new T("textCompareEditorVisible",!1,p(5808,null)),hie=new T("textCompareEditorActive",!1,p(5807,null)),vie=new T("sideBySideEditorActive",!1,p(5803,null)),bie=new T("activeCustomEditorDiffCanToggleLayout",!1,p(5733,null)),yie=new T("activeCustomEditorTextDiff",!1,p(5734,null)),Iie=new T("groupEditorsCount",0,p(5768,null)),xie=new T("isTopRightEditorGroup",!1,p(5778,null)),Cie=new T("activeEditorGroupEmpty",!1,p(5739,null)),Sie=new T("activeEditorGroupIndex",0,p(5740,null)),Tie=new T("activeEditorGroupLast",!1,p(5741,null)),Eie=new T("activeEditorGroupLocked",!1,p(5742,null)),lW=new T("multipleEditorGroups",!1,p(5781,null)),wie=lW.toNegated(),kie=new T("multipleEditorsSelectedInGroup",!1,p(5782,null)),Pie=new T("twoEditorsSelectedInGroup",!1,p(5811,null)),_ie=new T("SelectedEditorsInGroupFileOrUntitledResourceContextKey",!0,p(5800,null)),dW=new T("editorPartMultipleEditorGroups",!1,p(5764,null)),Die=dW.toNegated(),Rie=new T("editorPartMaximizedEditorGroup",!1,p(5758,null)),Aie=new T("editorPartModal",!1,p(5759,null)),Mie=new T("editorPartModalMaximized",!1,p(5760,null)),Oie=new T("editorPartModalNavigation",!1,p(5761,null)),Lie=new T("editorPartModalSidebar",!1,p(5762,null)),Nie=new T("editorPartModalSidebarVisible",!1,p(5763,null)),Uie=new T("editorIsOpen",!1,p(5757,null)),Fie=new T("editorAreaFocus",!1,p(5756,null)),Hie=new T("inZenMode",!1,p(5770,null)),Vie=new T("isCenteredLayout",!1,p(5776,null)),Bie=new T("splitEditorsVertically",!1,p(5804,null)),Wie=new T("mainEditorAreaVisible",!0,p(5780,null)),$ie=new T("editorTabsVisible",!0,p(5765,null)),zie=new T("sideBarVisible",!1,p(5802,null)),qie=new T("sideBarFocus",!1,p(5801,null)),Kie=new T("activeViewlet","",p(5750,null)),Gie=new T("statusBarFocused",!1,p(5805,null)),jie=new T("titleBarStyle","custom",p(5809,null)),Qie=new T("titleBarVisible",!1,p(5810,null)),Jie=new T("isCompactTitleBar",!1,p(5773,null)),Xie=new T("bannerFocused",!1,p(5754,null)),Yie=new T("notificationFocus",!0,p(5784,null)),Zie=new T("notificationCenterVisible",!1,p(5783,null)),ese=new T("notificationToastsVisible",!1,p(5785,null)),tse=new T("activeAuxiliary","",p(5731,null)),nse=new T("auxiliaryBarFocus",!1,p(5751,null)),ose=new T("auxiliaryBarVisible",!1,p(5753,null)),rse=new T("auxiliaryBarMaximized",!1,p(5752,null)),ise=new T("activePanel","",p(5749,null)),sse=new T("panelFocus",!1,p(5787,null)),ase=new T("panelPosition","bottom",p(5789,null)),lse=new T("panelAlignment","center",p(5786,null)),dse=new T("panelVisible",!1,p(5790,null)),cse=new T("panelMaximized",!1,p(5788,null)),use=new T("focusedView","",p(5767,null));var Ro=class{constructor(t,e,n,o){this._contextKeyService=t;this._fileService=e;this._languageService=n;this._modelService=o;this._schemeKey=Ro.Scheme.bindTo(this._contextKeyService),this._filenameKey=Ro.Filename.bindTo(this._contextKeyService),this._dirnameKey=Ro.Dirname.bindTo(this._contextKeyService),this._pathKey=Ro.Path.bindTo(this._contextKeyService),this._langIdKey=Ro.LangId.bindTo(this._contextKeyService),this._resourceKey=Ro.Resource.bindTo(this._contextKeyService),this._extensionKey=Ro.Extension.bindTo(this._contextKeyService),this._hasResource=Ro.HasResource.bindTo(this._contextKeyService),this._isFileSystemResource=Ro.IsFileSystemResource.bindTo(this._contextKeyService)}static{this.Scheme=new T("resourceScheme",void 0,{type:"string",description:p(5798,null)})}static{this.Filename=new T("resourceFilename",void 0,{type:"string",description:p(5795,null)})}static{this.Dirname=new T("resourceDirname",void 0,{type:"string",description:p(5793,null)})}static{this.Path=new T("resourcePath",void 0,{type:"string",description:p(5797,null)})}static{this.LangId=new T("resourceLangId",void 0,{type:"string",description:p(5796,null)})}static{this.Resource=new T("resource",void 0,{type:"URI",description:p(5792,null)})}static{this.Extension=new T("resourceExtname",void 0,{type:"string",description:p(5794,null)})}static{this.HasResource=new T("resourceSet",void 0,{type:"boolean",description:p(5799,null)})}static{this.IsFileSystemResource=new T("isFileSystemResource",void 0,{type:"boolean",description:p(5774,null)})}_setLangId(){let t=this.get();if(!t){this._langIdKey.set(null);return}let e=this._modelService.getModel(t)?.getLanguageId()??this._languageService.guessLanguageIdByFilepathOrFirstLine(t);this._langIdKey.set(e)}set(t){t=t??void 0,!Cn(this._value,t)&&(this._value=t,this._contextKeyService.bufferChangeEvents(()=>{this._resourceKey.set(t?t.toString():null),this._schemeKey.set(t?t.scheme:null),this._filenameKey.set(t?tt(t):null),this._dirnameKey.set(t?this.uriToPath(sr(t)):null),this._pathKey.set(t?this.uriToPath(t):null),this._setLangId(),this._extensionKey.set(t?ub(t):null),this._hasResource.set(!!t),this._isFileSystemResource.set(t?this._fileService.hasProvider(t):!1)}))}uriToPath(t){return t.scheme===K.file?t.fsPath:t.path}reset(){this._value=void 0,this._contextKeyService.bufferChangeEvents(()=>{this._resourceKey.reset(),this._schemeKey.reset(),this._filenameKey.reset(),this._dirnameKey.reset(),this._pathKey.reset(),this._langIdKey.reset(),this._extensionKey.reset(),this._hasResource.reset(),this._isFileSystemResource.reset()})}get(){return this._value}};Ro=R([S(0,Er),S(1,Cs),S(2,QP),S(3,JP)],Ro);var Ly=class extends Ro{constructor(e,n,o,r){super(e,n,o,r);this._disposables=new J;this._disposables.add(n.onDidChangeFileSystemProviderRegistrations(()=>{let s=this.get();this._isFileSystemResource.set(!!(s&&n.hasProvider(s)))})),this._disposables.add(r.onModelAdded(s=>{Cn(s.uri,this.get())&&this._setLangId()})),this._disposables.add(r.onModelLanguageChanged(s=>{Cn(s.model.uri,this.get())&&this._setLangId()}))}dispose(){this._disposables.dispose()}};Ly=R([S(0,Er),S(1,Cs),S(2,QP),S(3,JP)],Ly);var Ny=(n=>(n.Default="default",n.AutoApprove="autoApprove",n.Autopilot="autopilot",n))(Ny||{}),yse=new Set(Object.values(Ny));var Xr=(o=>(o.Chat="panel",o.Terminal="terminal",o.Notebook="notebook",o.EditorInline="editor",o))(Xr||{});(t=>{function i(e){switch(e){case"panel":return"panel";case"terminal":return"terminal";case"notebook":return"notebook";case"editor":return"editor"}return"panel"}t.fromRaw=i})(Xr||={});var Ise=new Set([K.vscodeChatEditor,K.walkThrough,K.vscodeLocalChatSession,K.vscodeSettings,K.webviewPanel,K.vscodeUserData,K.extension,"ccreq","openai-codex"]);var xse=at.and(be.Setup.hidden.negate(),be.Setup.disabledInWorkspace.negate(),TN.negate(),at.has("config.chat.agent.enabled"),EN.negate());var Cse=new T("inModelsEditor",!1),Sse=new T("inModelsSearch",!1),Ka="General Purpose";var wN;(t=>t.DEFAULT={allowTrailingComma:!0})(wN||={});function cW(i,t=!1){let e=0,n=i.length,o="",r=0,s=16,a=0;function l(f){let x=0,C=0;for(;x<f;){let E=i.charCodeAt(e);if(E>=48&&E<=57)C=C*16+E-48;else if(E>=65&&E<=70)C=C*16+E-65+10;else if(E>=97&&E<=102)C=C*16+E-97+10;else break;e++,x++}return x<f&&(C=-1),C}function d(f){e=f,o="",r=0,s=16,a=0}function c(){let f=e;if(i.charCodeAt(e)===48)e++;else for(e++;e<i.length&&Pu(i.charCodeAt(e));)e++;if(e<i.length&&i.charCodeAt(e)===46)if(e++,e<i.length&&Pu(i.charCodeAt(e)))for(e++;e<i.length&&Pu(i.charCodeAt(e));)e++;else return a=3,i.substring(f,e);let x=e;if(e<i.length&&(i.charCodeAt(e)===69||i.charCodeAt(e)===101))if(e++,(e<i.length&&i.charCodeAt(e)===43||i.charCodeAt(e)===45)&&e++,e<i.length&&Pu(i.charCodeAt(e))){for(e++;e<i.length&&Pu(i.charCodeAt(e));)e++;x=e}else a=3;return i.substring(f,x)}function u(){let f="",x=e;for(;;){if(e>=n){f+=i.substring(x,e),a=2;break}let C=i.charCodeAt(e);if(C===34){f+=i.substring(x,e),e++;break}if(C===92){if(f+=i.substring(x,e),e++,e>=n){a=2;break}switch(i.charCodeAt(e++)){case 34:f+='"';break;case 92:f+="\\";break;case 47:f+="/";break;case 98:f+="\b";break;case 102:f+="\f";break;case 110:f+=`
`;break;case 114:f+="\r";break;case 116:f+="	";break;case 117:{let k=l(4);k>=0?f+=String.fromCharCode(k):a=4;break}default:a=5}x=e;continue}if(C>=0&&C<=31)if(Uy(C)){f+=i.substring(x,e),a=2;break}else a=6;e++}return f}function m(){if(o="",a=0,r=e,e>=n)return r=n,s=17;let f=i.charCodeAt(e);if(XP(f)){do e++,o+=String.fromCharCode(f),f=i.charCodeAt(e);while(XP(f));return s=15}if(Uy(f))return e++,o+=String.fromCharCode(f),f===13&&i.charCodeAt(e)===10&&(e++,o+=`
`),s=14;switch(f){case 123:return e++,s=1;case 125:return e++,s=2;case 91:return e++,s=3;case 93:return e++,s=4;case 58:return e++,s=6;case 44:return e++,s=5;case 34:return e++,o=u(),s=10;case 47:{let x=e-1;if(i.charCodeAt(e+1)===47){for(e+=2;e<n&&!Uy(i.charCodeAt(e));)e++;return o=i.substring(x,e),s=12}if(i.charCodeAt(e+1)===42){e+=2;let C=n-1,E=!1;for(;e<C;){if(i.charCodeAt(e)===42&&i.charCodeAt(e+1)===47){e+=2,E=!0;break}e++}return E||(e++,a=1),o=i.substring(x,e),s=13}return o+=String.fromCharCode(f),e++,s=16}case 45:if(o+=String.fromCharCode(f),e++,e===n||!Pu(i.charCodeAt(e)))return s=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return o+=c(),s=11;default:for(;e<n&&g(f);)e++,f=i.charCodeAt(e);if(r!==e){switch(o=i.substring(r,e),o){case"true":return s=8;case"false":return s=9;case"null":return s=7}return s=16}return o+=String.fromCharCode(f),e++,s=16}}function g(f){if(XP(f)||Uy(f))return!1;switch(f){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function v(){let f;do f=m();while(f>=12&&f<=15);return f}return{setPosition:d,getPosition:()=>e,scan:t?v:m,getToken:()=>s,getTokenValue:()=>o,getTokenOffset:()=>r,getTokenLength:()=>e-r,getTokenError:()=>a}}function XP(i){return i===32||i===9||i===11||i===12||i===160||i===5760||i>=8192&&i<=8203||i===8239||i===8287||i===12288||i===65279}function Uy(i){return i===10||i===13||i===8232||i===8233}function Pu(i){return i>=48&&i<=57}function kN(i,t,e=wN.DEFAULT){let n=cW(i,!1);function o(z){return z?()=>z(n.getTokenOffset(),n.getTokenLength()):()=>!0}function r(z){return z?$=>z($,n.getTokenOffset(),n.getTokenLength()):()=>!0}let s=o(t.onObjectBegin),a=r(t.onObjectProperty),l=o(t.onObjectEnd),d=o(t.onArrayBegin),c=o(t.onArrayEnd),u=r(t.onLiteralValue),m=r(t.onSeparator),g=o(t.onComment),v=r(t.onError),f=e&&e.disallowComments,x=e&&e.allowTrailingComma;function C(){for(;;){let z=n.scan();switch(n.getTokenError()){case 4:E(14);break;case 5:E(15);break;case 3:E(13);break;case 1:f||E(11);break;case 2:E(12);break;case 6:E(16);break}switch(z){case 12:case 13:f?E(10):g();break;case 16:E(1);break;case 15:case 14:break;default:return z}}}function E(z,$=[],oe=[]){if(v(z),$.length+oe.length>0){let he=n.getToken();for(;he!==17;){if($.indexOf(he)!==-1){C();break}else if(oe.indexOf(he)!==-1)break;he=C()}}}function k(z){let $=n.getTokenValue();return z?u($):a($),C(),!0}function O(){switch(n.getToken()){case 11:{let z=0;try{z=JSON.parse(n.getTokenValue()),typeof z!="number"&&(E(2),z=0)}catch{E(2)}u(z);break}case 7:u(null);break;case 8:u(!0);break;case 9:u(!1);break;default:return!1}return C(),!0}function N(){return n.getToken()!==10?(E(3,[],[2,5]),!1):(k(!1),n.getToken()===6?(m(":"),C(),Q()||E(4,[],[2,5])):E(5,[],[2,5]),!0)}function H(){s(),C();let z=!1;for(;n.getToken()!==2&&n.getToken()!==17;){if(n.getToken()===5){if(z||E(4,[],[]),m(","),C(),n.getToken()===2&&x)break}else z&&E(6,[],[]);N()||E(4,[],[2,5]),z=!0}return l(),n.getToken()!==2?E(7,[2],[]):C(),!0}function q(){d(),C();let z=!1;for(;n.getToken()!==4&&n.getToken()!==17;){if(n.getToken()===5){if(z||E(4,[],[]),m(","),C(),n.getToken()===4&&x)break}else z&&E(6,[],[]);Q()||E(4,[],[4,5]),z=!0}return c(),n.getToken()!==4?E(8,[4],[]):C(),!0}function Q(){switch(n.getToken()){case 3:return q();case 1:return H();case 10:return k(!0);default:return O()}}return C(),n.getToken()===17?e.allowEmptyContent?!0:(E(4,[],[]),!1):Q()?(n.getToken()!==17&&E(9,[],[]),!0):(E(4,[],[]),!1)}var fW="subagent",Sae=`/${fW}/`;var YP;(t=>{function i(e,n){return e===n?!0:!e||!n?!1:e.command===n.command&&e.windows===n.windows&&e.linux===n.linux&&e.osx===n.osx&&Cn(e.cwd,n.cwd)&&Rt(e.env,n.env)&&e.timeout===n.timeout&&Cn(e.sourceUri,n.sourceUri)}t.isEquals=i})(YP||={});var PN="github.copilot.chat.agentDebugLog.fileLogging.enabled";var _N="troubleshoot/SKILL.md";var _u=(c=>(c.SessionStart="SessionStart",c.SessionEnd="SessionEnd",c.UserPromptSubmit="UserPromptSubmit",c.PreToolUse="PreToolUse",c.PostToolUse="PostToolUse",c.PreCompact="PreCompact",c.SubagentStart="SubagentStart",c.SubagentStop="SubagentStop",c.Stop="Stop",c.ErrorOccurred="ErrorOccurred",c))(_u||{}),DN={vscode:{SessionStart:"SessionStart",UserPromptSubmit:"UserPromptSubmit",PreToolUse:"PreToolUse",PostToolUse:"PostToolUse",PreCompact:"PreCompact",SubagentStart:"SubagentStart",SubagentStop:"SubagentStop",Stop:"Stop"},"github-copilot":{sessionStart:"SessionStart",sessionEnd:"SessionEnd",userPromptSubmitted:"UserPromptSubmit",preToolUse:"PreToolUse",postToolUse:"PostToolUse",agentStop:"Stop",subagentStop:"SubagentStop",errorOccurred:"ErrorOccurred"},claude:{SessionStart:"SessionStart",UserPromptSubmit:"UserPromptSubmit",PreToolUse:"PreToolUse",PostToolUse:"PostToolUse",PreCompact:"PreCompact",SubagentStart:"SubagentStart",SubagentStop:"SubagentStop",Stop:"Stop"},undefined:Object.fromEntries(Object.values(_u).map(i=>[i,i]))},RN={SessionStart:{label:p(9887,null),description:p(9886,null)},UserPromptSubmit:{label:p(9895,null),description:p(9894,null)},PreToolUse:{label:p(9883,null),description:p(9882,null)},PostToolUse:{label:p(9879,null),description:p(9878,null)},PreCompact:{label:p(9881,null),description:p(9880,null)},SubagentStart:{label:p(9891,null),description:p(9890,null)},SubagentStop:{label:p(9893,null),description:p(9892,null)},Stop:{label:p(9889,null),description:p(9888,null)},SessionEnd:{label:p(9885,null),description:p(9884,null)},ErrorOccurred:{label:p(9877,null),description:p(9876,null)}};var vW;(t=>{function i(e,n){if(e===n)return!0;if(!e||!n)return!1;for(let o of Object.values(_u)){let r=e[o],s=n[o];if(r?.length!==s?.length)return!1;if(r&&s){for(let a=0;a<r.length;a++)if(!YP.isEquals(r[a],s[a]))return!1}}return!0}t.isEquals=i})(vW||={});function AN(i,t){if(!i)return t;let e={...i};for(let n of Object.values(_u)){let o=i[n],r=t[n];r&&r.length>0&&(e[n]=o?[...o,...r]:r)}return e}var qo={type:p(9869,null),command:p(9860,null),windows:p(9870,null),linux:p(9864,null),osx:p(9865,null),bash:p(9858,null),powershell:p(9866,null),cwd:p(9862,null),env:p(9863,null),timeout:p(9867,null),timeoutSec:p(9868,null)},bW={type:"object",additionalProperties:!0,required:["type"],anyOf:[{required:["command"]},{required:["windows"]},{required:["linux"]},{required:["osx"]},{required:["bash"]},{required:["powershell"]}],errorMessage:p(9861,null),properties:{type:{type:"string",enum:["command"],description:qo.type},command:{type:"string",description:qo.command},windows:{type:"string",description:qo.windows},linux:{type:"string",description:qo.linux},osx:{type:"string",description:qo.osx},cwd:{type:"string",description:qo.cwd},env:{type:"object",additionalProperties:{type:"string"},description:qo.env},timeout:{type:"number",default:30,description:qo.timeout}}},yW={type:"array",items:bW};function MN(i,t){return Object.fromEntries(Object.entries(DN[i]).map(([e,n])=>[e,{...t,description:RN[n]?.description}]))}var IW=MN("vscode",yW),xW={type:"object",additionalProperties:!0,required:["type"],anyOf:[{required:["bash"]},{required:["powershell"]}],errorMessage:p(9859,null),properties:{type:{type:"string",enum:["command"],description:qo.type},bash:{type:"string",description:qo.bash},powershell:{type:"string",description:qo.powershell},cwd:{type:"string",description:qo.cwd},env:{type:"object",additionalProperties:{type:"string"},description:qo.env},timeoutSec:{type:"number",default:10,description:qo.timeoutSec}}},CW={type:"array",items:xW},SW=MN("github-copilot",CW),ale={$schema:"http://json-schema.org/draft-07/schema#",type:"object",description:p(9871,null),additionalProperties:!0,required:["hooks"],properties:{hooks:{type:"object",description:p(9872,null),additionalProperties:!0}},if:{required:["version"],properties:{version:{type:"number"}}},then:{properties:{version:{type:"number",description:p(9875,null)},hooks:{properties:SW}}},else:{properties:{hooks:{properties:IW}}},defaultSnippets:[{label:p(9873,null),description:p(9874,null),body:{hooks:{SessionStart:[{type:"command",command:'${1:echo "Session started" >> session.log}'}],PreToolUse:[{type:"command",command:"${2:./scripts/validate.sh}",timeout:15}]}}}]};function ON(i,t){return t===1&&i.windows?i.windows:t===2&&i.osx?i.osx:t===3&&i.linux?i.linux:i.command}var jt;(r=>{r.Internal={type:"internal",label:"Built-In"},r.External={type:"external",label:"External"};function e(s){switch(s.type){case"extension":return`extension:${s.extensionId.value}`;case"mcp":return`mcp:${s.collectionId}:${s.definitionId}`;case"user":return`user:${s.file.toString()}`;case"internal":return"internal";case"external":return"external"}}r.toKey=e;function n(s,a){return e(s)===e(a)}r.equals=n;function o(s){return s.type==="internal"?{ordinal:1,label:p(10277,null)}:s.type==="mcp"?{ordinal:2,label:s.serverLabel||s.label}:s.type==="user"?{ordinal:0,label:p(10279,null)}:{ordinal:3,label:s.label}}r.classify=o})(jt||={});function LN(i){return i!==null&&typeof i=="object"&&y.isUri(i.sessionResource)}function NN(i){return typeof i=="object"&&typeof i?.input=="string"&&(typeof i?.output=="string"||Array.isArray(i?.output))}function UN(i){return typeof i=="object"&&typeof i?.output=="object"&&typeof i?.output?.mimeType=="string"&&i?.output?.type==="data"}function FN(i){return!!i&&i.getTools!==void 0}var Du=A("ILanguageModelToolsService");var TW;(a=>(a.execute="execute",a.edit="edit",a.search="search",a.agent="agent",a.read="read",a.web="web",a.todo="todo"))(TW||={});var Of;(e=>(e.runSubagent="runSubagent",e.vscode="vscode"))(Of||={});var ZP=class{constructor(t){this.options=t}getItemLabel(t){return t.label}getItemDescription(t){if(!this.options?.skipDescription)return t.description}getItemPath(t){if(!this.options?.skipPath)return t.resource?.scheme===K.file?t.resource.fsPath:t.resource?.path}},Ple=new ZP,HN=A("quickInputService");var VN=A("encryptionService"),Rle=A("encryptionMainService");var Lf="secret://";function e_(i){return`${Lf}${i}`}async function EW(i,t,e,n){let o=e_(i);n?.trace("[secrets] getting secret for key:",o);let r=t(o);if(!r){n?.trace("[secrets] no secret found for key:",o);return}n?.trace("[secrets] decrypting secret for key:",o);let s=await e(r);return n?.trace("[secrets] decrypted secret for key:",o),s}async function wW(i,t,e,n,o){o?.trace("[secrets] encrypting secret for key:",i);let r=await n(t),s=e_(i);o?.trace("[secrets] storing encrypted secret for key:",s),e(s,r),o?.trace("[secrets] stored encrypted secret for key:",s)}var kW=['{"extensionId":"vscode.github-authentication","key":"github.auth"}'],BN=A("secretStorageService"),Fy=class extends V{constructor(e,n,o,r){super();this._useInMemoryStorage=e;this._storageService=n;this._encryptionService=o;this._logService=r;this.onDidChangeSecretEmitter=this._register(new w);this.onDidChangeSecret=this.onDidChangeSecretEmitter.event;this._sequencer=new _a;this._type="unknown";this._onDidChangeValueDisposable=this._register(new J);this._lazyStorageService=new bt(()=>this.initialize())}useSharedStorage(e){return It&&kW.includes(e)}get type(){return this._type}get resolvedStorageService(){return this._lazyStorageService.value}get(e){return this._sequencer.queue(e,async()=>{let n=await this.resolvedStorageService;try{return await EW(e,o=>this.getValueFromStorage(e,o,n),this._type==="in-memory"?o=>Promise.resolve(o):o=>this._encryptionService.decrypt(o),this._logService)}catch(o){this._logService.error(o),this.delete(e);return}})}set(e,n){return this._sequencer.queue(e,async()=>{let o=await this.resolvedStorageService;try{await wW(e,n,(r,s)=>this.setValueInStorage(e,r,s,o),this._type==="in-memory"?r=>Promise.resolve(r):r=>this._encryptionService.encrypt(r),this._logService)}catch(r){throw this._logService.error(r),r}})}delete(e){return this._sequencer.queue(e,async()=>{let n=await this.resolvedStorageService,o=e_(e);this._logService.trace("[secrets] deleting secret for key:",o);let r=this.useSharedStorage(e)?-2:-1;n.remove(o,r),this._logService.trace("[secrets] deleted secret for key:",o)})}keys(){return this._sequencer.queue("__keys__",async()=>{let e=await this.resolvedStorageService;this._logService.trace("[secrets] fetching keys of all secrets");let n=e.keys(-1,1);return this._logService.trace("[secrets] fetched keys of all secrets"),n.filter(o=>o.startsWith(Lf)).map(o=>o.slice(Lf.length))})}getValueFromStorage(e,n,o){return this.useSharedStorage(e)?(this._logService.trace(`[SecretStorageService] Fetching value for cross-app shared secret: ${n}`),o.get(n,-2)):o.get(n,-1)}setValueInStorage(e,n,o,r){if(this.useSharedStorage(e)){this._logService.trace(`[SecretStorageService] Setting value for cross-app shared secret: ${n}`),r.store(n,o,-2,1);return}r.store(n,o,-1,1)}async initialize(){let e;if(!this._useInMemoryStorage&&await this._encryptionService.isEncryptionAvailable())this._logService.trace("[SecretStorageService] Encryption is available, using persisted storage"),this._type="persisted",e=this._storageService;else{if(this._type==="in-memory")return this._storageService;this._logService.trace("[SecretStorageService] Encryption is not available, falling back to in-memory storage"),this._type="in-memory",e=this._register(new Cy)}return this._onDidChangeValueDisposable.clear(),this._onDidChangeValueDisposable.add(Le.any(e.onDidChangeValue(-1,void 0,this._onDidChangeValueDisposable),e.onDidChangeValue(-2,void 0,this._onDidChangeValueDisposable))(n=>{this.onDidChangeValue(n.key)})),e}reinitialize(){this._lazyStorageService=new bt(()=>this.initialize())}onDidChangeValue(e){if(!e.startsWith(Lf))return;let n=e.slice(Lf.length);this._logService.trace(`[SecretStorageService] Notifying change in value for secret: ${n}`),this.onDidChangeSecretEmitter.fire(n)}};Fy=R([S(1,pr),S(2,VN),S(3,ae)],Fy);var Kle={Extensions:{name:{key:"extensionsConfigurationTitle",value:p(138,null)}},IntegratedTerminal:{name:{key:"terminalIntegratedConfigurationTitle",value:p(141,null)}},InteractiveSession:{name:{key:"interactiveSessionConfigurationTitle",value:p(139,null)}},Telemetry:{name:{key:"telemetryConfigurationTitle",value:p(140,null)}},Update:{name:{key:"updateConfigurationTitle",value:p(142,null)}}};var Nf="^([a-z0-9A-Z][a-z0-9-A-Z]*)\\.([a-z0-9A-Z][a-z0-9-A-Z]*)$",cde=new RegExp(Nf);var ude=A("extensionGalleryService");var pde=A("extensionManagementService");var mde=A("IGlobalExtensionEnablementService"),gde=A("IExtensionTipsService"),fde=A("IAllowedExtensionsService");var hde=sd(2386,"Extensions"),vde=sd(2403,"Preferences"),PW="extensions.allowed";Et.as(_r.Configuration).registerConfiguration({id:"extensions",order:30,title:p(2402,null),type:"object",properties:{[PW]:{type:"object",markdownDescription:p(2392,null),default:"*",defaultSnippets:[{body:{},description:p(2397,null)},{body:{"*":!0},description:p(2393,null)}],scope:1,policy:{name:"AllowedExtensions",category:"Extensions",minimumVersion:"1.96",localization:{description:{key:"extensions.allowed.policy",value:p(2398,null)}}},additionalProperties:!1,patternProperties:{"([a-z0-9A-Z][a-z0-9-A-Z]*)\\.([a-z0-9A-Z][a-z0-9-A-Z]*)$":{anyOf:[{type:["boolean","string"],enum:[!0,!1,"stable"],description:p(2390,null),enumDescriptions:[p(2396,null),p(2394,null),p(2395,null)]},{type:"array",items:{type:"string"},description:p(2391,null)}]},"([a-z0-9A-Z][a-z0-9-A-Z]*)$":{type:["boolean","string"],enum:[!0,!1,"stable"],description:p(2385,null),enumDescriptions:[p(2401,null),p(2399,null),p(2400,null)]},"\\*":{type:"boolean",enum:[!0,!1],description:p(2387,null),enumDescriptions:[p(2389,null),p(2388,null)]}}}}});var Ga=class{constructor(t){this.value=t;this.isTrustedTelemetryValue=!0}},t_=class{constructor(){this.telemetryLevel=0;this.sessionId="someValue.sessionId";this.machineId="someValue.machineId";this.sqmId="someValue.sqmId";this.devDeviceId="someValue.devDeviceId";this.firstSessionDate="someValue.firstSessionDate";this.sendErrorTelemetry=!1}publicLog(){}publicLog2(){}publicLogError(){}publicLogError2(){}setExperimentProperty(){}setCommonProperty(){}},Hde=new t_;var DW="telemetry",qN={id:DW,name:p(2730,null)};function KN(i,t){if(!i)return"none";let e=jg(i),n=t?.remoteExtensionTips;if(n&&Object.prototype.hasOwnProperty.call(n,e))return e;let o=t?.virtualWorkspaceExtensionTips;return o&&Object.prototype.hasOwnProperty.call(o,e)?e:"other"}function RW(i,t){if(!i||!i.includes("/")&&!i.includes("\\"))return i;let e=i,n=[];for(let l of t)for(;;){let d=l.exec(i);if(!d)break;n.push([d.index,l.lastIndex])}let o=/(?:^|[\\\/])((node_modules|node_modules\.asar)[\\\/].*)$/,r=/^(.*?)((?:\.vscode(?:-[a-z]+)*|resources[\\\/]app)[\\\/]extensions[\\\/].*)$/i,s=/(file:\/\/)?([a-zA-Z]:(\\\\|\\|\/)|(\\\\|\\|\/))?([\w\-\._@]+(\\\\|\\|\/))+[\w\-\._@]*/g,a=0;for(e="";;){let l=s.exec(i);if(!l)break;if(!n.some(([c,u])=>l.index<u&&c<s.lastIndex)){let c=r.exec(l[0]);if(c)e+=i.substring(a,l.index)+"<REDACTED: user-file-path>/"+c[2];else{let u=o.exec(l[0]);u?e+=i.substring(a,l.index)+"<REDACTED: user-file-path>/"+u[1]:e+=i.substring(a,l.index)+"<REDACTED: user-file-path>"}a=s.lastIndex}}return a<i.length&&(e+=i.substr(a)),e}var GN=[{label:"URL",regex:/[a-zA-Z][a-zA-Z0-9+.-]*:\/\/[^\s]*/},{label:"Google API Key",regex:/AIza[A-Za-z0-9_\\\-]{35}/},{label:"JWT",regex:/eyJ[0eXAiOiJKV1Qi|hbGci|a-zA-Z0-9\-_]+\.[a-zA-Z0-9\-_]+\.[a-zA-Z0-9\-_]+/},{label:"Slack Token",regex:/xox[pbar]\-[A-Za-z0-9]/},{label:"GitHub Token",regex:/(gh[psuro]_[a-zA-Z0-9]{36}|github_pat_[a-zA-Z0-9]{22}_[a-zA-Z0-9]{59})/},{label:"Generic Secret",regex:/(key|token|sig|secret|signature|password|passwd|pwd|android:value)[^a-zA-Z0-9]/i},{label:"CLI Credentials",regex:/((login|psexec|(certutil|psexec)\.exe).{1,50}(\s-u(ser(name)?)?\s+.{3,100})?\s-(admin|user|vm|root)?p(ass(word)?)?\s+["']?[^$\-\/\s]|(^|[\s\r\n\\])net(\.exe)?.{1,5}(user\s+|share\s+\/user:| user -? secrets ? set) \s + [^ $\s \/])/},{label:"Microsoft Entra ID",regex:/eyJ(?:0eXAiOiJKV1Qi|hbGci|[a-zA-Z0-9\-_]+\.[a-zA-Z0-9\-_]+\.)/},{label:"Email",regex:/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/}];function zN(i,t=i){for(let e of GN)if(e.regex.test(t))return`<REDACTED: ${e.label}>`;return i}function AW(i){if(!i)return i;let t=!1;for(let n of GN)if(n.regex.test(i)){t=!0;break}if(!t)return i;if(!i.includes(`
`))return zN(i);let e=i.split(`
`);for(let n=0;n<e.length;n++){let o=n<e.length-1?e[n]+`
`:e[n];e[n]=zN(e[n],o)}return e.join(`
`)}function n_(i,t){return i?Ri(i,e=>{if(e instanceof Ga||Object.hasOwnProperty.call(e,"isTrustedTelemetryValue"))return e.value;if(typeof e=="string"){let n=e.replaceAll("%20"," ");n=RW(n,t);for(let o of t)n=n.replace(o,"");return n=AW(n),n}}):{}}function jN(i,t){return i.uuid&&t.uuid?i.uuid===t.uuid:i.id===t.id?!0:pd(i.id,t.id)===0}var oce=new Se("pprice.better-merge");var o_=class{constructor(){this._generators=new Map;this._cache=new WeakMap}register(t,e){this._generators.set(t,e)}readActivationEvents(t){return this._cache.has(t)||this._cache.set(t,this._readActivationEvents(t)),this._cache.get(t)}createActivationEventsMap(t){let e=Object.create(null);for(let n of t){let o=this.readActivationEvents(n);o.length>0&&(e[Se.toKey(n.identifier)]=o)}return e}_readActivationEvents(t){if(typeof t.main>"u"&&typeof t.browser>"u")return[];let e=Array.isArray(t.activationEvents)?t.activationEvents.slice(0):[];for(let n=0;n<e.length;n++)e[n]==="onUri"&&(e[n]=`onUri:${Se.toKey(t.identifier)}`);if(!t.contributes)return e;for(let n in t.contributes){let o=this._generators.get(n);if(!o)continue;let r=t.contributes[n],s=Array.isArray(r)?r:[r];try{e.push(...o(s))}catch(a){Pt(a)}}return e}},r_=new o_;var QN=Object.freeze({identifier:new Se("nullExtensionDescription"),name:"Null Extension Description",version:"0.0.0",publisher:"vscode",engines:{vscode:""},extensionLocation:y.parse("void:location"),isBuiltin:!1,targetPlatform:"undefined",isUserBuiltin:!1,isUnderDevelopment:!1,preRelease:!1});var JN=A("extensionService"),Uf=class{constructor(t){this.dependency=t}};function De(i,t){return!!i.enabledApiProposals}function D(i,t){if(!De(i,t))throw new Error(`Extension '${i.identifier.value}' CANNOT use API proposal: ${t}.
Its package.json#enabledApiProposals-property declares: ${i.enabledApiProposals?.join(", ")??"[]"} but NOT ${t}.
 The missing proposal MUST be added and you must start in extension development mode or use the following command line switch: --enable-proposed-api ${i.identifier.value}`)}var MW={activeComment:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.activeComment.d.ts"},agentSessionsWorkspace:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.agentSessionsWorkspace.d.ts"},agentsWindowConfiguration:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.agentsWindowConfiguration.d.ts"},aiRelatedInformation:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.aiRelatedInformation.d.ts"},aiSettingsSearch:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.aiSettingsSearch.d.ts"},aiTextSearchProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.aiTextSearchProvider.d.ts",version:2},authIssuers:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authIssuers.d.ts"},authLearnMore:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authLearnMore.d.ts"},authProviderSpecific:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authProviderSpecific.d.ts"},authSession:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authSession.d.ts"},authSessionAudience:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authSessionAudience.d.ts"},authenticationChallenges:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authenticationChallenges.d.ts"},browser:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.browser.d.ts"},canonicalUriProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.canonicalUriProvider.d.ts"},chatContextProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatContextProvider.d.ts"},chatDebug:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatDebug.d.ts",version:4},chatHooks:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatHooks.d.ts",version:6},chatInputNotification:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatInputNotification.d.ts"},chatOutputRenderer:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatOutputRenderer.d.ts"},chatParticipantAdditions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts",version:3},chatParticipantPrivate:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts",version:15},chatPromptFiles:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatPromptFiles.d.ts",version:2},chatProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatProvider.d.ts",version:5},chatReferenceBinaryData:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatReferenceBinaryData.d.ts"},chatReferenceDiagnostic:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatReferenceDiagnostic.d.ts"},chatSessionCustomizationProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatSessionCustomizationProvider.d.ts"},chatSessionsProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatSessionsProvider.d.ts",version:3},chatStatusItem:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatStatusItem.d.ts"},chatTab:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatTab.d.ts"},codeActionAI:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.codeActionAI.d.ts"},codeActionRanges:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.codeActionRanges.d.ts"},codiconDecoration:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.codiconDecoration.d.ts"},commentReactor:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentReactor.d.ts"},commentReveal:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentReveal.d.ts"},commentThreadApplicability:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts"},commentingRangeHint:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentingRangeHint.d.ts"},commentsDraftState:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentsDraftState.d.ts"},contribAccessibilityHelpContent:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribAccessibilityHelpContent.d.ts"},contribChatEditorInlineGutterMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribChatEditorInlineGutterMenu.d.ts"},contribCommentEditorActionsMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribCommentEditorActionsMenu.d.ts"},contribCommentPeekContext:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribCommentPeekContext.d.ts"},contribCommentThreadAdditionalMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribCommentThreadAdditionalMenu.d.ts"},contribCommentsViewThreadMenus:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribCommentsViewThreadMenus.d.ts"},contribDebugCreateConfiguration:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribDebugCreateConfiguration.d.ts"},contribDiffEditorGutterToolBarMenus:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribDiffEditorGutterToolBarMenus.d.ts"},contribEditSessions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribEditSessions.d.ts"},contribEditorContentMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribEditorContentMenu.d.ts"},contribLabelFormatterWorkspaceTooltip:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribLabelFormatterWorkspaceTooltip.d.ts"},contribLanguageModelToolSets:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribLanguageModelToolSets.d.ts"},contribMenuBarHome:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribMenuBarHome.d.ts"},contribMergeEditorMenus:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribMergeEditorMenus.d.ts"},contribMultiDiffEditorMenus:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribMultiDiffEditorMenus.d.ts"},contribNotebookStaticPreloads:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribNotebookStaticPreloads.d.ts"},contribRemoteHelp:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribRemoteHelp.d.ts"},contribShareMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribShareMenu.d.ts"},contribSourceControlArtifactGroupMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlArtifactGroupMenu.d.ts"},contribSourceControlArtifactMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlArtifactMenu.d.ts"},contribSourceControlHistoryItemMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlHistoryItemMenu.d.ts"},contribSourceControlHistoryTitleMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlHistoryTitleMenu.d.ts"},contribSourceControlInputBoxMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlInputBoxMenu.d.ts"},contribSourceControlTitleMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlTitleMenu.d.ts"},contribStatusBarItems:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribStatusBarItems.d.ts"},contribViewContainerTitle:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribViewContainerTitle.d.ts"},contribViewsRemote:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribViewsRemote.d.ts"},contribViewsWelcome:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribViewsWelcome.d.ts"},css:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.css.d.ts"},customEditorDiffs:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.customEditorDiffs.d.ts"},customEditorMove:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.customEditorMove.d.ts"},customEditorPriority:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.customEditorPriority.d.ts"},dataChannels:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.dataChannels.d.ts"},debugVisualization:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.debugVisualization.d.ts"},defaultChatParticipant:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts",version:4},devDeviceId:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.devDeviceId.d.ts"},diffCommand:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.diffCommand.d.ts"},diffContentOptions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.diffContentOptions.d.ts"},documentDiff:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.documentDiff.d.ts"},documentFiltersExclusive:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.documentFiltersExclusive.d.ts"},editSessionIdentityProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.editSessionIdentityProvider.d.ts"},editorHoverVerbosityLevel:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.editorHoverVerbosityLevel.d.ts"},editorInsets:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.editorInsets.d.ts"},embeddings:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.embeddings.d.ts"},envIsConnectionMetered:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.envIsConnectionMetered.d.ts"},environmentPower:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.environmentPower.d.ts"},extensionAffinity:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.extensionAffinity.d.ts"},extensionRuntime:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.extensionRuntime.d.ts"},extensionsAny:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.extensionsAny.d.ts"},externalUriOpener:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.externalUriOpener.d.ts"},fileSearchProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.fileSearchProvider.d.ts"},fileSearchProvider2:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.fileSearchProvider2.d.ts"},findFiles2:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.findFiles2.d.ts",version:2},findTextInFiles:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.findTextInFiles.d.ts"},findTextInFiles2:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.findTextInFiles2.d.ts"},fsChunks:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.fsChunks.d.ts"},inlineCompletionsAdditions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts"},interactive:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.interactive.d.ts"},interactiveWindow:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.interactiveWindow.d.ts"},ipc:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.ipc.d.ts"},languageModelCapabilities:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelCapabilities.d.ts"},languageModelPricing:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelPricing.d.ts"},languageModelProxy:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelProxy.d.ts"},languageModelSystem:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelSystem.d.ts"},languageModelThinkingPart:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelThinkingPart.d.ts",version:1},languageModelToolResultAudience:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelToolResultAudience.d.ts"},languageModelToolSupportsModel:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelToolSupportsModel.d.ts",version:1},languageStatusText:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageStatusText.d.ts"},mappedEditsProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts"},markdownAlertSyntax:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.markdownAlertSyntax.d.ts"},mcpServerDefinitions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.mcpServerDefinitions.d.ts",version:1},mcpToolDefinitions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.mcpToolDefinitions.d.ts"},multiDocumentHighlightProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.multiDocumentHighlightProvider.d.ts"},nativeWindowHandle:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.nativeWindowHandle.d.ts"},newSymbolNamesProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.newSymbolNamesProvider.d.ts"},notebookCellExecution:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookCellExecution.d.ts"},notebookControllerAffinityHidden:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookControllerAffinityHidden.d.ts"},notebookDeprecated:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookDeprecated.d.ts"},notebookExecution:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookExecution.d.ts"},notebookKernelSource:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookKernelSource.d.ts"},notebookLiveShare:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookLiveShare.d.ts"},notebookMessaging:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookMessaging.d.ts"},notebookMime:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookMime.d.ts"},notebookReplDocument:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookReplDocument.d.ts"},notebookVariableProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts"},portsAttributes:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.portsAttributes.d.ts"},profileContentHandlers:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.profileContentHandlers.d.ts"},quickDiffProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.quickDiffProvider.d.ts"},quickPickItemTooltip:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.quickPickItemTooltip.d.ts"},quickPickSortByLabel:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.quickPickSortByLabel.d.ts"},remoteCodingAgents:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.remoteCodingAgents.d.ts"},resolvers:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.resolvers.d.ts"},scmActionButton:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmActionButton.d.ts"},scmArtifactProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmArtifactProvider.d.ts"},scmHistoryProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts"},scmMultiDiffEditor:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmMultiDiffEditor.d.ts"},scmProviderOptions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmProviderOptions.d.ts"},scmSelectedProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmSelectedProvider.d.ts"},scmTextDocument:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmTextDocument.d.ts"},scmValidation:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmValidation.d.ts"},shareProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.shareProvider.d.ts"},speech:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.speech.d.ts"},statusBarItemTooltip:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.statusBarItemTooltip.d.ts"},tabInputMultiDiff:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tabInputMultiDiff.d.ts"},tabInputTextMerge:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tabInputTextMerge.d.ts"},taskExecutionTerminal:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.taskExecutionTerminal.d.ts"},taskPresentationGroup:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.taskPresentationGroup.d.ts"},taskProblemMatcherStatus:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.taskProblemMatcherStatus.d.ts"},taskRunOptions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.taskRunOptions.d.ts"},telemetry:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.telemetry.d.ts"},terminalCompletionProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalCompletionProvider.d.ts"},terminalDataWriteEvent:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalDataWriteEvent.d.ts"},terminalDimensions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalDimensions.d.ts"},terminalExecuteCommandEvent:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalExecuteCommandEvent.d.ts"},terminalQuickFixProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalQuickFixProvider.d.ts"},terminalSelection:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalSelection.d.ts"},terminalShellEnv:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalShellEnv.d.ts"},terminalTitle:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalTitle.d.ts"},testObserver:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.testObserver.d.ts"},testRelatedCode:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.testRelatedCode.d.ts"},textDocumentChangeReason:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textDocumentChangeReason.d.ts"},textEditorDiffInformation:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textEditorDiffInformation.d.ts"},textSearchComplete2:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textSearchComplete2.d.ts"},textSearchProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textSearchProvider.d.ts"},textSearchProvider2:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textSearchProvider2.d.ts"},timeline:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.timeline.d.ts"},tokenInformation:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tokenInformation.d.ts"},toolInvocationApproveCombination:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.toolInvocationApproveCombination.d.ts"},toolProgress:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.toolProgress.d.ts"},treeItemMarkdownLabel:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.treeItemMarkdownLabel.d.ts"},treeViewActiveItem:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.treeViewActiveItem.d.ts"},treeViewMarkdownMessage:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.treeViewMarkdownMessage.d.ts"},treeViewReveal:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.treeViewReveal.d.ts"},tunnelFactory:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tunnelFactory.d.ts"},tunnels:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tunnels.d.ts"},valueSelectionInQuickPick:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.valueSelectionInQuickPick.d.ts"},workspaceTrust:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.workspaceTrust.d.ts"}},Ru=Object.freeze(MW);var d_=Et.as(_d.JSONContribution);var i_=class i{constructor(t,e){this.added=t;this.removed=e}static _toSet(t){let e=new ho;for(let n=0,o=t.length;n<o;n++)e.add(t[n].description.identifier);return e}static compute(t,e){if(!t||!t.length)return new i(e,[]);if(!e||!e.length)return new i([],t);let n=this._toSet(t),o=this._toSet(e),r=e.filter(a=>!n.has(a.description.identifier)),s=t.filter(a=>!o.has(a.description.identifier));return new i(r,s)}},s_=class{constructor(t,e,n){this.name=t,this.defaultExtensionKind=e,this.canHandleResolver=n,this._handler=null,this._users=null,this._delta=null}setHandler(t){if(this._handler!==null)throw new Error("Handler already set!");return this._handler=t,this._handle(),{dispose:()=>{this._handler=null}}}acceptUsers(t){this._delta=i_.compute(this._users,t),this._users=t,this._handle()}_handle(){if(!(this._handler===null||this._users===null||this._delta===null))try{this._handler(this._users,this._delta)}catch(t){Pt(t)}}},OW={type:"string",enum:["ui","workspace"],enumDescriptions:[p(19618,null),p(19698,null)]},XN="vscode://schemas/vscode-extensions",a_={properties:{engines:{type:"object",description:p(19682,null),properties:{vscode:{type:"string",description:p(19683,null),default:"^1.105.0"}}},publisher:{description:p(19694,null),type:"string"},displayName:{description:p(19679,null),type:"string"},categories:{description:p(19673,null),type:"array",uniqueItems:!0,items:{oneOf:[{type:"string",enum:Cb},{type:"string",const:"Languages",deprecationMessage:p(19674,null)}]}},galleryBanner:{type:"object",description:p(19686,null),properties:{color:{description:p(19687,null),type:"string"},theme:{description:p(19688,null),type:"string",enum:["dark","light"]}}},contributes:{description:p(19675,null),type:"object",properties:{},default:{}},preview:{type:"boolean",description:p(19692,null)},enableProposedApi:{type:"boolean",deprecationMessage:p(19681,null)},enabledApiProposals:{markdownDescription:p(19680,null),type:"array",uniqueItems:!0,items:{type:"string",enum:Object.keys(Ru).map(i=>i),markdownEnumDescriptions:Object.values(Ru).map(i=>i.proposal)}},api:{markdownDescription:p(19653,null),type:"string",enum:["none"],enumDescriptions:[p(19654,null)]},activationEvents:{description:p(19619,null),type:"array",items:{type:"string",defaultSnippets:[{label:"onWebviewPanel",description:p(19650,null),body:"onWebviewPanel:viewType"},{label:"onLanguage",description:p(19633,null),body:"onLanguage:${1:languageId}"},{label:"onCommand",description:p(19623,null),body:"onCommand:${2:commandId}"},{label:"onDebug",description:p(19625,null),body:"onDebug"},{label:"onDebugInitialConfigurations",description:p(19628,null),body:"onDebugInitialConfigurations"},{label:"onDebugDynamicConfigurations",description:p(19627,null),body:"onDebugDynamicConfigurations"},{label:"onDebugResolve",description:p(19629,null),body:"onDebugResolve:${6:type}"},{label:"onDebugAdapterProtocolTracker",description:p(19626,null),body:"onDebugAdapterProtocolTracker:${6:type}"},{label:"workspaceContains",description:p(19652,null),body:"workspaceContains:${4:filePattern}"},{label:"onStartupFinished",description:p(19641,null),body:"onStartupFinished"},{label:"onTaskType",description:p(19642,null),body:"onTaskType:${1:taskType}"},{label:"onFileSystem",description:p(19631,null),body:"onFileSystem:${1:scheme}"},{label:"onEditSession",description:p(19630,null),body:"onEditSession:${1:scheme}"},{label:"onSearch",description:p(19640,null),body:"onSearch:${7:scheme}"},{label:"onView",body:"onView:${5:viewId}",description:p(19648,null)},{label:"onUri",body:"onUri",description:p(19647,null)},{label:"onOpenExternalUri",body:"onOpenExternalUri",description:p(19638,null)},{label:"onCustomEditor",body:"onCustomEditor:${9:viewType}",description:p(19624,null)},{label:"onNotebook",body:"onNotebook:${1:type}",description:p(19637,null)},{label:"onAuthenticationRequest",body:"onAuthenticationRequest:${11:authenticationProviderId}",description:p(19620,null)},{label:"onRenderer",description:p(19639,null),body:"onRenderer:${11:rendererId}"},{label:"onTerminalProfile",body:"onTerminalProfile:${1:terminalId}",description:p(19644,null)},{label:"onTerminalQuickFixRequest",body:"onTerminalQuickFixRequest:${1:quickFixId}",description:p(19645,null)},{label:"onWalkthrough",body:"onWalkthrough:${1:walkthroughID}",description:p(19649,null)},{label:"onIssueReporterOpened",body:"onIssueReporterOpened",description:p(19632,null)},{label:"onChatParticipant",body:"onChatParticipant:${1:participantId}",description:p(19622,null)},{label:"onChatContextProvider",body:"onChatContextProvider:${1:contextProviderId}",description:p(19621,null)},{label:"onLanguageModelChatProvider",body:"onLanguageModelChatProvider:${1:vendor}",description:p(19634,null)},{label:"onLanguageModelTool",body:"onLanguageModelTool:${1:toolId}",description:p(19635,null)},{label:"onTerminal",body:"onTerminal:{1:shellType}",description:p(19643,null)},{label:"onTerminalShellIntegration",body:"onTerminalShellIntegration:${1:shellType}",description:p(19646,null)},{label:"onMcpCollection",description:p(19636,null),body:"onMcpCollection:${2:collectionId}"},{label:"*",description:p(19651,null),body:"*"}]}},badges:{type:"array",description:p(19655,null),items:{type:"object",required:["url","href","description"],properties:{url:{type:"string",description:p(19658,null)},href:{type:"string",description:p(19657,null)},description:{type:"string",description:p(19656,null)}}}},markdown:{type:"string",description:p(19691,null),enum:["github","standard"],default:"github"},qna:{default:"marketplace",description:p(19695,null),anyOf:[{type:["string","boolean"],enum:["marketplace",!1]},{type:"string"}]},extensionDependencies:{description:p(19685,null),type:"array",uniqueItems:!0,items:{type:"string",pattern:Nf}},extensionAffinity:{description:p(19684,null),type:"array",uniqueItems:!0,items:{type:"string",pattern:Nf}},extensionPack:{description:p(19676,null),type:"array",uniqueItems:!0,items:{type:"string",pattern:Nf}},extensionKind:{description:p(19611,null),type:"array",items:OW,default:["workspace"],defaultSnippets:[{body:["ui"],description:p(19613,null)},{body:["workspace"],description:p(19615,null)},{body:["ui","workspace"],description:p(19614,null)},{body:["workspace","ui"],description:p(19616,null)},{body:[],description:p(19612,null)}]},capabilities:{description:p(19659,null),type:"object",properties:{virtualWorkspaces:{description:p(19667,null),type:["boolean","object"],defaultSnippets:[{label:"limited",body:{supported:"${1:limited}",description:"${2}"}},{label:"false",body:{supported:!1,description:"${2}"}}],default:(!0).valueOf,properties:{supported:{markdownDescription:p(19669,null),type:["string","boolean"],enum:["limited",!0,!1],enumDescriptions:[p(19671,null),p(19672,null),p(19670,null)]},description:{type:"string",markdownDescription:p(19668,null)}}},untrustedWorkspaces:{description:p(19660,null),type:"object",required:["supported"],defaultSnippets:[{body:{supported:"${1:limited}",description:"${2}"}}],properties:{supported:{markdownDescription:p(19663,null),type:["string","boolean"],enum:["limited",!0,!1],enumDescriptions:[p(19665,null),p(19666,null),p(19664,null)]},restrictedConfigurations:{description:p(19662,null),type:"array",items:{type:"string"}},description:{type:"string",markdownDescription:p(19661,null)}}}}},sponsor:{description:p(19677,null),type:"object",defaultSnippets:[{body:{url:"${1:https:}"}}],properties:{url:{description:p(19678,null),type:"string"}}},scripts:{type:"object",properties:{"vscode:prepublish":{description:p(19696,null),type:"string"},"vscode:uninstall":{description:p(19697,null),type:"string"}}},icon:{type:"string",description:p(19689,null)},l10n:{type:"string",description:p(19690,null)},pricing:{type:"string",markdownDescription:p(19693,null),enum:["Free","Trial"],default:"Free"}}},l_=class{constructor(){this._extensionPoints=new Map}registerExtensionPoint(t){if(this._extensionPoints.has(t.extensionPoint))throw new Error("Duplicate extension point: "+t.extensionPoint);let e=new s_(t.extensionPoint,t.defaultExtensionKind,t.canHandleResolver);return this._extensionPoints.set(t.extensionPoint,e),t.activationEventsGenerator&&r_.register(t.extensionPoint,t.activationEventsGenerator),a_.properties.contributes.properties[t.extensionPoint]=t.jsonSchema,d_.registerSchema(XN,a_),e}getExtensionPoints(){return Array.from(this._extensionPoints.values())}},YN={ExtensionsRegistry:"ExtensionsRegistry"};Et.add(YN.ExtensionsRegistry,new l_);var Hy=Et.as(YN.ExtensionsRegistry);d_.registerSchema(XN,a_);d_.registerSchema(LL,{properties:{extensionEnabledApiProposals:{description:p(19617,null),type:"object",properties:{},additionalProperties:{anyOf:[{type:"array",uniqueItems:!0,items:{type:"string",enum:Object.keys(Ru),markdownEnumDescriptions:Object.values(Ru).map(i=>i.proposal)}}]}}}});var Hce=new T("isMac",dn,p(2276,null)),Vce=new T("isLinux",qn,p(2275,null)),Bce=new T("isWindows",It,p(2280,null)),ZN=new T("isWeb",nr,p(2279,null)),Wce=new T("isMacNative",dn&&!nr,p(2277,null)),$ce=new T("isIOS",m0,p(2274,null)),zce=new T("isMobile",g0,p(2278,null)),qce=new T("isDevelopment",!1,!0),Kce=new T("productQualityType","",p(2281,null)),LW="inputFocus",Gce=new T(LW,!1,p(2273,null));function eU(i){if(i.restrictedValue!==void 0)return i.restrictedValue;switch(i.type){case"boolean":return!1;case"number":return 0;case"string":return""}}var Zce=A("policy"),Vy=class extends V{constructor(){super(...arguments);this.policyDefinitions={};this.policies=new Map;this._onDidChange=this._register(new w);this.onDidChange=this._onDidChange.event}async updatePolicyDefinitions(e){let n=Object.keys(this.policyDefinitions).length;return this.policyDefinitions={...e,...this.policyDefinitions},n!==Object.keys(this.policyDefinitions).length&&await this._updatePolicyDefinitions(this.policyDefinitions),yt.reduce(this.policies.entries(),(o,[r,s])=>({...o,[r]:s}),{})}getPolicyValue(e){return this.policies.get(e)}serialize(){return yt.reduce(Object.entries(this.policyDefinitions),(e,[n,o])=>({...e,[n]:{definition:o,value:this.policies.get(n)}}),{})}};var tU="ChatApprovedAccountOrganizations";var nU=new T("chatAccountPolicyGateActive",!1,{type:"boolean",description:p(19830,null)}),pue=A("accountPolicyGateService"),By=class extends Vy{constructor(e,n,o){super();this.logService=e;this.defaultAccountService=n;this._gateInfo={state:"inactive"};this._onDidChangeGateInfo=this._register(new w);this.onDidChangeGateInfo=this._onDidChangeGateInfo.event;this.managedPolicyReader=o,this._updatePolicyDefinitions(this.policyDefinitions),this._register(this.defaultAccountService.onDidChangePolicyData(()=>{this._updatePolicyDefinitions(this.policyDefinitions)})),this._register(this.defaultAccountService.onDidChangeDefaultAccount(()=>{this._updatePolicyDefinitions(this.policyDefinitions)})),this.managedPolicyReader&&this._register(this.managedPolicyReader.onDidChange(r=>{r.includes(tU)&&this._updatePolicyDefinitions(this.policyDefinitions)})),this.defaultAccountService.getDefaultAccount().then(()=>{this._updatePolicyDefinitions(this.policyDefinitions)})}get gateInfo(){return this._gateInfo}async _updatePolicyDefinitions(e){this.logService.trace(`AccountPolicyService#_updatePolicyDefinitions: Got ${Object.keys(e).length} policy definitions`);let n=[],o=this.defaultAccountService.policyData,r=this._gateInfo;this._gateInfo=this.computeGateInfo();let s=r.approvedOrganizations?.join(`
`)??"",a=this._gateInfo.approvedOrganizations?.join(`
`)??"",l=r.state!==this._gateInfo.state||r.reason!==this._gateInfo.reason||s!==a,d=this._gateInfo.state==="restricted"&&this._gateInfo.reason!=="policyNotResolved";for(let c in e){let u=e[c],m;d&&(u.value!==void 0||u.restrictedValue!==void 0)?m=eU(u):o&&u.value&&(m=u.value(o)),m!==void 0?this.policies.get(c)!==m&&(this.policies.set(c,m),n.push(c)):this.policies.delete(c)&&n.push(c)}n.length&&this._onDidChange.fire(n),l&&this._onDidChangeGateInfo.fire(this._gateInfo)}computeGateInfo(){if(!this.managedPolicyReader)return{state:"inactive"};let e=this.managedPolicyReader.getPolicyValue(tU),n=NW(e);if(n.length===0)return{state:"inactive"};let o=this.defaultAccountService.currentDefaultAccount;if(!o)return{state:"restricted",reason:"noAccount",approvedOrganizations:n};let r=this.defaultAccountService.getDefaultAccountAuthenticationProvider();return o.authenticationProvider.id!==r.id?{state:"restricted",reason:"wrongProvider",approvedOrganizations:n}:!n.includes("*")&&!(o.entitlementsData?.organization_login_list??[]).map(l=>l.toLowerCase()).some(l=>n.includes(l))?{state:"restricted",reason:"orgNotApproved",approvedOrganizations:n}:this.defaultAccountService.policyData===null?{state:"restricted",reason:"policyNotResolved",approvedOrganizations:n}:{state:"satisfied",approvedOrganizations:n}}};By=R([S(0,ae),S(1,Ay)],By);function NW(i){let t=i;if(typeof t=="string")try{t=JSON.parse(t)}catch{}return Array.isArray(t)?t.filter(e=>typeof e=="string").map(e=>e.trim().toLowerCase()).filter(e=>e.length>0):[]}var Ko;(ie=>{ie.responseVote=new T("chatSessionResponseVote","",{type:"string",description:p(9738,null)}),ie.responseDetectedAgentCommand=new T("chatSessionResponseDetectedAgentOrCommand",!1,{type:"boolean",description:p(9715,null)}),ie.responseSupportsIssueReporting=new T("chatResponseSupportsIssueReporting",!1,{type:"boolean",description:p(9706,null)}),ie.responseIsFiltered=new T("chatSessionResponseFiltered",!1,{type:"boolean",description:p(9705,null)}),ie.responseHasError=new T("chatSessionResponseError",!1,{type:"boolean",description:p(9704,null)}),ie.requestInProgress=new T("chatSessionRequestInProgress",!1,{type:"boolean",description:p(9737,null)}),ie.hasActiveRequest=new T("chatSessionHasActiveRequest",!1,{type:"boolean",description:p(9707,null)}),ie.currentlyEditing=new T("chatSessionCurrentlyEditing",!1,{type:"boolean",description:p(9735,null)}),ie.currentlyEditingInput=new T("chatSessionCurrentlyEditingInput",!1,{type:"boolean",description:p(9736,null)});let d;(Eg=>(Eg.Sent="s",Eg.Queue="q",Eg.Steer="st"))(d=ie.EditingRequestType||={}),ie.editingRequestType=new T("chatEditingSentRequest",void 0,{type:"string",description:p(9677,null)}),ie.isResponse=new T("chatResponse",!1,{type:"boolean",description:p(9703,null)}),ie.isRequest=new T("chatRequest",!1,{type:"boolean",description:p(9701,null)}),ie.isFirstRequest=new T("chatFirstRequest",!1,{type:"boolean",description:p(9679,null)}),ie.isPendingRequest=new T("chatRequestIsPending",!1,{type:"boolean",description:p(9702,null)}),ie.itemId=new T("chatItemId","",{type:"string",description:p(9688,null)}),ie.lastItemId=new T("chatLastItemId",[],{type:"string",description:p(9689,null)}),ie.editApplied=new T("chatEditApplied",!1,{type:"boolean",description:p(9671,null)}),ie.inputHasText=new T("chatInputHasText",!1,{type:"boolean",description:p(9734,null)}),ie.inputHasSendableContent=new T("chatInputHasSendableContent",!1,{type:"boolean",description:p(9733,null)}),ie.inputHasFocus=new T("chatInputHasFocus",!1,{type:"boolean",description:p(9732,null)}),ie.inChatInput=new T("inChatInput",!1,{type:"boolean",description:p(9730,null)}),ie.inChatSession=new T("inChat",!1,{type:"boolean",description:p(9724,null)}),ie.inChatQuestionCarousel=new T("inChatQuestionCarousel",!1,{type:"boolean",description:p(9726,null)}),ie.chatQuestionCarouselHasTerminal=new T("chatQuestionCarouselHasTerminal",!1,{type:"boolean",description:p(9699,null)}),ie.inChatEditor=new T("inChatEditor",!1,{type:"boolean",description:p(9725,null)}),ie.inChatTodoList=new T("inChatTodoList",!1,{type:"boolean",description:p(9729,null)}),ie.inChatTip=new T("inChatTip",!1,{type:"boolean",description:p(9728,null)}),ie.multipleChatTips=new T("multipleChatTips",!1,{type:"boolean",description:p(9741,null)}),ie.inChatTerminalToolOutput=new T("inChatTerminalToolOutput",!1,{type:"boolean",description:p(9727,null)}),ie.chatModeKind=new T("chatAgentKind","ask",{type:"string",description:p(9656,null)}),ie.chatPermissionLevel=new T("chatPermissionLevel","default",{type:"string",description:p(9698,null)}),ie.chatModeName=new T("chatModeName","",{type:"string",description:p(9692,null)}),ie.chatModelId=new T("chatModelId","",{type:"string",description:p(9690,null)}),ie.supported=at.or(ZN.negate(),SN.notEqualsTo(""),at.has("config.chat.experimental.serverlessWebEnabled")),ie.enabled=new T("chatIsEnabled",!1,{type:"boolean",description:p(9686,null)}),ie.accountPolicyGateActive=nU,ie.lockedToCodingAgent=new T("lockedToCodingAgent",!1,{type:"boolean",description:p(9740,null)}),ie.lockedCodingAgentId=new T("lockedCodingAgentId","",{type:"string",description:p(9739,null)}),ie.chatSessionHasCustomAgentTarget=new T("chatSessionHasCustomAgentTarget",!1,{type:"boolean",description:p(9708,null)}),ie.chatSessionHasTargetedModels=new T("chatSessionHasTargetedModels",!1,{type:"boolean",description:p(9712,null)}),ie.agentSupportsAttachments=new T("agentSupportsAttachments",!1,{type:"boolean",description:p(9668,null)}),ie.withinEditSessionDiff=new T("withinEditSessionDiff",!1,{type:"boolean",description:p(9743,null)}),ie.filePartOfEditSession=new T("filePartOfEditSession",!1,{type:"boolean",description:p(9721,null)}),ie.extensionParticipantRegistered=new T("chatPanelExtensionParticipantRegistered",!1,{type:"boolean",description:p(9695,null)}),ie.panelParticipantRegistered=new T("chatPanelParticipantRegistered",!1,{type:"boolean",description:p(9697,null)}),ie.chatEditingCanUndo=new T("chatEditingCanUndo",!1,{type:"boolean",description:p(9673,null)}),ie.chatEditingCanRedo=new T("chatEditingCanRedo",!1,{type:"boolean",description:p(9672,null)}),ie.languageModelsAreUserSelectable=new T("chatModelsAreUserSelectable",!1,{type:"boolean",description:p(9691,null)}),ie.nonCopilotLanguageModelsAreUserSelectable=new T("chatNonCopilotModelsAreUserSelectable",!1,{type:"boolean",description:p(9694,null)}),ie.chatSessionHasModels=new T("chatSessionHasModels",!1,{type:"boolean",description:p(9711,null)}),ie.chatSessionOptionsValid=new T("chatSessionOptionsValid",!0,{type:"boolean",description:p(9714,null)}),ie.extensionInvalid=new T("chatExtensionInvalid",!1,{type:"boolean",description:p(9678,null)}),ie.inputCursorAtTop=new T("chatCursorAtTop",!1),ie.inputHasAgent=new T("chatInputHasAgent",!1),ie.location=new T("chatLocation",void 0),ie.inQuickChat=new T("quickChatHasFocus",!1,{type:"boolean",description:p(9731,null)}),ie.inAgentSessionsWelcome=new T("inAgentSessionsWelcome",!1,{type:"boolean",description:p(9723,null)}),ie.chatSessionType=new T("chatSessionType","",{type:"string",description:p(9718,null)}),ie.hasFileAttachments=new T("chatHasFileAttachments",!1,{type:"boolean",description:p(9683,null)}),ie.chatSessionIsEmpty=new T("chatSessionIsEmpty",!0,{type:"boolean",description:p(9713,null)}),ie.hasPendingRequests=new T("chatHasPendingRequests",!1,{type:"boolean",description:p(9684,null)}),ie.chatSessionHasDebugData=new T("chatSessionHasDebugData",!1,{type:"boolean",description:p(9709,null)}),ie.chatSessionHasDebugTools=new T("chatSessionHasDebugTools",!1,{type:"boolean",description:p(9710,null)}),ie.remoteJobCreating=new T("chatRemoteJobCreating",!1,{type:"boolean",description:p(9700,null)}),ie.hasRemoteCodingAgent=new T("hasRemoteCodingAgent",!1,p(9722,null)),ie.hasCanDelegateProviders=new T("chatHasCanDelegateProviders",!1,{type:"boolean",description:p(9682,null)}),ie.enableRemoteCodingAgentPromptFileOverlay=new T("enableRemoteCodingAgentPromptFileOverlay",!1,p(9720,null)),ie.skipChatRequestInProgressMessage=new T("chatSkipRequestInProgressMessage",!1,{type:"boolean",description:p(9719,null)}),ie.Setup=be.Setup,ie.Entitlement=be.Entitlement,ie.chatQuotaExceeded=be.chatQuotaExceeded,ie.completionsQuotaExceeded=be.completionsQuotaExceeded,ie.Editing={hasToolConfirmation:new T("chatHasToolConfirmation",!1,{type:"boolean",description:p(9676,null)}),hasElicitationRequest:new T("chatHasElicitationRequest",!1,{type:"boolean",description:p(9674,null)}),hasQuestionCarousel:new T("chatHasQuestionCarousel",!1,{type:"boolean",description:p(9675,null)})},ie.Tools={toolsCount:new T("toolsCount",0,{type:"number",description:p(9742,null)})},ie.foregroundSessionCount=new T("chatForegroundSessionCount",0,{type:"number",description:p(9680,null)}),ie.Modes={hasCustomChatModes:new T("chatHasCustomAgents",!1,{type:"boolean",description:p(9681,null)}),agentModeDisabledByPolicy:new T("chatAgentModeDisabledByPolicy",!1,{type:"boolean",description:p(9669,null)})},ie.panelLocation=new T("chatPanelLocation",void 0,{type:"number",description:p(9696,null)}),ie.agentSessionsViewerFocused=new T("agentSessionsViewerFocused",!0,{type:"boolean",description:p(9663,null)}),ie.agentSessionsViewerOrientation=new T("agentSessionsViewerOrientation",void 0,{type:"number",description:p(9664,null)}),ie.agentSessionsViewerPosition=new T("agentSessionsViewerPosition",void 0,{type:"number",description:p(9665,null)}),ie.agentSessionsViewerVisible=new T("agentSessionsViewerVisible",void 0,{type:"boolean",description:p(9666,null)}),ie.agentSessionType=new T("chatSessionType","",{type:"string",description:p(9667,null)}),ie.chatSessionSupportsDelegation=new T("chatSessionSupportsDelegation",!0,{type:"boolean",description:p(9716,null)}),ie.chatSessionSupportsFork=new T("chatSessionSupportsFork",!1,{type:"boolean",description:p(9717,null)}),ie.agentSessionSection=new T("agentSessionSection","",{type:"string",description:p(9662,null)}),ie.isArchivedAgentSession=new T("agentSessionIsArchived",!1,{type:"boolean",description:p(9659,null)}),ie.isPinnedAgentSession=new T("agentSessionIsPinned",!1,{type:"boolean",description:p(9660,null)}),ie.isReadAgentSession=new T("agentSessionIsRead",!1,{type:"boolean",description:p(9661,null)}),ie.hasMultipleAgentSessionsSelected=new T("agentSessionHasMultipleSelected",!1,{type:"boolean",description:p(9658,null)}),ie.hasAgentSessionChanges=new T("agentSessionHasChanges",!1,{type:"boolean",description:p(9657,null)}),ie.isKatexMathElement=new T("chatIsKatexMathElement",!1,{type:"boolean",description:p(9687,null)}),ie.hasUsedCreateSlashCommands=new T("chatHasUsedCreateSlashCommands",!1,{type:"boolean",description:p(9685,null)}),ie.contextUsageHasBeenOpened=new T("chatContextUsageHasBeenOpened",!1,{type:"boolean",description:p(9670,null)}),ie.newChatButtonExperimentIcon=new T("chatNewChatButtonExperimentIcon","",{type:"string",description:p(9693,null)})})(Ko||={});var UW;(n=>(n.inEditingMode=at.or(Ko.chatModeKind.isEqualTo("edit"),Ko.chatModeKind.isEqualTo("agent")),n.isAgentHostSession=at.or(at.regex(Ko.lockedCodingAgentId.key,/^agent-host-/),at.regex(Ko.lockedCodingAgentId.key,/^remote-/)),n.isAgentHostSessionItem=at.or(at.regex(Ko.agentSessionType.key,/^agent-host-/),at.regex(Ko.agentSessionType.key,/^remote-/))))(UW||={});var oU=A("ILanguageModelsConfigurationService");var Hf="copilot";var Vf;(n=>{function i(o){return(typeof o.capabilities?.agentMode>"u"||o.capabilities.agentMode)&&!!o.capabilities?.toolCalling}n.suitableForAgentMode=i;function t(o){return`${o.name} (${o.vendor})`}n.asQualifiedName=t;function e(o,r){return r.vendor===Hf&&o===r.name?!0:o===t(r)}n.matchesQualifiedName=e})(Vf||={});var $y=A("ILanguageModelsService"),rU={type:"object",required:["vendor","displayName"],properties:{vendor:{type:"string",description:p(9790,null)},displayName:{type:"string",description:p(9786,null)},configuration:{type:"object",description:p(9784,null),anyOf:[{$ref:"http://json-schema.org/draft-07/schema#"},{properties:{properties:{type:"object",additionalProperties:{$ref:"http://json-schema.org/draft-07/schema#",properties:{secret:{type:"boolean",description:p(9785,null)}}}},additionalProperties:{$ref:"http://json-schema.org/draft-07/schema#",properties:{secret:{type:"boolean",description:p(9785,null)}}}}}]},managementCommand:{type:"string",description:p(9788,null),deprecated:!0,deprecationMessage:p(9789,null)},when:{type:"string",description:p(9792,null)}}},FW=Hy.registerExtensionPoint({extensionPoint:"languageModelChatProviders",jsonSchema:{description:p(9783,null),oneOf:[rU,{type:"array",items:rU}]},activationEventsGenerator:function*(i){for(let t of i)yield`onLanguageModelChatProvider:${t.vendor}`}}),iU="chatModelRecentlyUsed",sU="chatModelPinned",aU="chatModelVisibility",Ff="copilot/auto",c_="chat.participantNameRegistry",u_="chat.modelsControl",Od=class{constructor(t,e,n,o,r,s,a,l,d){this._extensionService=t;this._logService=e;this._storageService=n;this._contextKeyService=o;this._languageModelsConfigurationService=r;this._quickInputService=s;this._secretStorageService=a;this._productService=l;this._requestService=d;this._store=new J;this._providers=new Map;this._vendors=new Map;this._onDidChangeLanguageModelVendors=this._store.add(new w);this.onDidChangeLanguageModelVendors=this._onDidChangeLanguageModelVendors.event;this._modelsGroups=new Map;this._modelCache=new Map;this._resolveLMSequencer=new _a;this._modelConfigurations=new Map;this._onLanguageModelChange=this._store.add(new w);this.onDidChangeLanguageModels=this._onLanguageModelChange.event;this._recentlyUsedModelIds=[];this._pinnedModelIds=[];this._hiddenModelIds=new Set;this._onDidChangeModelsControlManifest=this._store.add(new w);this.onDidChangeModelsControlManifest=this._onDidChangeModelsControlManifest.event;this._onDidChangePinnedModels=this._store.add(new w);this.onDidChangePinnedModels=this._onDidChangePinnedModels.event;this._onDidChangeModelVisibility=this._store.add(new w);this.onDidChangeModelVisibility=this._onDidChangeModelVisibility.event;this._modelsControlManifest={free:{},paid:{}};this._chatControlDisposed=!1;this._restrictedChatParticipants=un(this,Object.create(null));this.restrictedChatParticipants=this._restrictedChatParticipants;this._hasUserSelectableModels=Ko.languageModelsAreUserSelectable.bindTo(o),this._hasNonCopilotUserSelectableModels=Ko.nonCopilotLanguageModelsAreUserSelectable.bindTo(o),this._recentlyUsedModelIds=this._readRecentlyUsedModels(),this._pinnedModelIds=this._readPinnedModels(),this._readVisibility(),this._initChatControlData(),this._store.add(this.onDidChangeLanguageModels(()=>{let c=!1,u=!1;for(let m of this._modelCache.values())if(m.isUserSelectable!==!1&&(c=!0,m.vendor!==Hf)){u=!0;break}this._hasUserSelectableModels.set(c),this._hasNonCopilotUserSelectableModels.set(u),this._refreshModelsControlManifest()})),this._store.add(this._languageModelsConfigurationService.onDidChangeLanguageModelGroups(c=>this._onDidChangeLanguageModelGroups(c))),this._store.add(FW.setHandler((c,{added:u,removed:m})=>{let g=[],v=[];for(let f of u)for(let x of yt.wrap(f.value)){if(this._vendors.has(x.vendor)){f.collector.error(p(9791,null,x.vendor));continue}if(Pi(x.vendor)){f.collector.error(p(9787,null));continue}if(x.vendor.trim()!==x.vendor){f.collector.error(p(9793,null));continue}g.push(x)}for(let f of m)for(let x of yt.wrap(f.value))v.push(x);this.deltaLanguageModelChatProviderDescriptors(g,v)}))}static{this.SECRET_KEY_PREFIX="chat.lm.secret."}static{this.SECRET_INPUT="${input:{0}}"}deltaLanguageModelChatProviderDescriptors(t,e){let n=[],o=[];for(let r of t){if(this._vendors.has(r.vendor)){this._logService.error(`The vendor '${r.vendor}' is already registered and cannot be registered twice`);continue}if(Pi(r.vendor)){this._logService.error("The vendor field cannot be empty.");continue}if(r.vendor.trim()!==r.vendor){this._logService.error("The vendor field cannot start or end with whitespace.");continue}let s={vendor:r.vendor,displayName:r.displayName,configuration:r.configuration,managementCommand:r.managementCommand,when:r.when,isDefault:r.vendor===Hf};this._vendors.set(r.vendor,s),n.push(r.vendor)}for(let r of e)this._vendors.delete(r.vendor),this._providers.delete(r.vendor),this._clearModelCache(r.vendor),this._modelsGroups.delete(r.vendor),o.push(r.vendor);for(let[r,s]of this._providers)this._vendors.has(r)||this._providers.delete(r);if((n.length>0||o.length>0)&&(this._onDidChangeLanguageModelVendors.fire([...n,...o]),o.length>0))for(let r of o)this._onLanguageModelChange.fire(r)}async _onDidChangeLanguageModelGroups(t){let e=new Set(t.map(n=>n.vendor));await Promise.all(Array.from(e).map(n=>this._resolveAllLanguageModels(n,!0)))}getVendors(){return Array.from(this._vendors.values()).filter(t=>{if(!t.when)return!0;let e=at.deserialize(t.when);return e?this._contextKeyService.contextMatchesRules(e):!1})}getLanguageModelIds(){return Array.from(this._modelCache.keys())}lookupLanguageModel(t){return this._modelCache.get(t)}lookupLanguageModelByQualifiedName(t){for(let[e,n]of this._modelCache.entries())if(Vf.matchesQualifiedName(t,n))return{metadata:n,identifier:e}}async _resolveAllLanguageModels(t,e){let n=this._vendors.get(t);if(!n)return;let o=this._providers.get(t);if(o||(await this._extensionService.activateByEvent(`onLanguageModelChatProvider:${t}`),o=this._providers.get(t)),!o){this._logService.warn(`[LM] No provider registered for vendor ${t}`);return}return this._resolveLMSequencer.queue(t,async()=>{let r=[],s=[];try{let m=await o.provideLanguageModelChatInfo({silent:e},ye.None);if(m.length){r.push(...m);let g=[];for(let v of m)n.isDefault?v.metadata.isUserSelectable!==!1?g.push(v.identifier):this._logService.trace(`[LM] Skipping model ${v.identifier} from model picker as it is not user selectable.`):g.push(v.identifier);s.push({modelIdentifiers:g})}}catch(m){s.push({modelIdentifiers:[],status:{message:nd(m),severity:je.Error}})}let a=this._languageModelsConfigurationService.getLanguageModelsProviderGroups(),l=new Map;for(let m of a){if(m.vendor!==t)continue;if(!n.configuration&&r.length>0){if(m.settings)for(let v of r){let f=m.settings[v.metadata.id];f&&l.set(v.identifier,{...f})}s.push({group:m,modelIdentifiers:[]});continue}let g=await this._resolveConfiguration(m,n.configuration);try{let v=await o.provideLanguageModelChatInfo({group:m.name,silent:e,configuration:g},ye.None);if(v.length){for(let f=0;f<v.length;f++)v[f].metadata.detail||(v[f]={...v[f],metadata:{...v[f].metadata,detail:m.name}});r.push(...v),s.push({group:m,modelIdentifiers:v.map(f=>f.identifier)})}if(m.settings)for(let f of v){let x=m.settings[f.metadata.id];x&&l.set(f.identifier,{...x})}}catch(v){s.push({group:m,modelIdentifiers:[],status:{message:nd(v),severity:je.Error}})}}let d=this._modelsGroups.get(t)??[];this._modelsGroups.set(t,s);let c=this._clearModelCache(t),u=!1;for(let m of r){if(this._modelCache.has(m.identifier)){this._logService.warn(`[LM] Model ${m.identifier} is already registered. Skipping.`);continue}this._modelCache.set(m.identifier,m.metadata),u=u||!Rt(c.get(m.identifier),m.metadata),c.delete(m.identifier)}this._logService.trace(`[LM] Resolved language models for vendor ${t}`,r),u=u||c.size>0,u||(u=this._hasGroupStructureChanged(d,s)),this._clearModelConfigurations(t);for(let[m,g]of l)this._modelCache.has(m)&&this._modelConfigurations.set(m,g);u?this._onLanguageModelChange.fire(t):this._logService.trace(`[LM] No changes in language models for vendor ${t}`)})}_hasGroupStructureChanged(t,e){if(t.length!==e.length)return!0;for(let n=0;n<t.length;n++){let o=t[n],r=e[n];if(o.group?.name!==r.group?.name||o.group?.vendor!==r.group?.vendor||o.status?.message!==r.status?.message||o.status?.severity!==r.status?.severity||o.modelIdentifiers.length!==r.modelIdentifiers.length)return!0}return!1}getLanguageModelGroups(t){return this._modelsGroups.get(t)??[]}hasResolvedVendor(t){return this._modelsGroups.has(t)}async selectLanguageModels(t){if(t.vendor)await this._resolveAllLanguageModels(t.vendor,!0);else{let n=Array.from(this._vendors.keys());await Promise.all(n.map(o=>this._resolveAllLanguageModels(o,!0)))}let e=[];for(let[n,o]of this._modelCache)(t.vendor===void 0||o.vendor===t.vendor)&&(t.family===void 0||o.family===t.family)&&(t.version===void 0||o.version===t.version)&&(t.id===void 0||o.id===t.id)&&e.push(n);return this._logService.trace("[LM] selected language models",t,e),e}registerLanguageModelProvider(t,e){if(this._logService.trace("[LM] registering language model provider",t,e),!this._vendors.has(t))throw new Error(`Chat model provider uses UNKNOWN vendor ${t}.`);if(this._providers.has(t))throw new Error(`Chat model provider for vendor ${t} is already registered.`);this._providers.set(t,e);let n=e.onDidChange(()=>{this._resolveAllLanguageModels(t,!0)});return X(()=>{this._logService.trace("[LM] UNregistered language model provider",t),this._clearModelCache(t),this._modelsGroups.delete(t),this._providers.delete(t),n.dispose()})}async sendChatRequest(t,e,n,o,r){let s=this._modelCache.get(t),a=this._providers.get(s?.vendor||"");if(!a)throw new Error(`Chat provider for model ${t} is not registered.`);let l=this.getModelConfiguration(t),d=l?{...o,configuration:{...l,...o.configuration}}:o;return a.sendChatRequest(t,n,e,d,r)}_resolveModelConfigurationWithDefaults(t,e){let n=this._modelConfigurations.get(t),o=e?.configurationSchema;if(!o?.properties&&!n)return;let r={};if(o?.properties)for(let[s,a]of Object.entries(o.properties))a.default!==void 0&&(r[s]=a.default);if(!(!n&&Object.keys(r).length===0))return{...r,...n}}computeTokenLength(t,e,n){let o=this._modelCache.get(t);if(!o)throw new Error(`Chat model ${t} could not be found.`);let r=this._providers.get(o.vendor);if(!r)throw new Error(`Chat provider for model ${t} is not registered.`);return r.provideTokenCount(t,e,n)}getModelConfiguration(t){let e=this._modelCache.get(t);return this._resolveModelConfigurationWithDefaults(t,e)}async setModelConfiguration(t,e){let n=this._modelCache.get(t);if(!n)return;let o=this._languageModelsConfigurationService.getLanguageModelsProviderGroups(),r;r=o.find(d=>d.vendor===n.vendor&&d.settings?.[n.id]!==void 0),r||(r=o.find(d=>d.vendor===n.vendor));let a={...this._modelConfigurations.get(t)??{},...e},l=n.configurationSchema;if(l?.properties)for(let[d,c]of Object.entries(a)){let u=l.properties[d];u?.default!==void 0&&u.default===c&&delete a[d]}if(r){let d=r.settings??{},c;Object.keys(a).length===0?(c={...d},delete c[n.id]):c={...d,[n.id]:a};let u={...r,settings:Object.keys(c).length>0?c:void 0};!u.settings&&Object.keys(u).filter(m=>m!=="name"&&m!=="vendor"&&m!=="range"&&m!=="modelsRange"&&m!=="settings").length===0?await this._languageModelsConfigurationService.removeLanguageModelsProviderGroup(r):await this._languageModelsConfigurationService.updateLanguageModelsProviderGroup(r,u)}else if(Object.keys(a).length>0){let d=this._vendors.get(n.vendor);if(!d)return;let c={name:d.displayName,vendor:n.vendor,settings:{[n.id]:a}};await this._languageModelsConfigurationService.addLanguageModelsProviderGroup(c)}Object.keys(a).length>0?this._modelConfigurations.set(t,a):this._modelConfigurations.delete(t),this._onLanguageModelChange.fire(n.vendor)}getModelConfigurationActions(t){let n=this._modelCache.get(t)?.configurationSchema;if(!n?.properties)return[];let o=[],r=this._modelConfigurations.get(t)??{};for(let[s,a]of Object.entries(n.properties)){if(!a.enum||!Array.isArray(a.enum)||a.enum.length<2)continue;let l=r[s]??a.default,d=(typeof a.title=="string"?a.title:void 0)??s.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/^./,v=>v.toUpperCase()),c=a.default,u=a.enumItemLabels,m=a.enumDescriptions,g=a.enum.map((v,f)=>{let x=u?.[f]??String(v),C=v===c?p(9779,null,x):x,E=m?.[f]??"";return{id:`configureModel.${s}.${v}`,label:C,class:void 0,enabled:!0,tooltip:E,checked:l===v,run:()=>this.setModelConfiguration(t,{[s]:v})}});o.push(new If(`configureModel.${s}`,d,g))}return o}async configureLanguageModelsProviderGroup(t,e){let n=this.getVendors().find(({vendor:l})=>l===t);if(!n)throw new Error(`Vendor ${t} not found.`);if(n.managementCommand){await this._resolveAllLanguageModels(n.vendor,!1);return}let o=this._languageModelsConfigurationService.getLanguageModelsProviderGroups(),r=o.find(l=>l.vendor===t&&l.name===e),s=await this.promptForName(o,n,r);if(!s)return;let a=r?await this._resolveConfiguration(r,n.configuration):void 0;try{let l=n.configuration?await this.promptForConfiguration(s,n.configuration,a):void 0;if(n.configuration&&!l)return;let d=await this._resolveLanguageModelProviderGroup(s,t,l,n.configuration),c=r?await this._languageModelsConfigurationService.updateLanguageModelsProviderGroup(r,d):await this._languageModelsConfigurationService.addLanguageModelsProviderGroup(d);if(n.configuration&&this.requireConfiguring(n.configuration)){let u=this.getSnippetForFirstUnconfiguredProperty(l??{},n.configuration);await this._languageModelsConfigurationService.configureLanguageModels({group:c,snippet:u})}}catch(l){if(xn(l))return;throw l}}async renameLanguageModelsProviderGroup(t,e){let n=this.getVendors().find(({vendor:a})=>a===t);if(!n)throw new Error(`Vendor ${t} not found.`);let o=this._languageModelsConfigurationService.getLanguageModelsProviderGroups(),r=o.find(a=>a.vendor===t&&a.name===e);if(!r)throw new Error(`Language model provider group ${e} for vendor ${t} not found.`);let s=await this.promptForName(o,n,r);!s||s===r.name||await this._languageModelsConfigurationService.updateLanguageModelsProviderGroup(r,{...r,name:s})}async updateLanguageModelsProviderGroupApiKey(t,e){let n=this.getVendors().find(({vendor:a})=>a===t),o=n?.configuration,r=o?.properties?.apiKey;if(!n||!o||!r)return;let s=this._languageModelsConfigurationService.getLanguageModelsProviderGroups().find(a=>a.vendor===t&&a.name===e);if(!s)throw new Error(`Language model provider group ${e} for vendor ${t} not found.`);try{let a=await this._resolveConfiguration(s,o),l=await this.promptForValue(s.name,"apiKey",r,!!o.required?.includes("apiKey"),a);if(l===void 0||l===a.apiKey)return;let d={...a,apiKey:l},c={...await this._resolveLanguageModelProviderGroup(s.name,t,d,o),settings:s.settings};await this._languageModelsConfigurationService.updateLanguageModelsProviderGroup(s,c),await this._deleteSecretsInConfiguration(s,o)}catch(a){if(xn(a))return;throw a}}async addLanguageModelsProviderGroupModel(t,e){let n=this.getVendors().find(({vendor:d})=>d===t),r=n?.configuration?.properties?.models;if(!n||!r)return;let s=this._languageModelsConfigurationService.getLanguageModelsProviderGroups().find(d=>d.vendor===t&&d.name===e);if(!s)throw new Error(`Language model provider group ${e} for vendor ${t} not found.`);let a=Array.isArray(s.models),l=a?this.getSnippetForArrayItem(r):this.getSnippetForProperty("models",r);l&&await this._languageModelsConfigurationService.configureLanguageModels({group:s,snippet:l,snippetTarget:a?"models":"group"})}async openLanguageModelsProviderGroupSettings(t,e){let n=this._languageModelsConfigurationService.getLanguageModelsProviderGroups().find(o=>o.vendor===t&&o.name===e);if(!n)throw new Error(`Language model provider group ${e} for vendor ${t} not found.`);await this._languageModelsConfigurationService.configureLanguageModels({group:n})}async configureModel(t){let e=this._modelCache.get(t);if(!e||!e.configurationSchema)return;let n=this._modelsGroups.get(e.vendor),o;if(n){for(let s of n)if(s.modelIdentifiers.includes(t)&&s.group){o=s.group;break}}if(!o){let s=this.getVendors().find(d=>d.vendor===e.vendor);if(!s)return;let l={name:s.displayName,vendor:e.vendor,settings:{[e.id]:{}}};o=await this._languageModelsConfigurationService.addLanguageModelsProviderGroup(l),await this._resolveAllLanguageModels(e.vendor,!0)}let r=this._getModelConfigurationSnippet(e.id,e.configurationSchema);await this._languageModelsConfigurationService.configureLanguageModels({group:o,snippet:r})}_getModelConfigurationSnippet(t,e){let n=[];if(e.properties)for(let[r,s]of Object.entries(e.properties))if(s.defaultSnippets?.[0]){let a=s.defaultSnippets[0],l=a.bodyText??JSON.stringify(a.body,null,"			");l=l.replace(/"(\^[^"]*)"/g,(d,c)=>c.substring(1)),n.push(`			"${r}": ${l}`)}else s.default!==void 0?n.push(`			"${r}": ${JSON.stringify(s.default)}`):n.push(`			"${r}": \${${r}}`);let o=n.length>0?`{
${n.join(`,
`)}
		}`:`{
			$0
		}`;return`"settings": {
		"${t}": ${o}
	}`}async addLanguageModelsProviderGroup(t,e,n){let o=this.getVendors().find(({vendor:s})=>s===e);if(!o)throw new Error(`Vendor ${e} not found.`);let r=await this._resolveLanguageModelProviderGroup(t,e,n,o.configuration);await this._languageModelsConfigurationService.addLanguageModelsProviderGroup(r)}async removeLanguageModelsProviderGroup(t,e){let n=this.getVendors().find(({vendor:s})=>s===t);if(!n)throw new Error(`Vendor ${t} not found.`);let r=this._languageModelsConfigurationService.getLanguageModelsProviderGroups().find(s=>s.vendor===t&&s.name===e);if(!r)throw new Error(`Language model provider group ${e} for vendor ${t} not found.`);await this._deleteSecretsInConfiguration(r,n.configuration),await this._languageModelsConfigurationService.removeLanguageModelsProviderGroup(r)}requireConfiguring(t){if(t.additionalProperties)return!0;if(!t.properties)return!1;for(let e of Object.keys(t.properties))if(!this.canPromptForProperty(t.properties[e]))return!0;return!1}getSnippetForFirstUnconfiguredProperty(t,e){if(e.properties){for(let n of Object.keys(e.properties))if(t[n]===void 0){let o=e.properties[n],r=this.getSnippetForProperty(n,o);if(r)return r}}}getSnippetForProperty(t,e){let n=this.getDefaultSnippetBodyText(e);return n?`"${t}": ${n}`:void 0}getSnippetForArrayItem(t){return this.getDefaultSnippetBodyText(t,!0)}getDefaultSnippetBodyText(t,e=!1){let n=t.defaultSnippets?.[0];if(!n)return;let o=e?Array.isArray(n.body)&&n.body.length>0?JSON.stringify(n.body[0],null,"	"):void 0:n.bodyText??JSON.stringify(n.body,null,"	");if(o)return o.replace(/"(\^[^"]*)"/g,(r,s)=>s.substring(1))}async promptForName(t,e,n){let o=n?.name;if(!o){o=e.displayName;let a=1;for(;t.some(l=>l.vendor===e.vendor&&l.name===o);)a++,o=`${e.displayName} ${a}`}let r,s=new J;try{await new Promise(a=>{let l=s.add(this._quickInputService.createInputBox());l.title=p(9775,null),l.placeholder=p(9778,null),l.value=o,l.ignoreFocusOut=!0,s.add(l.onDidChangeValue(d=>{if(!d){l.validationMessage=p(9776,null),l.severity=je.Error;return}if(t.some(c=>c!==n&&c.vendor===e.vendor&&c.name===d)){l.validationMessage=p(9780,null),l.severity=je.Error;return}l.validationMessage=void 0,l.severity=je.Ignore})),s.add(l.onDidAccept(async()=>{r=l.value,l.hide()})),s.add(l.onDidHide(()=>a())),l.show()})}finally{s.dispose()}return r}async promptForConfiguration(t,e,n){if(!e.properties)return;let o=n?{...n}:{};for(let r of Object.keys(e.properties)){let s=e.properties[r],a=!!e.required?.includes(r),l=await this.promptForValue(t,r,s,a,n);l!==void 0&&(o[r]=l)}return o}async promptForValue(t,e,n,o,r){if(!n||!this.canPromptForProperty(n))return;if(n.type==="array"&&n.items&&!Array.isArray(n.items)&&n.items.enum){let a=await this.promptForArray(t,e,n);return a===void 0?void 0:a}if(n.type==="string"&&Array.isArray(n.enum)&&n.enum.length>0)return this.promptForEnum(t,e,n,r);let s=await this.promptForInput(t,e,n,o,r);if(s!==void 0)return s}canPromptForProperty(t){return!t||typeof t=="boolean"?!1:!!(t.type==="array"&&t.items&&!Array.isArray(t.items)&&t.items.enum||t.type==="string"||t.type==="number"||t.type==="integer"||t.type==="boolean")}getDescriptionPlaintext(t){if(t.description)return t.description;let e=t.markdownDescription;if(e)return e.replace(/`([^`]+)`/g,"$1").replace(/\*\*([^*]+)\*\*/g,"$1").replace(/\*([^*]+)\*/g,"$1").replace(/\[([^\]]+)\]\([^)]+\)/g,"$1")}async promptForArray(t,e,n){if(!n.items||Array.isArray(n.items)||!n.items.enum)return;let o=n.items.enum,r=new J;try{return await new Promise(s=>{let a=r.add(this._quickInputService.createQuickPick());a.title=`${t}: ${n.title??e}`,a.items=o.map(l=>({label:l})),a.placeholder=this.getDescriptionPlaintext(n)??p(9781,null,e),a.canSelectMany=!0,a.ignoreFocusOut=!0,r.add(a.onDidAccept(()=>{s(a.selectedItems.map(l=>l.label)),a.hide()})),r.add(a.onDidHide(()=>{s(void 0)})),a.show()})}finally{r.dispose()}}async promptForEnum(t,e,n,o){let r=n.enum;if(!Array.isArray(r)||r.length===0)return;let s=n.enumDescriptions,a=Array.isArray(n.enumItemLabels)?n.enumItemLabels:void 0,l=o?.[e]!==void 0?String(o[e]):n.default!==void 0?String(n.default):void 0,d=r.map((u,m)=>({label:a?.[m]??String(u),description:s?.[m],id:String(u)})),c=new J;try{return await new Promise(u=>{let m=c.add(this._quickInputService.createQuickPick());if(m.title=`${t}: ${n.title??e}`,m.items=d,m.placeholder=this.getDescriptionPlaintext(n)??p(9781,null,e),m.ignoreFocusOut=!0,l!==void 0){let g=d.find(v=>v.id===l);g&&(m.activeItems=[g])}c.add(m.onDidAccept(()=>{let g=m.selectedItems[0];u(g?.id),m.hide()})),c.add(m.onDidHide(()=>{u(void 0)})),m.show()})}finally{c.dispose()}}async promptForInput(t,e,n,o,r){let s=new J;try{let a=d=>{if(!d&&o)return p(9782,null)},l=await new Promise((d,c)=>{let u=s.add(this._quickInputService.createInputBox());u.title=`${t}: ${n.title??e}`,u.placeholder=p(9777,null,e),u.password=!!n.secret,u.ignoreFocusOut=!0,r?.[e]?u.value=String(r?.[e]):n.default&&(u.value=String(n.default));let m=this.getDescriptionPlaintext(n);m&&(u.prompt=m),s.add(u.onDidChangeValue(g=>{let v=a(g);v?(u.validationMessage=v,u.severity=je.Error):(u.validationMessage=void 0,u.severity=je.Ignore)})),s.add(u.onDidAccept(()=>{let g=a(u.value);if(g){u.validationMessage=g,u.severity=je.Error;return}d(u.value),u.hide()})),s.add(u.onDidHide(g=>{g.reason===2?c(new rt):d(void 0)})),u.show()});return l?n.type==="number"||n.type==="integer"?Number(l):n.type==="boolean"?l==="true":l:void 0}finally{s.dispose()}}encodeSecretKey(t){return H0(Od.SECRET_INPUT,t)}decodeSecretKey(t){if(Ae(t))return t.substring(t.indexOf(":")+1,t.length-1)}_clearModelCache(t){let e=new Map;for(let[n,o]of this._modelCache.entries())o.vendor===t&&(e.set(n,o),this._modelCache.delete(n));return e}_clearModelConfigurations(t){for(let[e]of this._modelConfigurations)(this._modelCache.get(e)?.vendor===t||e.startsWith(`${t}/`))&&this._modelConfigurations.delete(e)}async _resolveConfiguration(t,e){if(!e)return{};let n={};for(let o in t){if(o==="vendor"||o==="name"||o==="range"||o==="modelsRange"||o==="settings")continue;let r=t[o];if(e.properties?.[o]?.secret){let s=this.decodeSecretKey(r);r=s?await this._secretStorageService.get(s):void 0}n[o]=r}return n}async _resolveLanguageModelProviderGroup(t,e,n,o){if(!o)return{name:t,vendor:e};let r={};for(let s in n){let a=n[s];if(o.properties?.[s]?.secret&&Ae(a)){let l=`${Od.SECRET_KEY_PREFIX}${ar(We()).toString(16)}`;await this._secretStorageService.set(l,a),a=this.encodeSecretKey(l)}r[s]=a}return{name:t,vendor:e,...r}}async _deleteSecretsInConfiguration(t,e){if(!e)return;let{vendor:n,name:o,range:r,modelsRange:s,...a}=t;for(let l in a){let d=t[l];if(e.properties?.[l]?.secret){let c=this.decodeSecretKey(d);c&&await this._secretStorageService.delete(c)}}}async migrateLanguageModelsProviderGroup(t){let{vendor:e,name:n,...o}=t;if(!this._vendors.get(e))throw new Error(`Vendor ${e} not found.`);await this._extensionService.activateByEvent(`onLanguageModelChatProvider:${e}`);let r=this._providers.get(e);if(!r)throw new Error(`Chat model provider for vendor ${e} is not registered.`);await r.provideLanguageModelChatInfo({group:n,silent:!1,configuration:o},ye.None),await this.addLanguageModelsProviderGroup(n,e,o)}_readRecentlyUsedModels(){return this._storageService.getObject(iU,0,[])}_saveRecentlyUsedModels(){this._storageService.store(iU,this._recentlyUsedModelIds,0,0)}getRecentlyUsedModelIds(){return this._recentlyUsedModelIds.filter(t=>this._modelCache.has(t)&&t!==Ff).slice(0,4)}addToRecentlyUsedList(t){if(t===Ff)return;let e=this._recentlyUsedModelIds.indexOf(t);e!==-1&&this._recentlyUsedModelIds.splice(e,1),this._recentlyUsedModelIds.unshift(t),this._recentlyUsedModelIds.length>20&&(this._recentlyUsedModelIds.length=20),this._saveRecentlyUsedModels()}clearRecentlyUsedList(){this._recentlyUsedModelIds=[],this._saveRecentlyUsedModels()}_readPinnedModels(){return this._storageService.getObject(sU,0,[])}_savePinnedModels(){this._storageService.store(sU,this._pinnedModelIds,0,0)}getPinnedModelIds(){return this._pinnedModelIds.filter(t=>t!==Ff&&this._modelCache.has(t))}pinModel(t){t===Ff||this._pinnedModelIds.includes(t)||(this._pinnedModelIds.push(t),this._savePinnedModels(),this._onDidChangePinnedModels.fire())}unpinModel(t){let e=this._pinnedModelIds.indexOf(t);e!==-1&&(this._pinnedModelIds.splice(e,1),this._savePinnedModels(),this._onDidChangePinnedModels.fire())}isModelPinned(t){return t!==Ff&&this._pinnedModelIds.includes(t)}_getGroupNameForVendor(t){return this._vendors.get(t)?.displayName??t}_getModelIdsInGroup(t,e){let n=this._modelsGroups.get(t);if(!n)return[];let o=[],r=this._getGroupNameForVendor(t);for(let s of n)(s.group?.name??r)===e&&o.push(...s.modelIdentifiers);return o}_readVisibility(){let t=this._storageService.getObject(aU,0,{});this._hiddenModelIds=new Set(Array.isArray(t?.hiddenModels)?t.hiddenModels:[])}_saveVisibility(){this._storageService.store(aU,{hiddenModels:Array.from(this._hiddenModelIds)},0,0)}isGroupHidden(t,e){let n=this._getModelIdsInGroup(t,e);return n.length>0&&n.every(o=>this._hiddenModelIds.has(o))}isModelHidden(t){return this._hiddenModelIds.has(t)}setGroupHidden(t,e,n){let o=!1,r=this._getModelIdsInGroup(t,e);for(let s of r)n?this._hiddenModelIds.has(s)||(this._hiddenModelIds.add(s),o=!0):this._hiddenModelIds.delete(s)&&(o=!0);o&&(this._saveVisibility(),this._onDidChangeModelVisibility.fire())}setModelHidden(t,e){let n=!1;e?this._hiddenModelIds.has(t)||(this._hiddenModelIds.add(t),n=!0):this._hiddenModelIds.delete(t)&&(n=!0),n&&(this._saveVisibility(),this._onDidChangeModelVisibility.fire())}getHiddenModelIds(){return Array.from(this._hiddenModelIds)}getModelsControlManifest(){return this._modelsControlManifest}_setModelsControlManifest(t){this._modelsControlRawResponse=t,this._refreshModelsControlManifest()}_refreshModelsControlManifest(){let t=this._modelsControlRawResponse,e={},n={};if(t?.free){let o=Array.isArray(t.free)?t.free:Object.values(t.free);for(let r of o)!r||!st(r)||(e[r.id]={label:r.label,featured:r.featured,exists:this._modelCache.has(`copilot/${r.id}`)})}if(t?.paid){let o=Array.isArray(t.paid)?t.paid:Object.values(t.paid);for(let r of o)!r||!st(r)||(n[r.id]={label:r.label,featured:r.featured,minVSCodeVersion:r.minVSCodeVersion,exists:this._modelCache.has(`copilot/${r.id}`)})}this._modelsControlManifest={free:e,paid:n},this._onDidChangeModelsControlManifest.fire(this._modelsControlManifest)}_initChatControlData(){if(this._chatControlUrl=this._productService.chatParticipantRegistry,!this._chatControlUrl)return;let t=this._storageService.get(c_,-1);try{this._restrictedChatParticipants.set(JSON.parse(t??"{}"),void 0)}catch{this._storageService.remove(c_,-1)}let e=this._storageService.get(u_,-1);try{let n=JSON.parse(e??"{}");st(n)&&this._setModelsControlManifest(n)}catch{this._storageService.remove(u_,-1)}this._refreshChatControlData()}_refreshChatControlData(){this._chatControlDisposed||this._fetchChatControlData().catch(t=>this._logService.warn("Failed to fetch chat control data",t)).then(()=>Sn(300*1e3)).then(()=>this._refreshChatControlData())}async _fetchChatControlData(){this._logService.trace("[LM] Fetching chat control data from",this._chatControlUrl);let t;try{t=await this._requestService.request({type:"GET",url:this._chatControlUrl,callSite:"languageModels.fetchChatControlData"},ye.None)}catch(o){this._logService.warn("[LM] Failed to request chat control data",nd(o));return}if(t.res.statusCode!==200){this._logService.warn(`[LM] Chat control data request failed with status ${t.res.statusCode}`);return}let e;try{e=await $L(t)}catch(o){this._logService.warn("[LM] Failed to parse chat control response",nd(o));return}if(this._logService.trace("[LM] Received chat control response",e?Object.keys(e):"null"),!e||e.version!==1){this._logService.warn("[LM] Unexpected chat control response version",e?.version);return}let n=e.restrictedChatParticipants;this._restrictedChatParticipants.set(n,void 0),this._storageService.store(c_,JSON.stringify(n),-1,1),e.models&&(this._logService.trace("[LM] Updating models control manifest",{freeCount:Object.keys(e.models.free??{}).length,paidCount:Object.keys(e.models.paid??{}).length}),this._setModelsControlManifest(e.models),this._storageService.store(u_,JSON.stringify(e.models),-1,1))}dispose(){this._chatControlDisposed=!0,this._store.dispose(),this._providers.clear()}};Od=R([S(0,JN),S(1,ae),S(2,pr),S(3,Er),S(4,oU),S(5,HN),S(6,BN),S(7,xu),S(8,vy)],Od);var mpe=new T("debugType",void 0,{type:"string",description:p(11491,null)}),gpe=new T("debugConfigurationType",void 0,{type:"string",description:p(11482,null)}),fpe=new T("debugState","inactive",{type:"string",description:p(11490,null)}),VW="debugUx",hpe=new T(VW,"default",{type:"string",description:p(11492,null)}),vpe=new T("hasDebugged",!1,{type:"boolean",description:p(11500,null)}),bpe=new T("inDebugMode",!1,{type:"boolean",description:p(11502,null)}),ype=new T("inDebugRepl",!1,{type:"boolean",description:p(11503,null)}),Ipe=new T("breakpointWidgetVisible",!1,{type:"boolean",description:p(11472,null)}),xpe=new T("inBreakpointWidget",!1,{type:"boolean",description:p(11501,null)}),Cpe=new T("breakpointsFocused",!0,{type:"boolean",description:p(11470,null)}),Spe=new T("watchExpressionsFocused",!0,{type:"boolean",description:p(11528,null)}),Tpe=new T("watchExpressionsExist",!1,{type:"boolean",description:p(11527,null)}),Epe=new T("variablesFocused",!0,{type:"boolean",description:p(11524,null)}),wpe=new T("expressionSelected",!1,{type:"boolean",description:p(11496,null)}),kpe=new T("breakpointInputFocused",!1,{type:"boolean",description:p(11466,null)}),Ppe=new T("callStackItemType",void 0,{type:"string",description:p(11478,null)}),_pe=new T("callStackSessionIsAttach",!1,{type:"boolean",description:p(11480,null)}),Dpe=new T("callStackItemStopped",!1,{type:"boolean",description:p(11477,null)}),Rpe=new T("callStackSessionHasOneThread",!1,{type:"boolean",description:p(11479,null)}),Ape=new T("callStackFocused",!0,{type:"boolean",description:p(11476,null)}),Mpe=new T("watchItemType",void 0,{type:"string",description:p(11529,null)}),Ope=new T("canViewMemory",void 0,{type:"boolean",description:p(11481,null)}),Lpe=new T("breakpointItemType",void 0,{type:"string",description:p(11468,null)}),Npe=new T("breakpointItemBytes",void 0,{type:"boolean",description:p(11467,null)}),Upe=new T("breakpointHasModes",!1,{type:"boolean",description:p(11465,null)}),Fpe=new T("breakpointSupportsCondition",!1,{type:"boolean",description:p(11471,null)}),Hpe=new T("loadedScriptsSupported",!1,{type:"boolean",description:p(11508,null)}),Vpe=new T("loadedScriptsItemType",void 0,{type:"string",description:p(11507,null)}),Bpe=new T("focusedSessionIsAttach",!1,{type:"boolean",description:p(11497,null)}),Wpe=new T("focusedSessionIsNoDebug",!1,{type:"boolean",description:p(11498,null)}),$pe=new T("stepBackSupported",!1,{type:"boolean",description:p(11513,null)}),zpe=new T("restartFrameSupported",!1,{type:"boolean",description:p(11511,null)}),qpe=new T("stackFrameSupportsRestart",!1,{type:"boolean",description:p(11512,null)}),Kpe=new T("jumpToCursorSupported",!1,{type:"boolean",description:p(11505,null)}),Gpe=new T("stepIntoTargetsSupported",!1,{type:"boolean",description:p(11514,null)}),jpe=new T("breakpointsExist",!1,{type:"boolean",description:p(11469,null)}),Qpe=new T("debuggersAvailable",!1,{type:"boolean",description:p(11485,null)}),Jpe=new T("debugExtensionAvailable",!0,{type:"boolean",description:p(11483,null)}),Xpe=new T("debugProtocolVariableMenuContext",void 0,{type:"string",description:p(11486,null)}),Ype=new T("debugSetVariableSupported",!1,{type:"boolean",description:p(11489,null)}),Zpe=new T("debugSetDataBreakpointAddressSupported",!1,{type:"boolean",description:p(11487,null)}),eme=new T("debugSetExpressionSupported",!1,{type:"boolean",description:p(11488,null)}),tme=new T("breakWhenValueChangesSupported",!1,{type:"boolean",description:p(11473,null)}),nme=new T("breakWhenValueIsAccessedSupported",!1,{type:"boolean",description:p(11474,null)}),ome=new T("breakWhenValueIsReadSupported",!1,{type:"boolean",description:p(11475,null)}),rme=new T("terminateDebuggeeSupported",!1,{type:"boolean",description:p(11516,null)}),ime=new T("suspendDebuggeeSupported",!1,{type:"boolean",description:p(11515,null)}),sme=new T("terminateThreadsSupported",!1,{type:"boolean",description:p(11517,null)}),ame=new T("variableEvaluateNamePresent",!1,{type:"boolean",description:p(11518,null)}),lme=new T("variableIsReadonly",!1,{type:"boolean",description:p(11521,null)}),dme=new T("variableValue",!1,{type:"string",description:p(11526,null)}),cme=new T("variableType",!1,{type:"string",description:p(11525,null)}),ume=new T("variableInterfaces",!1,{type:"array",description:p(11520,null)}),pme=new T("variableName",!1,{type:"string",description:p(11523,null)}),mme=new T("variableLanguage",!1,{type:"string",description:p(11522,null)}),gme=new T("variableExtensionId",!1,{type:"string",description:p(11519,null)}),fme=new T("exceptionWidgetVisible",!1,{type:"boolean",description:p(11495,null)}),hme=new T("multiSessionRepl",!1,{type:"boolean",description:p(11510,null)}),vme=new T("multiSessionDebug",!1,{type:"boolean",description:p(11509,null)}),bme=new T("disassembleRequestSupported",!1,{type:"boolean",description:p(11493,null)}),yme=new T("disassemblyViewFocus",!1,{type:"boolean",description:p(11494,null)}),Ime=new T("languageSupportsDisassembleRequest",!1,{type:"boolean",description:p(11506,null)}),xme=new T("focusedStackFrameHasInstructionReference",!1,{type:"boolean",description:p(11499,null)});var Cme={enum:["neverOpen","openOnSessionStart","openOnFirstSessionStart"],default:"openOnFirstSessionStart",description:p(11504,null)};var p_=(e=>(e[e.Initial=1]="Initial",e[e.Dynamic=2]="Dynamic",e))(p_||{});var Sme=A("debugService");var BW;(e=>(e.deserialize=n=>n,e.serialize=n=>n))(BW||={});var WW;(e=>(e.deserialize=n=>({id:n.id,name:n.name,iconPath:n.iconPath&&{light:y.revive(n.iconPath.light),dark:y.revive(n.iconPath.dark)},iconClass:n.iconClass,visualization:n.visualization}),e.serialize=n=>n))(WW||={});var wme=A("IMcpGalleryManifestService");var Bf;(l=>(l.LATEST_PROTOCOL_VERSION="2025-11-25",l.JSONRPC_VERSION="2.0",l.PARSE_ERROR=-32700,l.INVALID_REQUEST=-32600,l.METHOD_NOT_FOUND=-32601,l.INVALID_PARAMS=-32602,l.INTERNAL_ERROR=-32603,l.URL_ELICITATION_REQUIRED=-32042))(Bf||={});function lU(i,t){return Se.toKey(i)+"/"+t}var $W;(t=>{function i(e,n){return e.id===n.id&&e.remoteAuthority===n.remoteAuthority&&e.label===n.label&&e.trustBehavior===n.trustBehavior&&Rt(e.sandbox,n.sandbox)}t.equals=i})($W||={});var zW;(n=>{function i(o){return o}n.toSerialized=i;function t(o){return{id:o.id,label:o.label,cacheNonce:o.cacheNonce,staticMetadata:o.staticMetadata,launch:Ld.fromSerialized(o.launch),sandboxEnabled:o.sandboxEnabled,variableReplacement:o.variableReplacement?dU.fromSerialized(o.variableReplacement):void 0}}n.fromSerialized=t;function e(o,r){return o.id===r.id&&o.label===r.label&&o.cacheNonce===r.cacheNonce&&Qt(o.roots,r.roots,(s,a)=>s.toString()===a.toString())&&Rt(o.launch,r.launch)&&Rt(o.presentation,r.presentation)&&Rt(o.variableReplacement,r.variableReplacement)&&Rt(o.devMode,r.devMode)&&o.sandboxEnabled===r.sandboxEnabled}n.equals=e})(zW||={});var dU;(e=>{function i(n){return n}e.toSerialized=i;function t(n){return{section:n.section,folder:n.folder?{...n.folder,uri:y.revive(n.folder.uri)}:void 0,target:n.target}}e.fromSerialized=t})(dU||={});var qW;(t=>t.Empty={working:!1,starting:[],serversRequiringInteraction:[]})(qW||={});var jme=A("IMcpService");var KW;(t=>{let i;(s=>(s[s.Trusted=0]="Trusted",s[s.TrustedOnNonce=1]="TrustedOnNonce",s[s.Untrusted=2]="Untrusted",s[s.Unknown=3]="Unknown"))(i=t.Kind||={})})(KW||={});var Ld;(n=>{function i(o){return o}n.toSerialized=i;function t(o){switch(o.type){case 2:return{type:o.type,uri:y.revive(o.uri),headers:o.headers,oauth:o.oauth,authentication:o.authentication};case 1:return{type:o.type,cwd:o.cwd,command:o.command,args:o.args,env:o.env,envFile:o.envFile,sandbox:o.sandbox}}}n.fromSerialized=t;async function e(o){let r=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(JSON.stringify(o)));return xa(te.wrap(new Uint8Array(r)))}n.hash=e})(Ld||={});var Yr;(r=>{let i;(c=>(c[c.Stopped=0]="Stopped",c[c.Starting=1]="Starting",c[c.Running=2]="Running",c[c.Error=3]="Error"))(i=r.Kind||={}),r.toString=s=>{switch(s.state){case 0:return p(13895,null);case 1:return p(13894,null);case 2:return p(13893,null);case 3:return p(13892,null,s.message);default:qc(s)}},r.toKindString=s=>{switch(s){case 0:return"stopped";case 1:return"starting";case 2:return"running";case 3:return"error";default:qc(s)}},r.canBeStarted=s=>s===3||s===0,r.isRunning=s=>!(0,r.canBeStarted)(s.state)})(Yr||={});var Wf=class i extends Error{constructor(e){super(`${i.prefix}${e}`);this.reason=e}static{this.prefix="User interaction required: "}static is(e){return e.message.startsWith(this.prefix)}};var GW=A("IMcpWorkbenchService"),zy=class extends V{constructor(e,n){super();this.containers=e;this._register(n.onChange(this.update,this))}set mcpServer(e){this.containers.forEach(n=>n.mcpServer=e)}update(e){for(let n of this.containers)e&&n.mcpServer?e.id===n.mcpServer.id&&(n.mcpServer=e):n.update()}};zy=R([S(1,GW)],zy);var Qme=new T("mcpServersGalleryStatus","unavailable"),Jme=new T("hasInstalledMcpServers",!0);var jW;(o=>{o.scheme="mcp-resource";let t="dylo78gyp";function e(r,s){return typeof s=="string"&&(s=y.parse(s)),s.with({scheme:o.scheme,authority:xa(te.fromString(r.id)),path:["",s.scheme,s.authority||t].join("/")+s.path})}o.fromServer=e;function n(r){if(typeof r=="string"&&(r=y.parse(r)),r.scheme!==o.scheme)throw new Error(`Invalid MCP resource URI: ${r.toString()}`);let s=r.path.split("/");if(s.length<3)throw new Error(`Invalid MCP resource URI: ${r.toString()}`);let[,a,l,...d]=s,c=new URL(`${a}://${l.toLowerCase()===t?"":l}`);return c.pathname=d.length?"/"+d.join("/"):"",c.search=r.query,c.hash=r.fragment,{definitionId:Ng(r.authority).toString(),resourceURL:c}}o.toServer=n})(jW||={});var Xme=A("IMcpServerSampling");var Yme=A("IMcpElicitationService");var Rs="**",Gy="/",qy="[/\\\\]",Ky="[^/\\\\]",QW=/\//g;function cU(i,t){switch(i){case 0:return"";case 1:return`${Ky}*?`;default:return`(?:${qy}|${Ky}+${qy}${t?`|${qy}${Ky}+`:""})*?`}}function Au(i,t){if(!i)return[];let e=[],n=!1,o=!1,r="";for(let s of i){switch(s){case t:if(!n&&!o){e.push(r),r="";continue}break;case"{":n=!0;break;case"}":n=!1;break;case"[":o=!0;break;case"]":o=!1;break}r+=s}return r&&e.push(r),e}function fU(i){if(!i)return"";let t="",e=Au(i,Gy);if(e.every(n=>n===Rs))t=".*";else{let n=!1;e.forEach((o,r)=>{if(o===Rs){if(n)return;t+=cU(2,r===e.length-1)}else{let s=!1,a="",l=!1,d="";for(let c of o){if(c!=="}"&&s){a+=c;continue}if(l&&(c!=="]"||!d)){let u;c==="-"?u=c:(c==="^"||c==="!")&&!d?u="^":c===Gy?u="":u=ir(c),d+=u;continue}switch(c){case"{":s=!0;continue;case"[":l=!0;continue;case"}":{let m=`(?:${Au(a,",").map(g=>fU(g)).join("|")})`;t+=m,s=!1,a="";break}case"]":{t+="["+d+"]",l=!1,d="";break}case"?":t+=Ky;continue;case"*":t+=cU(1);continue;default:t+=ir(c)}}r<e.length-1&&(e[r+1]!==Rs||r+2<e.length)&&(t+=qy)}n=o===Rs})}return t}var JW=/^\*\*\/\*\.[\w\.-]+$/,XW=/^\*\*\/([\w\.-]+)\/?$/,YW=/^{\*\*\/\*?[\w\.-]+\/?(,\*\*\/\*?[\w\.-]+\/?)*}$/,ZW=/^{\*\*\/\*?[\w\.-]+(\/(\*\*)?)?(,\*\*\/\*?[\w\.-]+(\/(\*\*)?)?)*}$/,e7=/^\*\*((\/[\w\.-]+)+)\/?$/,t7=/^([\w\.-]+(\/[\w\.-]+)*)\/?$/,uU=new xr(1e4),pU=function(){return!1},Ni=function(){return null};function g_(i,t){if(!i)return Ni;let e;typeof i!="string"?e=i.pattern:e=i,e=e.trim();let n=t.ignoreCase??!1,o={...t,equals:n?Qn:(l,d)=>l===d,endsWith:n?$0:(l,d)=>l.endsWith(d),isEqualOrParent:(l,d)=>fd(l,d,t.ignoreCase??!qn)},r=`${n?e.toLowerCase():e}_${!!t.trimForExclusions}_${n}`,s=uU.get(r);if(s)return mU(s,i,o);let a;return JW.test(e)?s=n7(e.substring(4),e,o):(a=XW.exec(m_(e,o)))?s=o7(a[1],e,o):(t.trimForExclusions?ZW:YW).test(e)?s=r7(e,o):(a=e7.exec(m_(e,o)))?s=gU(a[1].substring(1),e,!0,o):(a=t7.exec(m_(e,o)))?s=gU(a[1],e,!1,o):s=i7(e,o),uU.set(r,s),mU(s,i,o)}function mU(i,t,e){if(typeof t=="string")return i;let n=function(o,r){return e.isEqualOrParent(o,t.base)?i(gw(o.substring(t.base.length),Gn),r):null};return n.allBasenames=i.allBasenames,n.allPaths=i.allPaths,n.basenames=i.basenames,n.patterns=i.patterns,n}function m_(i,t){return t.trimForExclusions&&i.endsWith("/**")?i.substring(0,i.length-2):i}function n7(i,t,e){return function(n,o){return typeof n=="string"&&e.endsWith(n,i)?t:null}}function o7(i,t,e){let n=`/${i}`,o=`\\${i}`,r=function(a,l){return typeof a!="string"?null:l?e.equals(l,i)?t:null:e.equals(a,i)||e.endsWith(a,n)||e.endsWith(a,o)?t:null},s=[i];return r.basenames=s,r.patterns=[t],r.allBasenames=s,r}function r7(i,t){let e=vU(i.slice(1,-1).split(",").map(a=>g_(a,t)).filter(a=>a!==Ni),i),n=e.length;if(!n)return Ni;if(n===1)return e[0];let o=function(a,l){for(let d=0,c=e.length;d<c;d++)if(e[d](a,l))return i;return null},r=e.find(a=>!!a.allBasenames);r&&(o.allBasenames=r.allBasenames);let s=e.reduce((a,l)=>l.allPaths?a.concat(l.allPaths):a,[]);return s.length&&(o.allPaths=s),o}function gU(i,t,e,n){let o=Gn===Ve.sep,r=o?i:i.replace(QW,Gn),s=Gn+r,a=Ve.sep+i,l;return e?l=function(d,c){return typeof d=="string"&&(n.equals(d,r)||n.endsWith(d,s)||!o&&(n.equals(d,i)||n.endsWith(d,a)))?t:null}:l=function(d,c){return typeof d=="string"&&(n.equals(d,r)||!o&&n.equals(d,i))?t:null},l.allPaths=[(e?"*/":"./")+i],l}function i7(i,t){try{let e=new RegExp(`^${fU(i)}$`,t.ignoreCase?"i":void 0);return function(n){return e.lastIndex=0,typeof n=="string"&&e.test(n)?i:null}}catch{return Ni}}function Go(i,t,e){return!i||typeof t!="string"?!1:Zr(i,e)(t)}function Zr(i,t={}){if(!i)return pU;if(typeof i=="string"||hU(i)){let e=g_(i,t);if(e===Ni)return pU;let n=function(o,r){return!!e(o,r)};return e.allBasenames&&(n.allBasenames=e.allBasenames),e.allPaths&&(n.allPaths=e.allPaths),n}return s7(i,t)}function hU(i){let t=i;return t?typeof t.base=="string"&&typeof t.pattern=="string":!1}function s7(i,t){let e=vU(Object.getOwnPropertyNames(i).map(a=>a7(a,i[a],t)).filter(a=>a!==Ni)),n=e.length;if(!n)return Ni;if(!e.some(a=>!!a.requiresSiblings)){if(n===1)return e[0];let a=function(c,u){let m;for(let g=0,v=e.length;g<v;g++){let f=e[g](c,u);if(typeof f=="string")return f;Tr(f)&&(m||(m=[]),m.push(f))}return m?(async()=>{for(let g of m){let v=await g;if(typeof v=="string")return v}return null})():null},l=e.find(c=>!!c.allBasenames);l&&(a.allBasenames=l.allBasenames);let d=e.reduce((c,u)=>u.allPaths?c.concat(u.allPaths):c,[]);return d.length&&(a.allPaths=d),a}let o=function(a,l,d){let c,u;for(let m=0,g=e.length;m<g;m++){let v=e[m];v.requiresSiblings&&d&&(l||(l=rn(a)),c||(c=l.substring(0,l.length-vs(a).length)));let f=v(a,l,c,d);if(typeof f=="string")return f;Tr(f)&&(u||(u=[]),u.push(f))}return u?(async()=>{for(let m of u){let g=await m;if(typeof g=="string")return g}return null})():null},r=e.find(a=>!!a.allBasenames);r&&(o.allBasenames=r.allBasenames);let s=e.reduce((a,l)=>l.allPaths?a.concat(l.allPaths):a,[]);return s.length&&(o.allPaths=s),o}function a7(i,t,e){if(t===!1)return Ni;let n=g_(i,e);if(n===Ni)return Ni;if(typeof t=="boolean")return n;if(t){let o=t.when;if(typeof o=="string"){let r=(s,a,l,d)=>{if(!d||!n(s,a))return null;let c=o.replace("$(basename)",()=>l),u=d(c);return Tr(u)?u.then(m=>m?i:null):u?i:null};return r.requiresSiblings=!0,r}}return n}function vU(i,t){let e=i.filter(a=>!!a.basenames);if(e.length<2)return i;let n=e.reduce((a,l)=>{let d=l.basenames;return d?a.concat(d):a},[]),o;if(t){o=[];for(let a=0,l=n.length;a<l;a++)o.push(t)}else o=e.reduce((a,l)=>{let d=l.patterns;return d?a.concat(d):a},[]);let r=function(a,l){if(typeof a!="string")return null;if(!l){let c;for(c=a.length;c>0;c--){let u=a.charCodeAt(c-1);if(u===47||u===92)break}l=a.substring(c)}let d=n.indexOf(l);return d!==-1?o[d]:null};r.basenames=n,r.patterns=o,r.allBasenames=n;let s=i.filter(a=>!a.basenames);return s.push(r),s}var l7=A("notebookDocumentService"),f_=["W","X","Y","Z","a","b","c","d","e","f"],d7=new RegExp(`^[${f_.join("")}]+`),bU=7;function jy(i){if(i.scheme!==K.vscodeNotebookCell)return;let t=i.fragment.indexOf("s");if(t<0)return;let e=parseInt(i.fragment.substring(0,t).replace(d7,""),bU),n=go(i.fragment.substring(t+1)).toString();if(!isNaN(e))return{handle:e,notebook:i.with({scheme:n,fragment:null})}}function yU(i,t){let e=t.toString(bU),o=`${e.length<f_.length?f_[e.length-1]:"z"}${e}s${oo(te.fromString(i.scheme),!0,!0)}`;return i.with({scheme:K.vscodeNotebookCell,fragment:o})}function IU(i){if(i.scheme!==K.vscodeNotebookMetadata)return;let t=go(i.fragment).toString();return i.with({scheme:t,fragment:null})}function xU(i){let t=`${oo(te.fromString(i.scheme),!0,!0)}`;return i.with({scheme:K.vscodeNotebookMetadata,fragment:t})}function v_(i){if(i.scheme!==K.vscodeNotebookCellOutput)return;let t=new URLSearchParams(i.query),e=t.get("openIn");if(!e)return;let n=t.get("outputId")??void 0,o=jy(i.with({scheme:K.vscodeNotebookCell,query:null})),r=t.get("outputIndex")?parseInt(t.get("outputIndex")||"",10):void 0,s=o?o.notebook:i.with({scheme:t.get("notebookScheme")||K.file,fragment:null,query:null}),a=t.get("cellIndex")?parseInt(t.get("cellIndex")||"",10):void 0;return{notebook:s,openIn:e,outputId:n,outputIndex:r,cellHandle:o?.handle,cellFragment:i.fragment,cellIndex:a}}var h_=class{constructor(){this._documents=new $e}getNotebook(t){if(t.scheme===K.vscodeNotebookCell){let e=jy(t);if(e){let n=this._documents.get(e.notebook);if(n)return n}}if(t.scheme===K.vscodeNotebookCellOutput){let e=v_(t);if(e){let n=this._documents.get(e.notebook);if(n)return n}}return this._documents.get(t)}addNotebookDocument(t){this._documents.set(t.uri,t)}removeNotebookDocument(t){this._documents.delete(t.uri)}};Qe(l7,h_,1);var Sge=["application/json","application/javascript","text/html","image/svg+xml",Wo.latex,Wo.markdown,"image/png","image/jpeg",Wo.text],Tge=[Wo.latex,Wo.markdown,"application/json","text/html","image/svg+xml","image/png","image/jpeg",Wo.text];var c7;(n=>{n.scheme=K.vscodeNotebookMetadata;function t(o){return xU(o)}n.generate=t;function e(o){return IU(o)}n.parse=e})(c7||={});var zf;(d=>{d.scheme=K.vscodeNotebookCell;function t(c,u){return yU(c,u)}d.generate=t;function e(c){return jy(c)}d.parse=e;function n(c,u){return c.with({scheme:K.vscodeNotebookCellOutput,query:new URLSearchParams({openIn:"editor",outputId:u??"",notebookScheme:c.scheme!==K.file?c.scheme:""}).toString()})}d.generateCellOutputUriWithId=n;function o(c,u,m){return c.with({scheme:K.vscodeNotebookCellOutput,fragment:u.fragment,query:new URLSearchParams({openIn:"notebook",outputIndex:String(m)}).toString()})}d.generateCellOutputUriWithIndex=o;function r(c,u,m,g,v){return c.with({scheme:K.vscodeNotebookCellOutput,query:new URLSearchParams({openIn:"notebookOutputEditor",notebook:c.toString(),cellIndex:String(m),outputId:g,outputIndex:String(v)}).toString()})}d.generateOutputEditorUri=r;function s(c){return v_(c)}d.parseCellOutputUri=s;function a(c,u,m){return d.generate(c,u).with({scheme:m})}d.generateCellPropertyUri=a;function l(c,u){if(c.scheme===u)return d.parse(c.with({scheme:d.scheme}))}d.parseCellPropertyUri=l})(zf||={});var Ege=new T("notebookEditorCursorAtBoundary","none"),wge=new T("notebookEditorCursorAtLineBoundary","none");var CU=class i{static{this._prefix="notebook/"}static create(t,e){return`${i._prefix}${t}/${e??t}`}static parse(t){if(t.startsWith(i._prefix)){let e=t.substring(i._prefix.length).split("/");if(e.length===2)return{notebookType:e[0],viewType:e[1]}}}},u7=new TextDecoder;function SU(i){let t=[],e=!1;for(let s of i)(t.length===0||e)&&(t.push(s),e=!0);let n=m7(t),o=te.concat(t.map(s=>te.wrap(s))),r=b7(o);return n=n||r.byteLength!==o.byteLength,{data:r,didCompression:n}}var Qy="\x1B[A",b_=Qy.split("").map(i=>i.charCodeAt(0)),p7=10;function m7(i){let t=!1;return i.forEach((e,n)=>{if(n===0||e.length<Qy.length)return;let o=i[n-1],r=e.subarray(0,Qy.length);if(r[0]===b_[0]&&r[1]===b_[1]&&r[2]===b_[2]){let s=o.lastIndexOf(p7);if(s===-1)return;t=!0,i[n-1]=o.subarray(0,s),i[n]=e.subarray(Qy.length)}}),t}function g7(i){let t=i;do i=t,t=i.replace(/[^\n]\x08/gm,"");while(t.length<i.length);return i}function f7(i){for(i=i.replace(/\r+\n/gm,`
`);i.search(/\r[^$]/g)>-1;){let t=i.match(/^(.*)\r+/m)[1],e=i.match(/\r+(.*)$/m)[1];e=e+t.slice(e.length,t.length),i=i.replace(/\r+.*$/m,"\r").replace(/^.*\r/m,e)}return i}var h7=8,v7=13;function b7(i){return!i.buffer.includes(h7)&&!i.buffer.includes(v7)?i:te.fromString(f7(g7(u7.decode(i.buffer))))}var Pge=A("scm");var _ge=A("scmView");var qe=class i{constructor(t,e=t.length){this.path=t;this.viewEnd=e;if(t.length===0||e<1)throw new Error("cannot create test with empty path")}static fromExtHostTestItem(t,e,n=t.parent){if(t._isRoot)return new i([e]);let o=[t.id];for(let r=n;r&&r.id!==e;r=r.parent)o.push(r.id);return o.push(e),new i(o.reverse())}static isRoot(t){return!t.includes("\0")}static root(t){let e=t.indexOf("\0");return e===-1?t:t.slice(0,e)}static fromString(t){return new i(t.split("\0"))}static join(t,e){return new i([...t.path,e])}static split(t){return t.split("\0")}static joinToString(t,e){return t.toString()+"\0"+e}static parentId(t){let e=t.lastIndexOf("\0");return e===-1?void 0:t.slice(0,e)}static localId(t){let e=t.lastIndexOf("\0");return e===-1?t:t.slice(e+1)}static isChild(t,e){return e[t.length]==="\0"&&e.startsWith(t)}static compare(t,e){return t===e?0:i.isChild(t,e)?2:i.isChild(e,t)?3:1}static getLengthOfCommonPrefix(t,e){if(t===0)return 0;let n=0;for(;n<t-1;){for(let o=1;o<t;o++){let r=e(o-1),s=e(o);if(r.path[n]!==s.path[n])return n}n++}return n}get rootId(){return new i(this.path,1)}get parentId(){return this.viewEnd>1?new i(this.path,this.viewEnd-1):void 0}get localId(){return this.path[this.viewEnd-1]}get controllerId(){return this.path[0]}get isRoot(){return this.viewEnd===1}*idsFromRoot(){for(let t=1;t<=this.viewEnd;t++)yield new i(this.path,t)}*idsToRoot(){for(let t=this.viewEnd;t>0;t--)yield new i(this.path,t)}compare(t){if(typeof t=="string")return i.compare(this.toString(),t);for(let e=0;e<t.viewEnd&&e<this.viewEnd;e++)if(t.path[e]!==this.path[e])return 1;return t.viewEnd>this.viewEnd?2:t.viewEnd<this.viewEnd?3:0}toJSON(){return this.toString()}toString(){if(!this.stringifed){this.stringifed=this.path[0];for(let t=1;t<this.viewEnd;t++)this.stringifed+="\0",this.stringifed+=this.path[t]}return this.stringifed}};var Vge={2:p(17984,null),4:p(17983,null),8:p(17982,null)};var EU=i=>"runId"in i,qf;(e=>(e.serialize=n=>({range:n.range.toJSON(),uri:n.uri.toJSON()}),e.deserialize=(n,o)=>({range:Ne.lift(o.range),uri:n.asCanonicalUri(y.revive(o.uri))})))(qf||={});var y_;(e=>(e.serialize=n=>({label:n.label,uri:n.uri?.toJSON(),position:n.position?.toJSON()}),e.deserialize=(n,o)=>({label:o.label,uri:o.uri?n.asCanonicalUri(y.revive(o.uri)):void 0,position:o.position?vn.lift(o.position):void 0})))(y_||={});var I_;(e=>(e.serialize=n=>({message:n.message,type:0,expected:n.expected,actual:n.actual,contextValue:n.contextValue,location:n.location&&qf.serialize(n.location),stackTrace:n.stackTrace?.map(y_.serialize)}),e.deserialize=(n,o)=>({message:o.message,type:0,expected:o.expected,actual:o.actual,contextValue:o.contextValue,location:o.location&&qf.deserialize(n,o.location),stackTrace:o.stackTrace&&o.stackTrace.map(r=>y_.deserialize(n,r))})))(I_||={});var x_;(e=>(e.serialize=n=>({message:n.message,type:1,offset:n.offset,length:n.length,location:n.location&&qf.serialize(n.location)}),e.deserialize=(n,o)=>({message:o.message,type:1,offset:o.offset,length:o.length,location:o.location&&qf.deserialize(n,o.location)})))(x_||={});var C_;(n=>(n.serialize=o=>o.type===0?I_.serialize(o):x_.serialize(o),n.deserialize=(o,r)=>r.type===0?I_.deserialize(o,r):x_.deserialize(o,r),n.isDiffable=o=>o.type===0&&o.actual!==void 0&&o.expected!==void 0))(C_||={});var Jy;(n=>(n.serializeWithoutMessages=o=>({state:o.state,duration:o.duration,messages:[]}),n.serialize=o=>({state:o.state,duration:o.duration,messages:o.messages.map(C_.serialize)}),n.deserialize=(o,r)=>({state:r.state,duration:r.duration,messages:r.messages.map(s=>C_.deserialize(o,s))})))(Jy||={});var wU="\0",Mu=(i,t)=>i+wU+t,Zy=i=>{let t=i.indexOf(wU);return{ctrlId:i.slice(0,t),tagId:i.slice(t+1)}},S_;(e=>(e.serialize=n=>({extId:n.extId,label:n.label,tags:n.tags,busy:n.busy,children:void 0,uri:n.uri?.toJSON(),range:n.range?.toJSON()||null,description:n.description,error:n.error,sortText:n.sortText}),e.deserialize=(n,o)=>({extId:o.extId,label:o.label,tags:o.tags,busy:o.busy,children:void 0,uri:o.uri?n.asCanonicalUri(y.revive(o.uri)):void 0,range:o.range?Ne.lift(o.range):null,description:o.description,error:o.error,sortText:o.sortText})))(S_||={});var Nd;(e=>(e.serialize=n=>({expand:n.expand,item:S_.serialize(n.item)}),e.deserialize=(n,o)=>({controllerId:qe.root(o.item.extId),expand:o.expand,item:S_.deserialize(n,o.item)})))(Nd||={});var Xy;(e=>(e.serialize=n=>{let o;return n.item&&(o={},n.item.label!==void 0&&(o.label=n.item.label),n.item.tags!==void 0&&(o.tags=n.item.tags),n.item.busy!==void 0&&(o.busy=n.item.busy),n.item.uri!==void 0&&(o.uri=n.item.uri?.toJSON()),n.item.range!==void 0&&(o.range=n.item.range?.toJSON()),n.item.description!==void 0&&(o.description=n.item.description),n.item.error!==void 0&&(o.error=n.item.error),n.item.sortText!==void 0&&(o.sortText=n.item.sortText)),{extId:n.extId,expand:n.expand,item:o}},e.deserialize=n=>{let o;return n.item&&(o={},n.item.label!==void 0&&(o.label=n.item.label),n.item.tags!==void 0&&(o.tags=n.item.tags),n.item.busy!==void 0&&(o.busy=n.item.busy),n.item.range!==void 0&&(o.range=n.item.range?Ne.lift(n.item.range):null),n.item.description!==void 0&&(o.description=n.item.description),n.item.error!==void 0&&(o.error=n.item.error),n.item.sortText!==void 0&&(o.sortText=n.item.sortText)),{extId:n.extId,expand:n.expand,item:o}}))(Xy||={});var eI=(i,t)=>{t.expand!==void 0&&(i.expand=t.expand),t.item!==void 0&&(i.item=i.item?Object.assign(i.item,t.item):t.item)},y7;(n=>(n.serializeWithoutMessages=o=>({...Nd.serialize(o),ownComputedState:o.ownComputedState,computedState:o.computedState,tasks:o.tasks.map(Jy.serializeWithoutMessages)}),n.serialize=o=>({...Nd.serialize(o),ownComputedState:o.ownComputedState,computedState:o.computedState,tasks:o.tasks.map(Jy.serialize)}),n.deserialize=(o,r)=>({...Nd.deserialize(o,r),ownComputedState:r.ownComputedState,computedState:r.computedState,tasks:r.tasks.map(s=>Jy.deserialize(o,s)),retired:!0})))(y7||={});var kU;(e=>(e.empty=()=>({covered:0,total:0}),e.sum=(n,o)=>{n.covered+=o.covered,n.total+=o.total}))(kU||={});var I7;(n=>(n.serialize=o=>({id:o.id,statement:o.statement,branch:o.branch,declaration:o.declaration,testIds:o.testIds,uri:o.uri.toJSON()}),n.deserialize=(o,r)=>({id:r.id,statement:r.statement,branch:r.branch,declaration:r.declaration,testIds:r.testIds,uri:o.asCanonicalUri(y.revive(r.uri))}),n.empty=(o,r)=>({id:o,uri:r,statement:kU.empty()})))(I7||={});function k_(i){return{...i,location:i.location?.toJSON()}}function P_(i){return i.location=i.location?vn.isIPosition(i.location)?vn.lift(i.location):Ne.lift(i.location):void 0,i}var x7;(e=>(e.serialize=n=>n.type===0?E_.serialize(n):w_.serialize(n),e.deserialize=n=>n.type===0?E_.deserialize(n):w_.deserialize(n)))(x7||={});var T_;(e=>(e.serialize=k_,e.deserialize=P_))(T_||={});var E_;(e=>(e.serialize=k_,e.deserialize=P_))(E_||={});var w_;(e=>(e.serialize=n=>({...k_(n),branches:n.branches?.map(T_.serialize)}),e.deserialize=n=>({...P_(n),branches:n.branches?.map(T_.deserialize)})))(w_||={});var tI;(e=>(e.deserialize=(n,o)=>o.op===0?{op:o.op,item:Nd.deserialize(n,o.item)}:o.op===1?{op:o.op,item:Xy.deserialize(o.item)}:o.op===2?{op:o.op,uri:n.asCanonicalUri(y.revive(o.uri)),docv:o.docv}:o,e.serialize=n=>n.op===0?{op:n.op,item:Nd.serialize(n.item)}:n.op===1?{op:n.op,item:Xy.serialize(n.item)}:n))(tI||={});var Yy=class{constructor(t){this.uriIdentity=t;this._tags=new Map;this.items=new Map;this.roots=new Set;this.busyControllerCount=0;this.pendingRootCount=0;this.tags=this._tags}apply(t){let e=this.createChangeCollector();for(let n of t)switch(n.op){case 0:this.add(Nd.deserialize(this.uriIdentity,n.item),e);break;case 1:this.update(Xy.deserialize(n.item),e);break;case 3:this.remove(n.itemId,e);break;case 5:this.retireTest(n.itemId);break;case 4:this.updatePendingRoots(n.amount);break;case 6:this._tags.set(n.tag.id,n.tag);break;case 7:this._tags.delete(n.id);break}e.complete?.()}add(t,e){let n=qe.parentId(t.item.extId)?.toString(),o;if(!n)o=this.createItem(t),this.roots.add(o),this.items.set(t.item.extId,o);else if(this.items.has(n)){let r=this.items.get(n);r.children.add(t.item.extId),o=this.createItem(t,r),this.items.set(t.item.extId,o)}else{console.error(`Test with unknown parent ID: ${JSON.stringify(t)}`);return}return e.add?.(o),t.expand===2&&this.busyControllerCount++,o}update(t,e){let n=this.items.get(t.extId);if(n)return t.expand!==void 0&&(n.expand===2&&this.busyControllerCount--,t.expand===2&&this.busyControllerCount++),eI(n,t),e.update?.(n),n}remove(t,e){let n=this.items.get(t);if(!n)return;let o=qe.parentId(n.item.extId)?.toString();o?this.items.get(o).children.delete(n.item.extId):this.roots.delete(n);let r=[[t]];for(;r.length;)for(let s of r.pop()){let a=this.items.get(s);a&&(r.push(a.children),this.items.delete(s),e.remove?.(a,a!==n),a.expand===2&&this.busyControllerCount--)}}retireTest(t){}updatePendingRoots(t){this.pendingRootCount+=t}createChangeCollector(){return{}}};var $ge=A("IAiSettingsSearchService");var PU=A("editorGroupsService");var hfe=A("editorService"),_U=-1,DU=-2;var Kf=(i,t)=>i===t,C7={range:(i,t)=>i===t?!0:!i||!t?!1:i.equalsRange(t),busy:Kf,label:Kf,description:Kf,error:Kf,sortText:Kf,tags:(i,t)=>!(i.length!==t.length||i.some(e=>!t.includes(e)))},S7=Object.entries(C7),T7=(i,t)=>{let e;for(let[n,o]of S7)o(i[n],t[n])||(e?e[n]=t[n]:e={[n]:t[n]});return e},nI=class extends V{constructor(e){super();this.options=e;this.debounceSendDiff=this._register(new fo(()=>this.flushDiff(),200));this.diffOpEmitter=this._register(new w);this.tree=new Map;this.tags=new Map;this.diff=[];this.onDidGenerateDiff=this.diffOpEmitter.event;this.root.canResolveChildren=!0,this.upsertItem(this.root,void 0)}get root(){return this.options.root}set resolveHandler(e){this._resolveHandler=e;for(let n of this.tree.values())this.updateExpandability(n)}get resolveHandler(){return this._resolveHandler}collectDiff(){let e=this.diff;return this.diff=[],e}pushDiff(e){switch(e.op){case 2:{for(let n of this.diff)if(n.op===2&&n.uri===e.uri){n.docv=e.docv;return}break}case 1:{let n=this.diff[this.diff.length-1];if(n){if(n.op===1&&n.item.extId===e.item.extId){eI(n.item,e.item);return}if(n.op===0&&n.item.item.extId===e.item.extId){eI(n.item,e.item);return}}break}}this.diff.push(e),this.debounceSendDiff.isScheduled()||this.debounceSendDiff.schedule()}expand(e,n){let o=this.tree.get(e);if(o){if((o.expandLevels===void 0||n>o.expandLevels)&&(o.expandLevels=n),o.expand===1){let r=this.resolveChildren(o);return r.isOpen()?this.expandChildren(o,n-1):r.wait().then(()=>this.expandChildren(o,n-1))}else if(o.expand===3)return o.resolveBarrier?.isOpen()===!1?o.resolveBarrier.wait().then(()=>this.expandChildren(o,n-1)):this.expandChildren(o,n-1)}}dispose(){for(let e of this.tree.values())this.options.getApiFor(e.actual).listener=void 0;this.tree.clear(),this.diff=[],super.dispose()}onTestItemEvent(e,n){switch(n.op){case 3:this.removeItem(qe.joinToString(e.fullId,n.id));break;case 0:this.upsertItem(n.item,e);break;case 5:for(let o of n.ops)this.onTestItemEvent(e,o);break;case 1:this.diffTagRefs(n.new,n.old,e.fullId.toString());break;case 2:this.updateExpandability(e);break;case 4:this.pushDiff({op:1,item:{extId:e.fullId.toString(),item:n.update}});break;case 6:this.documentSynced(e.actual.uri);break;default:qc(n)}}documentSynced(e){e&&this.pushDiff({op:2,uri:e,docv:this.options.getDocumentVersion(e)})}upsertItem(e,n){let o=qe.fromExtHostTestItem(e,this.root.id,n?.actual),r=this.options.getApiFor(e);r.parent&&r.parent!==n?.actual&&this.options.getChildren(r.parent).delete(e.id);let s=this.tree.get(o.toString());if(!s){s={fullId:o,actual:e,expandLevels:n?.expandLevels?n.expandLevels-1:void 0,expand:0},e.tags.forEach(this.incrementTagRefs,this),this.tree.set(s.fullId.toString(),s),this.setItemParent(e,n),this.pushDiff({op:0,item:{controllerId:this.options.controllerId,expand:s.expand,item:this.options.toITestItem(e)}}),this.connectItemAndChildren(e,s,n);return}if(s.actual===e){this.connectItem(e,s,n);return}if(s.actual.uri?.toString()!==e.uri?.toString())return this.removeItem(o.toString()),this.upsertItem(e,n);let a=this.options.getChildren(s.actual),l=s.actual,d=T7(this.options.toITestItem(l),this.options.toITestItem(e));this.options.getApiFor(l).listener=void 0,s.actual=e,s.resolveBarrier=void 0,s.expand=0,d&&(d.hasOwnProperty("tags")&&(this.diffTagRefs(e.tags,l.tags,o.toString()),delete d.tags),this.onTestItemEvent(s,{op:4,update:d})),this.connectItemAndChildren(e,s,n);for(let[u,m]of a)this.options.getChildren(e).get(m.id)||this.removeItem(qe.joinToString(o,m.id));let c=s.expandLevels;c!==void 0&&queueMicrotask(()=>{s.expand===1&&(s.expandLevels=void 0,this.expand(o.toString(),c))}),this.documentSynced(s.actual.uri)}diffTagRefs(e,n,o){let r=new Set(n.map(s=>s.id));for(let s of e)r.delete(s.id)||this.incrementTagRefs(s);this.pushDiff({op:1,item:{extId:o,item:{tags:e.map(s=>Mu(this.options.controllerId,s.id))}}}),r.forEach(this.decrementTagRefs,this)}incrementTagRefs(e){let n=this.tags.get(e.id);n?n.refCount++:(this.tags.set(e.id,{refCount:1}),this.pushDiff({op:6,tag:{id:Mu(this.options.controllerId,e.id)}}))}decrementTagRefs(e){let n=this.tags.get(e);n&&!--n.refCount&&(this.tags.delete(e),this.pushDiff({op:7,id:Mu(this.options.controllerId,e)}))}setItemParent(e,n){this.options.getApiFor(e).parent=n&&n.actual!==this.root?n.actual:void 0}connectItem(e,n,o){this.setItemParent(e,o);let r=this.options.getApiFor(e);r.parent=o?.actual,r.listener=s=>this.onTestItemEvent(n,s),this.updateExpandability(n)}connectItemAndChildren(e,n,o){this.connectItem(e,n,o);for(let[r,s]of this.options.getChildren(e))this.upsertItem(s,n)}updateExpandability(e){let n;this._resolveHandler?e.resolveBarrier?n=e.resolveBarrier.isOpen()?3:2:n=e.actual.canResolveChildren?1:0:n=0,n!==e.expand&&(e.expand=n,this.pushDiff({op:1,item:{extId:e.fullId.toString(),expand:n}}),n===1&&e.expandLevels!==void 0&&this.resolveChildren(e))}expandChildren(e,n){if(n<0)return;let o=[];for(let[r,s]of this.options.getChildren(e.actual)){let a=this.expand(qe.joinToString(e.fullId,s.id),n);Tr(a)&&o.push(a)}if(o.length)return Promise.all(o).then(()=>{})}resolveChildren(e){if(e.resolveBarrier)return e.resolveBarrier;if(!this._resolveHandler){let s=new An;return s.open(),s}e.expand=2,this.pushExpandStateUpdate(e);let n=e.resolveBarrier=new An,o=s=>{console.error(`Unhandled error in resolveHandler of test controller "${this.options.controllerId}"`,s)},r;try{r=this._resolveHandler(e.actual===this.root?void 0:e.actual)}catch(s){o(s)}return Tr(r)?r.catch(o).then(()=>{n.open(),this.updateExpandability(e)}):(n.open(),this.updateExpandability(e)),e.resolveBarrier}pushExpandStateUpdate(e){this.pushDiff({op:1,item:{extId:e.fullId.toString(),expand:e.expand}})}removeItem(e){let n=this.tree.get(e);if(!n)throw new Error("attempting to remove non-existent child");this.pushDiff({op:3,itemId:e});let o=[n];for(;o.length;){let r=o.pop();if(r){this.options.getApiFor(r.actual).listener=void 0;for(let s of r.actual.tags)this.decrementTagRefs(s.id);this.tree.delete(r.fullId.toString());for(let[s,a]of this.options.getChildren(r.actual))o.push(this.tree.get(qe.joinToString(r.fullId,a.id)))}}}flushDiff(){let e=this.collectDiff();e.length&&this.diffOpEmitter.fire(e)}},__=class extends Error{constructor(t){super(`Attempted to insert a duplicate test item ID ${t}`)}},ja=class extends Error{constructor(t){super(`TestItem with ID "${t}" is invalid. Make sure to create it from the createTestItem method.`)}},D_=class extends Error{constructor(t,e,n){super(`TestItem with ID "${t}" is from controller "${e}" and cannot be added as a child of an item from controller "${n}".`)}},RU=(i,t,e)=>{let n=new Map;return{get size(){return n.size},forEach(o,r){for(let s of n.values())o.call(r,s,this)},[Symbol.iterator](){return n.entries()},replace(o){let r=new Map,s=new Set(n.keys()),a={op:5,ops:[]};for(let l of o){if(!(l instanceof e))throw new ja(l.id);let d=t(l).controllerId;if(d!==i.controllerId)throw new D_(l.id,d,i.controllerId);if(r.has(l.id))throw new __(l.id);r.set(l.id,l),s.delete(l.id),a.ops.push({op:0,item:l})}for(let l of s.keys())a.ops.push({op:3,id:l});i.listener?.(a),n=r},add(o){if(!(o instanceof e))throw new ja(o.id);n.set(o.id,o),i.listener?.({op:0,item:o})},delete(o){n.delete(o)&&i.listener?.({op:3,id:o})},get(o){return n.get(o)},toJSON(){return Array.from(n.values())}}};var AU=new WeakMap,MU=(i,t)=>{let e={controllerId:t};return AU.set(i,e),e},Ou=i=>{let t=AU.get(i);if(!t)throw new ja(i?.id||"<unknown>");return t};var Ffe=A("remoteAuthorityResolverService");var oI=class{constructor(t){this.id=t;this.type=1}toString(){return`Managed(${this.id})`}},rI=class{constructor(t,e){this.host=t;this.port=e;this.type=0}toString(){return`WebSocket(${this.host}:${this.port})`}};function R_(i){let t=i.indexOf("+");return t===-1?i:i.substring(0,t)}function fe(i){return Object.assign(i,{apply:function(...e){if(e.length===0)return Reflect.construct(i,[]);{let n=e.length===1?[]:e[1];return Reflect.construct(i,n,e[0].constructor)}},call:function(...e){if(e.length===0)return Reflect.construct(i,[]);{let[n,...o]=e;return Reflect.construct(i,o,n.constructor)}}})}var Bn,Ht=class{constructor(t,e=!1){Vc(this,Bn);wg(this,Bn,new xt(t,{supportThemeIcons:e}))}static isMarkdownString(t){return t instanceof Ht?!0:!t||typeof t!="object"?!1:t.appendCodeblock&&t.appendMarkdown&&t.appendText&&t.value!==void 0}get value(){return Zt(this,Bn).value}set value(t){Zt(this,Bn).value=t}get isTrusted(){return Zt(this,Bn).isTrusted}set isTrusted(t){Zt(this,Bn).isTrusted=t}get supportThemeIcons(){return Zt(this,Bn).supportThemeIcons}set supportThemeIcons(t){Zt(this,Bn).supportThemeIcons=t}get supportHtml(){return Zt(this,Bn).supportHtml}set supportHtml(t){Zt(this,Bn).supportHtml=t}get supportAlertSyntax(){return Zt(this,Bn).supportAlertSyntax}set supportAlertSyntax(t){Zt(this,Bn).supportAlertSyntax=t}get baseUri(){return Zt(this,Bn).baseUri}set baseUri(t){Zt(this,Bn).baseUri=t}appendText(t){return Zt(this,Bn).appendText(t),this}appendMarkdown(t){return Zt(this,Bn).appendMarkdown(t),this}appendCodeblock(t,e){return Zt(this,Bn).appendCodeblock(e??"",t),this}};Bn=new WeakMap,Ht=R([fe],Ht);var we=class{static Min(...t){if(t.length===0)throw new TypeError;let e=t[0];for(let n=1;n<t.length;n++){let o=t[n];o.isBefore(e)&&(e=o)}return e}static Max(...t){if(t.length===0)throw new TypeError;let e=t[0];for(let n=1;n<t.length;n++){let o=t[n];o.isAfter(e)&&(e=o)}return e}static isPosition(t){if(!t)return!1;if(t instanceof we)return!0;let{line:e,character:n}=t;return typeof e=="number"&&typeof n=="number"}static of(t){if(t instanceof we)return t;if(this.isPosition(t))return new we(t.line,t.character);throw new Error("Invalid argument, is NOT a position-like object")}get line(){return this._line}get character(){return this._character}constructor(t,e){if(t<0)throw Oe("line must be non-negative");if(e<0)throw Oe("character must be non-negative");this._line=t,this._character=e}isBefore(t){return this._line<t._line?!0:t._line<this._line?!1:this._character<t._character}isBeforeOrEqual(t){return this._line<t._line?!0:t._line<this._line?!1:this._character<=t._character}isAfter(t){return!this.isBeforeOrEqual(t)}isAfterOrEqual(t){return!this.isBefore(t)}isEqual(t){return this._line===t._line&&this._character===t._character}compareTo(t){return this._line<t._line?-1:this._line>t.line?1:this._character<t._character?-1:this._character>t._character?1:0}translate(t,e=0){if(t===null||e===null)throw Oe();let n;return typeof t>"u"?n=0:typeof t=="number"?n=t:(n=typeof t.lineDelta=="number"?t.lineDelta:0,e=typeof t.characterDelta=="number"?t.characterDelta:0),n===0&&e===0?this:new we(this.line+n,this.character+e)}with(t,e=this.character){if(t===null||e===null)throw Oe();let n;return typeof t>"u"?n=this.line:typeof t=="number"?n=t:(n=typeof t.line=="number"?t.line:this.line,e=typeof t.character=="number"?t.character:this.character),n===this.line&&e===this.character?this:new we(n,e)}toJSON(){return{line:this.line,character:this.character}}[Symbol.for("debug.description")](){return`(${this.line}:${this.character})`}};we=R([fe],we);var ve=class{static isRange(t){return t instanceof ve?!0:!t||typeof t!="object"?!1:we.isPosition(t.start)&&we.isPosition(t.end)}static of(t){if(t instanceof ve)return t;if(this.isRange(t))return new ve(t.start,t.end);throw new Error("Invalid argument, is NOT a range-like object")}get start(){return this._start}get end(){return this._end}constructor(t,e,n,o){let r,s;if(typeof t=="number"&&typeof e=="number"&&typeof n=="number"&&typeof o=="number"?(r=new we(t,e),s=new we(n,o)):we.isPosition(t)&&we.isPosition(e)&&(r=we.of(t),s=we.of(e)),!r||!s)throw new Error("Invalid arguments");r.isBefore(s)?(this._start=r,this._end=s):(this._start=s,this._end=r)}contains(t){return ve.isRange(t)?this.contains(t.start)&&this.contains(t.end):we.isPosition(t)?!(we.of(t).isBefore(this._start)||this._end.isBefore(t)):!1}isEqual(t){return this._start.isEqual(t._start)&&this._end.isEqual(t._end)}intersection(t){let e=we.Max(t.start,this._start),n=we.Min(t.end,this._end);if(!e.isAfter(n))return new ve(e,n)}union(t){if(this.contains(t))return this;if(t.contains(this))return t;let e=we.Min(t.start,this._start),n=we.Max(t.end,this.end);return new ve(e,n)}get isEmpty(){return this._start.isEqual(this._end)}get isSingleLine(){return this._start.line===this._end.line}with(t,e=this.end){if(t===null||e===null)throw Oe();let n;return t?we.isPosition(t)?n=t:(n=t.start||this.start,e=t.end||this.end):n=this.start,n.isEqual(this._start)&&e.isEqual(this.end)?this:new ve(n,e)}toJSON(){return[this.start,this.end]}[Symbol.for("debug.description")](){return A_(this)}};ve=R([fe],ve);function A_(i){return i.isEmpty?`[${i.start.line}:${i.start.character})`:`[${i.start.line}:${i.start.character} -> ${i.end.line}:${i.end.character})`}var ft=class{constructor(t){this.value=t}append(t){return new ft(this.value?this.value+ft.sep+t:t)}intersects(t){return this.contains(t)||t.contains(this)}contains(t){return this.value===t.value||t.value.startsWith(this.value+ft.sep)}};ft.sep=".",ft=R([fe],ft);ft.Empty=new ft("");ft.QuickFix=ft.Empty.append("quickfix");ft.Refactor=ft.Empty.append("refactor");ft.RefactorExtract=ft.Refactor.append("extract");ft.RefactorInline=ft.Refactor.append("inline");ft.RefactorMove=ft.Refactor.append("move");ft.RefactorRewrite=ft.Refactor.append("rewrite");ft.Source=ft.Empty.append("source");ft.SourceOrganizeImports=ft.Source.append("organizeImports");ft.SourceFixAll=ft.Source.append("fixAll");ft.Notebook=ft.Empty.append("notebook");var Gf=(e=>(e[e.Unnecessary=1]="Unnecessary",e[e.Deprecated=2]="Deprecated",e))(Gf||{}),Ud=(o=>(o[o.Hint=3]="Hint",o[o.Information=2]="Information",o[o.Warning=1]="Warning",o[o.Error=0]="Error",o))(Ud||{}),Ui=class{static is(t){return t?typeof t.message=="string"&&t.location&&ve.isRange(t.location.range)&&y.isUri(t.location.uri):!1}constructor(t,e){this.location=t,this.message=e}static isEqual(t,e){return t===e?!0:!t||!e?!1:t.message===e.message&&t.location.range.isEqual(e.location.range)&&t.location.uri.toString()===e.location.uri.toString()}};Ui=R([fe],Ui);var As=class{constructor(t,e,n=0){if(!ve.isRange(t))throw new TypeError("range must be set");if(!e)throw new TypeError("message must be set");this.range=t,this.message=e,this.severity=n}toJSON(){return{severity:Ud[this.severity],message:this.message,range:this.range,source:this.source,code:this.code}}static isEqual(t,e){return t===e?!0:!t||!e?!1:t.message===e.message&&t.severity===e.severity&&t.code===e.code&&t.severity===e.severity&&t.source===e.source&&t.range.isEqual(e.range)&&Qt(t.tags,e.tags)&&Qt(t.relatedInformation,e.relatedInformation,Ui.isEqual)}};As=R([fe],As);var Wt=class{static isLocation(t){return t instanceof Wt?!0:t?ve.isRange(t.range)&&y.isUri(t.uri):!1}constructor(t,e){if(this.uri=t,e)if(ve.isRange(e))this.range=ve.of(e);else if(we.isPosition(e))this.range=new ve(e,e);else throw new Error("Illegal argument")}toJSON(){return{uri:this.uri,range:this.range}}};Wt=R([fe],Wt);var jf=(e=>(e[e.Markup=1]="Markup",e[e.Code=2]="Code",e))(jf||{}),Wn=class i{static isNotebookRange(t){return t instanceof i?!0:t?typeof t.start=="number"&&typeof t.end=="number":!1}get start(){return this._start}get end(){return this._end}get isEmpty(){return this._start===this._end}constructor(t,e){if(t<0)throw Oe("start must be positive");if(e<0)throw Oe("end must be positive");t<=e?(this._start=t,this._end=e):(this._start=e,this._end=t)}with(t){let e=this._start,n=this._end;return t.start!==void 0&&(e=t.start),t.end!==void 0&&(n=t.end),e===this._start&&n===this._end?this:new i(e,n)}},Fi=class i{static validate(t){if(typeof t.kind!="number")throw new Error("NotebookCellData MUST have 'kind' property");if(typeof t.value!="string")throw new Error("NotebookCellData MUST have 'value' property");if(typeof t.languageId!="string")throw new Error("NotebookCellData MUST have 'languageId' property")}static isNotebookCellDataArray(t){return Array.isArray(t)&&t.every(e=>i.isNotebookCellData(e))}static isNotebookCellData(t){return!0}constructor(t,e,n,o,r,s,a){this.kind=t,this.value=e,this.languageId=n,this.mime=o,this.outputs=r??[],this.metadata=s,this.executionSummary=a,i.validate(this)}},Fd=class{constructor(t){this.cells=t}},xo=class{static isNotebookCellEdit(t){return t instanceof xo?!0:t?Wn.isNotebookRange(t)&&Array.isArray(t.newCells):!1}static replaceCells(t,e){return new xo(t,e)}static insertCells(t,e){return new xo(new Wn(t,t),e)}static deleteCells(t){return new xo(t,[])}static updateCellMetadata(t,e){let n=new xo(new Wn(t,t),[]);return n.newCellMetadata=e,n}static updateNotebookMetadata(t){let e=new xo(new Wn(0,0),[]);return e.newNotebookMetadata=t,e}constructor(t,e){this.range=t,this.newCells=e}};xo=R([fe],xo);var Hd=class i{constructor(t,e){this.data=t;this.mime=e;let n=ck(e,!0);if(!n)throw new Error(`INVALID mime type: ${e}. Must be in the format "type/subtype[;optionalparameter]"`);this.mime=n}static isNotebookCellOutputItem(t){return t instanceof i?!0:t?typeof t.mime=="string"&&t.data instanceof Uint8Array:!1}static error(t){let e={name:t.name,message:t.message,stack:t.stack};return i.json(e,"application/vnd.code.notebook.error")}static stdout(t){return i.text(t,"application/vnd.code.notebook.stdout")}static stderr(t){return i.text(t,"application/vnd.code.notebook.stderr")}static bytes(t,e="application/octet-stream"){return new i(t,e)}static#e=new TextEncoder;static text(t,e=Wo.text){let n=i.#e.encode(String(t));return new i(n,e)}static json(t,e="text/x-json"){let n=JSON.stringify(t,void 0,"	");return i.text(n,e)}},Hi=class i{static isNotebookCellOutput(t){return t instanceof i?!0:!t||typeof t!="object"?!1:typeof t.id=="string"&&Array.isArray(t.items)}static ensureUniqueMimeTypes(t,e=!1){let n=new Set,o=new Set;for(let r=0;r<t.length;r++){let s=t[r],a=ck(s.mime);if(!n.has(a)||Qb(a)){n.add(a);continue}o.add(r),e&&console.warn(`DUPLICATED mime type '${s.mime}' will be dropped`)}return o.size===0?t:t.filter((r,s)=>!o.has(s))}constructor(t,e,n){this.items=i.ensureUniqueMimeTypes(t,!0),typeof e=="string"?(this.id=e,this.metadata=n):(this.id=We(),this.metadata=e??n)}};var On=class extends ve{static isSelection(t){return t instanceof On?!0:!t||typeof t!="object"?!1:ve.isRange(t)&&we.isPosition(t.anchor)&&we.isPosition(t.active)&&typeof t.isReversed=="boolean"}get anchor(){return this._anchor}get active(){return this._active}constructor(t,e,n,o){let r,s;if(typeof t=="number"&&typeof e=="number"&&typeof n=="number"&&typeof o=="number"?(r=new we(t,e),s=new we(n,o)):we.isPosition(t)&&we.isPosition(e)&&(r=we.of(t),s=we.of(e)),!r||!s)throw new Error("Invalid arguments");super(r,s),this._anchor=r,this._active=s}get isReversed(){return this._anchor===this._end}toJSON(){return{start:this.start,end:this.end,active:this.active,anchor:this.anchor}}[Symbol.for("debug.description")](){return E7(this)}};On=R([fe],On);function E7(i){let t=A_(i);return i.isEmpty||(i.active.isEqual(i.start)?t=`|${t}`:t=`${t}|`),t}var Ln=class{constructor(t){this._tabstop=1;this.value=t||""}static isSnippetString(t){return t instanceof Ln?!0:!t||typeof t!="object"?!1:typeof t.value=="string"}static _escape(t){return t.replace(/\$|}|\\/g,"\\$&")}appendText(t){return this.value+=Ln._escape(t),this}appendTabstop(t=this._tabstop++){return this.value+="$",this.value+=t,this}appendPlaceholder(t,e=this._tabstop++){if(typeof t=="function"){let n=new Ln;n._tabstop=this._tabstop,t(n),this._tabstop=n._tabstop,t=n.value}else t=Ln._escape(t);return this.value+="${",this.value+=e,this.value+=":",this.value+=t,this.value+="}",this}appendChoice(t,e=this._tabstop++){let n=t.map(o=>o.replaceAll(/[|\\,]/g,"\\$&")).join(",");return this.value+="${",this.value+=e,this.value+="|",this.value+=n,this.value+="|}",this}appendVariable(t,e){if(typeof e=="function"){let n=new Ln;n._tabstop=this._tabstop,e(n),this._tabstop=n._tabstop,e=n.value}else typeof e=="string"&&(e=e.replace(/\$|}/g,"\\$&"));return this.value+="${",this.value+=t,e&&(this.value+=":",this.value+=e),this.value+="}",this}};Ln=R([fe],Ln);var Ms=class i{static isSnippetTextEdit(t){return t instanceof i?!0:t?ve.isRange(t.range)&&Ln.isSnippetString(t.snippet):!1}static replace(t,e){return new i(t,e)}static insert(t,e){return i.replace(new ve(t,t),e)}constructor(t,e){this.range=t,this.snippet=e}};var Lu=($=>($[$.File=0]="File",$[$.Module=1]="Module",$[$.Namespace=2]="Namespace",$[$.Package=3]="Package",$[$.Class=4]="Class",$[$.Method=5]="Method",$[$.Property=6]="Property",$[$.Field=7]="Field",$[$.Constructor=8]="Constructor",$[$.Enum=9]="Enum",$[$.Interface=10]="Interface",$[$.Function=11]="Function",$[$.Variable=12]="Variable",$[$.Constant=13]="Constant",$[$.String=14]="String",$[$.Number=15]="Number",$[$.Boolean=16]="Boolean",$[$.Array=17]="Array",$[$.Object=18]="Object",$[$.Key=19]="Key",$[$.Null=20]="Null",$[$.EnumMember=21]="EnumMember",$[$.Struct=22]="Struct",$[$.Event=23]="Event",$[$.Operator=24]="Operator",$[$.TypeParameter=25]="TypeParameter",$))(Lu||{}),Qf=(t=>(t[t.Deprecated=1]="Deprecated",t))(Qf||{}),hr=class{static validate(t){if(!t.name)throw new Error("name must not be falsy")}constructor(t,e,n,o,r){this.name=t,this.kind=e,this.containerName=r,typeof n=="string"&&(this.containerName=n),o instanceof Wt?this.location=o:n instanceof ve&&(this.location=new Wt(o,n)),hr.validate(this)}toJSON(){return{name:this.name,kind:Lu[this.kind],location:this.location,containerName:this.containerName}}};hr=R([fe],hr);var Vd=(e=>(e[e.LF=1]="LF",e[e.CRLF=2]="CRLF",e))(Vd||{}),En=class{static isTextEdit(t){return t instanceof En?!0:!t||typeof t!="object"?!1:ve.isRange(t)&&typeof t.newText=="string"}static replace(t,e){return new En(t,e)}static insert(t,e){return En.replace(new ve(t,t),e)}static delete(t){return En.replace(t,"")}static setEndOfLine(t){let e=new En(new ve(new we(0,0),new we(0,0)),"");return e.newEol=t,e}get range(){return this._range}set range(t){if(t&&!ve.isRange(t))throw Oe("range");this._range=t}get newText(){return this._newText||""}set newText(t){if(t&&typeof t!="string")throw Oe("newText");this._newText=t}get newEol(){return this._newEol}set newEol(t){if(t&&typeof t!="number")throw Oe("newEol");this._newEol=t}constructor(t,e){this._range=t,this._newText=e}toJSON(){return{range:this.range,newText:this.newText,newEol:this._newEol}}};En=R([fe],En);var jo=class{constructor(){this._edits=[]}_allEntries(){return this._edits}renameFile(t,e,n,o){this._edits.push({_type:1,from:t,to:e,options:n,metadata:o})}createFile(t,e,n){this._edits.push({_type:1,from:void 0,to:t,options:e,metadata:n})}deleteFile(t,e,n){this._edits.push({_type:1,from:t,to:void 0,options:e,metadata:n})}replaceNotebookMetadata(t,e,n){this._edits.push({_type:3,metadata:n,uri:t,edit:{editType:5,metadata:e}})}replaceNotebookCells(t,e,n,o){let r=e.start,s=e.end;(r!==s||n.length>0)&&this._edits.push({_type:5,uri:t,index:r,count:s-r,cells:n,metadata:o})}replaceNotebookCellMetadata(t,e,n,o){this._edits.push({_type:3,metadata:o,uri:t,edit:{editType:3,index:e,metadata:n}})}replace(t,e,n,o){this._edits.push({_type:2,uri:t,edit:new En(e,n),metadata:o})}insert(t,e,n,o){this.replace(t,new ve(e,e),n,o)}delete(t,e,n){this.replace(t,e,"",n)}has(t){return this._edits.some(e=>e._type===2&&e.uri.toString()===t.toString())}set(t,e){if(e)for(let n of e){if(!n)continue;let o,r;Array.isArray(n)?(o=n[0],r=n[1]):o=n,xo.isNotebookCellEdit(o)?o.newCellMetadata?this.replaceNotebookCellMetadata(t,o.range.start,o.newCellMetadata,r):o.newNotebookMetadata?this.replaceNotebookMetadata(t,o.newNotebookMetadata,r):this.replaceNotebookCells(t,o.range,o.newCells,r):Ms.isSnippetTextEdit(o)?this._edits.push({_type:6,uri:t,range:o.range,edit:o.snippet,metadata:r,keepWhitespace:o.keepWhitespace}):this._edits.push({_type:2,uri:t,edit:o,metadata:r})}else{for(let n=0;n<this._edits.length;n++){let o=this._edits[n];switch(o._type){case 2:case 6:case 3:case 5:o.uri.toString()===t.toString()&&(this._edits[n]=void 0);break}}MM(this._edits)}}get(t){let e=[];for(let n of this._edits)n._type===2&&n.uri.toString()===t.toString()&&e.push(n.edit);return e}entries(){let t=new $e;for(let e of this._edits)if(e._type===2){let n=t.get(e.uri);n||(n=[e.uri,[]],t.set(e.uri,n)),n[1].push(e.edit)}return[...t.values()]}get size(){return this.entries().length}toJSON(){return this.entries()}};jo=R([fe],jo);var M_=(e=>(e[e.Top=0]="Top",e[e.Bottom=1]="Bottom",e))(M_||{});var qd,Ie=class{constructor(t){Vc(this,qd);wg(this,qd,t)}static from(...t){let e=t;return new Ie(function(){if(e){for(let n of e)n&&typeof n.dispose=="function"&&n.dispose();e=void 0}})}dispose(){typeof Zt(this,qd)=="function"&&(Zt(this,qd).call(this),wg(this,qd,void 0))}};qd=new WeakMap,Ie=R([fe],Ie);var NU=i=>{if(typeof i!="string"||i.length===0||!/^[0-9A-Za-z_\-]+$/.test(i))throw Oe("connectionToken")},iI=class{static isResolvedAuthority(t){return t&&typeof t=="object"&&typeof t.host=="string"&&typeof t.port=="number"&&(t.connectionToken===void 0||typeof t.connectionToken=="string")}constructor(t,e,n){if(typeof t!="string"||t.length===0)throw Oe("host");if(typeof e!="number"||e===0||Math.round(e)!==e)throw Oe("port");typeof n<"u"&&NU(n),this.host=t,this.port=Math.round(e),this.connectionToken=n}},pl=class{constructor(t,e){this.makeConnection=t;this.connectionToken=e;typeof e<"u"&&NU(e)}static isManagedResolvedAuthority(t){return t&&typeof t=="object"&&typeof t.makeConnection=="function"&&(t.connectionToken===void 0||typeof t.connectionToken=="string")}},Gi=class i extends Error{static NotAvailable(t,e){return new i(t,"NotAvailable",e)}static TemporarilyNotAvailable(t){return new i(t,"TemporarilyNotAvailable")}constructor(t,e="Unknown",n){super(t),this._message=t,this._code=e,this._detail=n,Object.setPrototypeOf(this,i.prototype)}},NI=(n=>(n[n.Replace=1]="Replace",n[n.Append=2]="Append",n[n.Prepend=3]="Prepend",n))(NI||{}),Bd=class{constructor(t,e){if(!t)throw new Error("Illegal argument, contents must be defined");Array.isArray(t)?this.contents=t:this.contents=[t],this.range=e}};Bd=R([fe],Bd);var Qa=class extends Bd{constructor(t,e,n,o){super(t,e),this.canIncreaseVerbosity=n,this.canDecreaseVerbosity=o}};Qa=R([fe],Qa);var O_=(e=>(e[e.Increase=0]="Increase",e[e.Decrease=1]="Decrease",e))(O_||{}),UI=(n=>(n[n.Text=0]="Text",n[n.Read=1]="Read",n[n.Write=2]="Write",n))(UI||{}),Ja=class{constructor(t,e=0){this.range=t,this.kind=e}toJSON(){return{range:this.range,kind:UI[this.kind]}}};Ja=R([fe],Ja);var Xa=class{constructor(t,e){this.uri=t,this.highlights=e}toJSON(){return{uri:this.uri,highlights:this.highlights.map(t=>t.toJSON())}}};Xa=R([fe],Xa);var vr=class{static validate(t){if(!t.name)throw new Error("name must not be falsy");if(!t.range.contains(t.selectionRange))throw new Error("selectionRange must be contained in fullRange");t.children?.forEach(vr.validate)}constructor(t,e,n,o,r){this.name=t,this.detail=e,this.kind=n,this.range=o,this.selectionRange=r,this.children=[],vr.validate(this)}};vr=R([fe],vr);var FI=(e=>(e[e.Invoke=1]="Invoke",e[e.Automatic=2]="Automatic",e))(FI||{}),Bi=class{constructor(t,e){this.title=t,this.kind=e}};Bi=R([fe],Bi);var Wi=class{constructor(t,e){if(this.range=t,this.parent=e,e&&!e.range.contains(this.range))throw new Error("Invalid argument: parent must contain this range")}};Wi=R([fe],Wi);var ml=class{constructor(t,e,n,o,r,s){this.kind=t,this.name=e,this.detail=n,this.uri=o,this.range=r,this.selectionRange=s}},qu=class{constructor(t,e){this.fromRanges=e,this.from=t}},Ku=class{constructor(t,e){this.fromRanges=e,this.to=t}},HI=(n=>(n[n.Information=0]="Information",n[n.Warning=1]="Warning",n[n.Error=2]="Error",n))(HI||{}),Ya=class{constructor(t,e){this.range=t,this.command=e}get isResolved(){return!!this.command}};Ya=R([fe],Ya);var Nu=class{constructor(t,e){this.label=t,this.documentation=e}};Nu=R([fe],Nu);var Uu=class{constructor(t,e){this.label=t,this.documentation=e,this.parameters=[]}};Uu=R([fe],Uu);var Fu=class{constructor(){this.activeSignature=0;this.activeParameter=0;this.signatures=[]}};Fu=R([fe],Fu);var L_=(n=>(n[n.Invoke=1]="Invoke",n[n.TriggerCharacter=2]="TriggerCharacter",n[n.ContentChange=3]="ContentChange",n))(L_||{}),N_=(e=>(e[e.Type=1]="Type",e[e.Parameter=2]="Parameter",e))(N_||{}),Za=class{constructor(t){this.value=t}};Za=R([fe],Za);var el=class{constructor(t,e,n){this.position=t,this.label=e,this.kind=n}};el=R([fe],el);var VI=(n=>(n[n.Invoke=0]="Invoke",n[n.TriggerCharacter=1]="TriggerCharacter",n[n.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions",n))(VI||{}),Xf=(oe=>(oe[oe.Text=0]="Text",oe[oe.Method=1]="Method",oe[oe.Function=2]="Function",oe[oe.Constructor=3]="Constructor",oe[oe.Field=4]="Field",oe[oe.Variable=5]="Variable",oe[oe.Class=6]="Class",oe[oe.Interface=7]="Interface",oe[oe.Module=8]="Module",oe[oe.Property=9]="Property",oe[oe.Unit=10]="Unit",oe[oe.Value=11]="Value",oe[oe.Enum=12]="Enum",oe[oe.Keyword=13]="Keyword",oe[oe.Snippet=14]="Snippet",oe[oe.Color=15]="Color",oe[oe.File=16]="File",oe[oe.Reference=17]="Reference",oe[oe.Folder=18]="Folder",oe[oe.EnumMember=19]="EnumMember",oe[oe.Constant=20]="Constant",oe[oe.Struct=21]="Struct",oe[oe.Event=22]="Event",oe[oe.Operator=23]="Operator",oe[oe.TypeParameter=24]="TypeParameter",oe[oe.User=25]="User",oe[oe.Issue=26]="Issue",oe))(Xf||{}),BI=(t=>(t[t.Deprecated=1]="Deprecated",t))(BI||{}),tl=class{constructor(t,e){this.label=t,this.kind=e}toJSON(){return{label:this.label,kind:this.kind&&Xf[this.kind],detail:this.detail,documentation:this.documentation,sortText:this.sortText,filterText:this.filterText,preselect:this.preselect,insertText:this.insertText,textEdit:this.textEdit}}};tl=R([fe],tl);var ei=class{constructor(t=[],e=!1){this.items=t,this.isIncomplete=e}};ei=R([fe],ei);var Hu=class{constructor(t,e,n){this.insertText=t,this.range=e,this.command=n}};Hu=R([fe],Hu);var Vu=class{constructor(t){this.commands=void 0;this.suppressSuggestions=void 0;this.items=t}};Vu=R([fe],Vu);var WI=(o=>(o[o.Unknown=0]="Unknown",o[o.Word=1]="Word",o[o.Line=2]="Line",o[o.Suggest=3]="Suggest",o))(WI||{}),$I=(n=>(n[n.Accepted=0]="Accepted",n[n.Rejected=1]="Rejected",n[n.Ignored=2]="Ignored",n))($I||{}),zI=(e=>(e[e.Code=1]="Code",e[e.Label=2]="Label",e))(zI||{}),qI=(u=>(u[u.Active=-1]="Active",u[u.Beside=-2]="Beside",u[u.One=1]="One",u[u.Two=2]="Two",u[u.Three=3]="Three",u[u.Four=4]="Four",u[u.Five=5]="Five",u[u.Six=6]="Six",u[u.Seven=7]="Seven",u[u.Eight=8]="Eight",u[u.Nine=9]="Nine",u))(qI||{}),KI=(e=>(e[e.Left=1]="Left",e[e.Right=2]="Right",e))(KI||{});function UU(i,t){return`${Se.toKey(i)}.${t}`}var GI=(o=>(o[o.Off=0]="Off",o[o.On=1]="On",o[o.Relative=2]="Relative",o[o.Interval=3]="Interval",o))(GI||{}),jI=(n=>(n[n.Manual=1]="Manual",n[n.AfterDelay=2]="AfterDelay",n[n.FocusOut=3]="FocusOut",n))(jI||{}),QI=(o=>(o[o.Default=0]="Default",o[o.InCenter=1]="InCenter",o[o.InCenterIfOutsideViewport=2]="InCenterIfOutsideViewport",o[o.AtTop=3]="AtTop",o))(QI||{}),rc=(n=>(n[n.Keyboard=1]="Keyboard",n[n.Mouse=2]="Mouse",n[n.Command=3]="Command",n))(rc||{}),JI=(n=>(n[n.Addition=1]="Addition",n[n.Deletion=2]="Deletion",n[n.Modification=3]="Modification",n))(JI||{}),XI=(e=>(e[e.Undo=1]="Undo",e[e.Redo=2]="Redo",e))(XI||{}),YI=(o=>(o[o.OpenOpen=0]="OpenOpen",o[o.ClosedClosed=1]="ClosedClosed",o[o.OpenClosed=2]="OpenClosed",o[o.ClosedOpen=3]="ClosedOpen",o))(YI||{});(t=>{function i(e){switch(e){case"keyboard":return 1;case"mouse":return 2;case"api":case"code.jump":case"code.navigation":return 3}}t.fromValue=i})(rc||={});var ic=(o=>(o[o.Other=0]="Other",o[o.Comment=1]="Comment",o[o.String=2]="String",o[o.RegEx=3]="RegEx",o))(ic||{});(t=>{function i(e){switch(e){case 0:return"other";case 1:return"comment";case 2:return"string";case 3:return"regex"}return"other"}t.toString=i})(ic||={});var nl=class{constructor(t,e){if(e&&!y.isUri(e))throw Oe("target");if(!ve.isRange(t)||t.isEmpty)throw Oe("range");this.range=t,this.target=e}};nl=R([fe],nl);var ti=class{constructor(t,e,n,o){this.red=t,this.green=e,this.blue=n,this.alpha=o}};ti=R([fe],ti);var ol=class{constructor(t,e){if(e&&!(e instanceof ti))throw Oe("color");if(!ve.isRange(t)||t.isEmpty)throw Oe("range");this.range=t,this.color=e}};ol=R([fe],ol);var rl=class{constructor(t){if(!t||typeof t!="string")throw Oe("label");this.label=t}};rl=R([fe],rl);var ZI=(n=>(n[n.Error=0]="Error",n[n.Warning=1]="Warning",n[n.Information=2]="Information",n))(ZI||{}),U_=(r=>(r[r.Unknown=0]="Unknown",r[r.Shutdown=1]="Shutdown",r[r.Process=2]="Process",r[r.User=3]="User",r[r.Extension=4]="Extension",r))(U_||{}),ex=(n=>(n[n.Low=0]="Low",n[n.Medium=1]="Medium",n[n.High=2]="High",n))(ex||{}),F_=(v=>(v[v.Sh=1]="Sh",v[v.Bash=2]="Bash",v[v.Fish=3]="Fish",v[v.Csh=4]="Csh",v[v.Ksh=5]="Ksh",v[v.Zsh=6]="Zsh",v[v.CommandPrompt=7]="CommandPrompt",v[v.GitBash=8]="GitBash",v[v.PowerShell=9]="PowerShell",v[v.Python=10]="Python",v[v.Julia=11]="Julia",v[v.NuShell=12]="NuShell",v[v.Node=13]="Node",v[v.Xonsh=14]="Xonsh",v))(F_||{}),sI=class{constructor(t,e,n){this.startIndex=t;this.length=e;this.tooltip=n;if(typeof t!="number"||t<0)throw Oe("startIndex");if(typeof e!="number"||e<1)throw Oe("length");if(n!==void 0&&typeof n!="string")throw Oe("tooltip")}},aI=class{constructor(t){this.uri=t}},lI=class{constructor(t){this.terminalCommand=t}},H_=(e=>(e[e.Panel=1]="Panel",e[e.Editor=2]="Editor",e))(H_||{}),dI=class{constructor(t){this.options=t;if(typeof t!="object")throw Oe("options")}},V_=(C=>(C[C.File=0]="File",C[C.Folder=1]="Folder",C[C.Method=2]="Method",C[C.Alias=3]="Alias",C[C.Argument=4]="Argument",C[C.Option=5]="Option",C[C.OptionValue=6]="OptionValue",C[C.Flag=7]="Flag",C[C.SymbolicLinkFile=8]="SymbolicLinkFile",C[C.SymbolicLinkFolder=9]="SymbolicLinkFolder",C[C.ScmCommit=10]="ScmCommit",C[C.ScmBranch=11]="ScmBranch",C[C.ScmTag=12]="ScmTag",C[C.ScmStash=13]="ScmStash",C[C.ScmRemote=14]="ScmRemote",C[C.PullRequest=15]="PullRequest",C[C.PullRequestDone=16]="PullRequestDone",C))(V_||{}),cI=class{constructor(t,e,n,o,r,s,a,l){this.label=t,this.replacementRange=e,this.kind=n,this.detail=o,this.documentation=r,this.isFile=s,this.isDirectory=a,this.isKeyword=l}},uI=class{constructor(t,e){this.items=t??[],this.resourceOptions=e}},B_=(n=>(n[n.Always=1]="Always",n[n.Silent=2]="Silent",n[n.Never=3]="Never",n))(B_||{}),W_=(g=>(g.Changed="changed",g.ProcessStarted="processStarted",g.ProcessEnded="processEnded",g.Terminated="terminated",g.Start="start",g.AcquiredInput="acquiredInput",g.DependsOnStarted="dependsOnStarted",g.Active="active",g.Inactive="inactive",g.End="end",g.ProblemMatcherStarted="problemMatcherStarted",g.ProblemMatcherEnded="problemMatcherEnded",g.ProblemMatcherFoundErrors="problemMatcherFoundErrors",g))(W_||{}),$_=(n=>(n[n.Shared=1]="Shared",n[n.Dedicated=2]="Dedicated",n[n.New=3]="New",n))($_||{}),yn=class{constructor(t,e){this.label=e;if(typeof t!="string")throw Oe("name");if(typeof e!="string")throw Oe("name");this._id=t}static from(t){switch(t){case"clean":return yn.Clean;case"build":return yn.Build;case"rebuild":return yn.Rebuild;case"test":return yn.Test;default:return}}get id(){return this._id}};yn.Clean=new yn("clean","Clean"),yn.Build=new yn("build","Build"),yn.Rebuild=new yn("rebuild","Rebuild"),yn.Test=new yn("test","Test"),yn=R([fe],yn);function FU(i){let t="";for(let e=0;e<i.length;e++)t+=i[e].replace(/,/g,",,")+",";return t}var $i=class{constructor(t,e,n){if(typeof t!="string")throw Oe("process");this._args=[],this._process=t,e!==void 0&&(Array.isArray(e)?(this._args=e,this._options=n):this._options=e)}get process(){return this._process}set process(t){if(typeof t!="string")throw Oe("process");this._process=t}get args(){return this._args}set args(t){Array.isArray(t)||(t=[]),this._args=t}get options(){return this._options}set options(t){this._options=t}computeId(){let t=[];if(t.push("process"),this._process!==void 0&&t.push(this._process),this._args&&this._args.length>0)for(let e of this._args)t.push(e);return FU(t)}};$i=R([fe],$i);var ni=class{constructor(t,e,n){this._args=[];if(Array.isArray(e)){if(!t)throw Oe("command can't be undefined or null");if(typeof t!="string"&&typeof t.value!="string")throw Oe("command");this._command=t,e&&(this._args=e),this._options=n}else{if(typeof t!="string")throw Oe("commandLine");this._commandLine=t,this._options=e}}get commandLine(){return this._commandLine}set commandLine(t){if(typeof t!="string")throw Oe("commandLine");this._commandLine=t}get command(){return this._command?this._command:""}set command(t){if(typeof t!="string"&&typeof t.value!="string")throw Oe("command");this._command=t}get args(){return this._args}set args(t){this._args=t||[]}get options(){return this._options}set options(t){this._options=t}computeId(){let t=[];if(t.push("shell"),this._commandLine!==void 0&&t.push(this._commandLine),this._command!==void 0&&t.push(typeof this._command=="string"?this._command:this._command.value),this._args&&this._args.length>0)for(let e of this._args)t.push(typeof e=="string"?e:e.value);return FU(t)}};ni=R([fe],ni);var z_=(n=>(n[n.Escape=1]="Escape",n[n.Strong=2]="Strong",n[n.Weak=3]="Weak",n))(z_||{}),tx=(e=>(e[e.Global=1]="Global",e[e.Workspace=2]="Workspace",e))(tx||{}),q_=(n=>(n[n.Default=1]="Default",n[n.FolderOpen=2]="FolderOpen",n[n.WorktreeCreated=3]="WorktreeCreated",n))(q_||{}),jd=class{constructor(t){this._callback=t}computeId(){return"customExecution"+We()}set callback(t){this._callback=t}get callback(){return this._callback}},wn=class{constructor(t,e,n,o,r,s){this.__deprecated=!1;this._definition=this.definition=t;let a;typeof e=="string"?(this._name=this.name=e,this._source=this.source=n,this.execution=o,a=r,this.__deprecated=!0):e===1||e===2?(this.target=e,this._name=this.name=n,this._source=this.source=o,this.execution=r,a=s):(this.target=e,this._name=this.name=n,this._source=this.source=o,this.execution=r,a=s),typeof a=="string"?(this._problemMatchers=[a],this._hasDefinedMatchers=!0):Array.isArray(a)?(this._problemMatchers=a,this._hasDefinedMatchers=!0):(this._problemMatchers=[],this._hasDefinedMatchers=!1),this._isBackground=!1,this._presentationOptions=Object.create(null),this._runOptions=Object.create(null)}get _id(){return this.__id}set _id(t){this.__id=t}get _deprecated(){return this.__deprecated}clear(){this.__id!==void 0&&(this.__id=void 0,this._scope=void 0,this.computeDefinitionBasedOnExecution())}computeDefinitionBasedOnExecution(){this._execution instanceof $i?this._definition={type:wn.ProcessType,id:this._execution.computeId()}:this._execution instanceof ni?this._definition={type:wn.ShellType,id:this._execution.computeId()}:this._execution instanceof jd?this._definition={type:wn.ExtensionCallbackType,id:this._execution.computeId()}:this._definition={type:wn.EmptyType,id:We()}}get definition(){return this._definition}set definition(t){if(t==null)throw Oe("Kind can't be undefined or null");this.clear(),this._definition=t}get scope(){return this._scope}set target(t){this.clear(),this._scope=t}get name(){return this._name}set name(t){if(typeof t!="string")throw Oe("name");this.clear(),this._name=t}get execution(){return this._execution}set execution(t){t===null&&(t=void 0),this.clear(),this._execution=t;let e=this._definition.type;(wn.EmptyType===e||wn.ProcessType===e||wn.ShellType===e||wn.ExtensionCallbackType===e)&&this.computeDefinitionBasedOnExecution()}get problemMatchers(){return this._problemMatchers}set problemMatchers(t){if(Array.isArray(t))this.clear(),this._problemMatchers=t,this._hasDefinedMatchers=!0;else{this.clear(),this._problemMatchers=[],this._hasDefinedMatchers=!1;return}}get hasDefinedMatchers(){return this._hasDefinedMatchers}get isBackground(){return this._isBackground}set isBackground(t){t!==!0&&t!==!1&&(t=!1),this.clear(),this._isBackground=t}get source(){return this._source}set source(t){if(typeof t!="string"||t.length===0)throw Oe("source must be a string of length > 0");this.clear(),this._source=t}get group(){return this._group}set group(t){t===null&&(t=void 0),this.clear(),this._group=t}get detail(){return this._detail}set detail(t){t===null&&(t=void 0),this._detail=t}get presentationOptions(){return this._presentationOptions}set presentationOptions(t){t==null&&(t=Object.create(null)),this.clear(),this._presentationOptions=t}get runOptions(){return this._runOptions}set runOptions(t){t==null&&(t=Object.create(null)),this.clear(),this._runOptions=t}};wn.ExtensionCallbackType="customExecution",wn.ProcessType="process",wn.ShellType="shell",wn.EmptyType="$empty",wn=R([fe],wn);var Yf=(n=>(n[n.SourceControl=1]="SourceControl",n[n.Window=10]="Window",n[n.Notification=15]="Notification",n))(Yf||{}),K_;(t=>{function i(e){let n=e;return tr(n.value)?n.tooltip&&!Ae(n.tooltip)?(console.log("INVALID view badge, invalid tooltip",n.tooltip),!1):!0:(console.log("INVALID view badge, invalid value",n.value),!1)}t.isViewBadge=i})(K_||={});var zi=class{constructor(t,e=0){this.collapsibleState=e;y.isUri(t)?this.resourceUri=t:this.label=t}static isTreeItem(t,e){let n=t;if(n.checkboxState!==void 0){let o=tr(n.checkboxState)?n.checkboxState:st(n.checkboxState)&&tr(n.checkboxState.state)?n.checkboxState.state:void 0,r=!tr(n.checkboxState)&&st(n.checkboxState)?n.checkboxState.tooltip:void 0;if(o===void 0||o!==1&&o!==0||r!==void 0&&!Ae(r))return console.log("INVALID tree item, invalid checkboxState",n.checkboxState),!1}if(t instanceof zi)return!0;if(n.label!==void 0&&!Ae(n.label)&&!n.label?.label)return console.log("INVALID tree item, invalid label",n.label),!1;if(n.id!==void 0&&!Ae(n.id))return console.log("INVALID tree item, invalid id",n.id),!1;if(n.iconPath!==void 0&&!Ae(n.iconPath)&&!y.isUri(n.iconPath)&&(!n.iconPath||!Ae(n.iconPath.id))){let o=n.iconPath;if(!o||!Ae(o.light)&&!y.isUri(o.light)&&!Ae(o.dark)&&!y.isUri(o.dark))return console.log("INVALID tree item, invalid iconPath",n.iconPath),!1}return n.description!==void 0&&!Ae(n.description)&&typeof n.description!="boolean"?(console.log("INVALID tree item, invalid description",n.description),!1):n.resourceUri!==void 0&&!y.isUri(n.resourceUri)?(console.log("INVALID tree item, invalid resourceUri",n.resourceUri),!1):n.tooltip!==void 0&&!Ae(n.tooltip)&&!(n.tooltip instanceof Ht)?(console.log("INVALID tree item, invalid tooltip",n.tooltip),!1):n.command!==void 0&&!n.command.command?(console.log("INVALID tree item, invalid command",n.command),!1):n.collapsibleState!==void 0&&n.collapsibleState<0&&n.collapsibleState>2?(console.log("INVALID tree item, invalid collapsibleState",n.collapsibleState),!1):n.contextValue!==void 0&&!Ae(n.contextValue)?(console.log("INVALID tree item, invalid contextValue",n.contextValue),!1):n.accessibilityInformation!==void 0&&!n.accessibilityInformation?.label?(console.log("INVALID tree item, invalid accessibilityInformation",n.accessibilityInformation),!1):!0}};zi=R([fe],zi);var nx=(n=>(n[n.None=0]="None",n[n.Collapsed=1]="Collapsed",n[n.Expanded=2]="Expanded",n))(nx||{}),ox=(e=>(e[e.Unchecked=0]="Unchecked",e[e.Checked=1]="Checked",e))(ox||{}),Wd=class{constructor(t){this.value=t}async asString(){return typeof this.value=="string"?this.value:JSON.stringify(this.value)}asFile(){}};Wd=R([fe],Wd);var gl=class extends Wd{},pI=class extends gl{#e;constructor(t){super(""),this.#e=t}asFile(){return this.#e}},mI=class{constructor(t,e,n,o){this.name=t,this.uri=e,this._itemId=n,this._getData=o}data(){return this._getData()}},Os,Kd,Jf,Ar=class{constructor(t){Vc(this,Kd);Vc(this,Os,new Map);for(let[e,n]of t??[]){let o=Zt(this,Os).get(kg(this,Kd,Jf).call(this,e));o?o.push(n):Zt(this,Os).set(kg(this,Kd,Jf).call(this,e),[n])}}get(t){return Zt(this,Os).get(kg(this,Kd,Jf).call(this,t))?.[0]}set(t,e){Zt(this,Os).set(kg(this,Kd,Jf).call(this,t),[e])}forEach(t,e){for(let[n,o]of Zt(this,Os))for(let r of o)t.call(e,r,n,this)}*[Symbol.iterator](){for(let[t,e]of Zt(this,Os))for(let n of e)yield[t,n]}};Os=new WeakMap,Kd=new WeakSet,Jf=function(t){return t.toLowerCase()},Ar=R([fe],Ar);var Bu=class{constructor(t,e,n){this.insertText=t,this.title=e,this.kind=n}};Bu=R([fe],Bu);var G_=(e=>(e[e.Automatic=0]="Automatic",e[e.PasteAs=1]="PasteAs",e))(G_||{}),Mr=class i{constructor(t){this.value=t}static{this.sep="."}append(...t){return new i((this.value?[this.value,...t]:t).join(i.sep))}intersects(t){return this.contains(t)||t.contains(this)}contains(t){return this.value===t.value||t.value.startsWith(this.value+i.sep)}};Mr.Empty=new Mr("");Mr.Text=new Mr("text");Mr.TextUpdateImports=Mr.Text.append("updateImports");var gI=class{constructor(t,e,n){this.title=e,this.insertText=t,this.kind=n}},an=class{constructor(t,e){this.id=t,this.color=e}static isThemeIcon(t){return typeof t.id!="string"?(console.log("INVALID ThemeIcon, invalid id",t.id),!1):!0}};an=R([fe],an);an.File=new an("file");an.Folder=new an("folder");var Ls=class{constructor(t){this.id=t}};Ls=R([fe],Ls);var rx=(n=>(n[n.Global=1]="Global",n[n.Workspace=2]="Workspace",n[n.WorkspaceFolder=3]="WorkspaceFolder",n))(rx||{}),qi=class{get base(){return this._base}set base(t){this._base=t,this._baseUri=y.file(t)}get baseUri(){return this._baseUri}set baseUri(t){this._baseUri=t,this._base=t.fsPath}constructor(t,e){if(typeof t!="string"&&(!t||!y.isUri(t)&&!y.isUri(t.uri)))throw Oe("base");if(typeof e!="string")throw Oe("pattern");typeof t=="string"?this.baseUri=y.file(t):y.isUri(t)?this.baseUri=t:this.baseUri=t.uri,this.pattern=e}toJSON(){return{pattern:this.pattern,base:this.base,baseUri:this.baseUri.toJSON()}}};qi=R([fe],qi);var HU=new WeakMap;function VU(i,t){HU.set(i,t)}var Ns=class{constructor(t,e,n,o,r){this.enabled=typeof t=="boolean"?t:!0,typeof e=="string"&&(this.condition=e),typeof n=="string"&&(this.hitCondition=n),typeof o=="string"&&(this.logMessage=o),typeof r=="string"&&(this.mode=r)}get id(){return this._id||(this._id=HU.get(this)??We()),this._id}};Ns=R([fe],Ns);var oi=class extends Ns{constructor(t,e,n,o,r,s){if(super(e,n,o,r,s),t===null)throw Oe("location");this.location=t}};oi=R([fe],oi);var ri=class extends Ns{constructor(t,e,n,o,r,s){super(e,n,o,r,s),this.functionName=t}};ri=R([fe],ri);var $d=class extends Ns{constructor(t,e,n,o,r,s,a,l){if(super(o,r,s,a,l),!e)throw Oe("dataId");this.label=t,this.dataId=e,this.canPersist=n}};$d=R([fe],$d);var il=class{constructor(t,e,n){this.command=t,this.args=e||[],this.options=n}};il=R([fe],il);var Us=class{constructor(t,e){this.port=t,this.host=e}};Us=R([fe],Us);var sl=class{constructor(t){this.path=t}};sl=R([fe],sl);var Fs=class{constructor(t){this.implementation=t}};Fs=R([fe],Fs);var Gu=class{constructor(t,e,n){this.session=t;this.threadId=e;this.frameId=n}},ju=class{constructor(t,e){this.session=t;this.threadId=e}},al=class{constructor(t,e){this.range=t,this.expression=e}};al=R([fe],al);var ix=(e=>(e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic",e))(ix||{}),sx=(r=>(r[r.Other=0]="Other",r[r.Empty=1]="Empty",r[r.TokenCancellation=2]="TokenCancellation",r[r.LostRace=3]="LostRace",r[r.NotTaken=4]="NotTaken",r))(sx||{}),ll=class{constructor(t,e){this.range=t,this.text=e}};ll=R([fe],ll);var dl=class{constructor(t,e,n=!0){this.range=t,this.variableName=e,this.caseSensitiveLookup=n}};dl=R([fe],dl);var cl=class{constructor(t,e){this.range=t,this.expression=e}};cl=R([fe],cl);var Wu=class{constructor(t,e){this.frameId=t,this.stoppedLocation=e}};Wu=R([fe],Wu);var j_=(t=>(t[t.AIGenerated=1]="AIGenerated",t))(j_||{}),ax=(e=>(e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic",e))(ax||{}),fI=class{constructor(t,e){this.newSymbolName=t,this.tags=e}},lx=(n=>(n[n.Changed=1]="Changed",n[n.Created=2]="Created",n[n.Deleted=3]="Deleted",n))(lx||{}),ut=class extends Error{static FileExists(t){return new ut(t,"EntryExists",ut.FileExists)}static FileNotFound(t){return new ut(t,"EntryNotFound",ut.FileNotFound)}static FileNotADirectory(t){return new ut(t,"EntryNotADirectory",ut.FileNotADirectory)}static FileIsADirectory(t){return new ut(t,"EntryIsADirectory",ut.FileIsADirectory)}static NoPermissions(t){return new ut(t,"NoPermissions",ut.NoPermissions)}static Unavailable(t){return new ut(t,"Unavailable",ut.Unavailable)}constructor(t,e="Unknown",n){super(y.isUri(t)?t.toString(!0):t),this.code=n?.name??"Unknown",Kw(this,e),Object.setPrototypeOf(this,ut.prototype),typeof Error.captureStackTrace=="function"&&typeof n=="function"&&Error.captureStackTrace(this,n)}};ut=R([fe],ut);var $u=class{constructor(t,e,n){this.start=t,this.end=e,this.kind=n}};$u=R([fe],$u);var dx=(n=>(n[n.Comment=1]="Comment",n[n.Imports=2]="Imports",n[n.Region=3]="Region",n))(dx||{}),cx=(e=>(e[e.Collapsed=0]="Collapsed",e[e.Expanded=1]="Expanded",e))(cx||{}),Q_=(e=>(e[e.Editing=0]="Editing",e[e.Preview=1]="Preview",e))(Q_||{}),J_=(e=>(e[e.Published=0]="Published",e[e.Draft=1]="Draft",e))(J_||{}),ux=(e=>(e[e.Unresolved=0]="Unresolved",e[e.Resolved=1]="Resolved",e))(ux||{}),px=(e=>(e[e.Current=0]="Current",e[e.Outdated=1]="Outdated",e))(px||{}),mx=(e=>(e[e.Reply=1]="Reply",e[e.Comment=2]="Comment",e))(mx||{}),Qd=class{constructor(t,e=[]){this.tokenTypes=t,this.tokenModifiers=e}};function P7(i){return typeof i>"u"||zM(i)}var hI=class i{constructor(t){if(this._prevLine=0,this._prevChar=0,this._dataIsSortedAndDeltaEncoded=!0,this._data=[],this._dataLen=0,this._tokenTypeStrToInt=new Map,this._tokenModifierStrToInt=new Map,this._hasLegend=!1,t){this._hasLegend=!0;for(let e=0,n=t.tokenTypes.length;e<n;e++)this._tokenTypeStrToInt.set(t.tokenTypes[e],e);for(let e=0,n=t.tokenModifiers.length;e<n;e++)this._tokenModifierStrToInt.set(t.tokenModifiers[e],e)}}push(t,e,n,o,r){if(typeof t=="number"&&typeof e=="number"&&typeof n=="number"&&typeof o=="number"&&(typeof r=="number"||typeof r>"u"))return typeof r>"u"&&(r=0),this._pushEncoded(t,e,n,o,r);if(ve.isRange(t)&&typeof e=="string"&&P7(n))return this._push(t,e,n);throw Oe()}_push(t,e,n){if(!this._hasLegend)throw new Error("Legend must be provided in constructor");if(t.start.line!==t.end.line)throw new Error("`range` cannot span multiple lines");if(!this._tokenTypeStrToInt.has(e))throw new Error("`tokenType` is not in the provided legend");let o=t.start.line,r=t.start.character,s=t.end.character-t.start.character,a=this._tokenTypeStrToInt.get(e),l=0;if(n)for(let d of n){if(!this._tokenModifierStrToInt.has(d))throw new Error("`tokenModifier` is not in the provided legend");let c=this._tokenModifierStrToInt.get(d);l|=1<<c>>>0}this._pushEncoded(o,r,s,a,l)}_pushEncoded(t,e,n,o,r){if(this._dataIsSortedAndDeltaEncoded&&(t<this._prevLine||t===this._prevLine&&e<this._prevChar)){this._dataIsSortedAndDeltaEncoded=!1;let l=this._data.length/5|0,d=0,c=0;for(let u=0;u<l;u++){let m=this._data[5*u],g=this._data[5*u+1];m===0?(m=d,g+=c):m+=d,this._data[5*u]=m,this._data[5*u+1]=g,d=m,c=g}}let s=t,a=e;this._dataIsSortedAndDeltaEncoded&&this._dataLen>0&&(s-=this._prevLine,s===0&&(a-=this._prevChar)),this._data[this._dataLen++]=s,this._data[this._dataLen++]=a,this._data[this._dataLen++]=n,this._data[this._dataLen++]=o,this._data[this._dataLen++]=r,this._prevLine=t,this._prevChar=e}static _sortAndDeltaEncode(t){let e=[],n=t.length/5|0;for(let a=0;a<n;a++)e[a]=a;e.sort((a,l)=>{let d=t[5*a],c=t[5*l];if(d===c){let u=t[5*a+1],m=t[5*l+1];return u-m}return d-c});let o=new Uint32Array(t.length),r=0,s=0;for(let a=0;a<n;a++){let l=5*e[a],d=t[l+0],c=t[l+1],u=t[l+2],m=t[l+3],g=t[l+4],v=d-r,f=v===0?c-s:c,x=5*a;o[x+0]=v,o[x+1]=f,o[x+2]=u,o[x+3]=m,o[x+4]=g,r=d,s=c}return o}build(t){return this._dataIsSortedAndDeltaEncoded?new ii(new Uint32Array(this._data),t):new ii(i._sortAndDeltaEncode(this._data),t)}},ii=class{constructor(t,e){this.resultId=e,this.data=t}},Qu=class{constructor(t,e,n){this.start=t,this.deleteCount=e,this.data=n}},fl=class{constructor(t,e){this.resultId=e,this.edits=t}},gx=(e=>(e[e.Separate=0]="Separate",e[e.MergeWithParent=1]="MergeWithParent",e))(gx||{}),vI=class{constructor(t){this.name=t}},X_=(n=>(n[n.Title=1]="Title",n[n.Inline=2]="Inline",n[n.Input=3]="Input",n))(X_||{}),Vi=class{constructor(){}};Vi.Back={iconPath:new an("arrow-left")},Vi=R([fe],Vi);var fx=(e=>(e[e.Separator=-1]="Separator",e[e.Default=0]="Default",e))(fx||{}),hx=(n=>(n[n.Info=1]="Info",n[n.Warning=2]="Warning",n[n.Error=3]="Error",n))(hx||{}),vx=(e=>(e[e.UI=1]="UI",e[e.Workspace=2]="Workspace",e))(vx||{}),Jd=class{static validate(t){if(typeof t.badge=="string"){let e=hw(t.badge,0);if(e<t.badge.length&&(e+=hw(t.badge,e)),t.badge.length>e)throw new Error("The 'badge'-property must be undefined or a short character")}else if(t.badge&&!an.isThemeIcon(t.badge))throw new Error("The 'badge'-property is not a valid ThemeIcon");if(!t.color&&!t.badge&&!t.tooltip)throw new Error("The decoration is empty");return!0}constructor(t,e,n){this.badge=t,this.tooltip=e,this.color=n}},zd=class{constructor(t){this.kind=t}};zd=R([fe],zd);var bx=(o=>(o[o.Light=1]="Light",o[o.Dark=2]="Dark",o[o.HighContrast=3]="HighContrast",o[o.HighContrastLight=4]="HighContrastLight",o))(bx||{}),bI=class{constructor(t,e,n){this.label=t;this.uri=e;this.position=n}},Y_=(n=>(n[n.Idle=1]="Idle",n[n.Pending=2]="Pending",n[n.Executing=3]="Executing",n))(Y_||{}),yx=(e=>(e[e.Left=1]="Left",e[e.Right=2]="Right",e))(yx||{}),Ix=(o=>(o[o.Default=0]="Default",o[o.InCenter=1]="InCenter",o[o.InCenterIfOutsideViewport=2]="InCenterIfOutsideViewport",o[o.AtTop=3]="AtTop",o))(Ix||{}),yI=class{constructor(t,e){this.text=t;this.alignment=e}},Z_=(e=>(e[e.Default=1]="Default",e[e.Preferred=2]="Preferred",e))(Z_||{}),xx=(n=>(n[n.Default=1]="Default",n[n.Preferred=2]="Preferred",n[n.Hidden=-1]="Hidden",n))(xx||{}),Ju=class{constructor(t,e=[]){this.uri=t;this.provides=gn(e)}},II=class{constructor(t){this.label=t}},Cx=(e=>(e[e.Named=1]="Named",e[e.Indexed=2]="Indexed",e))(Cx||{}),zu=class{constructor(t,e){this.label=t;this.timestamp=e}};zu=R([fe],zu);var Sx=(n=>(n[n.Production=1]="Production",n[n.Development=2]="Development",n[n.Test=3]="Test",n))(Sx||{}),Tx=(e=>(e[e.Node=1]="Node",e[e.Webworker=2]="Webworker",e))(Tx||{}),Zf=(o=>(o[o.Other=0]="Other",o[o.Comment=1]="Comment",o[o.String=2]="String",o[o.RegEx=3]="RegEx",o))(Zf||{}),xI=class{constructor(t,e){this.ranges=t;this.wordPattern=e}},CI=class{constructor(t){this._autoForwardAction=t}get autoForwardAction(){return this._autoForwardAction}},eD=(s=>(s[s.Queued=1]="Queued",s[s.Running=2]="Running",s[s.Passed=3]="Passed",s[s.Failed=4]="Failed",s[s.Skipped=5]="Skipped",s[s.Errored=6]="Errored",s))(eD||{}),Ex=(n=>(n[n.Run=1]="Run",n[n.Debug=2]="Debug",n[n.Coverage=3]="Coverage",n))(Ex||{}),Xu=class{constructor(t,e,n){this.controllerId=t;this.profileId=e;this.kind=n}},ul=class{constructor(t=void 0,e=void 0,n=void 0,o=!1,r=!0){this.include=t;this.exclude=e;this.profile=n;this.continuous=o;this.preserveFocus=r}};ul=R([fe],ul);var Ki=class{constructor(t){this.message=t}static diff(t,e,n){let o=new Ki(t);return o.expectedOutput=e,o.actualOutput=n,o}};Ki=R([fe],Ki);var Hs=class{constructor(t){this.id=t}};Hs=R([fe],Hs);var SI=class{constructor(t,e,n){this.label=t;this.uri=e;this.position=n}},Gd=class{constructor(t,e){this.covered=t;this.total=e;eh(this)}};function eh(i){if(i){if(i.covered>i.total)throw new Error(`The total number of covered items (${i.covered}) cannot be greater than the total (${i.total})`);if(i.total<0)throw new Error(`The number of covered items (${i.total}) cannot be negative`)}}var Vs=class i{constructor(t,e,n,o,r=[]){this.uri=t;this.statementCoverage=e;this.branchCoverage=n;this.declarationCoverage=o;this.includesTests=r}static fromDetails(t,e){let n=new Gd(0,0),o=new Gd(0,0),r=new Gd(0,0);for(let a of e)if("branches"in a){n.total+=1,n.covered+=a.executed?1:0;for(let l of a.branches)o.total+=1,o.covered+=l.executed?1:0}else r.total+=1,r.covered+=a.executed?1:0;let s=new i(t,n,o.total>0?o:void 0,r.total>0?r:void 0);return s.detailedCoverage=e,s}},Yu=class{constructor(t,e,n=[]){this.executed=t;this.location=e;this.branches=n}get executionCount(){return+this.executed}set executionCount(t){this.executed=t}},Zu=class{constructor(t,e,n){this.executed=t;this.location=e;this.label=n}get executionCount(){return+this.executed}set executionCount(t){this.executed=t}},ep=class{constructor(t,e,n){this.name=t;this.executed=e;this.location=n}get executionCount(){return+this.executed}set executionCount(t){this.executed=t}},tD=(o=>(o[o.None=0]="None",o[o.Option=1]="Option",o[o.Default=2]="Default",o[o.Preferred=3]="Preferred",o))(tD||{}),nD=(n=>(n[n.Untrusted=0]="Untrusted",n[n.Trusted=1]="Trusted",n[n.Unspecified=2]="Unspecified",n))(nD||{}),oD=(s=>(s[s.Notify=1]="Notify",s[s.OpenBrowser=2]="OpenBrowser",s[s.OpenPreview=3]="OpenPreview",s[s.Silent=4]="Silent",s[s.Ignore=5]="Ignore",s[s.OpenBrowserOnce=6]="OpenBrowserOnce",s))(oD||{}),hl=class{constructor(t,e,n,o,r,s){this.kind=t,this.name=e,this.detail=n,this.uri=o,this.range=r,this.selectionRange=s}},vl=class{constructor(t){this.uri=t}},Bs=class{constructor(t,e){this.original=t;this.modified=e}},tp=class{constructor(t,e,n,o){this.base=t;this.input1=e;this.input2=n;this.result=o}},bl=class{constructor(t,e){this.uri=t;this.viewType=e}},np=class{constructor(t){this.viewType=t}},yl=class{constructor(t,e){this.uri=t;this.notebookType=e}},Il=class{constructor(t,e,n){this.original=t;this.modified=e;this.notebookType=n}},op=class{constructor(){}},rp=class{constructor(t,e){this.uri=t;this.inputBoxUri=e}},ip=class{constructor(){}},sp=class{constructor(t){this.textDiffs=t}},rD=(e=>(e[e.Down=0]="Down",e[e.Up=1]="Up",e))(rD||{}),iD=(e=>(e[e.Action=1]="Action",e[e.Toolbar=2]="Toolbar",e))(iD||{}),sD=(n=>(n[n.Short=1]="Short",n[n.Medium=2]="Medium",n[n.Full=3]="Full",n))(sD||{}),TI=class{constructor(t,e,n){this.id=t,this.label=e,this.values=n}},wx=(n=>(n[n.Accepted=1]="Accepted",n[n.Rejected=2]="Rejected",n[n.Saved=3]="Saved",n))(wx||{}),aD=(n=>(n[n.Keep=1]="Keep",n[n.Undo=2]="Undo",n[n.UserModification=3]="UserModification",n))(aD||{}),lD=(r=>(r[r.Unhelpful=0]="Unhelpful",r[r.Helpful=1]="Helpful",r[r.Undone=2]="Undone",r[r.Accepted=3]="Accepted",r[r.Bug=4]="Bug",r))(lD||{}),kx=(e=>(e[e.Unhelpful=0]="Unhelpful",e[e.Helpful=1]="Helpful",e))(kx||{}),Ws=class{constructor(t){if(typeof t!="string"&&t.isTrusted===!0)throw new Error("The boolean form of MarkdownString.isTrusted is NOT supported for chat participants.");this.value=typeof t=="string"?new Ht(t):t}},ji=class{constructor(t,e){if(typeof t!="string"&&t.isTrusted===!0)throw new Error("The boolean form of MarkdownString.isTrusted is NOT supported for chat participants.");this.value=typeof t=="string"?new Ht(t):t,this.vulnerabilities=e}},$s=class{constructor(t,e,n,o){this.title=t,this.message=e,this.data=n,this.buttons=o}},zs=class{constructor(t,e){this.value=t,this.baseUri=e}},Xd=class{constructor(t,e,n){this.value=t,this.title=e,this.readOnly=n}},EI=class{constructor(t,e){this.data=t,this.mimeType=e}},ap=class{constructor(t,e,n,o){this.description=t,this.agentName=e,this.prompt=n,this.result=o}},Yd=class{constructor(t,e){this.uris=t;this.callback=e;this.applied=new Promise(n=>{this.didGetApplied=n})}},Qi=class{constructor(t,e){this.value=t,this.value2=t,this.title=e}},Zd=class{constructor(t){this.value=t}},xl=class{constructor(t,e){this.value=t,this.task=e}},si=class{constructor(t,e,n){this.value=t,this.id=e,this.metadata=n}},qs=class{constructor(t,e,n,o){this.hookType=t,this.stopReason=e,this.systemMessage=n,this.metadata=o}},Ji=class{constructor(t){if(typeof t!="string"&&t.isTrusted===!0)throw new Error("The boolean form of MarkdownString.isTrusted is NOT supported for chat participants.");this.value=typeof t=="string"?new Ht(t):t}},Ks=class{constructor(t){if(typeof t!="string"&&t.isTrusted===!0)throw new Error("The boolean form of MarkdownString.isTrusted is NOT supported for chat participants.");this.value=typeof t=="string"?new Ht(t):t}},Gs=class{constructor(t){this.value=t}},Or=class{constructor(t,e,n){this.value=t,this.iconPath=e,this.options=n}},js=class{constructor(t,e,n){this.value=t,this.isEdit=e,this.undoStopId=n}},Qs=class{constructor(t,e,n){this.value=t,this.license=e,this.snippet=n}},Js=class{constructor(t,e){this.uri=t;this.range=e}},Cl=class{constructor(t){this.extensions=t}},Sl=class{constructor(t,e,n,o,r){this.title=e;this.description=n;this.author=o;this.linkTag=r;wa(t)?(this.uri=t,this.command={title:"Open Pull Request",command:"vscode.open",arguments:[t]}):this.command=t}toJSON(){return{$mid:26,uri:this.uri,title:this.title,description:this.description,author:this.author}}},Px=(n=>(n[n.Text=1]="Text",n[n.SingleSelect=2]="SingleSelect",n[n.MultiSelect=3]="MultiSelect",n))(Px||{}),lp=class{constructor(t,e,n,o){this.id=t,this.type=e,this.title=n,this.message=o?.message,this.options=o?.options,this.defaultValue=o?.defaultValue,this.allowFreeformInput=o?.allowFreeformInput}},Xi=class{constructor(t,e=!0){this.questions=t,this.allowSkip=e}},Yi=class{constructor(t,e){this.uri=t,e===!0?(this.isDone=!0,this.edits=[]):this.edits=Array.isArray(e)?e:[e]}},Xs=class{constructor(t,e){this.uri=t,e===!0?(this.isDone=!0,this.edits=[]):this.edits=Array.isArray(e)?e:[e]}},Tl=class{constructor(t){this.edits=t}},_x=(n=>(n[n.NotStarted=1]="NotStarted",n[n.InProgress=2]="InProgress",n[n.Completed=3]="Completed",n))(_x||{}),Dx=(n=>(n[n.Running=0]="Running",n[n.Completed=1]="Completed",n[n.Failed=2]="Failed",n))(Dx||{}),ec=class{constructor(t,e,n){this.toolName=t,this.toolCallId=e,this.errorMessage=n}},Zi=class{constructor(t,e,n,o,r,s,a,l,d){this.prompt=t;this.command=e;this.references=n;this.participant=o;this.toolReferences=r;this.editedFileEvents=s;this.id=a;this.modelId=l;this.modeInstructions2=d}},dp=class{constructor(t,e,n,o){this.response=t;this.result=e;this.participant=n;this.command=o}},wI=class{constructor(t,e,n,o){this.response=t;this.result=e;this.participant=n;this.command=o}},Rx=(o=>(o[o.Panel=1]="Panel",o[o.Terminal=2]="Terminal",o[o.Notebook=3]="Notebook",o[o.Editor=4]="Editor",o))(Rx||{}),dD=(o=>(o[o.Failed=0]="Failed",o[o.Completed=1]="Completed",o[o.InProgress=2]="InProgress",o[o.NeedsInput=3]="NeedsInput",o))(dD||{}),kI=class i{constructor(t){this.id=t}static{this.Agent=new i("agent")}static{this.Skill=new i("skill")}static{this.Instructions=new i("instructions")}static{this.Prompt=new i("prompt")}static{this.Hook=new i("hook")}static{this.Plugins=new i("plugins")}},cD=(o=>(o[o.Trace=0]="Trace",o[o.Info=1]="Info",o[o.Warning=2]="Warning",o[o.Error=3]="Error",o))(cD||{}),Ax=(e=>(e[e.Success=0]="Success",e[e.Error=1]="Error",e))(Ax||{}),Mx=(n=>(n[n.Success=0]="Success",n[n.Error=1]="Error",n[n.NonBlockingError=2]="NonBlockingError",n))(Mx||{}),cp=class{constructor(t,e){this._kind="toolCall";this.toolName=t,this.created=e}},up=class{constructor(t){this._kind="modelTurn";this.created=t}},pp=class{constructor(t,e,n){this._kind="generic";this.name=t,this.level=e,this.created=n}},mp=class{constructor(t,e){this._kind="subagentInvocation";this.agentName=t,this.created=e}},tc=class{constructor(t,e){this.name=t,this.content=e}},gp=class{constructor(t,e){this._kind="userMessage";this.message=t,this.created=e,this.sections=[]}},fp=class{constructor(t,e){this._kind="agentResponse";this.message=t,this.created=e,this.sections=[]}},PI=class{constructor(t){this._kind="text";this.value=t}},Ox=(e=>(e[e.User=0]="User",e[e.Agent=1]="Agent",e))(Ox||{}),_I=class{constructor(t,e,n){this._kind="messageContent";this.type=t,this.message=e,this.sections=n}},DI=class{constructor(t){this._kind="toolCallContent";this.toolName=t}},RI=class{constructor(t){this._kind="modelTurnContent";this.requestName=t}},AI=class{constructor(t){this._kind="hookContent";this.hookType=t}},MI=class{constructor(t,e,n,o,r){this.uri=t;this.originalUri=e;this.modifiedUri=n;this.insertions=o;this.deletions=r}},uD=(n=>(n[n.Complete=1]="Complete",n[n.Partial=2]="Partial",n[n.Omitted=3]="Omitted",n))(uD||{}),pD=(n=>(n[n.NoReason=0]="NoReason",n[n.FilteredContentRetry=1]="FilteredContentRetry",n[n.CopyrightContentRetry=2]="CopyrightContentRetry",n))(pD||{}),hp=class{constructor(t,e,n,o){this.editor=t;this.document=e;this.selection=n;this.wholeRange=o}},vp=class{constructor(t){this.cell=t}},bp=class{constructor(t,e,n){this.mimeType=t,this.data=e,this.reference=n}},El=class{constructor(t){this.diagnostics=t}},th=(n=>(n[n.User=1]="User",n[n.Assistant=2]="Assistant",n[n.System=3]="System",n))(th||{}),es=class{constructor(t,e,n){this.callId=t,this.content=e,this.isError=n??!1}},mD=(n=>(n[n.Info=0]="Info",n[n.Warning=1]="Warning",n[n.Error=2]="Error",n))(mD||{}),gD=(n=>(n[n.Info=0]="Info",n[n.Warning=1]="Warning",n[n.Error=2]="Error",n))(gD||{}),yp=class i{constructor(t,e,n){this._content=[];this.role=t,this.content=e,this.name=n}static User(t,e){return new i(1,t,e)}static Assistant(t,e){return new i(2,t,e)}set content(t){typeof t=="string"?this._content=[new $t(t)]:this._content=t}get content(){return this._content}},Ip=class i{constructor(t,e,n){this._content=[];this.role=t,this.content=e,this.name=n}static User(t,e){return new i(1,t,e)}static Assistant(t,e){return new i(2,t,e)}set content(t){typeof t=="string"?this._content=[new $t(t)]:this._content=t}get content(){return this._content}set content2(t){t&&(this.content=t.map(e=>typeof e=="string"?new $t(e):e))}get content2(){return this.content.map(t=>t instanceof $t?t.value:t)}},Lr=class{constructor(t,e,n){this.callId=t,this.name=e,this.input=n}},Lx=(n=>(n[n.Assistant=0]="Assistant",n[n.User=1]="User",n[n.Extension=2]="Extension",n))(Lx||{}),$t=class{constructor(t,e){this.value=t,e=e}toJSON(){return{$mid:21,value:this.value,audience:this.audience}}},In=class i{constructor(t,e,n){this.mimeType=e,this.data=t,this.audience=n}static image(t,e){return new i(t,e)}static json(t,e="text/x-json"){let n=JSON.stringify(t,void 0,"	");return new i(te.fromString(n).buffer,e)}static text(t,e=Wo.text){return new i(te.fromString(t).buffer,e)}toJSON(){return{$mid:24,mimeType:this.mimeType,data:oo(te.wrap(this.data)),audience:this.audience}}},fD=(r=>(r.PNG="image/png",r.JPEG="image/jpeg",r.GIF="image/gif",r.WEBP="image/webp",r.BMP="image/bmp",r))(fD||{}),ai=class{constructor(t,e,n){this.value=t,this.id=e,this.metadata=n}toJSON(){return{$mid:22,value:this.value,id:this.id,metadata:this.metadata}}},Nr=class{constructor(t){this.value=t}toJSON(){return{$mid:23,value:this.value}}};var Qo=class i extends Error{static#e="LanguageModelError";static NotFound(t){return new i(t,i.NotFound.name)}static NoPermissions(t){return new i(t,i.NoPermissions.name)}static Blocked(t){return new i(t,i.Blocked.name)}static tryDeserialize(t){if(t.name===i.#e)return new i(t.message,t.code,t.cause)}constructor(t,e,n){super(t,{cause:n}),this.name=i.#e,this.code=e??""}},wl=class{constructor(t){this.content=t}toJSON(){return{$mid:20,content:this.content}}},OI=class{constructor(t){this.content=t}toJSON(){return{$mid:20,content:this.content}}},LI=class extends wl{},Nx=(e=>(e[e.Auto=1]="Auto",e[e.Required=2]="Required",e))(Nx||{}),xp=class{constructor(t,e){this.id=t;this.label=e}},Cp=class{constructor(t,e,n){this.label=t;this.name=e;this.instructions=n}},hD=(o=>(o[o.SymbolInformation=1]="SymbolInformation",o[o.CommandInformation=2]="CommandInformation",o[o.SearchInformation=3]="SearchInformation",o[o.SettingInformation=4]="SettingInformation",o))(hD||{}),vD=(n=>(n[n.EMBEDDED=1]="EMBEDDED",n[n.LLM_RANKED=2]="LLM_RANKED",n[n.CANCELED=3]="CANCELED",n))(vD||{}),bD=(r=>(r[r.Started=1]="Started",r[r.Recognizing=2]="Recognizing",r[r.Recognized=3]="Recognized",r[r.Stopped=4]="Stopped",r[r.Error=5]="Error",r))(bD||{}),yD=(n=>(n[n.Started=1]="Started",n[n.Stopped=2]="Stopped",n[n.Error=3]="Error",n))(yD||{}),ID=(e=>(e[e.Recognized=1]="Recognized",e[e.Stopped=2]="Stopped",e))(ID||{}),Ux=(e=>(e[e.Initial=0]="Initial",e[e.Dynamic=1]="Dynamic",e))(Ux||{}),nc=class{constructor(t,e,n,o={},r,s){this.label=t;this.command=e;this.args=n;this.env=o;this.version=r;this.metadata=s}},oc=class{constructor(t,e,n={},o,r,s){this.label=t;this.uri=e;this.headers=n;this.version=o;this.metadata=r;this.authentication=s}};var co;(e=>{function i(n){let{selectionStartLineNumber:o,selectionStartColumn:r,positionLineNumber:s,positionColumn:a}=n,l=new we(o-1,r-1),d=new we(s-1,a-1);return new On(l,d)}e.to=i;function t(n){let{anchor:o,active:r}=n;return{selectionStartLineNumber:o.line+1,selectionStartColumn:o.character+1,positionLineNumber:r.line+1,positionColumn:r.character+1}}e.from=t})(co||={});var W;(e=>{function i(n){if(!n)return;let{start:o,end:r}=n;return{startLineNumber:o.line+1,startColumn:o.character+1,endLineNumber:r.line+1,endColumn:r.character+1}}e.from=i;function t(n){if(!n)return;let{startLineNumber:o,startColumn:r,endLineNumber:s,endColumn:a}=n;return new ve(o-1,r-1,s-1,a-1)}e.to=t})(W||={});var Ur;(e=>{function i(n){return{uri:n.uri,range:W.from(n.range)}}e.from=i;function t(n){return new Wt(y.revive(n.uri),W.to(n.range))}e.to=t})(Ur||={});var PD;(t=>{function i(e){switch(e){case 1:return 1;case 0:return 0;case 3:return 3;case 2:return 2}}t.to=i})(PD||={});var et;(e=>{function i(n){return new we(n.lineNumber-1,n.column-1)}e.to=i;function t(n){return{lineNumber:n.line+1,column:n.character+1}}e.from=t})(et||={});var li;(n=>{function i(o,r,s){return it(gn(o).map(a=>t(a,r,s)))}n.from=i;function t(o,r,s){if(typeof o=="string")return{$serialized:!0,language:o,isBuiltin:s?.isBuiltin};if(o)return{$serialized:!0,language:o.language,scheme:e(o.scheme,r),pattern:Co.from(o.pattern)??void 0,exclusive:o.exclusive,notebookType:o.notebookType,isBuiltin:s?.isBuiltin}}function e(o,r){return r&&typeof o=="string"?r.transformOutgoingScheme(o):o}})(li||={});var xD;(e=>{function i(n){switch(n){case 1:return 1;case 2:return 2}}e.from=i;function t(n){switch(n){case 1:return 1;case 2:return 2;default:return}}e.to=t})(xD||={});var ea;(e=>{function i(n){let o;return n.code&&(Ae(n.code)||tr(n.code)?o=String(n.code):o={value:String(n.code.value),target:n.code.target}),{...W.from(n.range),message:n.message,source:n.source,code:o,severity:Fx.from(n.severity),relatedInformation:n.relatedInformation&&n.relatedInformation.map(CD.from),tags:Array.isArray(n.tags)?it(n.tags.map(xD.from)):void 0}}e.from=i;function t(n){let o=new As(W.to(n),n.message,Fx.to(n.severity));return o.source=n.source,o.code=Ae(n.code)?n.code:n.code?.value,o.relatedInformation=n.relatedInformation&&n.relatedInformation.map(CD.to),o.tags=n.tags&&it(n.tags.map(xD.to)),o}e.to=t})(ea||={});var CD;(e=>{function i(n){return{...W.from(n.location.range),message:n.message,resource:n.location.uri}}e.from=i;function t(n){return new Ui(new Wt(n.resource,W.to(n)),n.message)}e.to=t})(CD||={});var Fx;(e=>{function i(n){switch(n){case 0:return 8;case 1:return 4;case 2:return 2;case 3:return 1}return 8}e.from=i;function t(n){switch(n){case 2:return 2;case 4:return 1;case 8:return 0;case 1:return 3;default:return 0}}e.to=t})(Fx||={});var At;(e=>{function i(n){return typeof n=="number"&&n>=1?n-1:n===-2?DU:_U}e.from=i;function t(n){if(typeof n=="number"&&n>=0)return n+1;throw new Error("invalid 'EditorGroupColumn'")}e.to=t})(At||={});function L7(i){return typeof i.range<"u"}function _D(i){return i.length===0?!0:!!L7(i[0])}var pe;(s=>{function i(a){return a.map(s.from)}s.fromMany=i;function t(a){return a&&typeof a=="object"&&typeof a.language=="string"&&typeof a.value=="string"}function e(a){let l;if(t(a)){let{language:u,value:m}=a;l={value:"```"+u+`
`+m+"\n```\n"}}else Ht.isMarkdownString(a)?l={value:a.value,isTrusted:a.isTrusted,supportThemeIcons:a.supportThemeIcons,supportHtml:a.supportHtml,supportAlertSyntax:a.supportAlertSyntax,baseUri:a.baseUri}:typeof a=="string"?l={value:a}:l={value:""};let d=Object.create(null);l.uris=d;let c=({href:u})=>{try{let m=y.parse(u,!0);m=m.with({query:n(m.query,d)}),d[u]=m}catch{}return""};return Ot.walkTokens(Ot.lexer(l.value),u=>{u.type==="link"?c({href:u.href}):u.type==="image"&&typeof u.href=="string"&&c(KO(u.href))}),l}s.from=e;function n(a,l){if(!a)return a;let d;try{d=jb(a)}catch{}if(!d)return a;let c=!1;return d=Ri(d,u=>{if(y.isUri(u)){let m=`__uri_${Math.random().toString(16).slice(2,8)}`;return l[m]=u,c=!0,m}else return}),c?JSON.stringify(d):a}function o(a){let l=new Ht(a.value,a.supportThemeIcons);return l.isTrusted=a.isTrusted,l.supportHtml=a.supportHtml,l.supportAlertSyntax=a.supportAlertSyntax,l.baseUri=a.baseUri?y.from(a.baseUri):void 0,l}s.to=o;function r(a){if(a)return typeof a=="string"?a:s.from(a)}s.fromStrict=r})(pe||={});function BU(i){return _D(i)?i.map(t=>({range:W.from(t.range),hoverMessage:Array.isArray(t.hoverMessage)?pe.fromMany(t.hoverMessage):t.hoverMessage?pe.from(t.hoverMessage):void 0,renderOptions:t.renderOptions})):i.map(t=>({range:W.from(t)}))}function dh(i){return typeof i>"u"?i:typeof i=="string"?y.file(i):i}var nh;(t=>{function i(e){return typeof e>"u"?e:{contentText:e.contentText,contentIconPath:e.contentIconPath?dh(e.contentIconPath):void 0,border:e.border,borderColor:e.borderColor,fontStyle:e.fontStyle,fontWeight:e.fontWeight,textDecoration:e.textDecoration,color:e.color,backgroundColor:e.backgroundColor,margin:e.margin,width:e.width,height:e.height}}t.from=i})(nh||={});var SD;(t=>{function i(e){return typeof e>"u"?e:{backgroundColor:e.backgroundColor,outline:e.outline,outlineColor:e.outlineColor,outlineStyle:e.outlineStyle,outlineWidth:e.outlineWidth,border:e.border,borderColor:e.borderColor,borderRadius:e.borderRadius,borderSpacing:e.borderSpacing,borderStyle:e.borderStyle,borderWidth:e.borderWidth,fontStyle:e.fontStyle,fontWeight:e.fontWeight,textDecoration:e.textDecoration,cursor:e.cursor,color:e.color,opacity:e.opacity,letterSpacing:e.letterSpacing,gutterIconPath:e.gutterIconPath?dh(e.gutterIconPath):void 0,gutterIconSize:e.gutterIconSize,overviewRulerColor:e.overviewRulerColor,before:e.before?nh.from(e.before):void 0,after:e.after?nh.from(e.after):void 0}}t.from=i})(SD||={});var WU;(t=>{function i(e){if(typeof e>"u")return e;switch(e){case 0:return 0;case 1:return 1;case 2:return 2;case 3:return 3}}t.from=i})(WU||={});var DD;(t=>{function i(e){return{isWholeLine:e.isWholeLine,rangeBehavior:e.rangeBehavior?WU.from(e.rangeBehavior):void 0,overviewRulerLane:e.overviewRulerLane,light:e.light?SD.from(e.light):void 0,dark:e.dark?SD.from(e.dark):void 0,backgroundColor:e.backgroundColor,outline:e.outline,outlineColor:e.outlineColor,outlineStyle:e.outlineStyle,outlineWidth:e.outlineWidth,border:e.border,borderColor:e.borderColor,borderRadius:e.borderRadius,borderSpacing:e.borderSpacing,borderStyle:e.borderStyle,borderWidth:e.borderWidth,fontStyle:e.fontStyle,fontWeight:e.fontWeight,textDecoration:e.textDecoration,cursor:e.cursor,color:e.color,opacity:e.opacity,letterSpacing:e.letterSpacing,gutterIconPath:e.gutterIconPath?dh(e.gutterIconPath):void 0,gutterIconSize:e.gutterIconSize,overviewRulerColor:e.overviewRulerColor,before:e.before?nh.from(e.before):void 0,after:e.after?nh.from(e.after):void 0}}t.from=i})(DD||={});var pn;(e=>{function i(n){return{text:n.newText,eol:n.newEol&&lc.from(n.newEol),range:W.from(n.range)}}e.from=i;function t(n){let o=new En(W.to(n.range),n.text);return o.newEol=typeof n.eol>"u"?void 0:lc.to(n.eol),o}e.to=t})(pn||={});var Zn;(e=>{function i(n,o){let r={edits:[]};if(n instanceof jo){let s=new er;for(let a of n._allEntries())a._type===1&&y.isUri(a.to)&&a.from===void 0&&s.add(a.to);for(let a of n._allEntries())if(a._type===1){let l;a.options?.contents&&(ArrayBuffer.isView(a.options.contents)?l={type:"base64",value:oo(te.wrap(a.options.contents))}:l={type:"dataTransferItem",id:a.options.contents._itemId}),r.edits.push({oldResource:a.from,newResource:a.to,options:{...a.options,contents:l},metadata:a.metadata})}else a._type===2?r.edits.push({resource:a.uri,textEdit:pn.from(a.edit),versionId:s.has(a.uri)?void 0:o?.getTextDocumentVersion(a.uri),metadata:a.metadata}):a._type===6?r.edits.push({resource:a.uri,textEdit:{range:W.from(a.range),text:a.edit.value,insertAsSnippet:!0,keepWhitespace:a.keepWhitespace},versionId:s.has(a.uri)?void 0:o?.getTextDocumentVersion(a.uri),metadata:a.metadata}):a._type===3?r.edits.push({metadata:a.metadata,resource:a.uri,cellEdit:a.edit,notebookVersionId:o?.getNotebookDocumentVersion(a.uri)}):a._type===5&&r.edits.push({metadata:a.metadata,resource:a.uri,notebookVersionId:o?.getNotebookDocumentVersion(a.uri),cellEdit:{editType:1,index:a.index,count:a.count,cells:a.cells.map(rh.from)}})}return r}e.from=i;function t(n){let o=new jo,r=new $e;for(let s of n.edits)if(s.textEdit){let a=s,l=y.revive(a.resource),d=W.to(a.textEdit.range),c=a.textEdit.text,u=a.textEdit.insertAsSnippet,m;u?m=Ms.replace(d,new Ln(c)):m=En.replace(d,c);let g=r.get(l);g?g.push(m):r.set(l,[m])}else o.renameFile(y.revive(s.oldResource),y.revive(s.newResource),s.options);for(let[s,a]of r)o.set(s,a);return o}e.to=t})(Zn||={});var br;(n=>{let i=Object.create(null);i[0]=0,i[1]=1,i[2]=2,i[3]=3,i[4]=4,i[5]=5,i[6]=6,i[7]=7,i[8]=8,i[9]=9,i[10]=10,i[11]=11,i[12]=12,i[13]=13,i[14]=14,i[15]=15,i[16]=16,i[17]=17,i[18]=18,i[19]=19,i[20]=20,i[21]=21,i[22]=22,i[23]=23,i[24]=24,i[25]=25;function t(o){return typeof i[o]=="number"?i[o]:6}n.from=t;function e(o){for(let r in i)if(i[r]===o)return Number(r);return 6}n.to=e})(br||={});var Ys;(e=>{function i(n){if(n===1)return 1}e.from=i;function t(n){if(n===1)return 1}e.to=t})(Ys||={});var kl;(e=>{function i(n){return{name:n.name,kind:br.from(n.kind),tags:n.tags&&n.tags.map(Ys.from),containerName:n.containerName,location:Yn.from(n.location)}}e.from=i;function t(n){let o=new hr(n.name,br.to(n.kind),n.containerName,Yn.to(n.location));return o.tags=n.tags&&n.tags.map(Ys.to),o}e.to=t})(kl||={});var RD;(e=>{function i(n){let o={name:n.name||"!!MISSING: name!!",detail:n.detail,range:W.from(n.range),selectionRange:W.from(n.selectionRange),kind:br.from(n.kind),tags:n.tags?.map(Ys.from)??[]};return n.children&&(o.children=n.children.map(i)),o}e.from=i;function t(n){let o=new vr(n.name,n.detail,br.to(n.kind),W.to(n.range),W.to(n.selectionRange));return va(n.tags)&&(o.tags=n.tags.map(Ys.to)),n.children&&(o.children=n.children.map(t)),o}e.to=t})(RD||={});var ta;(e=>{function i(n){let o=new ml(br.to(n.kind),n.name,n.detail||"",y.revive(n.uri),W.to(n.range),W.to(n.selectionRange));return o._sessionId=n._sessionId,o._itemId=n._itemId,o}e.to=i;function t(n,o,r){if(o=o??n._sessionId,r=r??n._itemId,o===void 0||r===void 0)throw new Error("invalid item");return{_sessionId:o,_itemId:r,name:n.name,detail:n.detail,kind:br.from(n.kind),uri:n.uri,range:W.from(n.range),selectionRange:W.from(n.selectionRange),tags:n.tags?.map(Ys.from)}}e.from=t})(ta||={});var AD;(t=>{function i(e){return new qu(ta.to(e.from),e.fromRanges.map(n=>W.to(n)))}t.to=i})(AD||={});var MD;(t=>{function i(e){return new Ku(ta.to(e.to),e.fromRanges.map(n=>W.to(n)))}t.to=i})(MD||={});var Yn;(e=>{function i(n){return{range:n.range&&W.from(n.range),uri:n.uri}}e.from=i;function t(n){return new Wt(y.revive(n.uri),W.to(n.range))}e.to=t})(Yn||={});var wp;(e=>{function i(n){let o=n,r=n;return{originSelectionRange:o.originSelectionRange?W.from(o.originSelectionRange):void 0,uri:o.targetUri?o.targetUri:r.uri,range:W.from(o.targetRange?o.targetRange:r.range),targetSelectionRange:o.targetSelectionRange?W.from(o.targetSelectionRange):void 0}}e.from=i;function t(n){return{targetUri:y.revive(n.uri),targetRange:W.to(n.range),targetSelectionRange:n.targetSelectionRange?W.to(n.targetSelectionRange):void 0,originSelectionRange:n.originSelectionRange?W.to(n.originSelectionRange):void 0}}e.to=t})(wp||={});var kp;(e=>{function i(n){return{range:W.from(n.range),contents:pe.fromMany(n.contents),canIncreaseVerbosity:n.canIncreaseVerbosity,canDecreaseVerbosity:n.canDecreaseVerbosity}}e.from=i;function t(n){let o=n.contents.map(pe.to),r=W.to(n.range),s=n.canIncreaseVerbosity,a=n.canDecreaseVerbosity;return new Qa(o,r,s,a)}e.to=t})(kp||={});var OD;(e=>{function i(n){return{range:W.from(n.range),expression:n.expression}}e.from=i;function t(n){return new al(W.to(n.range),n.expression)}e.to=t})(OD||={});var ch;(e=>{function i(n){if(n instanceof ll)return{type:"text",range:W.from(n.range),text:n.text};if(n instanceof dl)return{type:"variable",range:W.from(n.range),variableName:n.variableName,caseSensitiveLookup:n.caseSensitiveLookup};if(n instanceof cl)return{type:"expression",range:W.from(n.range),expression:n.expression};throw new Error("Unknown 'InlineValue' type")}e.from=i;function t(n){switch(n.type){case"text":return{range:W.to(n.range),text:n.text};case"variable":return{range:W.to(n.range),variableName:n.variableName,caseSensitiveLookup:n.caseSensitiveLookup};case"expression":return{range:W.to(n.range),expression:n.expression}}}e.to=t})(ch||={});var uh;(e=>{function i(n){return{frameId:n.frameId,stoppedLocation:W.from(n.stoppedLocation)}}e.from=i;function t(n){return new Wu(n.frameId,W.to(n.stoppedLocation))}e.to=t})(uh||={});var ac;(e=>{function i(n){return{range:W.from(n.range),kind:n.kind}}e.from=i;function t(n){return new Ja(W.to(n.range),n.kind)}e.to=t})(ac||={});var LD;(e=>{function i(n){return{uri:n.uri,highlights:n.highlights.map(ac.from)}}e.from=i;function t(n){return new Xa(y.revive(n.uri),n.highlights.map(ac.to))}e.to=t})(LD||={});var $U;(t=>{function i(e){switch(e){case 1:return 1;case 2:return 2;case 0:default:return 0}}t.to=i})($U||={});var ND;(t=>{function i(e){return{triggerKind:$U.to(e.triggerKind),triggerCharacter:e.triggerCharacter}}t.to=i})(ND||={});var Hx;(e=>{function i(n){if(n===1)return 1}e.from=i;function t(n){if(n===1)return 1}e.to=t})(Hx||={});var UD;(t=>{function i(e,n,o){return"icon"in e&&"command"in e?{command:n.toInternal(e.command,o),icon:di.fromThemeIcon(e.icon)}:{command:n.toInternal(e,o)}}t.from=i})(UD||={});var Vx;(o=>{let i=new Map([[1,0],[2,1],[3,2],[4,3],[5,4],[6,5],[7,7],[21,6],[8,8],[9,9],[10,12],[11,13],[20,14],[12,15],[19,16],[13,17],[14,28],[0,18],[15,19],[16,20],[17,21],[18,23],[22,10],[23,11],[24,24],[26,26],[25,25]]);function t(r){return i.get(r)??9}o.from=t;let e=new Map([[0,1],[1,2],[2,3],[3,4],[4,5],[5,6],[7,7],[6,21],[8,8],[9,9],[12,10],[13,11],[14,20],[15,12],[16,19],[17,13],[28,14],[18,0],[19,15],[20,16],[21,17],[23,18],[10,22],[11,23],[24,24],[25,25],[26,26]]);function n(r){return e.get(r)??9}o.to=n})(Vx||={});var FD;(t=>{function i(e,n){let o=new tl(e.label);return o.insertText=e.insertText,o.kind=Vx.to(e.kind),o.tags=e.tags?.map(Hx.to),o.detail=e.detail,o.documentation=bo(e.documentation)?pe.to(e.documentation):e.documentation,o.sortText=e.sortText,o.filterText=e.filterText,o.preselect=e.preselect,o.commitCharacters=e.commitCharacters,Ne.isIRange(e.range)?o.range=W.to(e.range):typeof e.range=="object"&&(o.range={inserting:W.to(e.range.insert),replacing:W.to(e.range.replace)}),o.keepWhitespace=typeof e.insertTextRules>"u"?!1:!!(e.insertTextRules&1),typeof e.insertTextRules<"u"&&e.insertTextRules&4?o.insertText=new Ln(e.insertText):(o.insertText=e.insertText,o.textEdit=o.range instanceof ve?new En(o.range,o.insertText):void 0),e.additionalTextEdits&&e.additionalTextEdits.length>0&&(o.additionalTextEdits=e.additionalTextEdits.map(r=>pn.to(r))),o.command=n&&e.command?n.fromInternal(e.command):void 0,o}t.to=i})(FD||={});var TD;(e=>{function i(n){if(typeof n.label!="string"&&!Array.isArray(n.label))throw new TypeError("Invalid label");return{label:n.label,documentation:pe.fromStrict(n.documentation)}}e.from=i;function t(n){return{label:n.label,documentation:bo(n.documentation)?pe.to(n.documentation):n.documentation}}e.to=t})(TD||={});var ED;(e=>{function i(n){return{label:n.label,documentation:pe.fromStrict(n.documentation),parameters:Array.isArray(n.parameters)?n.parameters.map(TD.from):[],activeParameter:n.activeParameter}}e.from=i;function t(n){return{label:n.label,documentation:bo(n.documentation)?pe.to(n.documentation):n.documentation,parameters:Array.isArray(n.parameters)?n.parameters.map(TD.to):[],activeParameter:n.activeParameter}}e.to=t})(ED||={});var Pp;(e=>{function i(n){return{activeSignature:n.activeSignature,activeParameter:n.activeParameter,signatures:Array.isArray(n.signatures)?n.signatures.map(ED.from):[]}}e.from=i;function t(n){return{activeSignature:n.activeSignature,activeParameter:n.activeParameter,signatures:Array.isArray(n.signatures)?n.signatures.map(ED.to):[]}}e.to=t})(Pp||={});var HD;(t=>{function i(e,n){let o=new el(et.to(n.position),typeof n.label=="string"?n.label:n.label.map(zU.to.bind(void 0,e)),n.kind&&Bx.to(n.kind));return o.textEdits=n.textEdits&&n.textEdits.map(pn.to),o.tooltip=bo(n.tooltip)?pe.to(n.tooltip):n.tooltip,o.paddingLeft=n.paddingLeft,o.paddingRight=n.paddingRight,o}t.to=i})(HD||={});var zU;(t=>{function i(e,n){let o=new Za(n.label);return o.tooltip=bo(n.tooltip)?pe.to(n.tooltip):n.tooltip,pP.is(n.command)&&(o.command=e.fromInternal(n.command)),n.location&&(o.location=Yn.to(n.location)),o}t.to=i})(zU||={});var Bx;(e=>{function i(n){return n}e.from=i;function t(n){return n}e.to=t})(Bx||={});var na;(e=>{function i(n){return{range:W.from(n.range),url:n.target,tooltip:n.tooltip}}e.from=i;function t(n){let o;if(n.url)try{o=typeof n.url=="string"?y.parse(n.url,!0):y.revive(n.url)}catch{}let r=new nl(W.to(n.range),o);return r.tooltip=n.tooltip,r}e.to=t})(na||={});var ph;(e=>{function i(n){let o=new rl(n.label);return n.textEdit&&(o.textEdit=pn.to(n.textEdit)),n.additionalTextEdits&&(o.additionalTextEdits=n.additionalTextEdits.map(r=>pn.to(r))),o}e.to=i;function t(n){return{label:n.label,textEdit:n.textEdit?pn.from(n.textEdit):void 0,additionalTextEdits:n.additionalTextEdits?n.additionalTextEdits.map(o=>pn.from(o)):void 0}}e.from=t})(ph||={});var pc;(e=>{function i(n){return new ti(n[0],n[1],n[2],n[3])}e.to=i;function t(n){return[n.red,n.green,n.blue,n.alpha]}e.from=t})(pc||={});var VD;(e=>{function i(n){return{range:W.from(n.range)}}e.from=i;function t(n){return new Wi(W.to(n.range))}e.to=t})(VD||={});var mh;(t=>{function i(e){switch(e){case 2:return 2;case 1:return 1;case 3:case 4:return 3}}t.to=i})(mh||={});var mc;(e=>{function i(n){switch(n){case 0:return 0;case 2:return 2;case 3:return 3;case 1:default:return 1}}e.from=i;function t(n){switch(n){case 0:return 0;case 2:return 2;case 3:return 3;case 1:default:return 1}}e.to=t})(mc||={});var lc;(e=>{function i(n){if(n===2)return 1;if(n===1)return 0}e.from=i;function t(n){if(n===1)return 2;if(n===0)return 1}e.to=t})(lc||={});var Wx;(t=>{function i(e){if(typeof e=="object")return e.viewId;switch(e){case 1:return 3;case 10:return 10;case 15:return 15}throw new Error("Unknown 'ProgressLocation'")}t.from=i})(Wx||={});var gh;(e=>{function i(n){let o={start:n.start+1,end:n.end+1};return n.kind&&(o.kind=wD.from(n.kind)),o}e.from=i;function t(n){let o={start:n.start-1,end:n.end-1};return n.kind&&(o.kind=wD.to(n.kind)),o}e.to=t})(gh||={});var wD;(e=>{function i(n){if(n)switch(n){case 1:return Es.Comment;case 2:return Es.Imports;case 3:return Es.Region}}e.from=i;function t(n){if(n)switch(n.value){case Es.Comment.value:return 1;case Es.Imports.value:return 2;case Es.Region.value:return 3}}e.to=t})(wD||={});var fh;(t=>{function i(e){if(e)return{pinned:typeof e.preview=="boolean"?!e.preview:void 0,inactive:e.background,preserveFocus:e.preserveFocus,selection:typeof e.selection=="object"?W.from(e.selection):void 0,override:typeof e.override=="boolean"?xP.id:void 0}}t.from=i})(fh||={});var Co;(o=>{function i(r){return r instanceof qi?r.toJSON():typeof r=="string"?r:t(r)||e(r)?new qi(r.baseUri??r.base,r.pattern).toJSON():r}o.from=i;function t(r){let s=r;return s?y.isUri(s.baseUri)&&typeof s.pattern=="string":!1}function e(r){let s=r;return s?typeof s.base=="string"&&typeof s.pattern=="string":!1}function n(r){return typeof r=="string"?r:new qi(y.revive(r.baseUri),r.pattern)}o.to=n})(Co||={});var BD;(t=>{function i(e){if(e){if(Array.isArray(e))return e.map(i);if(typeof e=="string")return e;{let n=e;return{language:n.language,scheme:n.scheme,pattern:Co.from(n.pattern)??void 0,exclusive:n.exclusive,notebookType:n.notebookType}}}else return}t.from=i})(BD||={});var yr;(e=>{function i(n){return{start:n.start,end:n.end}}e.from=i;function t(n){return new Wn(n.start,n.end)}e.to=t})(yr||={});var Sp;(e=>{function i(n){return{timing:typeof n.runStartTime=="number"&&typeof n.runEndTime=="number"?{startTime:n.runStartTime,endTime:n.runEndTime}:void 0,executionOrder:n.executionOrder,success:n.lastRunSuccess}}e.to=i;function t(n){return{lastRunSuccess:n.success,runStartTime:n.timing?.startTime,runEndTime:n.timing?.endTime,executionOrder:n.executionOrder}}e.from=t})(Sp||={});var oh;(e=>{function i(n){switch(n){case 1:return 1;case 2:default:return 2}}e.from=i;function t(n){switch(n){case 1:return 1;case 2:default:return 2}}e.to=t})(oh||={});var Pl;(e=>{function i(n){let o={metadata:n.metadata??Object.create(null),cells:[]};for(let r of n.cells)Fi.validate(r),o.cells.push(rh.from(r));return o}e.from=i;function t(n){let o=new Fd(n.cells.map(rh.to));return Gc(n.metadata)||(o.metadata=n.metadata),o}e.to=t})(Pl||={});var rh;(e=>{function i(n){return{cellKind:oh.from(n.kind),language:n.languageId,mime:n.mime,source:n.value,metadata:n.metadata,internalMetadata:Sp.from(n.executionSummary??{}),outputs:n.outputs?n.outputs.map(Zs.from):[]}}e.from=i;function t(n){return new Fi(oh.to(n.cellKind),n.source,n.language,n.mime,n.outputs?n.outputs.map(Zs.to):void 0,n.metadata,n.internalMetadata?Sp.to(n.internalMetadata):void 0)}e.to=t})(rh||={});var dc;(e=>{function i(n){return{mime:n.mime,valueBytes:te.wrap(n.data)}}e.from=i;function t(n){return new Hd(n.valueBytes.buffer,n.mime)}e.to=t})(dc||={});var Zs;(e=>{function i(n){return{outputId:n.id,items:n.items.map(dc.from),metadata:n.metadata}}e.from=i;function t(n){let o=n.items.map(dc.to);return new Hi(o,n.outputId,n.metadata)}e.to=t})(Zs||={});var hh;(n=>{function i(o){return e(o)?{include:Co.from(o.include)??void 0,exclude:Co.from(o.exclude)??void 0}:Co.from(o)??void 0}n.from=i;function t(o){return e(o)?{include:Co.to(o.include),exclude:Co.to(o.exclude)}:Co.to(o)}n.to=t;function e(o){let r=o;return r?!Mt(r.include)&&!Mt(r.exclude):!1}})(hh||={});var WD;(t=>{function i(e,n,o){let r=typeof e.command=="string"?{title:"",command:e.command}:e.command;return{alignment:e.alignment===1?1:2,command:n.toInternal(r,o),text:e.text,tooltip:e.tooltip,accessibilityInformation:e.accessibilityInformation,priority:e.priority}}t.from=i})(WD||={});var $D;(t=>{function i(e,n,o){let r=typeof e.command=="string"?{title:"",command:e.command}:e.command;return{command:n.toInternal(r,o),label:e.label,description:e.description,detail:e.detail,documentation:e.documentation}}t.from=i})($D||={});var zD;(t=>{function i(e){return{transientOutputs:e?.transientOutputs??!1,transientCellMetadata:e?.transientCellMetadata??{},transientDocumentMetadata:e?.transientDocumentMetadata??{},cellContentMetadata:e?.cellContentMetadata??{}}}t.from=i})(zD||={});var $x;(e=>{function i(n){return{uri:n.uri,provides:n.provides}}e.from=i;function t(n){return new Ju(y.revive(n.uri),n.provides)}e.to=t})($x||={});var _p;(e=>{function i(n){return{message:pe.fromStrict(n.message)||"",type:0,expected:n.expectedOutput,actual:n.actualOutput,contextValue:n.contextValue,location:n.location&&{range:W.from(n.location.range),uri:n.location.uri},stackTrace:n.stackTrace?.map(o=>({label:o.label,position:o.position&&et.from(o.position),uri:o.uri&&y.revive(o.uri).toJSON()}))}}e.from=i;function t(n){let o=new Ki(typeof n.message=="string"?n.message:pe.to(n.message));return o.actualOutput=n.actual,o.expectedOutput=n.expected,o.contextValue=n.contextValue,o.location=n.location?Yn.to(n.location):void 0,o}e.to=t})(_p||={});var Fr;(e=>(e.namespace=Mu,e.denamespace=Zy))(Fr||={});var qD;(t=>{function i(e){return{controllerId:e.controllerId,profileId:e.profileId,group:Dp.from(e.kind)}}t.from=i})(qD||={});var Dp;(e=>{let i={3:8,2:4,1:2};function t(n){return i.hasOwnProperty(n)?i[n]:2}e.from=t})(Dp||={});var ts;(e=>{function i(n){let o=Ou(n).controllerId;return{extId:qe.fromExtHostTestItem(n,o).toString(),label:n.label,uri:y.revive(n.uri),busy:n.busy,tags:n.tags.map(r=>Fr.namespace(o,r.id)),range:Ne.lift(W.from(n.range)),description:n.description||null,sortText:n.sortText||null,error:n.error&&pe.fromStrict(n.error)||null}}e.from=i;function t(n){return{parent:void 0,error:void 0,id:qe.fromString(n.extId).localId,label:n.label,uri:y.revive(n.uri),tags:(n.tags||[]).map(o=>{let{tagId:r}=Fr.denamespace(o);return new Hs(r)}),children:{add:()=>{},delete:()=>{},forEach:()=>{},*[Symbol.iterator](){},get:()=>{},replace:()=>{},size:0},range:W.to(n.range||void 0),canResolveChildren:!1,busy:n.busy,description:n.description||void 0,sortText:n.sortText||void 0}}e.toPlain=t})(ts||={});(e=>{function i(n){return{id:n.id}}e.from=i;function t(n){return new Hs(n.id)}e.to=t})(Fr||={});var KD;(e=>{let i=(n,o)=>{let r=n.value;if(!r)return;let s={...ts.toPlain(r.item),parent:o,taskStates:r.tasks.map(a=>({state:a.state,duration:a.duration,messages:a.messages.filter(l=>l.type===0).map(_p.to)})),children:[]};if(n.children)for(let a of n.children.values()){let l=i(a,s);l&&s.children.push(l)}return s};function t(n){let o=new Jb;for(let a of n.items)o.insert(qe.fromString(a.item.extId).path,a);let r=[o.nodes],s=[];for(;r.length;)for(let a of r.pop())a.value?s.push(a):a.children&&r.push(a.children.values());return{completedAt:n.completedAt,results:s.map(a=>i(a)).filter(no)}}e.to=t})(KD||={});var vh;(s=>{function i(a){return{covered:a.covered,total:a.total}}function t(a){return"line"in a?et.from(a):W.from(a)}function e(a){if(a)return"endLineNumber"in a?W.to(a):et.to(a)}function n(a){if(a.type===1){let l=[];if(a.branches)for(let d of a.branches)l.push({executed:d.count,location:e(d.location),label:d.label});return new Yu(a.count,e(a.location),a.branches?.map(d=>new Zu(d.count,e(d.location),d.label)))}else return new ep(a.name,a.count,e(a.location))}s.to=n;function o(a){if(typeof a.executed=="number"&&a.executed<0)throw new Error(`Invalid coverage count ${a.executed}`);return"branches"in a?{count:a.executed,location:t(a.location),type:1,branches:a.branches.length?a.branches.map(l=>({count:l.executed,location:l.location&&t(l.location),label:l.label})):void 0}:{type:0,name:a.name,count:a.executed,location:t(a.location)}}s.fromDetails=o;function r(a,l,d){return eh(d.statementCoverage),eh(d.branchCoverage),eh(d.declarationCoverage),{id:l,uri:d.uri,statement:i(d.statementCoverage),branch:d.branchCoverage&&i(d.branchCoverage),declaration:d.declarationCoverage&&i(d.declarationCoverage),testIds:d instanceof Vs&&d.includesTests.length?d.includesTests.map(c=>qe.fromExtHostTestItem(c,a).toString()):void 0}}s.fromFile=r})(vh||={});var GD;(t=>{function i(e){switch(e){case 1:return 1;case 2:return 2}}t.to=i})(GD||={});var oa;(e=>{function i(n){let o=new hl(br.to(n.kind),n.name,n.detail||"",y.revive(n.uri),W.to(n.range),W.to(n.selectionRange));return o._sessionId=n._sessionId,o._itemId=n._itemId,o}e.to=i;function t(n,o,r){if(o=o??n._sessionId,r=r??n._itemId,o===void 0||r===void 0)throw new Error("invalid item");return{_sessionId:o,_itemId:r,kind:br.from(n.kind),name:n.name,detail:n.detail??"",uri:n.uri,range:W.from(n.range),selectionRange:W.from(n.selectionRange),tags:n.tags?.map(Ys.from)}}e.from=t})(oa||={});var bh;(t=>{function i(e){if(e)return{value:e.value,tooltip:e.tooltip}}t.from=i})(bh||={});var sc;(o=>{function i(r,s,a){let l=s.fileData;return l?new pI(new mI(l.name,y.revive(l.uri),l.id,zc(()=>a(l.id)))):r===Wo.uriList&&s.uriListData?new gl(n(s.uriListData)):new gl(s.asString)}o.to=i;async function t(r,s,a=We()){let l=await s.asString();if(r===Wo.uriList)return{id:a,asString:l,fileData:void 0,uriListData:e(l)};let d=s.asFile();return{id:a,asString:l,fileData:d?{name:d.name,uri:d.uri,id:d._itemId??d.id}:void 0}}o.from=t;function e(r){return Wb.split(r).map(s=>{if(s.startsWith("#"))return s;try{return y.parse(s)}catch{}return s})}function n(r){return Wb.create(r.map(s=>typeof s=="string"?s:y.revive(s)))}})(sc||={});var gc;(n=>{function i(o,r){let s=o.items.map(([a,l])=>[a,sc.to(a,l,r)]);return new Ar(s)}n.toDataTransfer=i;async function t(o){return{items:await Promise.all(Array.from(o,async([s,a])=>[s,await sc.from(s,a)]))}}n.from=t;async function e(o){return{items:await Promise.all(Array.from(o,async([s,a])=>[s,await sc.from(s,a,a.id)]))}}n.fromList=e})(gc||={});var zx;(e=>{function i(n,o){return{kind:"reply",agentId:n.participant??o?.agentId??"",subCommand:n.command??o?.command,message:n.prompt,title:n.label}}e.from=i;function t(n){return{prompt:n.message,label:n.title,participant:n.agentId,command:n.subCommand}}e.to=t})(zx||={});var ih;(e=>{function i(n){switch(n){case 0:return 3;case 1:return 1;case 2:return 2}}e.to=i;function t(n){switch(n){case 3:return 0;case 1:return 1;case 2:return 2}return 1}e.from=t})(ih||={});var N7;(e=>{function i(n){let o=n.content.map(a=>{if(a.type==="text")return new $t(a.value,a.audience);if(a.type==="tool_result"){let l=it(a.value.map(d=>d.type==="text"?new $t(d.value,d.audience):d.type==="data"?new In(d.data.buffer,d.mimeType):d.type==="prompt_tsx"?new Nr(d.value):void 0));return new es(a.toolCallId,l,a.isError)}else{if(a.type==="image_url")return new In(a.value.data.buffer,a.value.mimeType);if(a.type==="data")return new In(a.data.buffer,a.mimeType);if(a.type==="tool_use")return new Lr(a.toolCallId,a.name,a.parameters)}}).filter(a=>a!==void 0),r=ih.to(n.role);return new yp(r,o,n.name)}e.to=i;function t(n){let o=ih.from(n.role),r=n.name,s=n.content;typeof s=="string"&&(s=[new $t(s)]);let a=s.map(l=>{if(l instanceof es)return{type:"tool_result",toolCallId:l.callId,value:it(l.content.map(d=>d instanceof $t?{type:"text",value:d.value,audience:d.audience}:d instanceof Nr?{type:"prompt_tsx",value:d.value}:d instanceof In?{type:"data",mimeType:d.mimeType,data:te.wrap(d.data),audience:d.audience}:void 0)),isError:l.isError};if(l instanceof In)return qU(l)?{type:"image_url",value:{mimeType:l.mimeType,data:te.wrap(l.data)}}:{type:"data",mimeType:l.mimeType,data:te.wrap(l.data),audience:l.audience};if(l instanceof Lr)return{type:"tool_use",toolCallId:l.callId,name:l.name,parameters:l.input};if(l instanceof $t)return{type:"text",value:l.value};if(typeof l!="string")throw new Error("Unexpected chat message content type");return{type:"text",value:l}});return{role:o,name:r,content:a}}e.from=t})(N7||={});var qx;(e=>{function i(n){let o=n.content.map(a=>{if(a.type==="text")return new $t(a.value,a.audience);if(a.type==="tool_result"){let l=a.value.map(d=>d.type==="text"?new $t(d.value,d.audience):d.type==="data"?new In(d.data.buffer,d.mimeType):new Nr(d.value));return new es(a.toolCallId,l,a.isError)}else return a.type==="image_url"?new In(a.value.data.buffer,a.value.mimeType):a.type==="data"?new In(a.data.buffer,a.mimeType):a.type==="thinking"?new ai(a.value,a.id,a.metadata):new Lr(a.toolCallId,a.name,a.parameters)}),r=ih.to(n.role);return new Ip(r,o,n.name)}e.to=i;function t(n){let o=ih.from(n.role),r=n.name,s=n.content;typeof s=="string"&&(s=[new $t(s)]);let a=s.map(l=>{if(l instanceof es)return{type:"tool_result",toolCallId:l.callId,value:it(l.content.map(d=>d instanceof $t?{type:"text",value:d.value,audience:d.audience}:d instanceof Nr?{type:"prompt_tsx",value:d.value}:d instanceof In?{type:"data",mimeType:d.mimeType,data:te.wrap(d.data),audience:d.audience}:void 0)),isError:l.isError};if(l instanceof In)return qU(l)?{type:"image_url",value:{mimeType:l.mimeType,data:te.wrap(l.data)}}:{type:"data",mimeType:l.mimeType,data:te.wrap(l.data),audience:l.audience};if(l instanceof Lr)return{type:"tool_use",toolCallId:l.callId,name:l.name,parameters:l.input};if(l instanceof $t)return{type:"text",value:l.value};if(l instanceof ai)return{type:"thinking",value:l.value,id:l.id,metadata:l.metadata};if(typeof l!="string")throw new Error("Unexpected chat message content type llm 2");return{type:"text",value:l}});return{role:o,name:r,content:a}}e.from=t})(qx||={});function qU(i){switch(typeof i.mimeType=="string"?i.mimeType.toLowerCase():""){case"image/png":case"image/jpeg":case"image/jpg":case"image/gif":case"image/webp":case"image/bmp":return!0;default:return!1}}var sh;(e=>{function i(n){return{kind:"markdownContent",content:pe.from(n.value)}}e.from=i;function t(n){return new Ws(pe.to(n.content))}e.to=t})(sh||={});var Kx;(e=>{function i(n){return{kind:"codeblockUri",uri:n.value,isEdit:n.isEdit,undoStopId:n.undoStopId}}e.from=i;function t(n){return new js(y.revive(n.uri),n.isEdit,n.undoStopId)}e.to=t})(Kx||={});var Gx;(e=>{function i(n){return{kind:"markdownVuln",content:pe.from(n.value),vulnerabilities:n.vulnerabilities}}e.from=i;function t(n){return new ji(pe.to(n.content),n.vulnerabilities)}e.to=t})(Gx||={});var jx;(t=>{function i(e){return{kind:"confirmation",title:e.title,message:pe.from(e.message),data:e.data,buttons:e.buttons}}t.from=i})(jx||={});var Qx;(o=>{function i(r){switch(r){case 1:return"text";case 2:return"singleSelect";case 3:return"multiSelect";default:return"text"}}function t(r){switch(r){case"text":return 1;case"singleSelect":return 2;case"multiSelect":return 3;default:return 1}}function e(r){return{kind:"questionCarousel",questions:r.questions.map(s=>({id:s.id,type:i(s.type),title:s.title,message:s.message?pe.from(s.message):void 0,options:s.options?.map(a=>({id:a.id,label:a.label,value:String(a.value)})),defaultValue:s.defaultValue,allowFreeformInput:s.allowFreeformInput})),allowSkip:r.allowSkip}}o.from=e;function n(r){let s=r.questions.map(a=>new lp(a.id,t(a.type),a.title,{message:a.message?typeof a.message=="string"?new Ht(a.message):pe.to(a.message):void 0,options:a.options?.map(l=>({id:l.id,label:l.label,value:l.value})),defaultValue:a.defaultValue,allowFreeformInput:a.allowFreeformInput}));return new Xi(s,r.allowSkip)}o.to=n})(Qx||={});var ah;(e=>{function i(n){let{value:o,baseUri:r}=n;function s(a,l){return a.map(d=>{let c=y.joinPath(l,d.name);return{label:d.name,uri:c,children:d.children&&s(d.children,c)}})}return{kind:"treeData",treeData:{label:tt(r),uri:r,children:s(o,r)}}}e.from=i;function t(n){let o=_t(n.treeData);function r(l){return l.map(d=>({name:d.label,children:d.children&&r(d.children)}))}let s=o.uri,a=o.children?r(o.children):[];return new zs(a,s)}e.to=t})(ah||={});var KU;(e=>{function i(n){return{kind:"multiDiffData",multiDiffData:{title:n.title,resources:n.value.map(o=>({originalUri:o.originalUri,modifiedUri:o.modifiedUri,goToFileUri:o.goToFileUri,added:o.added,removed:o.removed}))},readOnly:n.readOnly}}e.from=i;function t(n){let o=n.multiDiffData.resources.map(r=>({originalUri:r.originalUri?y.revive(r.originalUri):void 0,modifiedUri:r.modifiedUri?y.revive(r.modifiedUri):void 0,goToFileUri:r.goToFileUri?y.revive(r.goToFileUri):void 0,added:r.added,removed:r.removed}));return new Xd(o,n.multiDiffData.title,n.readOnly)}e.to=t})(KU||={});var Tp;(e=>{function i(n){let o=s=>y.isUri(s),r=s=>"name"in s;return{kind:"inlineReference",name:n.title,inlineReference:o(n.value)?n.value:r(n.value)?kl.from(n.value):Ur.from(n.value)}}e.from=i;function t(n){let o=_t(n);return new Qi(y.isUri(o.inlineReference)?o.inlineReference:"location"in o.inlineReference?kl.to(o.inlineReference):Ur.to(o.inlineReference),n.name)}e.to=t})(Tp||={});var yh;(e=>{function i(n){return{kind:"progressMessage",content:pe.from(n.value)}}e.from=i;function t(n){return new Zd(n.content.value)}e.to=t})(yh||={});var Ih;(e=>{function i(n){return{kind:"thinking",value:n.value,id:n.id,metadata:n.metadata}}e.from=i;function t(n){return new si(n.value??"",n.id,n.metadata)}e.to=t})(Ih||={});var Jx;(e=>{function i(n){return{kind:"hook",hookType:n.hookType,stopReason:n.stopReason,systemMessage:n.systemMessage,metadata:n.metadata}}e.from=i;function t(n){return new qs(n.hookType,n.stopReason,n.systemMessage,n.metadata)}e.to=t})(Jx||={});var xh;(e=>{function i(n){return{kind:"warning",content:pe.from(n.value)}}e.from=i;function t(n){return new Ji(n.content.value)}e.to=t})(xh||={});var Xx;(e=>{function i(n){return{kind:"info",content:pe.from(n.value)}}e.from=i;function t(n){return new Ks(n.content.value)}e.to=t})(Xx||={});var GU;(t=>{function i(e){return{kind:"extensions",extensions:e.extensions}}t.from=i})(GU||={});var jU;(t=>{function i(e,n,o){let r;if(e.command)r=n.toInternal(e.command,o);else{if(!e.uri)throw new Error("Pull request part must have a command if URI is provided");r={title:"Open Pull Request",id:"vscode.open",arguments:[e.uri]}}return{kind:"pullRequest",author:e.author,title:e.title,description:e.description,uri:e.uri,linkTag:e.linkTag,command:r}}t.from=i})(jU||={});var QU;(e=>{function i(n){return{kind:"move",uri:n.uri,range:W.from(n.range)}}e.from=i;function t(n){return new Js(y.revive(n.uri),W.to(n.range))}e.to=t})(QU||={});var JU;(l=>{function i(d){let c,u;d.toolSpecificData&&t(d.toolSpecificData)?(c=e(d.toolSpecificData,d.isError),u=void 0):u=d.toolSpecificData?n(d.toolSpecificData):void 0;let m=d.presentation==="hidden"?"hidden":d.presentation==="hiddenAfterComplete"?"hiddenAfterComplete":void 0;return d.enablePartialUpdate?{kind:"externalToolInvocationUpdate",toolCallId:d.toolCallId,toolName:d.toolName,isComplete:!!d.isComplete,invocationMessage:d.invocationMessage?pe.from(d.invocationMessage):void 0,pastTenseMessage:d.pastTenseMessage?pe.from(d.pastTenseMessage):void 0,toolSpecificData:u,subagentInvocationId:d.subAgentInvocationId,resultDetails:c}:{kind:"toolInvocationSerialized",toolCallId:d.toolCallId,toolId:d.toolName,invocationMessage:d.invocationMessage?pe.from(d.invocationMessage):d.toolName,originMessage:d.originMessage?pe.from(d.originMessage):void 0,pastTenseMessage:d.pastTenseMessage?pe.from(d.pastTenseMessage):void 0,isConfirmed:d.isConfirmed,isComplete:!0,source:jt.External,toolSpecificData:u,resultDetails:c,presentation:m,subAgentInvocationId:d.subAgentInvocationId}}l.from=i;function t(d){return d!==null&&typeof d=="object"&&"input"in d&&typeof d.input=="string"&&"output"in d&&Array.isArray(d.output)}function e(d,c){return{input:d.input,output:d.output.map(u=>{let m=u.mimeType.startsWith("text/");return{type:"embed",mimeType:u.mimeType,value:m?te.wrap(u.data).toString():oo(te.wrap(u.data)),isText:m}}),isError:c??!1}}function n(d){return"command"in d&&"language"in d?{kind:"terminal",command:d.command,language:d.language}:"commandLine"in d&&"language"in d?{kind:"terminal",presentationOverrides:d.presentationOverrides&&typeof d.presentationOverrides.commandLine=="string"?{commandLine:d.presentationOverrides.commandLine,language:d.presentationOverrides.language}:void 0,commandLine:d.commandLine,language:d.language,terminalCommandOutput:typeof d.output?.text=="string"?{text:d.output.text}:void 0,terminalCommandState:d.state?{exitCode:d.state.exitCode,duration:d.state.duration}:void 0}:"todoList"in d&&Array.isArray(d.todoList)?{kind:"todoList",todoList:d.todoList.map(c=>({id:String(c.id),title:c.title,status:o(c.status)}))}:"input"in d&&"output"in d&&!Array.isArray(d.output)?{kind:"simpleToolInvocation",input:typeof d.input=="string"?d.input:"",output:typeof d.output=="string"?d.output:""}:d&&"values"in d&&Array.isArray(d.values)?{kind:"resources",values:d.values.map(c=>c instanceof Wt?Ur.from(c):y.revive(c))}:d instanceof ap?{kind:"subagent",description:d.description,agentName:d.agentName,prompt:d.prompt,result:d.result}:d}function o(d){switch(d){case 1:return"not-started";case 2:return"in-progress";case 3:return"completed";default:return"not-started"}}function r(d){switch(d){case"not-started":return 1;case"in-progress":return 2;case"completed":return 3;default:return 1}}function s(d){let c=new ec(d.toolId||d.toolName,d.toolCallId,d.errorMessage);return d.invocationMessage&&(c.invocationMessage=d.invocationMessage),d.originMessage&&(c.originMessage=d.originMessage),d.pastTenseMessage&&(c.pastTenseMessage=d.pastTenseMessage),d.isConfirmed!==void 0&&(c.isConfirmed=d.isConfirmed),d.isComplete!==void 0&&(c.isComplete=d.isComplete),d.toolSpecificData&&(c.toolSpecificData=a(d.toolSpecificData)),c.subAgentInvocationId=d.subAgentInvocationId,c.subAgentName=d.subAgentName,c}l.to=s;function a(d){if(d.kind==="terminal")if(d.commandLine){let c={commandLine:d.commandLine,language:d.language};return d.terminalCommandOutput&&(c.output={text:d.terminalCommandOutput.text,truncated:d.terminalCommandOutput.truncated,lineCount:d.terminalCommandOutput.lineCount}),d.terminalCommandState&&(c.state={exitCode:d.terminalCommandState.exitCode,duration:d.terminalCommandState.duration}),c}else return{command:d.command,language:d.language};else{if(d.kind==="terminal2")return{commandLine:d.commandLine,language:d.language};if(d.kind==="todoList")return{todoList:d.todoList.map((c,u)=>{let m=Number(c.id);return{id:Number.isFinite(m)?m:u,title:c.title,status:r(c.status)}})}}return d}})(JU||={});var Yx;(t=>{function i(e){return{kind:"progressTask",content:pe.from(e.value)}}t.from=i})(Yx||={});var jD;(t=>{function i(e){return{kind:"progressTaskResult",content:typeof e=="string"?pe.from(e):void 0}}t.from=i})(jD||={});var lh;(e=>{function i(n,o,r){return{kind:"command",command:o.toInternal(n.value,r)??{command:n.value.command,title:n.value.title}}}e.from=i;function t(n,o){return new Gs(o.fromInternal(n.command)??{command:n.command.id,title:n.command.title})}e.to=t})(lh||={});var Zx;(e=>{function i(n){return{kind:"textEdit",uri:n.uri,edits:n.edits.map(o=>pn.from(o)),done:n.isDone}}e.from=i;function t(n){let o=new Yi(y.revive(n.uri),n.edits.map(r=>pn.to(r)));return o.isDone=n.done,o}e.to=t})(Zx||={});var eC;(t=>{function i(e){return e.newCellMetadata?{editType:3,index:e.range.start,metadata:e.newCellMetadata}:e.newNotebookMetadata?{editType:5,metadata:e.newNotebookMetadata}:{editType:1,index:e.range.start,count:e.range.end-e.range.start,cells:e.newCells.map(rh.from)}}t.from=i})(eC||={});var tC;(t=>{function i(e){return{kind:"notebookEdit",uri:e.uri,edits:e.edits.map(eC.from),done:e.isDone}}t.from=i})(tC||={});var nC;(t=>{function i(e){return{kind:"workspaceEdit",edits:e.edits.map(n=>({oldResource:n.oldResource,newResource:n.newResource}))}}t.from=i})(nC||={});var cc;(e=>{function i(n){let o=Je.isThemeIcon(n.iconPath)?n.iconPath:y.isUri(n.iconPath)?{light:y.revive(n.iconPath)}:n.iconPath&&"light"in n.iconPath&&"dark"in n.iconPath&&y.isUri(n.iconPath.light)&&y.isUri(n.iconPath.dark)?{light:y.revive(n.iconPath.light),dark:y.revive(n.iconPath.dark)}:void 0;return typeof n.value=="object"&&"variableName"in n.value?{kind:"reference",reference:{variableName:n.value.variableName,value:y.isUri(n.value.value)||!n.value.value?n.value.value:Ur.from(n.value.value)},iconPath:o,options:n.options}:{kind:"reference",reference:y.isUri(n.value)||typeof n.value=="string"?n.value:Ur.from(n.value),iconPath:o,options:n.options}}e.from=i;function t(n){let o=_t(n),r=s=>y.isUri(s)?s:Ur.to(s);return new Or(typeof o.reference=="string"?o.reference:"variableName"in o.reference?{variableName:o.reference.variableName,value:o.reference.value&&r(o.reference.value)}:r(o.reference))}e.to=t})(cc||={});var oC;(t=>{function i(e){return{kind:"codeCitation",value:e.value,license:e.license,snippet:e.snippet}}t.from=i})(oC||={});var Rp;(n=>{function i(o,r,s){return o instanceof Ws?sh.from(o):o instanceof Qi?Tp.from(o):o instanceof Or?cc.from(o):o instanceof Zd?yh.from(o):o instanceof si?Ih.from(o):o instanceof qs?Jx.from(o):o instanceof zs?ah.from(o):o instanceof Xd?KU.from(o):o instanceof Gs?lh.from(o,r,s):o instanceof Yi?Zx.from(o):o instanceof Xs?tC.from(o):o instanceof ji?Gx.from(o):o instanceof js?Kx.from(o):o instanceof Ji?xh.from(o):o instanceof Ks?Xx.from(o):o instanceof $s?jx.from(o):o instanceof Xi?Qx.from(o):o instanceof Qs?oC.from(o):o instanceof Js?QU.from(o):o instanceof Cl?GU.from(o):o instanceof Sl?jU.from(o,r,s):o instanceof ec?JU.from(o):o instanceof Tl?nC.from(o):{kind:"markdownContent",content:pe.from("")}}n.from=i;function t(o,r){switch(o.kind){case"reference":return cc.to(o);case"markdownContent":case"inlineReference":case"progressMessage":case"treeData":case"command":return e(o,r)}}n.to=t;function e(o,r){switch(o.kind){case"markdownContent":return sh.to(o);case"inlineReference":return Tp.to(o);case"progressMessage":return;case"treeData":return ah.to(o);case"command":return lh.to(o,r)}}n.toContent=e})(Rp||={});var Ap;(t=>{function i(e,n,o,r,s,a,l,d){let c=[],u=[];for(let v of e.variables.variables)v.kind==="tool"?c.push(v):v.kind==="toolset"?c.push(...v.value):u.push(v);let m=cr.parseLocalSessionId(e.sessionResource)??e.sessionResource.toString(),g={id:e.requestId,prompt:e.message,command:e.command,attempt:e.attempt??0,enableCommandDetection:e.enableCommandDetection??!0,isParticipantDetected:e.isParticipantDetected??!1,sessionId:m,sessionResource:e.sessionResource,references:u.map(v=>iC.to(v,s,d)).filter(no),toolReferences:c.map(uc.to),location:Mp.to(e.location),acceptedConfirmationData:e.acceptedConfirmationData,rejectedConfirmationData:e.rejectedConfirmationData,location2:n,toolInvocationToken:Object.freeze({sessionResource:e.sessionResource,workingDirectory:y.revive(e.workingDirectory)}),tools:a,model:o,modelConfiguration:r,editedFileEvents:e.editedFileEvents,modeInstructions:e.modeInstructions?.content,modeInstructions2:fc.to(e.modeInstructions),permissionLevel:e.permissionLevel,subAgentInvocationId:e.subAgentInvocationId,subAgentName:e.subAgentName,parentRequestId:e.parentRequestId,hasHooksEnabled:e.hasHooksEnabled??!1,hooks:e.hooks?ZU.to(e.hooks):void 0,isSystemInitiated:e.isSystemInitiated};return De(l,"chatParticipantPrivate")||(delete g.id,delete g.attempt,delete g.enableCommandDetection,delete g.isParticipantDetected,delete g.location,delete g.location2,delete g.editedFileEvents,delete g.sessionId,delete g.subAgentInvocationId,delete g.subAgentName,delete g.parentRequestId,delete g.hasHooksEnabled,delete g.hooks),De(l,"chatParticipantAdditions")||(delete g.acceptedConfirmationData,delete g.rejectedConfirmationData,delete g.tools),g}t.to=i})(Ap||={});var Mp;(e=>{function i(n){switch(n){case"notebook":return 3;case"terminal":return 2;case"panel":return 1;case"editor":return 4}}e.to=i;function t(n){switch(n){case 3:return"notebook";case 2:return"terminal";case 1:return"panel";case 4:return"editor"}}e.from=t})(Mp||={});var rC;(t=>{function i(e){return e.id}t.from=i})(rC||={});var iC;(t=>{function i(e,n,o){let r=e.value;if(!r){let a;try{a=JSON.stringify(e)}catch{a=`kind=${e.kind}, id=${e.id}, name=${e.name}`}o.error(`[ChatPromptReference] Ignoring invalid reference in variable: ${a}`);return}if(wa(r))r=y.revive(r);else if(r&&typeof r=="object"&&"uri"in r&&"range"in r&&wa(r.uri))r=Ur.to(_t(r));else if(wL(e)){let a=e.references?.[0]?.reference;r=new bp(e.mimeType??"image/png",()=>Promise.resolve(new Uint8Array(Object.values(e.value))),a&&y.isUri(a)?a:void 0)}else if(e.kind==="diagnostic"){let a=e.filterSeverity&&Fx.to(e.filterSeverity),l=e.filterUri&&y.revive(e.filterUri).toString();r=new El(n.map(([d,c])=>e.filterUri&&d.toString()!==l?[d,[]]:[d,c.filter(u=>!(a&&u.severity>a||e.filterRange&&!Ne.areIntersectingOrTouching(e.filterRange,W.from(u.range))))]).filter(([,d])=>d.length>0))}let s;return(Cf(e)||kL(e))&&e.toolReferences&&(s=QD.to(e.toolReferences)),{id:e.id,name:e.name,range:e.range&&[e.range.start,e.range.endExclusive],toolReferences:s,value:r,modelDescription:e.modelDescription}}t.to=i})(iC||={});var uc;(t=>{function i(e){if(e.value)throw new Error("Invalid tool reference");return{name:e.id,range:e.range&&[e.range.start,e.range.endExclusive]}}t.to=i})(uc||={});var QD;(t=>{function i(e){let n=[];for(let o of e)if(o.kind==="tool")n.push(uc.to(o));else if(o.kind==="toolset")n.push(...o.value.map(uc.to));else throw new Error("Invalid tool reference in prompt variables");return n}t.to=i})(QD||={});var fc;(e=>{function i(n){if(n)return{uri:y.revive(n.uri),name:n.name,content:n.content,toolReferences:QD.to(_t(n.toolReferences)),metadata:n.metadata,isBuiltin:n.isBuiltin}}e.to=i;function t(n){if(n)return{uri:n.uri,name:n.name,content:n.content,toolReferences:n.toolReferences?.map(o=>({kind:"tool",id:o.name,name:o.name,value:void 0,range:o.range?{start:o.range[0],endExclusive:o.range[1]}:void 0}))??[],metadata:n.metadata,isBuiltin:n.isBuiltin}}e.from=t})(fc||={});var JD;(t=>{function i(e,n,o){return{id:e.id,label:e.label,fullName:e.fullName,icon:e.icon?.id,value:e.values[0].value,insertText:e.insertText,detail:e.detail,documentation:e.documentation,command:n.toInternal(e.command,o)}}t.from=i})(JD||={});var Op;(n=>{function i(o){return{errorDetails:o.errorDetails,metadata:e(o.metadata),nextQuestion:o.nextQuestion,details:o.details}}n.to=i;function t(o){return{errorDetails:o.errorDetails,metadata:o.metadata,nextQuestion:o.nextQuestion,details:o.details}}n.from=t;function e(o){return Ri(o,r=>{if(r.$mid===20)return new wl(Ri(r.content,e));if(r.$mid===21)return new $t(r.value);if(r.$mid===22)return new ai(r.value,r.id,r.metadata);if(r.$mid===23)return new Nr(r.value);if(r.$mid===24){let s;if(r.data&&typeof r.data=="object"&&r.data.type==="Buffer"&&Array.isArray(r.data.data))s=new Uint8Array(r.data.data);else if(typeof r.data=="string")try{s=go(r.data).buffer}catch{s=new Uint8Array(0)}else s=new Uint8Array(0);return new In(s,r.mimeType,r.audience)}})}})(Op||={});var XD;(t=>{function i(e,n,o){if(n.action.kind==="vote")return;let r=Op.to(e);if(n.action.kind==="command"){let s=n.action.commandButton.command;return{action:{kind:"command",commandButton:{command:o.fromInternal(s)??{command:s.id,title:s.title}}},result:r}}else return n.action.kind==="followUp"?{action:{kind:"followUp",followup:zx.to(n.action.followup)},result:r}:n.action.kind==="inlineChat"?{action:{kind:"editor",accepted:n.action.action==="accepted"},result:r}:n.action.kind==="chatEditingSessionAction"?{action:{kind:"chatEditingSessionAction",outcome:new Map([["accepted",1],["rejected",2],["saved",3]]).get(n.action.outcome)??2,uri:y.revive(n.action.uri),hasRemainingEdits:n.action.hasRemainingEdits},result:r}:n.action.kind==="chatEditingHunkAction"?{action:{kind:"chatEditingHunkAction",outcome:new Map([["accepted",1],["rejected",2]]).get(n.action.outcome)??2,uri:y.revive(n.action.uri),hasRemainingEdits:n.action.hasRemainingEdits,lineCount:n.action.lineCount,linesAdded:n.action.linesAdded,linesRemoved:n.action.linesRemoved},result:r}:{action:n.action,result:r}}t.to=i})(XD||={});var sC;(t=>{function i(e,n,o){return"terminalCommand"in e?{terminalCommand:e.terminalCommand,shouldExecute:e.shouldExecute}:"uri"in e?{uri:e.uri}:n.toInternal(e,o)}t.from=i})(sC||={});var kD;(t=>{function i(e){return{...e,documentation:pe.fromStrict(e.documentation)}}t.from=i})(kD||={});var YD;(t=>{function i(e,n){return Array.isArray(e)?{items:e.map(o=>kD.from(o))}:{items:e.items.map(o=>kD.from(o)),resourceOptions:e.resourceOptions?XU.from(e.resourceOptions,n):void 0}}t.from=i})(YD||={});var XU;(t=>{function i(e,n){return{...e,pathSeparator:n,cwd:e.cwd,globPattern:Co.from(e.globPattern)??void 0}}t.from=i})(XU||={});var ZD;(t=>{function i(e){return{kind:YU.to(e.kind),acceptedLength:e.acceptedLength}}t.to=i})(ZD||={});var YU;(t=>{function i(e){switch(e){case 0:return 1;case 1:return 2;case 2:return 3;default:return 0}}t.to=i})(YU||={});var eR;(t=>{function i(e,n){if(e.kind===2){let o=e.supersededBy?n(e.supersededBy):void 0;return{kind:2,supersededBy:o,userTypingDisagreed:e.userTypingDisagreed}}else if(e.kind===0)return{kind:0};return{kind:1}}t.to=i})(eR||={});var tR;(e=>{function i(n){return n===2?2:1}e.from=i;function t(n){return n===2?2:1}e.to=t})(tR||={});var nR;(t=>{function i(e,n){return{id:n,label:e.label,description:e.description,canEdit:e.canEdit,collapsibleState:e.collapsibleState||0,contextValue:e.contextValue}}t.from=i})(nR||={});var oR;(t=>{function i(e){return e.type==="mcp"?new Cp(e.label,e.serverLabel||e.label,e.instructions):e.type==="extension"?new xp(e.extensionId.value,e.label):void 0}t.to=i})(oR||={});var aC;(e=>{function i(n){let o=new wl(n.content.map(r=>r.kind==="text"?new $t(r.value,r.audience):r.kind==="data"?new In(r.value.data.buffer,r.value.mimeType,r.audience):new Nr(r.value)));return n.toolMetadata!==void 0&&(o.toolMetadata=n.toolMetadata),n.toolResultError&&(o.hasError=!!n.toolResultError),o}e.to=i;function t(n,o){n.toolResultMessage&&D(o,"chatParticipantPrivate");let r=d=>{d.audience&&D(o,"languageModelToolResultAudience")},s=!1,a;Array.isArray(n.toolResultDetails)?a=n.toolResultDetails?.map(d=>y.isUri(d)?d:Ur.from(d)):n.toolResultDetails2&&(a={output:{type:"data",mimeType:n.toolResultDetails2.mime,value:te.wrap(n.toolResultDetails2.value)}},s=!0);let l={content:n.content.map(d=>{if(d instanceof $t)return r(d),{kind:"text",value:d.value,audience:d.audience};if(d instanceof Nr)return{kind:"promptTsx",value:d.value};if(d instanceof In)return r(d),s=!0,{kind:"data",value:{mimeType:d.mimeType,data:te.wrap(d.data)},audience:d.audience};throw new Error("Unknown LanguageModelToolResult part type")}),toolResultMessage:pe.fromStrict(n.toolResultMessage),toolResultDetails:a,toolMetadata:n.toolMetadata,toolResultError:n.hasError};return s?new Ft(l):l}e.from=t})(aC||={});var di;(n=>{function i(o){return o}n.fromThemeIcon=i;function t(o){if(o){if(Je.isThemeIcon(o))return o;if(y.isUri(o))return o;if(typeof o=="string")return y.file(o);if(typeof o=="object"&&o!==null&&"dark"in o){let r=typeof o.dark=="string"?y.file(o.dark):o.dark,s=typeof o.light=="string"?y.file(o.light):o.light;return r?{dark:r,light:s??r}:void 0}else return}else return}n.from=t;function e(o){if(o){if(Je.isThemeIcon(o))return o;if(wa(o))return y.revive(o);{let r=o;return{light:y.revive(r.light),dark:y.revive(r.dark)}}}else return}n.to=e})(di||={});var rR;(e=>{function i(n){return{query:n.query,kind:t(n.kind),settings:n.settings}}e.fromSettingsSearchResult=i;function t(n){switch(n){case 1:return 1;case 2:return 2;case 3:return 3;default:throw new Error("Unknown AiSettingsSearchResultKind")}}})(rR||={});var Lp;(n=>{function i(o){return!!o.uri}function t(o){return Ld.toSerialized(i(o)?{type:2,uri:o.uri,headers:Object.entries(o.headers),authentication:o.authentication?{providerId:o.authentication.providerId,scopes:o.authentication.scopes}:void 0}:{type:1,cwd:o.cwd?.fsPath,args:o.args,command:o.command,env:o.env,envFile:void 0,sandbox:void 0})}n.from=t;function e(o){let r=Ld.fromSerialized(o.launch);if(r.type===2)return new oc(o.label,r.uri,Object.fromEntries(r.headers),o.cacheNonce==="$$NONE"?void 0:o.cacheNonce);{let s=new nc(o.label,r.command,[...r.args],Object.fromEntries(Object.entries(r.env).map(([a,l])=>[a,l===null?null:String(l)])),o.cacheNonce==="$$NONE"?void 0:o.cacheNonce);return r.cwd&&(s.cwd=y.file(r.cwd)),s}}n.to=e})(Lp||={});var iR;(t=>{function i(e){switch(e){case 0:return 0;case 1:return 1;case 2:return 2;default:throw new Error("Unknown SourceControlInputBoxValidationType")}}t.from=i})(iR||={});var ZU;(t=>{function i(e){let n={};for(let[o,r]of Object.entries(e)){if(!r||r.length===0)continue;let s=[];for(let a of r){let l=eF.to(a);l&&s.push(l)}s.length>0&&(n[o]=s)}return n}t.to=i})(ZU||={});var eF;(t=>{function i(e){let n=ON(e,Si);if(n)return{command:n,cwd:e.cwd,env:e.env,timeout:e.timeout}}t.to=i})(eF||={});var ra;(e=>{function i(n){if(n!==void 0)switch(n){case 0:return 0;case 1:return 1;case 2:return 2;case 3:return 3;default:return}}function t(n){let o=n.timing,r=o?.created??o?.startTime??0,s=o?.lastRequestStarted??o?.startTime,a=o?.lastRequestEnded??o?.endTime;return{resource:n.resource,label:n.label,description:n.description?pe.from(n.description):void 0,badge:n.badge?pe.from(n.badge):void 0,status:i(n.status),archived:n.archived,tooltip:pe.fromStrict(n.tooltip),timing:{created:r,lastRequestStarted:s,lastRequestEnded:a},changes:n.changes instanceof Array?n.changes:void 0,metadata:n.metadata,legacyResource:n.legacyResource}}e.from=t})(ra||={});var Jo=class{constructor(t,e,n){this.uri=t;this.ranges=e;this.previewText=n}},_l=class{constructor(t,e,n){this.uri=t;this.text=e;this.lineNumber=n}},hc=class{constructor(t){this.keyword=t}},lC=(n=>(n[n.None=1]="None",n[n.FilesExclude=2]="FilesExclude",n[n.SearchAndFilesExclude=3]="SearchAndFilesExclude",n))(lC||{}),Ch=(e=>(e[e.Information=1]="Information",e[e.Warning=2]="Warning",e))(Ch||{});var uC=2e4,tF="\u27EA ",nF=" characters skipped \u27EB",U7=(tF.length+nF.length+5)*2,F7=A("searchService");function aR(i){return!!i.rangeLocations&&!!i.previewText}var dC=class{constructor(t,e,n,o){this.rangeLocations=[];this.webviewIndex=o;let r=Array.isArray(e)?e:[e];if(n&&n.matchLines===1&&H7(r)){t=j0(t,n.matchLines);let s="",a=0,l=0,d=Math.floor(n.charsPerLine/5);for(let c of r){let u=Math.max(c.startColumn-d,0),m=c.startColumn+n.charsPerLine;if(u>l+d+U7){let g=tF+(u-l)+nF;s+=g+t.slice(u,m),a+=u-(l+g.length)}else s+=t.slice(l,m);l=m,this.rangeLocations.push({source:c,preview:new sR(0,c.startColumn-a,c.endColumn-a)})}this.previewText=s}else{let s=Array.isArray(e)?e[0].startLineNumber:e.startLineNumber,a=Dg(e,l=>({preview:new cC(l.startLineNumber-s,l.startColumn,l.endLineNumber-s,l.endColumn),source:l}));this.rangeLocations=Array.isArray(a)?a:[a],this.previewText=t}}};function H7(i){let t=i[0].startLineNumber;for(let e of i)if(e.startLineNumber!==t||e.endLineNumber!==t)return!1;return!0}var cC=class{constructor(t,e,n,o){this.startLineNumber=t,this.startColumn=e,this.endLineNumber=n,this.endColumn=o}},sR=class extends cC{constructor(t,e,n){super(t,e,t,n)}};function oF(i,t=!0){let e=i&&i.files&&i.files.exclude,n=t&&i&&i.search&&i.search.exclude;if(!e&&!n)return;if(!e||!n)return e||n||void 0;let o=Object.create(null);return o=wr(o,ht(e)),o=wr(o,ht(n),!0),o}function pC(i,t){let e=i.ignoreGlobCase?{ignoreCase:!0}:void 0;return i.excludePattern&&Go(i.excludePattern,t,e)?!1:i.includePattern||i.usingSearchPaths?i.includePattern&&Go(i.includePattern,t,e)?!0:i.usingSearchPaths?!!i.folderQueries&&i.folderQueries.some(n=>{let o=n.folder.fsPath;if(fd(t,o,i.ignoreGlobCase)){let r=hs(o,t);return!n.includePattern||!!Go(n.includePattern,r,e)}else return!1}):!1:!0}function Dl(i,t){let e={...i||{},...t||{}};return Object.keys(e).filter(n=>{let o=e[n];return typeof o=="boolean"&&o})}var Np=class{constructor(t,e){this._parsedIncludeExpression=null;let n=t.ignoreGlobCase||e.ignoreGlobCase?{ignoreCase:!0}:void 0;this._excludeExpression=e.excludePattern?.map(r=>({...t.excludePattern||{},...r.pattern||{}}))??[],this._excludeExpression.length===0&&(this._excludeExpression=[t.excludePattern||{}]),this._parsedExcludeExpression=this._excludeExpression.map(r=>Zr(r,n));let o=t.includePattern;e.includePattern&&(o?o={...o,...e.includePattern}:o=e.includePattern),o&&(this._parsedIncludeExpression=Zr(o,n))}_evalParsedExcludeExpression(t,e,n){let o=null;for(let r of this._parsedExcludeExpression){let s=r(t,e,n);if(typeof s=="string"){o=s;break}}return o}matchesExcludesSync(t,e,n){return!!(this._parsedExcludeExpression&&this._evalParsedExcludeExpression(t,e,n))}includedInQuerySync(t,e,n){return!(this._parsedExcludeExpression&&this._evalParsedExcludeExpression(t,e,n)||this._parsedIncludeExpression&&!this._parsedIncludeExpression(t,e,n))}includedInQuery(t,e,n){let o=()=>this._parsedIncludeExpression?!!this._parsedIncludeExpression(t,e,n):!0;return Promise.all(this._parsedExcludeExpression.map(r=>{let s=r(t,e,n);return Tr(s)?s.then(a=>a?!1:o()):o()})).then(r=>r.some(s=>!!s))}hasSiblingExcludeClauses(){return this._excludeExpression.reduce((t,e)=>V7(e)||t,!1)}};function V7(i){for(let t in i)if(typeof i[t]!="boolean")return!0;return!1}function rF(i){if(!i)return;let t;return e=>(t||(t=(i()||Promise.resolve([])).then(n=>n?sF(n):{})),t.then(n=>!!n[e]))}function iF(i){if(!i)return;let t;return e=>{if(!t){let n=i();t=n?sF(n):{}}return!!t[e]}}function sF(i){let t={};for(let e of i)t[e]=!0;return t}function mC(i){return i.flatMap(t=>t.patterns.map(e=>t.baseUri?{baseUri:t.baseUri,pattern:e}:e))}var Sh={matchLines:100,charsPerLine:1e4};var B7=!1,dR=class{constructor(t,e,n){this.id=t;this.dependencies=e;this.callback=n}};var cR=class i{constructor(){this._isWebWorker=typeof self=="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope";this._isRenderer=typeof document=="object";this._defineCalls=[];this._state=1}static{this.INSTANCE=new i}_initialize(){if(this._state===1){if(globalThis.define){this._state=3;return}}else return;this._state=2,globalThis.define=(t,e,n)=>{typeof t!="string"&&(n=e,e=t,t=null),(typeof e!="object"||!Array.isArray(e))&&(n=e,e=null),this._defineCalls.push(new dR(t,e,n))},globalThis.define.amd=!0,this._isRenderer?this._amdPolicy=globalThis._VSCODE_WEB_PACKAGE_TTP??window.trustedTypes?.createPolicy("amdLoader",{createScriptURL(t){if(t.startsWith(window.location.origin)||t.startsWith(`${K.vscodeFileResource}://${xw}`))return t;throw new Error(`[trusted_script_src] Invalid script url: ${t}`)}}):this._isWebWorker&&(this._amdPolicy=globalThis._VSCODE_WEB_PACKAGE_TTP??globalThis.trustedTypes?.createPolicy("amdLoader",{createScriptURL(t){return t}}))}async load(t){if(this._initialize(),this._state===3)return new Promise(s=>{let a=We();globalThis.define(a,[t],function(l){s(l)})});let e=await(this._isWebWorker?this._workerLoadScript(t):this._isRenderer?this._rendererLoadScript(t):this._nodeJSLoadScript(t));if(!e){console.warn(`Did not receive a define call from script ${t}`);return}let n={},o=[],r=[];if(Array.isArray(e.dependencies))for(let s of e.dependencies)s==="exports"?o.push(n):r.push(s);if(r.length>0)throw new Error(`Cannot resolve dependencies for script ${t}. The dependencies are: ${r.join(", ")}`);return typeof e.callback=="function"?e.callback(...o)??n:e.callback}_rendererLoadScript(t){return new Promise((e,n)=>{let o=document.createElement("script");o.setAttribute("async","async"),o.setAttribute("type","text/javascript");let r=()=>{o.removeEventListener("load",s),o.removeEventListener("error",a)},s=l=>{r(),e(this._defineCalls.pop())},a=l=>{r(),n(l)};o.addEventListener("load",s),o.addEventListener("error",a),this._amdPolicy&&(t=this._amdPolicy.createScriptURL(t)),o.setAttribute("src",t),window.document.getElementsByTagName("head")[0].appendChild(o)})}async _workerLoadScript(t){return this._amdPolicy&&(t=this._amdPolicy.createScriptURL(t)),await import(t),this._defineCalls.pop()}async _nodeJSLoadScript(t){try{let e=(await import("fs")).default,n=(await import("vm")).default,o=(await import("module")).default,r=y.parse(t).fsPath,s=e.readFileSync(r).toString(),a=o.wrap(s.replace(/^#!.*/,""));return new n.Script(a).runInThisContext().apply(),this._defineCalls.pop()}catch(e){throw e}}},lR=new Map;async function gC(i,t,e){e===void 0&&(e=!!(globalThis._VSCODE_PRODUCT_JSON??globalThis.vscode?.context?.configuration()?.product)?.commit);let n=t?`${i}/${t}`:i;if(lR.has(n))return lR.get(n);let o;if(/^\w[\w\d+.-]*:\/\//.test(n))o=n;else{let l=`${B7&&e&&!nr?nO:tO}/${n}`;o=cb.asBrowserUri(l).toString(!0)}let r=cR.INSTANCE.load(o);return lR.set(n,r),r}var Eh="utf8",fR="utf8bom",hC="utf16be",vC="utf16le";var fC=[254,255],pR=[255,254],Th=[239,187,191],W7=512,$7=512,z7=512*8,q7=512*128;var mR=class extends Error{constructor(e,n){super(e);this.decodeStreamErrorKind=n}},gR=class i{constructor(t){this.iconvLiteDecoder=t}static async create(t){let e;if(t!==Eh)e=(await gC("@vscode/iconv-lite-umd","lib/iconv-lite-umd.js")).getDecoder(dF(t));else{let n=new TextDecoder;e={write(o){return n.decode(o,{stream:!0})},end(){return n.decode()}}}return new i(e)}write(t){return this.iconvLiteDecoder.write(t)}end(){return this.iconvLiteDecoder.end()}};function aF(i,t){let e=t.minBytesRequiredForDetection??(t.guessEncoding?z7:$7);return new Promise((n,o)=>{let r=Nv(u=>u.join("")),s=[],a=0,l,d=new Me,c=async()=>{try{let u=await Z7({buffer:te.concat(s),bytesRead:a},t.guessEncoding,t.candidateGuessEncodings);if(u.seemsBinary&&t.acceptTextOnly)throw new mR("Stream is binary but only text is accepted for decoding",1);u.encoding=await t.overwriteEncoding(u.encoding),l=await gR.create(u.encoding);let m=l.write(te.concat(s).buffer);r.write(m),s.length=0,a=0,n({stream:r,detected:u})}catch(u){d.cancel(),r.destroy(),o(u)}};VE(i,{onData:async u=>{l?r.write(l.write(u.buffer)):(s.push(u),a+=u.byteLength,a>=e&&(i.pause(),await c(),setTimeout(()=>i.resume())))},onError:u=>r.error(u),onEnd:async()=>{l||await c(),r.end(l?.end())}},d.token)})}async function lF(i,t,e){let o=(await gC("@vscode/iconv-lite-umd","lib/iconv-lite-umd.js")).getEncoder(dF(t),e),r=!1,s=!1;return{read(){if(s)return null;let a=i.read();if(typeof a!="string"){if(s=!0,!r&&e?.addBOM)switch(t){case Eh:case fR:return te.wrap(Uint8Array.from(Th));case hC:return te.wrap(Uint8Array.from(fC));case vC:return te.wrap(Uint8Array.from(pR))}let l=o.end();return l&&l.length>0?(r=!0,te.wrap(l)):null}return r=!0,te.wrap(o.write(a))}}}function dF(i){return i===fR||i===null?Eh:i}function K7(i,t){if(!i||t<fC.length)return null;let e=i.readUInt8(0),n=i.readUInt8(1);if(e===fC[0]&&n===fC[1])return hC;if(e===pR[0]&&n===pR[1])return vC;if(t<Th.length)return null;let o=i.readUInt8(2);return e===Th[0]&&n===Th[1]&&o===Th[2]?fR:null}var G7=["ascii","utf-16","utf-32"];async function j7(i,t){let e=await gC("jschardet","dist/jschardet.min.js"),n=i.slice(0,q7),o=Y7(n.buffer);t&&(t=it(t.map(a=>X7(a))),t.length===0&&(t=void 0));let r;try{r=e.detect(o,t?{detectEncodings:t}:void 0)}catch{return null}if(!r?.encoding)return null;let s=r.encoding.toLowerCase();return 0<=G7.indexOf(s)?null:J7(r.encoding)}var Q7={ibm866:"cp866",big5:"cp950"};function cF(i){return i.replace(/[^a-zA-Z0-9]/g,"").toLowerCase()}function J7(i){let t=cF(i);return Q7[t]||t}function X7(i){let t=cF(i),e=e$[t];return e?e.guessableName:void 0}function Y7(i){let t="";for(let e=0;e<i.length;e++)t+=String.fromCharCode(i[e]);return t}function Z7({buffer:i,bytesRead:t},e,n){let o=K7(i,t),r=!1;if(o!==hC&&o!==vC&&i){let s=!0,a=!0,l=!1;for(let d=0;d<t&&d<W7;d++){let c=d%2===1,u=i.readUInt8(d)===0;if(u&&(l=!0),s&&(c&&!u||!c&&u)&&(s=!1),a&&(c&&u||!c&&!u)&&(a=!1),u&&!s&&!a)break}l&&(s?o=vC:a?o=hC:r=!0)}return e&&!r&&!o&&i?j7(i.slice(0,t),n).then(s=>({seemsBinary:!1,encoding:s})):{seemsBinary:r,encoding:o}}var uR={utf8:{labelLong:"UTF-8",labelShort:"UTF-8",order:1,alias:"utf8bom",guessableName:"UTF-8"},utf8bom:{labelLong:"UTF-8 with BOM",labelShort:"UTF-8 with BOM",encodeOnly:!0,order:2,alias:"utf8"},utf16le:{labelLong:"UTF-16 LE",labelShort:"UTF-16 LE",order:3,guessableName:"UTF-16LE"},utf16be:{labelLong:"UTF-16 BE",labelShort:"UTF-16 BE",order:4,guessableName:"UTF-16BE"},windows1252:{labelLong:"Western (Windows 1252)",labelShort:"Windows 1252",order:5,guessableName:"windows-1252"},iso88591:{labelLong:"Western (ISO 8859-1)",labelShort:"ISO 8859-1",order:6},iso88593:{labelLong:"Western (ISO 8859-3)",labelShort:"ISO 8859-3",order:7},iso885915:{labelLong:"Western (ISO 8859-15)",labelShort:"ISO 8859-15",order:8},macroman:{labelLong:"Western (Mac Roman)",labelShort:"Mac Roman",order:9},cp437:{labelLong:"DOS (CP 437)",labelShort:"CP437",order:10},windows1256:{labelLong:"Arabic (Windows 1256)",labelShort:"Windows 1256",order:11},iso88596:{labelLong:"Arabic (ISO 8859-6)",labelShort:"ISO 8859-6",order:12},windows1257:{labelLong:"Baltic (Windows 1257)",labelShort:"Windows 1257",order:13},iso88594:{labelLong:"Baltic (ISO 8859-4)",labelShort:"ISO 8859-4",order:14},iso885914:{labelLong:"Celtic (ISO 8859-14)",labelShort:"ISO 8859-14",order:15},windows1250:{labelLong:"Central European (Windows 1250)",labelShort:"Windows 1250",order:16,guessableName:"windows-1250"},iso88592:{labelLong:"Central European (ISO 8859-2)",labelShort:"ISO 8859-2",order:17,guessableName:"ISO-8859-2"},cp852:{labelLong:"Central European (CP 852)",labelShort:"CP 852",order:18},windows1251:{labelLong:"Cyrillic (Windows 1251)",labelShort:"Windows 1251",order:19,guessableName:"windows-1251"},cp866:{labelLong:"Cyrillic (CP 866)",labelShort:"CP 866",order:20,guessableName:"IBM866"},cp1125:{labelLong:"Cyrillic (CP 1125)",labelShort:"CP 1125",order:21,guessableName:"IBM1125"},iso88595:{labelLong:"Cyrillic (ISO 8859-5)",labelShort:"ISO 8859-5",order:22,guessableName:"ISO-8859-5"},koi8r:{labelLong:"Cyrillic (KOI8-R)",labelShort:"KOI8-R",order:23,guessableName:"KOI8-R"},koi8u:{labelLong:"Cyrillic (KOI8-U)",labelShort:"KOI8-U",order:24},iso885913:{labelLong:"Estonian (ISO 8859-13)",labelShort:"ISO 8859-13",order:25},windows1253:{labelLong:"Greek (Windows 1253)",labelShort:"Windows 1253",order:26,guessableName:"windows-1253"},iso88597:{labelLong:"Greek (ISO 8859-7)",labelShort:"ISO 8859-7",order:27,guessableName:"ISO-8859-7"},windows1255:{labelLong:"Hebrew (Windows 1255)",labelShort:"Windows 1255",order:28,guessableName:"windows-1255"},iso88598:{labelLong:"Hebrew (ISO 8859-8)",labelShort:"ISO 8859-8",order:29,guessableName:"ISO-8859-8"},iso885910:{labelLong:"Nordic (ISO 8859-10)",labelShort:"ISO 8859-10",order:30},iso885916:{labelLong:"Romanian (ISO 8859-16)",labelShort:"ISO 8859-16",order:31},windows1254:{labelLong:"Turkish (Windows 1254)",labelShort:"Windows 1254",order:32},iso88599:{labelLong:"Turkish (ISO 8859-9)",labelShort:"ISO 8859-9",order:33},cp857:{labelLong:"Turkish (CP 857)",labelShort:"CP 857",order:34},windows1258:{labelLong:"Vietnamese (Windows 1258)",labelShort:"Windows 1258",order:35},gbk:{labelLong:"Simplified Chinese (GBK)",labelShort:"GBK",order:36},gb18030:{labelLong:"Simplified Chinese (GB18030)",labelShort:"GB18030",order:37},cp950:{labelLong:"Traditional Chinese (Big5)",labelShort:"Big5",order:38,guessableName:"Big5"},big5hkscs:{labelLong:"Traditional Chinese (Big5-HKSCS)",labelShort:"Big5-HKSCS",order:39},shiftjis:{labelLong:"Japanese (Shift JIS)",labelShort:"Shift JIS",order:40,guessableName:"SHIFT_JIS"},eucjp:{labelLong:"Japanese (EUC-JP)",labelShort:"EUC-JP",order:41,guessableName:"EUC-JP"},euckr:{labelLong:"Korean (EUC-KR)",labelShort:"EUC-KR",order:42,guessableName:"EUC-KR"},windows874:{labelLong:"Thai (Windows 874)",labelShort:"Windows 874",order:43},iso885911:{labelLong:"Latin/Thai (ISO 8859-11)",labelShort:"ISO 8859-11",order:44},koi8ru:{labelLong:"Cyrillic (KOI8-RU)",labelShort:"KOI8-RU",order:45},koi8t:{labelLong:"Tajik (KOI8-T)",labelShort:"KOI8-T",order:46},gb2312:{labelLong:"Simplified Chinese (GB 2312)",labelShort:"GB 2312",order:47,guessableName:"GB2312"},cp865:{labelLong:"Nordic DOS (CP 865)",labelShort:"CP 865",order:48},cp850:{labelLong:"Western European DOS (CP 850)",labelShort:"CP 850",order:49}},e$=(()=>{let i={};for(let t in uR)uR[t].guessableName&&(i[t]=uR[t]);return i})();var tIe=A("textFileService");function uF(i){let t=!1;return{read(){return t?null:(t=!0,i)}}}function kh(i,t,e){return new Di(n=>yC(n,e)).isEqual(i,t)}function t$(i,t,e){return kh(i.uri,t.uri,e)?0:Kr(i.uri.toString(),t.uri.toString())}function n$(i,t,e){return i.index!==t.index?i.index<t.index?-1:1:kh(i.uri,t.uri,e)?Kr(i.name,t.name):Kr(i.uri.toString(),t.uri.toString())}function mF(i,t,e,n){let o=i.slice(0).sort((s,a)=>e(s,a,n)),r=t.slice(0).sort((s,a)=>e(s,a,n));return AM(o,r,(s,a)=>e(s,a,n))}function yC(i,t){let e=t.getCapabilities(i.scheme);return!(e&&e&1024)}var wh=class i extends Hb{constructor(e,n,o,r,s,a,l){super(e,o.map(d=>new uf(d)),r,s,l);this._name=n;this._isUntitled=a;this._workspaceFolders=[];this._structure=Do.forUris(l,()=>!0),o.forEach(d=>{this._workspaceFolders.push(d),this._structure.set(d.uri,d)})}static toExtHostWorkspace(e,n,o,r){if(!e)return{workspace:null,added:[],removed:[]};let{id:s,name:a,folders:l,configuration:d,transient:c,isUntitled:u}=e,m=[],g=n;n?l.forEach((C,E)=>{let k=y.revive(C.uri),O=i._findFolder(o||n,k,r);O?(O.name=C.name,O.index=C.index,m.push(O)):m.push({uri:k,name:C.name,index:E})}):m.push(...l.map(({uri:C,name:E,index:k})=>({uri:y.revive(C),name:E,index:k}))),m.sort((C,E)=>C.index<E.index?-1:1);let v=new i(s,a,m,!!c,d?y.revive(d):null,!!u,C=>yC(C,r)),{added:f,removed:x}=mF(g?g.workspaceFolders:[],v.workspaceFolders,t$,r);return{workspace:v,added:f,removed:x}}static _findFolder(e,n,o){for(let r=0;r<e.folders.length;r++){let s=e.workspaceFolders[r];if(kh(s.uri,n,o))return s}}get name(){return this._name}get isUntitled(){return this._isUntitled}get workspaceFolders(){return this._workspaceFolders.slice(0)}getWorkspaceFolder(e,n){return n&&this._structure.get(e)&&(e=sr(e)),this._structure.findSubstr(e)}resolveWorkspaceFolder(e){return this._structure.get(e)}},Up=class{constructor(t,e,n,o,r){this._onDidChangeWorkspace=new w;this.onDidChangeWorkspace=this._onDidChangeWorkspace.event;this._onDidGrantWorkspaceTrust=new w;this.onDidGrantWorkspaceTrust=this._onDidGrantWorkspaceTrust.event;this._onDidChangeWorkspaceTrustedFolders=new w;this.onDidChangeWorkspaceTrustedFolders=this._onDidChangeWorkspaceTrustedFolders.event;this._activeSearchCallbacks=[];this._trusted=!1;this._editSessionIdentityProviders=new Map;this._providerHandlePool=0;this._onWillCreateEditSessionIdentityEvent=new Ti;this._canonicalUriProviders=new Map;this._logService=o,this._extHostFileSystemInfo=n,this._uriTransformerService=r,this._requestIdProvider=new Nb,this._barrier=new An,this._proxy=t.getProxy(L.MainThreadWorkspace),this._messageService=t.getProxy(L.MainThreadMessageService),this._telemetryProxy=t.getProxy(L.MainThreadTelemetry);let s=e.workspace;this._confirmedWorkspace=s?new wh(s.id,s.name,[],!!s.transient,s.configuration?y.revive(s.configuration):null,!!s.isUntitled,a=>yC(a,n)):void 0}$setConfigProvider(t){this._configProvider=t}_useIgnoreFilesInFindFiles(){return this._configProvider?.getConfiguration("search").get("experimental.useIgnoreFilesInFindFiles")??!1}_userIgnoreFilesSetting(){return this._configProvider?.getConfiguration("search").get("useIgnoreFiles")??!0}$initializeWorkspace(t,e){this._trusted=e,this.$acceptWorkspaceData(t),this._barrier.open()}waitForInitializeCall(){return this._barrier.wait()}get workspace(){return this._actualWorkspace}get name(){return this._actualWorkspace?this._actualWorkspace.name:void 0}get workspaceFile(){if(this._actualWorkspace&&this._actualWorkspace.configuration)return this._actualWorkspace.isUntitled?y.from({scheme:K.untitled,path:tt(sr(this._actualWorkspace.configuration))}):this._actualWorkspace.configuration}get _actualWorkspace(){return this._unconfirmedWorkspace||this._confirmedWorkspace}getWorkspaceFolders(){if(this._actualWorkspace)return this._actualWorkspace.workspaceFolders.slice(0)}async getWorkspaceFolders2(){if(await this._barrier.wait(),!!this._actualWorkspace)return this._actualWorkspace.workspaceFolders.slice(0)}updateWorkspaceFolders(t,e,n,...o){let r=[];if(Array.isArray(o)&&o.forEach(c=>{y.isUri(c.uri)&&!r.some(u=>kh(u.uri,c.uri,this._extHostFileSystemInfo))&&r.push({uri:c.uri,name:c.name||qg(c.uri)})}),this._unconfirmedWorkspace||[e,n].some(c=>typeof c!="number"||c<0)||n===0&&r.length===0)return!1;let s=this._actualWorkspace?this._actualWorkspace.workspaceFolders:[];if(e+n>s.length)return!1;let a=s.slice(0);a.splice(e,n,...r.map(c=>({uri:c.uri,name:c.name||qg(c.uri),index:void 0})));for(let c=0;c<a.length;c++){let u=a[c];if(a.some((m,g)=>g!==c&&kh(u.uri,m.uri,this._extHostFileSystemInfo)))return!1}a.forEach((c,u)=>c.index=u);let{added:l,removed:d}=mF(s,a,n$,this._extHostFileSystemInfo);if(l.length===0&&d.length===0)return!1;if(this._proxy){let c=t.displayName||t.name;this._proxy.$updateWorkspaceFolders(c,e,n,r).then(void 0,u=>{this._unconfirmedWorkspace=void 0;let m={source:{identifier:t.identifier,label:t.displayName||t.name}};this._messageService.$showMessage(DO.Error,p(4386,null,c,u.toString()),m,[])})}return this.trySetWorkspaceFolders(a),!0}getWorkspaceFolder(t,e){if(this._actualWorkspace)return this._actualWorkspace.getWorkspaceFolder(t,e)}async getWorkspaceFolder2(t,e){if(await this._barrier.wait(),!!this._actualWorkspace)return this._actualWorkspace.getWorkspaceFolder(t,e)}async resolveWorkspaceFolder(t){if(await this._barrier.wait(),!!this._actualWorkspace)return this._actualWorkspace.resolveWorkspaceFolder(t)}getPath(){if(!this._actualWorkspace)return;let{folders:t}=this._actualWorkspace;if(t.length!==0)return t[0].uri.fsPath}getRelativePath(t,e){let n,o="";if(typeof t=="string"?(n=y.file(t),o=t):typeof t<"u"&&(n=t,o=t.fsPath),!n)return o;let r=this.getWorkspaceFolder(n,!0);if(!r)return o;typeof e>"u"&&this._actualWorkspace&&(e=this._actualWorkspace.folders.length>1);let s=Kg(r.uri,n);return e&&r.name&&(s=`${r.name}/${s}`),s}trySetWorkspaceFolders(t){this._actualWorkspace&&(this._unconfirmedWorkspace=wh.toExtHostWorkspace({id:this._actualWorkspace.id,name:this._actualWorkspace.name,configuration:this._actualWorkspace.configuration,folders:t,isUntitled:this._actualWorkspace.isUntitled},this._actualWorkspace,void 0,this._extHostFileSystemInfo).workspace||void 0)}$acceptWorkspaceData(t){let{workspace:e,added:n,removed:o}=wh.toExtHostWorkspace(t,this._confirmedWorkspace,this._unconfirmedWorkspace,this._extHostFileSystemInfo);this._confirmedWorkspace=e||void 0,this._unconfirmedWorkspace=void 0,this._onDidChangeWorkspace.fire(Object.freeze({added:n,removed:o}))}findFiles(t,e,n,o,r=ye.None){this._logService.trace(`extHostWorkspace#findFiles: fileSearch, extension: ${o.value}, entryPoint: findFiles`);let s="",a=!0;e===null?a=!1:e!==void 0&&(typeof e=="string"?s=e:s=e.pattern);let d=this._useIgnoreFilesInFindFiles()&&e!==null?void 0:!1;return this._findFilesImpl({type:"include",value:t},{exclude:[s],maxResults:n,useExcludeSettings:a?2:1,useIgnoreFiles:{local:d}},o,"findFiles",{useIgnoreFilesLocal:void 0,excludeWasNull:e===null},r)}findFiles2(t,e={},n,o=ye.None){return this._logService.trace(`extHostWorkspace#findFiles2New: fileSearch, extension: ${n.value}, entryPoint: findFiles2New`),this._findFilesImpl({type:"filePatterns",value:t},e,n,"findFiles2",{useIgnoreFilesLocal:e.useIgnoreFiles?.local,excludeWasNull:!1},o)}async _findFilesImpl(t,e,n,o,r,s){let a=r.useIgnoreFilesLocal===!0?"true":r.useIgnoreFilesLocal===!1?"false":"unspecified",l=new Hn(!0),d=0,c=this._userIgnoreFilesSetting(),u=0,m=!1,g=!1;try{if(s.isCancellationRequested)return m=!0,[];let v=t.type==="include"?[t.value]:t.value??[];if(!Array.isArray(v))throw console.error("Invalid file pattern provided",v),new Error(`Invalid file pattern provided ${JSON.stringify(v)}`);let f=v.map(E=>{let k=pF(e.exclude),O={ignoreSymlinks:typeof e.followSymlinks=="boolean"?!e.followSymlinks:void 0,disregardIgnoreFiles:typeof e.useIgnoreFiles?.local=="boolean"?!e.useIgnoreFiles.local:void 0,disregardGlobalIgnoreFiles:typeof e.useIgnoreFiles?.global=="boolean"?!e.useIgnoreFiles.global:void 0,disregardParentIgnoreFiles:typeof e.useIgnoreFiles?.parent=="boolean"?!e.useIgnoreFiles.parent:void 0,disregardExcludeSettings:e.useExcludeSettings!==void 0&&e.useExcludeSettings===1,disregardSearchExcludeSettings:e.useExcludeSettings!==void 0&&e.useExcludeSettings!==3,maxResults:e.maxResults,excludePattern:k.length>0?k:void 0,ignoreGlobCase:e.caseInsensitive,_reason:"startFileSearch",shouldGlobSearch:t.type==="include"?void 0:!0},N=bC(Co.from(E)),H=N?.folder;return t.type==="include"?O.includePattern=N?.pattern:O.filePattern=N?.pattern,{folder:H,options:O}});d=f.length;let x=this._userIgnoreFilesSetting();c=f.every(E=>E.options.disregardIgnoreFiles===!0?!1:E.options.disregardIgnoreFiles===!1?!0:x);let C=await this._findFilesBase(f,s);return u=C.length,m=s.isCancellationRequested,C}catch(v){throw g=!0,m=s.isCancellationRequested,v}finally{this._reportFindFilesTelemetry({extensionId:n.value,apiKind:o,respectedIgnoreFiles:c,useIgnoreFilesLocalRequested:a,excludeWasNull:r.excludeWasNull,resultCount:u,durationMs:l.elapsed(),queryCount:d,cancelled:m,errored:g})}}async _findFilesBase(t,e){let n=e,o;if(!ye.isCancellationToken(e)){o=new Me;let d=e;typeof d.onCancellationRequested=="function"&&d.onCancellationRequested(()=>o.cancel()),n=o.token}let s=(await Promise.all(t?.map(d=>this._proxy.$startFileSearch(d.folder??null,d.options,n).then(c=>Array.isArray(c)?c.map(u=>y.revive(u)):[]))??[])).flat();o?.dispose();let a=new Di(d=>yC(d,this._extHostFileSystemInfo)),l=new Map;for(let d of s){let c=a.getComparisonKey(d);l.has(c)||l.set(c,d)}return Array.from(l.values())}_reportFindFilesTelemetry(t){this._telemetryProxy.$publicLog2("extHostFindFiles",t)}findTextInFiles2(t,e,n,o=ye.None){this._logService.trace(`extHostWorkspace#findTextInFiles2: textSearch, extension: ${n.value}, entryPoint: findTextInFiles2`);let r=m=>{if(!e)return{folder:void 0,options:{}};let g=m?bC(Co.from(m)):void 0,v=e.exclude?pF(e.exclude):void 0;return{options:{ignoreSymlinks:typeof e.followSymlinks=="boolean"?!e.followSymlinks:void 0,disregardIgnoreFiles:typeof e.useIgnoreFiles?.local=="boolean"?!e.useIgnoreFiles?.local:void 0,disregardGlobalIgnoreFiles:typeof e.useIgnoreFiles?.global=="boolean"?!e.useIgnoreFiles?.global:void 0,disregardParentIgnoreFiles:typeof e.useIgnoreFiles?.parent=="boolean"?!e.useIgnoreFiles?.parent:void 0,disregardExcludeSettings:e.useExcludeSettings!==void 0&&e.useExcludeSettings===1,disregardSearchExcludeSettings:e.useExcludeSettings!==void 0&&e.useExcludeSettings!==3,fileEncoding:e.encoding,maxResults:e.maxResults,ignoreGlobCase:e.caseInsensitive,previewOptions:e.previewOptions?{matchLines:e.previewOptions?.numMatchLines??100,charsPerLine:e.previewOptions?.charsPerLine??1e4}:void 0,surroundingContext:e.surroundingContext,includePattern:g?.pattern,excludePattern:v},folder:g?.folder}},a=(e?.include?.map(m=>r(m))??[r(void 0)]).filter(m=>!!m),l=new J,d=l.add(new w),c=this.findTextInFilesBase(t,a,(m,g)=>d.fire({result:m,uri:g}),o);return{results:new eu(async m=>{l.add(d.event(g=>{let v=g.result,f=g.uri;aR(v)?m.emitOne(new Jo(f,v.rangeLocations.map(x=>({previewRange:new ve(x.preview.startLineNumber,x.preview.startColumn,x.preview.endLineNumber,x.preview.endColumn),sourceRange:new ve(x.source.startLineNumber,x.source.startColumn,x.source.endLineNumber,x.source.endColumn)})),v.previewText)):m.emitOne(new _l(f,v.text,v.lineNumber))})),await c}),complete:c.then(m=>(l.dispose(),{limitHit:m?.limitHit??!1}))}}async findTextInFilesBase(t,e,n,o=ye.None){let r=this._requestIdProvider.getNext(),s=!1;if(o.onCancellationRequested(a=>{s=!0}),this._activeSearchCallbacks[r]=a=>{if(s)return;let l=y.revive(a.resource);a.results.forEach(d=>{let c=_t(d);n(c,l)})},o.isCancellationRequested)return{};try{let a=await Promise.all(e?.map(l=>this._proxy.$startTextSearch(t,l.folder??null,l.options,r,o)||{})??[]);return delete this._activeSearchCallbacks[r],a.reduce((l,d)=>({limitHit:l?.limitHit||(d?.limitHit??!1),message:[l?.message??[],d?.message??[]].flat()}),{})??{limitHit:!1}}catch(a){throw delete this._activeSearchCallbacks[r],a}}async findTextInFiles(t,e,n,o,r=ye.None){this._logService.trace(`extHostWorkspace#findTextInFiles: textSearch, extension: ${o.value}, entryPoint: findTextInFiles`);let s=typeof e.previewOptions>"u"?{matchLines:100,charsPerLine:1e4}:e.previewOptions,a=bC(Co.from(e.include)),l=typeof e.exclude=="string"?e.exclude:e.exclude?e.exclude.pattern:void 0,d={ignoreSymlinks:typeof e.followSymlinks=="boolean"?!e.followSymlinks:void 0,disregardIgnoreFiles:typeof e.useIgnoreFiles=="boolean"?!e.useIgnoreFiles:void 0,disregardGlobalIgnoreFiles:typeof e.useGlobalIgnoreFiles=="boolean"?!e.useGlobalIgnoreFiles:void 0,disregardParentIgnoreFiles:typeof e.useParentIgnoreFiles=="boolean"?!e.useParentIgnoreFiles:void 0,disregardExcludeSettings:typeof e.useDefaultExcludes=="boolean"?!e.useDefaultExcludes:!0,disregardSearchExcludeSettings:typeof e.useSearchExclude=="boolean"?!e.useSearchExclude:!0,fileEncoding:e.encoding,maxResults:e.maxResults,previewOptions:s,surroundingContext:e.afterContext,includePattern:a?.pattern,excludePattern:l?[{pattern:l}]:void 0},c=(u,m)=>{aR(u)?n({uri:m,preview:{text:u.previewText,matches:Dg(u.rangeLocations,g=>new ve(g.preview.startLineNumber,g.preview.startColumn,g.preview.endLineNumber,g.preview.endColumn))},ranges:Dg(u.rangeLocations,g=>new ve(g.source.startLineNumber,g.source.startColumn,g.source.endLineNumber,g.source.endColumn))}):n({uri:m,text:u.text,lineNumber:u.lineNumber})};return this.findTextInFilesBase(t,[{options:d,folder:a?.folder}],c,r)}$handleTextSearchResult(t,e){this._activeSearchCallbacks[e]?.(t)}async save(t){let e=await this._proxy.$save(t,{saveAs:!1});return y.revive(e)}async saveAs(t){let e=await this._proxy.$save(t,{saveAs:!0});return y.revive(e)}saveAll(t){return this._proxy.$saveAll(t)}resolveProxy(t){return this._proxy.$resolveProxy(t)}lookupAuthorization(t){return this._proxy.$lookupAuthorization(t)}lookupKerberosAuthorization(t){return this._proxy.$lookupKerberosAuthorization(t)}loadCertificates(){return this._proxy.$loadCertificates()}get trusted(){return this._trusted}requestResourceTrust(t){return this._proxy.$requestResourceTrust(t)}requestWorkspaceTrust(t){return this._proxy.$requestWorkspaceTrust(t)}$onDidGrantWorkspaceTrust(){this._trusted||(this._trusted=!0,this._onDidGrantWorkspaceTrust.fire())}$onDidChangeWorkspaceTrustedFolders(){this._onDidChangeWorkspaceTrustedFolders.fire()}isResourceTrusted(t){return this._proxy.$isResourceTrusted(t)}registerEditSessionIdentityProvider(t,e){if(this._editSessionIdentityProviders.has(t))throw new Error(`A provider has already been registered for scheme ${t}`);this._editSessionIdentityProviders.set(t,e);let n=this._uriTransformerService.transformOutgoingScheme(t),o=this._providerHandlePool++;return this._proxy.$registerEditSessionIdentityProvider(o,n),X(()=>{this._editSessionIdentityProviders.delete(t),this._proxy.$unregisterEditSessionIdentityProvider(o)})}async $getEditSessionIdentifier(t,e){this._logService.info("Getting edit session identifier for workspaceFolder",t);let n=await this.resolveWorkspaceFolder(y.revive(t));if(!n){this._logService.warn("Unable to resolve workspace folder");return}this._logService.info("Invoking #provideEditSessionIdentity for workspaceFolder",n);let o=this._editSessionIdentityProviders.get(n.uri.scheme);if(this._logService.info(`Provider for scheme ${n.uri.scheme} is defined: `,!!o),!o)return;let r=await o.provideEditSessionIdentity(n,e);if(this._logService.info("Provider returned edit session identifier: ",r),!!r)return r}async $provideEditSessionIdentityMatch(t,e,n,o){this._logService.info("Getting edit session identifier for workspaceFolder",t);let r=await this.resolveWorkspaceFolder(y.revive(t));if(!r){this._logService.warn("Unable to resolve workspace folder");return}this._logService.info("Invoking #provideEditSessionIdentity for workspaceFolder",r);let s=this._editSessionIdentityProviders.get(r.uri.scheme);if(this._logService.info(`Provider for scheme ${r.uri.scheme} is defined: `,!!s),!s)return;let a=await s.provideEditSessionIdentityMatch?.(e,n,o);if(this._logService.info("Provider returned edit session identifier match result: ",a),!!a)return a}getOnWillCreateEditSessionIdentityEvent(t){return(e,n,o)=>{let r=function(a){e.call(n,a)};return r.extension=t,this._onWillCreateEditSessionIdentityEvent.event(r,void 0,o)}}async $onWillCreateEditSessionIdentity(t,e,n){let o=await this.resolveWorkspaceFolder(y.revive(t));if(o===void 0)throw new Error("Unable to resolve workspace folder");await this._onWillCreateEditSessionIdentityEvent.fireAsync({workspaceFolder:o},e,async(r,s)=>{let a=Date.now();await Promise.resolve(r),Date.now()-a>n&&this._logService.warn("SLOW edit session create-participant",s.extension.identifier)}),e.isCancellationRequested}registerCanonicalUriProvider(t,e){if(this._canonicalUriProviders.has(t))throw new Error(`A provider has already been registered for scheme ${t}`);this._canonicalUriProviders.set(t,e);let n=this._uriTransformerService.transformOutgoingScheme(t),o=this._providerHandlePool++;return this._proxy.$registerCanonicalUriProvider(o,n),X(()=>{this._canonicalUriProviders.delete(t),this._proxy.$unregisterCanonicalUriProvider(o)})}async provideCanonicalUri(t,e,n){let o=this._canonicalUriProviders.get(t.scheme);if(!o)return;let r=await o.provideCanonicalUri?.(y.revive(t),e,n);if(r)return r}async $provideCanonicalUri(t,e,n){return this.provideCanonicalUri(y.revive(t),{targetScheme:e},n)}async decode(t,e){let[n,o]=this.toEncodeDecodeParameters(e),r=await this._proxy.$resolveDecoding(n,o),s=(await aF(n0(te.wrap(t)),{...r,acceptTextOnly:!0,overwriteEncoding:a=>a===null||a===r.preferredEncoding?Promise.resolve(r.preferredEncoding):this._proxy.$validateDetectedEncoding(n,a,o)})).stream;return Uv(s,a=>a.join(""))}async encode(t,e){let[n,o]=this.toEncodeDecodeParameters(e),{encoding:r,addBOM:s}=await this._proxy.$resolveEncoding(n,o);if(r===Eh&&!s)return te.fromString(t).buffer;let a=await lF(uF(t),r,{addBOM:s});return t0(a).buffer}toEncodeDecodeParameters(t){let e=wa(t?.uri)?t.uri:void 0,n=typeof t?.encoding=="string"?t.encoding:void 0;return[e,n?{encoding:n}:void 0]}};Up=R([S(0,ge),S(1,nt),S(2,kr),S(3,ae),S(4,Oa)],Up);var eo=A("IExtHostWorkspace");function bC(i){let t,e;if(i)return typeof i=="string"?t=i:(t=i.pattern,e=y.revive(i.baseUri)),{pattern:t,folder:e}}function pF(i){return(i?.map(t=>{if(typeof t=="string")return t===""?void 0:{pattern:t,uri:void 0};{let e=bC(t);return e?{pattern:e.pattern,uri:e.folder}:void 0}})??[]).filter(t=>!!t)}function Ph(i){return Object.isFrozen(i)?i:lf(i)}var Al=class i{constructor(t,e,n,o,r){this._contents=t;this._keys=e;this._overrides=n;this._raw=o;this.logService=r;this.overrideConfigurations=new Map}static createEmptyModel(t){return new i({},[],[],void 0,t)}get rawConfiguration(){if(!this._rawConfiguration)if(this._raw){let t=(Array.isArray(this._raw)?this._raw:[this._raw]).map(e=>{if(e instanceof i)return e;let n=new hR("",this.logService);return n.parseRaw(e),n.configurationModel});this._rawConfiguration=t.reduce((e,n)=>n===e?n:e.merge(n),t[0])}else this._rawConfiguration=this;return this._rawConfiguration}get contents(){return this._contents}get overrides(){return this._overrides}get keys(){return this._keys}get raw(){if(this._raw&&!(Array.isArray(this._raw)&&this._raw.every(t=>t instanceof i)))return this._raw}isEmpty(){return this._keys.length===0&&Object.keys(this._contents).length===0&&this._overrides.length===0}getValue(t){return t?Sf(this.contents,t):this.contents}inspect(t,e){let n=this;return{get value(){return Ph(n.rawConfiguration.getValue(t))},get override(){return e?Ph(n.rawConfiguration.getOverrideValue(t,e)):void 0},get merged(){return Ph(e?n.rawConfiguration.override(e).getValue(t):n.rawConfiguration.getValue(t))},get overrides(){let o=[];for(let{contents:r,identifiers:s,keys:a}of n.rawConfiguration.overrides){let l=new i(r,a,[],void 0,n.logService).getValue(t);l!==void 0&&o.push({identifiers:s,value:l})}return o.length?Ph(o):void 0}}}getOverrideValue(t,e){let n=this.getContentsForOverrideIdentifer(e);return n?t?Sf(n,t):n:void 0}getKeysForOverrideIdentifier(t){let e=[];for(let n of this.overrides)n.identifiers.includes(t)&&e.push(...n.keys);return Ir(e)}getAllOverrideIdentifiers(){let t=[];for(let e of this.overrides)t.push(...e.identifiers);return Ir(t)}override(t){let e=this.overrideConfigurations.get(t);return e||(e=this.createOverrideConfigurationModel(t),this.overrideConfigurations.set(t,e)),e}merge(...t){let e=ht(this.contents),n=ht(this.overrides),o=[...this.keys],r=this._raw?Array.isArray(this._raw)?[...this._raw]:[this._raw]:[this];for(let s of t)if(r.push(...s._raw?Array.isArray(s._raw)?s._raw:[s._raw]:[s]),!s.isEmpty()){this.mergeContents(e,s.contents);for(let a of s.overrides){let[l]=n.filter(d=>Qt(d.identifiers,a.identifiers));l?(this.mergeContents(l.contents,a.contents),l.keys.push(...a.keys),l.keys=Ir(l.keys)):n.push(ht(a))}for(let a of s.keys)o.indexOf(a)===-1&&o.push(a)}return new i(e,o,n,!r.length||r.every(s=>s instanceof i)?void 0:r,this.logService)}createOverrideConfigurationModel(t){let e=this.getContentsForOverrideIdentifer(t);if(!e||typeof e!="object"||!Object.keys(e).length)return this;let n={};for(let o of Ir([...Object.keys(this.contents),...Object.keys(e)])){let r=this.contents[o],s=e[o];s&&(typeof r=="object"&&typeof s=="object"?(r=ht(r),this.mergeContents(r,s)):r=s),n[o]=r}return new i(n,this.keys,this.overrides,void 0,this.logService)}mergeContents(t,e){for(let n of Object.keys(e)){if(n in t&&st(t[n])&&st(e[n])){this.mergeContents(t[n],e[n]);continue}t[n]=ht(e[n])}}getContentsForOverrideIdentifer(t){let e=null,n=null,o=r=>{r&&(n?this.mergeContents(n,r):n=ht(r))};for(let r of this.overrides)r.identifiers.length===1&&r.identifiers[0]===t?e=r.contents:r.identifiers.includes(t)&&o(r.contents);return o(e),n}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}addValue(t,e){this.updateValue(t,e,!0)}setValue(t,e){this.updateValue(t,e,!1)}removeValue(t){let e=this.keys.indexOf(t);e!==-1&&(this.keys.splice(e,1),RL(this.contents,t),Pr.test(t)&&this.overrides.splice(this.overrides.findIndex(n=>Qt(n.identifiers,Su(t))),1))}updateValue(t,e,n){if(TP(this.contents,t,e,o=>this.logService.error(o)),n=n||this.keys.indexOf(t)===-1,n&&this.keys.push(t),Pr.test(t)){let o=this.contents[t],r=Su(t),s={identifiers:r,keys:Object.keys(o),contents:sy(o,l=>this.logService.error(l))},a=this.overrides.findIndex(l=>Qt(l.identifiers,r));a!==-1?this.overrides[a]=s:this.overrides.push(s)}}},hR=class{constructor(t,e){this._name=t;this.logService=e;this._raw=null;this._configurationModel=null;this._restrictedConfigurations=[];this._parseErrors=[]}get configurationModel(){return this._configurationModel||Al.createEmptyModel(this.logService)}get restrictedConfigurations(){return this._restrictedConfigurations}get errors(){return this._parseErrors}parse(t,e){if(!Mt(t)){let n=this.doParseContent(t);this.parseRaw(n,e)}}reparse(t){this._raw&&this.parseRaw(this._raw,t)}parseRaw(t,e){this._raw=t;let{contents:n,keys:o,overrides:r,restricted:s,hasExcludedProperties:a}=this.doParseRaw(t,e);this._configurationModel=new Al(n,o,r,a?[t]:void 0,this.logService),this._restrictedConfigurations=s||[]}doParseContent(t){let e={},n=null,o=[],r=[],s=[];function a(d){Array.isArray(o)?o.push(d):n!==null&&(o[n]=d)}let l={onObjectBegin:()=>{let d={};a(d),r.push(o),o=d,n=null},onObjectProperty:d=>{n=d},onObjectEnd:()=>{o=r.pop()},onArrayBegin:()=>{let d=[];a(d),r.push(o),o=d,n=null},onArrayEnd:()=>{o=r.pop()},onLiteralValue:a,onError:(d,c,u)=>{s.push({error:d,offset:c,length:u})}};if(t)try{kN(t,l),e=o[0]||{}}catch(d){this.logService.error(`Error while parsing settings file ${this._name}: ${d}`),this._parseErrors=[d]}return e}doParseRaw(t,e){let n=Et.as(_r.Configuration),o=n.getConfigurationProperties(),r=n.getExcludedConfigurationProperties(),s=this.filter(t,o,r,!0,e);t=s.raw;let a=sy(t,c=>this.logService.error(`Conflict in settings file ${this._name}: ${c}`)),l=Object.keys(t),d=this.toOverrides(t,c=>this.logService.error(`Conflict in settings file ${this._name}: ${c}`));return{contents:a,keys:l,overrides:d,restricted:s.restricted,hasExcludedProperties:s.hasExcludedProperties}}filter(t,e,n,o,r){let s=!1;if(!r?.scopes&&!r?.skipRestricted&&!r?.skipUnregistered&&!r?.exclude?.length)return{raw:t,restricted:[],hasExcludedProperties:s};let a={},l=[];for(let d in t)if(Pr.test(d)&&o){let c=this.filter(t[d],e,n,!1,r);a[d]=c.raw,s=s||c.hasExcludedProperties,l.push(...c.restricted)}else{let c=e[d];c?.restricted&&l.push(d),this.shouldInclude(d,c,n,r)?a[d]=t[d]:s=!0}return{raw:a,restricted:l,hasExcludedProperties:s}}shouldInclude(t,e,n,o){if(o.exclude?.includes(t))return!1;if(o.include?.includes(t))return!0;if(o.skipRestricted&&e?.restricted||o.skipUnregistered&&!e)return!1;let r=e??n[t],s=r?typeof r.scope<"u"?r.scope:4:void 0;return s===void 0||o.scopes===void 0?!0:o.scopes.includes(s)}toOverrides(t,e){let n=[];for(let o of Object.keys(t))if(Pr.test(o)){let r={},s=t[o];for(let a in s)r[a]=s[a];n.push({identifiers:Su(o),keys:Object.keys(r),contents:sy(r,e)})}return n}};var vR=class{constructor(t,e,n,o,r,s,a,l,d,c,u,m,g){this.key=t;this.overrides=e;this._value=n;this.overrideIdentifiers=o;this.defaultConfiguration=r;this.policyConfiguration=s;this.applicationConfiguration=a;this.userConfiguration=l;this.localUserConfiguration=d;this.remoteUserConfiguration=c;this.workspaceConfiguration=u;this.folderConfigurationModel=m;this.memoryConfigurationModel=g}get value(){return Ph(this._value)}toInspectValue(t){return t?.value!==void 0||t?.override!==void 0||t?.overrides!==void 0?t:void 0}get defaultInspectValue(){return this._defaultInspectValue||(this._defaultInspectValue=this.defaultConfiguration.inspect(this.key,this.overrides.overrideIdentifier)),this._defaultInspectValue}get defaultValue(){return this.defaultInspectValue.merged}get default(){return this.toInspectValue(this.defaultInspectValue)}get policyInspectValue(){return this._policyInspectValue===void 0&&(this._policyInspectValue=this.policyConfiguration?this.policyConfiguration.inspect(this.key):null),this._policyInspectValue}get policyValue(){return this.policyInspectValue?.merged}get policy(){return this.policyInspectValue?.value!==void 0?{value:this.policyInspectValue.value}:void 0}get applicationInspectValue(){return this._applicationInspectValue===void 0&&(this._applicationInspectValue=this.applicationConfiguration?this.applicationConfiguration.inspect(this.key):null),this._applicationInspectValue}get applicationValue(){return this.applicationInspectValue?.merged}get application(){return this.toInspectValue(this.applicationInspectValue)}get userInspectValue(){return this._userInspectValue||(this._userInspectValue=this.userConfiguration.inspect(this.key,this.overrides.overrideIdentifier)),this._userInspectValue}get userValue(){return this.userInspectValue.merged}get user(){return this.toInspectValue(this.userInspectValue)}get userLocalInspectValue(){return this._userLocalInspectValue||(this._userLocalInspectValue=this.localUserConfiguration.inspect(this.key,this.overrides.overrideIdentifier)),this._userLocalInspectValue}get userLocalValue(){return this.userLocalInspectValue.merged}get userLocal(){return this.toInspectValue(this.userLocalInspectValue)}get userRemoteInspectValue(){return this._userRemoteInspectValue||(this._userRemoteInspectValue=this.remoteUserConfiguration.inspect(this.key,this.overrides.overrideIdentifier)),this._userRemoteInspectValue}get userRemoteValue(){return this.userRemoteInspectValue.merged}get userRemote(){return this.toInspectValue(this.userRemoteInspectValue)}get workspaceInspectValue(){return this._workspaceInspectValue===void 0&&(this._workspaceInspectValue=this.workspaceConfiguration?this.workspaceConfiguration.inspect(this.key,this.overrides.overrideIdentifier):null),this._workspaceInspectValue}get workspaceValue(){return this.workspaceInspectValue?.merged}get workspace(){return this.toInspectValue(this.workspaceInspectValue)}get workspaceFolderInspectValue(){return this._workspaceFolderInspectValue===void 0&&(this._workspaceFolderInspectValue=this.folderConfigurationModel?this.folderConfigurationModel.inspect(this.key,this.overrides.overrideIdentifier):null),this._workspaceFolderInspectValue}get workspaceFolderValue(){return this.workspaceFolderInspectValue?.merged}get workspaceFolder(){return this.toInspectValue(this.workspaceFolderInspectValue)}get memoryInspectValue(){return this._memoryInspectValue===void 0&&(this._memoryInspectValue=this.memoryConfigurationModel.inspect(this.key,this.overrides.overrideIdentifier)),this._memoryInspectValue}get memoryValue(){return this.memoryInspectValue.merged}get memory(){return this.toInspectValue(this.memoryInspectValue)}},Fp=class i{constructor(t,e,n,o,r,s,a,l,d,c){this._defaultConfiguration=t;this._policyConfiguration=e;this._applicationConfiguration=n;this._localUserConfiguration=o;this._remoteUserConfiguration=r;this._workspaceConfiguration=s;this._folderConfigurations=a;this._memoryConfiguration=l;this._memoryConfigurationByResource=d;this.logService=c;this._workspaceConsolidatedConfiguration=null;this._foldersConsolidatedConfigurations=new $e;this._userConfiguration=null}getValue(t,e,n){return this.getConsolidatedConfigurationModel(t,e,n).getValue(t)}updateValue(t,e,n={}){let o;n.resource?(o=this._memoryConfigurationByResource.get(n.resource),o||(o=Al.createEmptyModel(this.logService),this._memoryConfigurationByResource.set(n.resource,o))):o=this._memoryConfiguration,e===void 0?o.removeValue(t):o.setValue(t,e),n.resource||(this._workspaceConsolidatedConfiguration=null)}inspect(t,e,n){let o=this.getConsolidatedConfigurationModel(t,e,n),r=this.getFolderConfigurationModelForResource(e.resource,n),s=e.resource?this._memoryConfigurationByResource.get(e.resource)||this._memoryConfiguration:this._memoryConfiguration,a=new Set;for(let l of o.overrides)for(let d of l.identifiers)o.getOverrideValue(t,d)!==void 0&&a.add(d);return new vR(t,e,o.getValue(t),a.size?[...a]:void 0,this._defaultConfiguration,this._policyConfiguration.isEmpty()?void 0:this._policyConfiguration,this.applicationConfiguration.isEmpty()?void 0:this.applicationConfiguration,this.userConfiguration,this.localUserConfiguration,this.remoteUserConfiguration,n?this._workspaceConfiguration:void 0,r||void 0,s)}keys(t){let e=this.getFolderConfigurationModelForResource(void 0,t);return{default:this._defaultConfiguration.keys.slice(0),policy:this._policyConfiguration.keys.slice(0),user:this.userConfiguration.keys.slice(0),workspace:this._workspaceConfiguration.keys.slice(0),workspaceFolder:e?e.keys.slice(0):[]}}updateDefaultConfiguration(t){this._defaultConfiguration=t,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations.clear()}updatePolicyConfiguration(t){this._policyConfiguration=t}updateApplicationConfiguration(t){this._applicationConfiguration=t,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations.clear()}updateLocalUserConfiguration(t){this._localUserConfiguration=t,this._userConfiguration=null,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations.clear()}updateRemoteUserConfiguration(t){this._remoteUserConfiguration=t,this._userConfiguration=null,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations.clear()}updateWorkspaceConfiguration(t){this._workspaceConfiguration=t,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations.clear()}updateFolderConfiguration(t,e){this._folderConfigurations.set(t,e),this._foldersConsolidatedConfigurations.delete(t)}deleteFolderConfiguration(t){this.folderConfigurations.delete(t),this._foldersConsolidatedConfigurations.delete(t)}compareAndUpdateDefaultConfiguration(t,e){let n=[];if(!e){let{added:o,updated:r,removed:s}=Rl(this._defaultConfiguration,t);e=[...o,...r,...s]}for(let o of e)for(let r of Su(o)){let s=this._defaultConfiguration.getKeysForOverrideIdentifier(r),a=t.getKeysForOverrideIdentifier(r),l=[...a.filter(d=>s.indexOf(d)===-1),...s.filter(d=>a.indexOf(d)===-1),...s.filter(d=>!Rt(this._defaultConfiguration.override(r).getValue(d),t.override(r).getValue(d)))];n.push([r,l])}return this.updateDefaultConfiguration(t),{keys:e,overrides:n}}compareAndUpdatePolicyConfiguration(t){let{added:e,updated:n,removed:o}=Rl(this._policyConfiguration,t),r=[...e,...n,...o];return r.length&&this.updatePolicyConfiguration(t),{keys:r,overrides:[]}}compareAndUpdateApplicationConfiguration(t){let{added:e,updated:n,removed:o,overrides:r}=Rl(this.applicationConfiguration,t),s=[...e,...n,...o];return s.length&&this.updateApplicationConfiguration(t),{keys:s,overrides:r}}compareAndUpdateLocalUserConfiguration(t){let{added:e,updated:n,removed:o,overrides:r}=Rl(this.localUserConfiguration,t),s=[...e,...n,...o];return s.length&&this.updateLocalUserConfiguration(t),{keys:s,overrides:r}}compareAndUpdateRemoteUserConfiguration(t){let{added:e,updated:n,removed:o,overrides:r}=Rl(this.remoteUserConfiguration,t),s=[...e,...n,...o];return s.length&&this.updateRemoteUserConfiguration(t),{keys:s,overrides:r}}compareAndUpdateWorkspaceConfiguration(t){let{added:e,updated:n,removed:o,overrides:r}=Rl(this.workspaceConfiguration,t),s=[...e,...n,...o];return s.length&&this.updateWorkspaceConfiguration(t),{keys:s,overrides:r}}compareAndUpdateFolderConfiguration(t,e){let n=this.folderConfigurations.get(t),{added:o,updated:r,removed:s,overrides:a}=Rl(n,e),l=[...o,...r,...s];return(l.length||!n)&&this.updateFolderConfiguration(t,e),{keys:l,overrides:a}}compareAndDeleteFolderConfiguration(t){let e=this.folderConfigurations.get(t);if(!e)throw new Error("Unknown folder");this.deleteFolderConfiguration(t);let{added:n,updated:o,removed:r,overrides:s}=Rl(e,void 0);return{keys:[...n,...o,...r],overrides:s}}get defaults(){return this._defaultConfiguration}get applicationConfiguration(){return this._applicationConfiguration}get userConfiguration(){if(!this._userConfiguration)if(this._remoteUserConfiguration.isEmpty())this._userConfiguration=this._localUserConfiguration;else{let t=this._localUserConfiguration.merge(this._remoteUserConfiguration);this._userConfiguration=new Al(t.contents,t.keys,t.overrides,void 0,this.logService)}return this._userConfiguration}get localUserConfiguration(){return this._localUserConfiguration}get remoteUserConfiguration(){return this._remoteUserConfiguration}get workspaceConfiguration(){return this._workspaceConfiguration}get folderConfigurations(){return this._folderConfigurations}getConsolidatedConfigurationModel(t,e,n){let o=this.getConsolidatedConfigurationModelForResource(e,n);if(e.overrideIdentifier&&(o=o.override(e.overrideIdentifier)),!this._policyConfiguration.isEmpty()&&this._policyConfiguration.getValue(t)!==void 0){o=o.merge();for(let r of this._policyConfiguration.keys)o.setValue(r,this._policyConfiguration.getValue(r))}return o}getConsolidatedConfigurationModelForResource({resource:t},e){let n=this.getWorkspaceConsolidatedConfiguration();if(e&&t){let o=e.getFolder(t);o&&(n=this.getFolderConsolidatedConfiguration(o.uri)||n);let r=this._memoryConfigurationByResource.get(t);r&&(n=n.merge(r))}return n}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this.applicationConfiguration,this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration)),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(t){let e=this._foldersConsolidatedConfigurations.get(t);if(!e){let n=this.getWorkspaceConsolidatedConfiguration(),o=this._folderConfigurations.get(t);o?(e=n.merge(o),this._foldersConsolidatedConfigurations.set(t,e)):e=n}return e}getFolderConfigurationModelForResource(t,e){if(e&&t){let n=e.getFolder(t);if(n)return this._folderConfigurations.get(n.uri)}}toData(){return{defaults:{contents:this._defaultConfiguration.contents,overrides:this._defaultConfiguration.overrides,keys:this._defaultConfiguration.keys},policy:{contents:this._policyConfiguration.contents,overrides:this._policyConfiguration.overrides,keys:this._policyConfiguration.keys},application:{contents:this.applicationConfiguration.contents,overrides:this.applicationConfiguration.overrides,keys:this.applicationConfiguration.keys,raw:Array.isArray(this.applicationConfiguration.raw)?void 0:this.applicationConfiguration.raw},userLocal:{contents:this.localUserConfiguration.contents,overrides:this.localUserConfiguration.overrides,keys:this.localUserConfiguration.keys,raw:Array.isArray(this.localUserConfiguration.raw)?void 0:this.localUserConfiguration.raw},userRemote:{contents:this.remoteUserConfiguration.contents,overrides:this.remoteUserConfiguration.overrides,keys:this.remoteUserConfiguration.keys,raw:Array.isArray(this.remoteUserConfiguration.raw)?void 0:this.remoteUserConfiguration.raw},workspace:{contents:this._workspaceConfiguration.contents,overrides:this._workspaceConfiguration.overrides,keys:this._workspaceConfiguration.keys},folders:[...this._folderConfigurations.keys()].reduce((t,e)=>{let{contents:n,overrides:o,keys:r}=this._folderConfigurations.get(e);return t.push([e,{contents:n,overrides:o,keys:r}]),t},[])}}allKeys(){let t=new Set;return this._defaultConfiguration.keys.forEach(e=>t.add(e)),this.userConfiguration.keys.forEach(e=>t.add(e)),this._workspaceConfiguration.keys.forEach(e=>t.add(e)),this._folderConfigurations.forEach(e=>e.keys.forEach(n=>t.add(n))),[...t.values()]}allOverrideIdentifiers(){let t=new Set;return this._defaultConfiguration.getAllOverrideIdentifiers().forEach(e=>t.add(e)),this.userConfiguration.getAllOverrideIdentifiers().forEach(e=>t.add(e)),this._workspaceConfiguration.getAllOverrideIdentifiers().forEach(e=>t.add(e)),this._folderConfigurations.forEach(e=>e.getAllOverrideIdentifiers().forEach(n=>t.add(n))),[...t.values()]}getAllKeysForOverrideIdentifier(t){let e=new Set;return this._defaultConfiguration.getKeysForOverrideIdentifier(t).forEach(n=>e.add(n)),this.userConfiguration.getKeysForOverrideIdentifier(t).forEach(n=>e.add(n)),this._workspaceConfiguration.getKeysForOverrideIdentifier(t).forEach(n=>e.add(n)),this._folderConfigurations.forEach(n=>n.getKeysForOverrideIdentifier(t).forEach(o=>e.add(o))),[...e.values()]}static parse(t,e){let n=this.parseConfigurationModel(t.defaults,e),o=this.parseConfigurationModel(t.policy,e),r=this.parseConfigurationModel(t.application,e),s=this.parseConfigurationModel(t.userLocal,e),a=this.parseConfigurationModel(t.userRemote,e),l=this.parseConfigurationModel(t.workspace,e),d=t.folders.reduce((c,u)=>(c.set(y.revive(u[0]),this.parseConfigurationModel(u[1],e)),c),new $e);return new i(n,o,r,s,a,l,d,Al.createEmptyModel(e),new $e,e)}static parseConfigurationModel(t,e){return new Al(t.contents,t.keys,t.overrides,t.raw,e)}};var IC=class{constructor(t,e,n,o,r){this.change=t;this.previous=e;this.currentConfiguraiton=n;this.currentWorkspace=o;this.logService=r;this._marker=`
`;this._markerCode1=this._marker.charCodeAt(0);this._markerCode2=46;this.affectedKeys=new Set;this._previousConfiguration=void 0;for(let s of t.keys)this.affectedKeys.add(s);for(let[,s]of t.overrides)for(let a of s)this.affectedKeys.add(a);this._affectsConfigStr=this._marker;for(let s of this.affectedKeys)this._affectsConfigStr+=s+this._marker}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=Fp.parse(this.previous.data,this.logService)),this._previousConfiguration}affectsConfiguration(t,e){let n=this._marker+t,o=this._affectsConfigStr.indexOf(n);if(o<0)return!1;let r=o+n.length;if(r>=this._affectsConfigStr.length)return!1;let s=this._affectsConfigStr.charCodeAt(r);if(s!==this._markerCode1&&s!==this._markerCode2)return!1;if(e){let a=this.previousConfiguration?this.previousConfiguration.getValue(t,e,this.previous?.workspace):void 0,l=this.currentConfiguraiton.getValue(t,e,this.currentWorkspace);return!Rt(a,l)}return!0}};function Rl(i,t){let{added:e,removed:n,updated:o}=gF(t?.rawConfiguration,i?.rawConfiguration),r=[],s=i?.getAllOverrideIdentifiers()||[],a=t?.getAllOverrideIdentifiers()||[];if(t){let l=a.filter(d=>!s.includes(d));for(let d of l)r.push([d,t.getKeysForOverrideIdentifier(d)])}if(i){let l=s.filter(d=>!a.includes(d));for(let d of l)r.push([d,i.getKeysForOverrideIdentifier(d)])}if(t&&i){for(let l of s)if(a.includes(l)){let d=gF({contents:i.getOverrideValue(void 0,l)||{},keys:i.getKeysForOverrideIdentifier(l)},{contents:t.getOverrideValue(void 0,l)||{},keys:t.getKeysForOverrideIdentifier(l)});r.push([l,[...d.added,...d.removed,...d.updated]])}}return{added:e,removed:n,updated:o,overrides:r}}function gF(i,t){let e=i?t?i.keys.filter(r=>t.keys.indexOf(r)===-1):[...i.keys]:[],n=t?i?t.keys.filter(r=>i.keys.indexOf(r)===-1):[...t.keys]:[],o=[];if(i&&t){for(let r of t.keys)if(i.keys.indexOf(r)!==-1){let s=Sf(t.contents,r),a=Sf(i.contents,r);Rt(s,a)||o.push(r)}}return{added:e,removed:n,updated:o}}function xC(i,t){if(t){let e=t.split("."),n=i;for(let o=0;n&&o<e.length;o++)n=n[e[o]];return n}}function r$(i){return i instanceof y}function i$(i){return st(i)&&i.uri instanceof y&&!!i.languageId&&typeof i.languageId=="string"}function s$(i){return st(i)&&!i.uri&&!!i.languageId&&typeof i.languageId=="string"}function a$(i){return st(i)&&i.uri instanceof y&&(!i.name||typeof i.name=="string")&&(!i.index||typeof i.index=="number")}function fF(i){if(r$(i))return{resource:i};if(i$(i))return{resource:i.uri,overrideIdentifier:i.languageId};if(s$(i))return{overrideIdentifier:i.languageId};if(a$(i))return{resource:i.uri};if(i===null)return{resource:null}}var Hp=class{constructor(t,e,n){this._proxy=t.getProxy(L.MainThreadConfiguration),this._extHostWorkspace=e,this._logService=n,this._barrier=new An,this._actual=null}getConfigProvider(){return this._barrier.wait().then(t=>this._actual)}$initializeConfiguration(t){this._actual=new bR(this._proxy,this._extHostWorkspace,t,this._logService),this._extHostWorkspace.$setConfigProvider(this._actual),this._barrier.open()}$acceptConfigurationChanged(t,e){this.getConfigProvider().then(n=>n.$acceptConfigurationChanged(t,e))}};Hp=R([S(0,ge),S(1,eo),S(2,ae)],Hp);var bR=class{constructor(t,e,n,o){this._onDidChangeConfiguration=new w;this._proxy=t,this._logService=o,this._extHostWorkspace=e,this._configuration=Fp.parse(n,o),this._configurationScopes=this._toMap(n.configurationScopes)}get onDidChangeConfiguration(){return this._onDidChangeConfiguration&&this._onDidChangeConfiguration.event}$acceptConfigurationChanged(t,e){let n={data:this._configuration.toData(),workspace:this._extHostWorkspace.workspace};this._configuration=Fp.parse(t,this._logService),this._configurationScopes=this._toMap(t.configurationScopes),this._onDidChangeConfiguration.fire(this._toConfigurationChangeEvent(e,n))}getConfiguration(t,e,n){let o=fF(e)||{},r=this._toReadonlyValue(this._configuration.getValue(t,o,this._extHostWorkspace.workspace));t&&this._validateConfigurationAccess(t,o,n?.identifier);function s(l){if(l==null)return null;if(typeof l=="boolean")return l?2:5;switch(l){case 1:return 2;case 2:return 5;case 3:return 6}}let a={has(l){return typeof xC(r,l)<"u"},get:(l,d)=>{this._validateConfigurationAccess(t?`${t}.${l}`:l,o,n?.identifier);let c=xC(r,l);if(typeof c>"u")c=d;else{let u,m=(g,v)=>{if(st(g)){let f,x=()=>{u=u||ht(r),f=f||xC(u,v)};return new Proxy(g,{get:(C,E)=>{if(typeof E=="string"&&E.toLowerCase()==="tojson")return x(),()=>f;if(u)return f=f||xC(u,v),f[E];let k=C[E];return typeof E=="string"?m(k,`${v}.${E}`):k},set:(C,E,k)=>(x(),f&&(f[E]=k),!0),deleteProperty:(C,E)=>(x(),f&&delete f[E],!0),defineProperty:(C,E,k)=>(x(),f&&Object.defineProperty(f,E,k),!0)})}return Array.isArray(g)?ht(g):g};c=m(c,l)}return c},update:(l,d,c,u)=>{l=t?`${t}.${l}`:l;let m=s(c);return d!==void 0?this._proxy.$updateConfigurationOption(m,l,d,o,u):this._proxy.$removeConfigurationOption(m,l,o,u)},inspect:l=>{l=t?`${t}.${l}`:l;let d=this._configuration.inspect(l,o,this._extHostWorkspace.workspace);if(d)return{key:l,defaultValue:ht(d.policy?.value??d.default?.value),globalLocalValue:ht(d.userLocal?.value),globalRemoteValue:ht(d.userRemote?.value),globalValue:ht(d.user?.value??d.application?.value),workspaceValue:ht(d.workspace?.value),workspaceFolderValue:ht(d.workspaceFolder?.value),defaultLanguageValue:ht(d.default?.override),globalLocalLanguageValue:ht(d.userLocal?.override),globalRemoteLanguageValue:ht(d.userRemote?.override),globalLanguageValue:ht(d.user?.override??d.application?.override),workspaceLanguageValue:ht(d.workspace?.override),workspaceFolderLanguageValue:ht(d.workspaceFolder?.override),languageIds:ht(d.overrideIdentifiers)}}};return typeof r=="object"&&wr(a,r,!1),Object.freeze(a)}_toReadonlyValue(t){let e=n=>st(n)?new Proxy(n,{get:(o,r)=>e(o[r]),set:(o,r,s)=>{throw new Error(`TypeError: Cannot assign to read only property '${String(r)}' of object`)},deleteProperty:(o,r)=>{throw new Error(`TypeError: Cannot delete read only property '${String(r)}' of object`)},defineProperty:(o,r)=>{throw new Error(`TypeError: Cannot define property '${String(r)}' for a readonly object`)},setPrototypeOf:o=>{throw new Error("TypeError: Cannot set prototype for a readonly object")},isExtensible:()=>!1,preventExtensions:()=>!0}):n;return e(t)}_validateConfigurationAccess(t,e,n){let o=Pr.test(t)?5:this._configurationScopes.get(t),r=n?`[${n.value}] `:"";if(5===o){typeof e?.resource>"u"&&this._logService.warn(`${r}Accessing a resource scoped configuration without providing a resource is not expected. To get the effective value for '${t}', provide the URI of a resource or 'null' for any resource.`);return}if(4===o){e?.resource&&this._logService.warn(`${r}Accessing a window scoped configuration for a resource is not expected. To associate '${t}' to a resource, define its scope to 'resource' in configuration contributions in 'package.json'.`);return}}_toConfigurationChangeEvent(t,e){let n=new IC(t,e,this._configuration,this._extHostWorkspace.workspace,this._logService);return Object.freeze({affectsConfiguration:(o,r)=>n.affectsConfiguration(o,fF(r))})}_toMap(t){return t.reduce((e,n)=>(e.set(n[0],n[1]),e),new Map)}},So=A("IExtHostConfiguration");var IR=class{constructor(t,e){this.versionId=t;this.removedDueToLooping=e}},ia=class i extends V{constructor(e,n){super();this._activationEventsReader=e;this._onDidChange=this._register(new w);this.onDidChange=this._onDidChange.event;this._versionId=0;this._extensionDescriptions=n,this._initialize()}static isHostExtension(e,n,o){if(n.getExtensionDescription(e))return!1;let r=o.getExtensionDescription(e);return r?!!((r.main||r.browser)&&r.api==="none"):!1}_initialize(){this._extensionDescriptions.sort(l$),this._extensionsMap=new Jn,this._extensionsArr=[],this._activationMap=new Map;for(let e of this._extensionDescriptions){if(this._extensionsMap.has(e.identifier)){console.error("Extension `"+e.identifier.value+"` is already registered");continue}this._extensionsMap.set(e.identifier,e),this._extensionsArr.push(e);let n=this._activationEventsReader.readActivationEvents(e);for(let o of n)this._activationMap.has(o)||this._activationMap.set(o,[]),this._activationMap.get(o).push(e)}}set(e){return this._extensionDescriptions=e,this._initialize(),this._versionId++,this._onDidChange.fire(void 0),{versionId:this._versionId}}deltaExtensions(e,n){this._extensionDescriptions=hF(this._extensionDescriptions,n),this._extensionDescriptions=this._extensionDescriptions.concat(e);let o=i._findLoopingExtensions(this._extensionDescriptions);return this._extensionDescriptions=hF(this._extensionDescriptions,o.map(r=>r.identifier)),this._initialize(),this._versionId++,this._onDidChange.fire(void 0),new IR(this._versionId,o)}static _findLoopingExtensions(e){let n=new class{constructor(){this._arcs=new Map;this._nodesSet=new Set;this._nodesArr=[]}addNode(l){this._nodesSet.has(l)||(this._nodesSet.add(l),this._nodesArr.push(l))}addArc(l,d){this.addNode(l),this.addNode(d),this._arcs.has(l)?this._arcs.get(l).push(d):this._arcs.set(l,[d])}getArcs(l){return this._arcs.has(l)?this._arcs.get(l):[]}hasOnlyGoodArcs(l,d){let c=n.getArcs(l);for(let u=0;u<c.length;u++)if(!d.has(c[u]))return!1;return!0}getNodes(){return this._nodesArr}},o=new Jn;for(let l of e)if(o.set(l.identifier,l),l.extensionDependencies)for(let d of l.extensionDependencies)n.addArc(Se.toKey(l.identifier),Se.toKey(d));let r=new Set;n.getNodes().filter(l=>n.getArcs(l).length===0).forEach(l=>r.add(l));let s=n.getNodes().filter(l=>!r.has(l)),a;do{a=!1;for(let l=0;l<s.length;l++){let d=s[l];n.hasOnlyGoodArcs(d,r)&&(s.splice(l,1),l--,r.add(d),a=!0)}}while(a);return s.map(l=>o.get(l))}containsActivationEvent(e){return this._activationMap.has(e)}containsExtension(e){return this._extensionsMap.has(e)}getExtensionDescriptionsForActivationEvent(e){let n=this._activationMap.get(e);return n?n.slice(0):[]}getAllExtensionDescriptions(){return this._extensionsArr.slice(0)}getSnapshot(){return new xR(this._versionId,this.getAllExtensionDescriptions())}getExtensionDescription(e){let n=this._extensionsMap.get(e);return n||void 0}getExtensionDescriptionByUUID(e){for(let n of this._extensionsArr)if(n.uuid===e)return n}getExtensionDescriptionByIdOrUUID(e,n){return this.getExtensionDescription(e)??(n?this.getExtensionDescriptionByUUID(n):void 0)}},xR=class{constructor(t,e){this.versionId=t;this.extensions=e}};function l$(i,t){let e=i.isBuiltin?0:i.isUnderDevelopment?2:1,n=t.isBuiltin?0:t.isUnderDevelopment?2:1;if(e!==n)return e-n;let o=Ve.basename(i.extensionLocation.path),r=Ve.basename(t.extensionLocation.path);return o<r?-1:o>r?1:0}function hF(i,t){let e=new ho(t);return i.filter(n=>!e.has(n.identifier))}var vc=class i{static{this.NONE=new i(!1,-1,-1,-1)}constructor(t,e,n,o){this.startup=t,this.codeLoadingTime=e,this.activateCallTime=n,this.activateResolvedTime=o}},Bp=class{constructor(t){this._startup=t,this._codeLoadingStart=-1,this._codeLoadingStop=-1,this._activateCallStart=-1,this._activateCallStop=-1,this._activateResolveStart=-1,this._activateResolveStop=-1}_delta(t,e){return t===-1||e===-1?-1:e-t}build(){return new vc(this._startup,this._delta(this._codeLoadingStart,this._codeLoadingStop),this._delta(this._activateCallStart,this._activateCallStop),this._delta(this._activateResolveStart,this._activateResolveStop))}codeLoadingStart(){this._codeLoadingStart=Date.now()}codeLoadingStop(){this._codeLoadingStop=Date.now()}activateCallStart(){this._activateCallStart=Date.now()}activateCallStop(){this._activateCallStop=Date.now()}activateResolveStart(){this._activateResolveStart=Date.now()}activateResolveStop(){this._activateResolveStop=Date.now()}},bc=class{constructor(t,e,n,o,r,s){this.activationFailed=t,this.activationFailedError=e,this.activationTimes=n,this.module=o,this.exports=r,this.disposable=s}},CC=class extends bc{constructor(t){super(!1,null,t,{activate:void 0,deactivate:void 0},void 0,V.None)}},SC=class extends bc{constructor(){super(!1,null,vc.NONE,{activate:void 0,deactivate:void 0},void 0,V.None)}},Wp=class extends bc{constructor(t){super(!0,t,vc.NONE,{activate:void 0,deactivate:void 0},void 0,V.None)}},Vp=class{constructor(t,e,n,o){this._logService=o;this._registry=t,this._globalRegistry=e,this._host=n,this._operations=new Jn,this._alreadyActivatedEvents=Object.create(null)}dispose(){for(let[t,e]of this._operations)e.dispose()}async waitForActivatingExtensions(){let t=[];for(let[e,n]of this._operations)t.push(n.wait());await Promise.all(t)}isActivated(t){let e=this._operations.get(t);return!!(e&&e.value)}getActivatedExtension(t){let e=this._operations.get(t);if(!e||!e.value)throw new Error(`Extension '${t.value}' is not known or not activated`);return e.value}async activateByEvent(t,e){if(this._alreadyActivatedEvents[t])return;let n=this._registry.getExtensionDescriptionsForActivationEvent(t);await this._activateExtensions(n.map(o=>({id:o.identifier,reason:{startup:e,extensionId:o.identifier,activationEvent:t}}))),this._alreadyActivatedEvents[t]=!0}activateById(t,e){let n=this._registry.getExtensionDescription(t);if(!n)throw new Error(`Extension '${t.value}' is not known`);return this._activateExtensions([{id:n.identifier,reason:e}])}async _activateExtensions(t){let e=t.filter(n=>!this.isActivated(n.id)).map(n=>this._handleActivationRequest(n));await Promise.all(e.map(n=>n.wait()))}_handleActivationRequest(t){if(this._operations.has(t.id))return this._operations.get(t.id);if(this._isHostExtension(t.id))return this._createAndSaveOperation(t,null,[],null);let e=this._registry.getExtensionDescription(t.id);if(!e){let r=new Error(`Cannot activate unknown extension '${t.id.value}'`),s=this._createAndSaveOperation(t,null,[],new Wp(r));return this._host.onExtensionActivationError(t.id,r,new Uf(t.id.value)),s}let n=[],o=typeof e.extensionDependencies>"u"?[]:e.extensionDependencies;for(let r of o){if(this._isResolvedExtension(r))continue;let s=this._operations.get(r);if(s){n.push(s);continue}if(this._isHostExtension(r)){n.push(this._handleActivationRequest({id:this._globalRegistry.getExtensionDescription(r).identifier,reason:t.reason}));continue}let a=this._registry.getExtensionDescription(r);if(a){if(!a.main&&!a.browser)continue;n.push(this._handleActivationRequest({id:a.identifier,reason:t.reason}));continue}let l=e.displayName||e.identifier.value,d=new Error(`Cannot activate the '${l}' extension because it depends on unknown extension '${r}'`),c=this._createAndSaveOperation(t,e.displayName,[],new Wp(d));return this._host.onExtensionActivationError(e.identifier,d,new Uf(r)),c}return this._createAndSaveOperation(t,e.displayName,n,null)}_createAndSaveOperation(t,e,n,o){let r=new _h(t.id,e,t.reason,n,o,this._host,this._logService);return this._operations.set(t.id,r),r}_isHostExtension(t){return ia.isHostExtension(t,this._registry,this._globalRegistry)}_isResolvedExtension(t){let e=this._globalRegistry.getExtensionDescription(t);return e?!e.main&&!e.browser:!1}};Vp=R([S(3,ae)],Vp);var _h=class{constructor(t,e,n,o,r,s,a){this._id=t;this._displayName=e;this._reason=n;this._deps=o;this._value=r;this._host=s;this._logService=a;this._barrier=new An;this._isDisposed=!1;this._initialize()}get value(){return this._value}get friendlyName(){return this._displayName||this._id.value}dispose(){this._isDisposed=!0}wait(){return this._barrier.wait()}async _initialize(){await this._waitForDepsThenActivate(),this._barrier.open()}async _waitForDepsThenActivate(){if(!this._value){for(;this._deps.length>0;){for(let t=0;t<this._deps.length;t++){let e=this._deps[t];if(e.value&&!e.value.activationFailed){this._deps.splice(t,1),t--;continue}if(e.value&&e.value.activationFailed){let n=new Error(`Cannot activate the '${this.friendlyName}' extension because its dependency '${e.friendlyName}' failed to activate`);n.detail=e.value.activationFailedError,this._value=new Wp(n),this._host.onExtensionActivationError(this._id,n,null);return}}this._deps.length>0&&await Promise.race(this._deps.map(t=>t.wait()))}await this._activate()}}async _activate(){try{this._value=await this._host.actualActivateExtension(this._id,this._reason)}catch(t){let e=new Error;if(t&&t.name&&(e.name=t.name),t&&t.message?e.message=`Activating extension '${this._id.value}' failed: ${t.message}.`:e.message=`Activating extension '${this._id.value}' failed: ${t}.`,t&&t.stack&&(e.stack=t.stack),this._value=new Wp(e),this._isDisposed&&xn(t))return;this._host.onExtensionActivationError(this._id,e,null),this._logService.error(`Activating extension ${this._id.value} failed due to an error:`),this._logService.error(t)}}};_h=R([S(6,ae)],_h);var $p=class{constructor(t,e){this._logService=e;this._onDidChangeStorage=new w;this.onDidChangeStorage=this._onDidChangeStorage.event;this._proxy=t.getProxy(L.MainThreadStorage)}registerExtensionStorageKeysToSync(t,e){this._proxy.$registerExtensionStorageKeysToSync(t,e)}async initializeExtensionStorage(t,e,n){let o=await this._proxy.$initializeExtensionStorage(t,e),r;return o&&(r=this.safeParseValue(t,e,o)),r||n}setValue(t,e,n){return this._proxy.$setValue(t,e,n)}$acceptValue(t,e,n){let o=this.safeParseValue(t,e,n);o&&this._onDidChangeStorage.fire({shared:t,key:e,value:o})}safeParseValue(t,e,n){try{return JSON.parse(n)}catch(o){this._logService.error(`[extHostStorage] unexpected error parsing storage contents (extensionId: ${e}, global: ${t}): ${o}`)}}},zp=A("IExtHostStorage");var Dh=class{constructor(t,e,n){this._deferredPromises=new Map;this._id=t,this._shared=e,this._storage=n,this._init=this._storage.initializeExtensionStorage(this._shared,this._id,Object.create(null)).then(o=>(this._value=o,this)),this._storageListener=this._storage.onDidChangeStorage(o=>{o.shared===this._shared&&o.key===this._id&&(this._value=o.value)}),this._scheduler=new fo(()=>{let o=this._deferredPromises;this._deferredPromises=new Map,(async()=>{try{await this._storage.setValue(this._shared,this._id,this._value);for(let r of o.values())r.complete()}catch(r){for(let s of o.values())s.error(r)}})()},0)}keys(){return Object.entries(this._value??{}).filter(([,t])=>t!==void 0).map(([t])=>t)}get whenReady(){return this._init}get(t,e){let n=this._value[t];return typeof n>"u"&&(n=e),n}update(t,e){e!==null&&typeof e=="object"?this._value[t]=JSON.parse(JSON.stringify(e)):this._value[t]=e;let n=this._deferredPromises.get(t);if(n!==void 0)return n.p;let o=new cn;return this._deferredPromises.set(t,o),this._scheduler.isScheduled()||this._scheduler.schedule(),o.p}dispose(){this._storageListener.dispose()}},TC=class extends Dh{setKeysForSync(t){this._storage.registerExtensionStorageKeysToSync({id:this._id,version:this._extension.version},t)}constructor(t,e){super(t.identifier.value,!0,e),this._extension=t}};var Ao=class{constructor(t,e){this._fileSystemProvider=new Map;this._writeQueue=new hb;this._proxy=t.getProxy(L.MainThreadFileSystem);let n=this;this.value=Object.freeze({async stat(o){try{let r,s=n._fileSystemProvider.get(o.scheme);return s?(await n._proxy.$ensureActivation(o.scheme),r=await s.impl.stat(o)):r=await n._proxy.$stat(o),{type:r.type,ctime:r.ctime,mtime:r.mtime,size:r.size,permissions:r.permissions===1?1:void 0}}catch(r){Ao._handleError(r)}},async readDirectory(o){try{let r=n._fileSystemProvider.get(o.scheme);return r?(await n._proxy.$ensureActivation(o.scheme),(await r.impl.readDirectory(o)).slice()):await n._proxy.$readdir(o)}catch(r){return Ao._handleError(r)}},async createDirectory(o){try{let r=n._fileSystemProvider.get(o.scheme);return r&&!r.isReadonly?(await n._proxy.$ensureActivation(o.scheme),await n.mkdirp(r.impl,r.extUri,o)):await n._proxy.$mkdir(o)}catch(r){return Ao._handleError(r)}},async readFile(o){try{let r=n._fileSystemProvider.get(o.scheme);return r?(await n._proxy.$ensureActivation(o.scheme),(await r.impl.readFile(o)).slice()):(await n._proxy.$readFile(o)).buffer}catch(r){return Ao._handleError(r)}},async writeFile(o,r){try{let s=n._fileSystemProvider.get(o.scheme);return s&&!s.isReadonly?(await n._proxy.$ensureActivation(o.scheme),await n.mkdirp(s.impl,s.extUri,s.extUri.dirname(o)),await n._writeQueue.queueFor(o,()=>Promise.resolve(s.impl.writeFile(o,r,{create:!0,overwrite:!0})))):await n._proxy.$writeFile(o,te.wrap(r))}catch(s){return Ao._handleError(s)}},async delete(o,r){try{let s=n._fileSystemProvider.get(o.scheme);return s&&!s.isReadonly&&!r?.useTrash?(await n._proxy.$ensureActivation(o.scheme),await s.impl.delete(o,{recursive:!1,...r})):await n._proxy.$delete(o,{recursive:!1,useTrash:!1,atomic:!1,...r})}catch(s){return Ao._handleError(s)}},async rename(o,r,s){try{return await n._proxy.$rename(o,r,{overwrite:!1,...s})}catch(a){return Ao._handleError(a)}},async copy(o,r,s){try{return await n._proxy.$copy(o,r,{overwrite:!1,...s})}catch(a){return Ao._handleError(a)}},isWritableFileSystem(o){let r=e.getCapabilities(o);if(typeof r=="number")return!(r&2048)}})}async mkdirp(t,e,n){let o=[];for(;!e.isEqual(n,e.dirname(n));)try{if(((await t.stat(n)).type&2)===0)throw ut.FileExists(`Unable to create folder '${n.scheme===K.file?n.fsPath:n.toString(!0)}' that already exists but is not a directory`);break}catch(r){if(uu(r)!=="EntryNotFound")throw r;o.push(e.basename(n)),n=e.dirname(n)}for(let r=o.length-1;r>=0;r--){n=e.joinPath(n,o[r]);try{await t.createDirectory(n)}catch(s){if(uu(s)!=="EntryExists")throw s}}}static _handleError(t){if(t instanceof ut)throw t;if(t instanceof df)switch(t.code){case"EntryExists":throw ut.FileExists(t.message);case"EntryNotFound":throw ut.FileNotFound(t.message);case"EntryNotADirectory":throw ut.FileNotADirectory(t.message);case"EntryIsADirectory":throw ut.FileIsADirectory(t.message);case"NoPermissions":throw ut.NoPermissions(t.message);case"Unavailable":throw ut.Unavailable(t.message);default:throw new ut(t.message,t.name)}if(!(t instanceof Error))throw new ut(String(t));if(t.name==="ENOPRO"||t.message.includes("ENOPRO"))throw ut.Unavailable(t.message);switch(t.name){case"EntryExists":throw ut.FileExists(t.message);case"EntryNotFound":throw ut.FileNotFound(t.message);case"EntryNotADirectory":throw ut.FileNotADirectory(t.message);case"EntryIsADirectory":throw ut.FileIsADirectory(t.message);case"NoPermissions":throw ut.NoPermissions(t.message);case"Unavailable":throw ut.Unavailable(t.message);default:throw new ut(t.message,t.name)}}addFileSystemProvider(t,e,n){return this._fileSystemProvider.set(t,{impl:e,extUri:n?.isCaseSensitive?ct:Sw,isReadonly:!!n?.isReadonly}),X(()=>this._fileSystemProvider.delete(t))}getFileSystemProviderExtUri(t){return this._fileSystemProvider.get(t)?.extUri??ct}};Ao=R([S(0,ge),S(1,kr)],Ao);var Ml=A("IExtHostConsumerFileSystem");var Kp=A("IExtensionStoragePaths"),qp=class{constructor(t,e,n){this._logService=e;this._extHostFileSystem=n;this._workspace=t.workspace??void 0,this._environment=t.environment,this.whenReady=this._getOrCreateWorkspaceStoragePath().then(o=>this._value=o)}async _getWorkspaceStorageURI(t){return y.joinPath(this._environment.workspaceStorageHome,t)}async _getOrCreateWorkspaceStoragePath(){if(!this._workspace)return Promise.resolve(void 0);let t=this._workspace.id,e=await this._getWorkspaceStorageURI(t);try{return await this._extHostFileSystem.value.stat(e),this._logService.trace("[ExtHostStorage] storage dir already exists",e),e}catch{}try{return this._logService.trace("[ExtHostStorage] creating dir and metadata-file",e),await this._extHostFileSystem.value.createDirectory(e),await this._extHostFileSystem.value.writeFile(y.joinPath(e,"meta.json"),new TextEncoder().encode(JSON.stringify({id:this._workspace.id,configuration:y.revive(this._workspace.configuration)?.toString(),name:this._workspace.name},void 0,2))),e}catch(n){this._logService.error("[ExtHostStorage]",n);return}}workspaceValue(t){if(this._value)return y.joinPath(this._value,t.identifier.value)}globalValue(t){return y.joinPath(this._environment.globalStorageHome,t.identifier.value.toLowerCase())}onWillDeactivateAll(){}};qp=R([S(0,nt),S(1,ae),S(2,Ml)],qp);var GCe=A("tunnelService"),jCe=A("sharedTunnelsService");function d$(i){if(i.scheme!=="http"&&i.scheme!=="https")return;let t=/^(localhost|127\.0\.0\.1|0\.0\.0\.0):(\d+)$/.exec(i.authority);if(t)return{address:t[1],port:+t[2]}}var CR=["localhost","127.0.0.1","0:0:0:0:0:0:0:1","::1"];function vF(i){return CR.indexOf(i)>=0}var SR=["0.0.0.0","0:0:0:0:0:0:0:0","::"];function bF(i){return SR.indexOf(i)>=0}var wC=class{constructor(t,e,n){this.remoteAddress=t;this.localAddress=e;this._dispose=n;this._onDispose=new w;this.onDidDispose=this._onDispose.event}dispose(){return this._onDispose.fire(),this._onDispose.dispose(),this._dispose()}},EC=class extends V{constructor(e,n){super();this.logService=e;this.configurationService=n;this._onTunnelOpened=this._register(new w);this.onTunnelOpened=this._onTunnelOpened.event;this._onTunnelClosed=this._register(new w);this.onTunnelClosed=this._onTunnelClosed.event;this._onAddedTunnelProvider=this._register(new w);this.onAddedTunnelProvider=this._onAddedTunnelProvider.event;this._tunnels=new Map;this._canElevate=!1;this._canChangeProtocol=!0;this._privacyOptions=[];this._factoryInProgress=new Set}get hasTunnelProvider(){return!!this._tunnelProvider}get defaultTunnelHost(){let e=this.configurationService.getValue("remote.localPortHost");return!e||e==="localhost"?"127.0.0.1":"0.0.0.0"}setTunnelProvider(e){return this._tunnelProvider=e,e?(this._onAddedTunnelProvider.fire(),{dispose:()=>{this._tunnelProvider=void 0,this._canElevate=!1,this._privacyOptions=[]}}):(this._canElevate=!1,this._privacyOptions=[],this._onAddedTunnelProvider.fire(),{dispose:()=>{}})}setTunnelFeatures(e){this._canElevate=e.elevation,this._privacyOptions=e.privacyOptions,this._canChangeProtocol=e.protocol}get canChangeProtocol(){return this._canChangeProtocol}get canElevate(){return this._canElevate}get canChangePrivacy(){return this._privacyOptions.length>0}get privacyOptions(){return this._privacyOptions}get tunnels(){return this.getTunnels()}async getTunnels(){let e=[],n=Array.from(this._tunnels.values());for(let o of n){let r=Array.from(o.values());for(let s of r){let a=await s.value;a&&typeof a!="string"&&e.push(a)}}return e}async dispose(){super.dispose();for(let e of this._tunnels.values()){for(let{value:n}of e.values())await n.then(o=>typeof o!="string"?o?.dispose():void 0);e.clear()}this._tunnels.clear()}setEnvironmentTunnel(e,n,o,r,s){this.addTunnelToMap(e,n,Promise.resolve({tunnelRemoteHost:e,tunnelRemotePort:n,localAddress:o,privacy:r,protocol:s,dispose:()=>Promise.resolve()}))}async getExistingTunnel(e,n){(bF(e)||vF(e))&&(e=CR[0]);let o=this.getTunnelFromMap(e,n);if(o)return++o.refcount,o.value}openTunnel(e,n,o,r,s,a=!1,l,d){this.logService.trace(`ForwardedPorts: (TunnelService) openTunnel request for ${n}:${o} on local port ${s}.`);let c=this._tunnelProvider??e;if(!c)return;if(n||(n="localhost"),r||(r=this.defaultTunnelHost),this._tunnelProvider&&this._factoryInProgress.has(o)){this.logService.debug("ForwardedPorts: (TunnelService) Another call to create a tunnel with the same address has occurred before the last one completed. This call will be ignored.");return}let u=this.retainOrCreateTunnel(c,n,o,r,s,a,l,d);return u?u.then(m=>{if(m){if(typeof m=="string")return this.logService.trace("ForwardedPorts: (TunnelService) The tunnel provider returned an error when creating the tunnel."),this.removeEmptyOrErrorTunnelFromMap(n,o),m}else{this.logService.trace("ForwardedPorts: (TunnelService) New tunnel is undefined."),this.removeEmptyOrErrorTunnelFromMap(n,o);return}this.logService.trace("ForwardedPorts: (TunnelService) New tunnel established.");let g=this.makeTunnel(m);return(m.tunnelRemoteHost!==n||m.tunnelRemotePort!==o)&&this.logService.warn("ForwardedPorts: (TunnelService) Created tunnel does not match requirements of requested tunnel. Host or port mismatch."),l&&m.privacy!==l&&this.logService.warn("ForwardedPorts: (TunnelService) Created tunnel does not match requirements of requested tunnel. Privacy mismatch."),this._onTunnelOpened.fire(g),g}):(this.logService.trace("ForwardedPorts: (TunnelService) Tunnel was not created."),u)}makeTunnel(e){return{tunnelRemotePort:e.tunnelRemotePort,tunnelRemoteHost:e.tunnelRemoteHost,tunnelLocalPort:e.tunnelLocalPort,localAddress:e.localAddress,privacy:e.privacy,protocol:e.protocol,dispose:async()=>{this.logService.trace(`ForwardedPorts: (TunnelService) dispose request for ${e.tunnelRemoteHost}:${e.tunnelRemotePort} `);let n=this._tunnels.get(e.tunnelRemoteHost);if(n){let o=n.get(e.tunnelRemotePort);o&&(o.refcount--,await this.tryDisposeTunnel(e.tunnelRemoteHost,e.tunnelRemotePort,o))}}}}async tryDisposeTunnel(e,n,o){if(o.refcount<=0){this.logService.trace(`ForwardedPorts: (TunnelService) Tunnel is being disposed ${e}:${n}.`);let r=o.value.then(async s=>{s&&typeof s!="string"&&(await s.dispose(!0),this._onTunnelClosed.fire({host:s.tunnelRemoteHost,port:s.tunnelRemotePort}))});return this._tunnels.has(e)&&this._tunnels.get(e).delete(n),r}}async closeTunnel(e,n){this.logService.trace(`ForwardedPorts: (TunnelService) close request for ${e}:${n} `);let o=this._tunnels.get(e);if(o&&o.has(n)){let r=o.get(n);r.refcount=0,await this.tryDisposeTunnel(e,n,r)}}addTunnelToMap(e,n,o){this._tunnels.has(e)||this._tunnels.set(e,new Map),this._tunnels.get(e).set(n,{refcount:1,value:o})}async removeEmptyOrErrorTunnelFromMap(e,n){let o=this._tunnels.get(e);if(o){let r=o.get(n),s=r?await r.value:void 0;(!s||typeof s=="string")&&o.delete(n),o.size===0&&this._tunnels.delete(e)}}getTunnelFromMap(e,n){let o=[e];vF(e)?(o.push(...CR),o.push(...SR)):bF(e)&&o.push(...SR);let r=o.map(s=>this._tunnels.get(s));for(let s of r){let a=s?.get(n);if(a)return a}}canTunnel(e){return!!d$(e)}createWithProvider(e,n,o,r,s,a,l){this.logService.trace(`ForwardedPorts: (TunnelService) Creating tunnel with provider ${n}:${o} on local port ${r}.`);let d=o;this._factoryInProgress.add(d);let c=r===void 0?o:r,u={elevationRequired:s?this.isPortPrivileged(c):!1},m={remoteAddress:{host:n,port:o},localAddressPort:r,privacy:a,public:a?a!=="private":void 0,protocol:l},g=e.forwardPort(m,u);return g?(this.addTunnelToMap(n,o,g),g.finally(()=>{this.logService.trace("ForwardedPorts: (TunnelService) Tunnel created by provider."),this._factoryInProgress.delete(d)})):this._factoryInProgress.delete(d),g}};EC=R([S(0,ae),S(1,bn)],EC);var TR=class extends wC{},yF;(e=>{function i(n){return{remoteAddress:n.remoteAddress,localAddress:n.localAddress,public:!!n.public,privacy:n.privacy??(n.public?"public":"private"),protocol:n.protocol}}e.fromApiTunnel=i;function t(n){return{remoteAddress:{host:n.tunnelRemoteHost,port:n.tunnelRemotePort},localAddress:n.localAddress,public:n.privacy!=="constantPrivate"&&n.privacy!=="constantPrivate",privacy:n.privacy,protocol:n.protocol}}e.fromServiceTunnel=t})(yF||={});var jp=A("IExtHostTunnelService"),Gp=class extends V{constructor(e,n,o){super();this.logService=o;this._showCandidatePort=()=>Promise.resolve(!0);this._extensionTunnels=new Map;this._onDidChangeTunnels=this._register(new w);this.onDidChangeTunnels=this._onDidChangeTunnels.event;this._providerHandleCounter=0;this._portAttributesProviders=new Map;this._proxy=e.getProxy(L.MainThreadTunnelService)}async openTunnel(e,n){this.logService.trace(`ForwardedPorts: (ExtHostTunnelService) ${e.identifier.value} called openTunnel API for ${n.remoteAddress.host}:${n.remoteAddress.port}.`);let o=await this._proxy.$openTunnel(n,e.displayName);if(o){let r=new TR(o.remoteAddress,o.localAddress,()=>this._proxy.$closeTunnel(o.remoteAddress));return this._register(r),r}}async getTunnels(){return this._proxy.$getTunnels()}nextPortAttributesProviderHandle(){return this._providerHandleCounter++}registerPortsAttributesProvider(e,n){e.portRange===void 0&&e.commandPattern===void 0&&this.logService.error("PortAttributesProvider must specify either a portRange or a commandPattern");let o=this.nextPortAttributesProviderHandle();return this._portAttributesProviders.set(o,{selector:e,provider:n}),this._proxy.$registerPortsAttributesProvider(e,o),new Ie(()=>{this._portAttributesProviders.delete(o),this._proxy.$unregisterPortsAttributesProvider(o)})}async $providePortAttributes(e,n,o,r,s){let a=[];for(let d of e){let c=this._portAttributesProviders.get(d);if(!c)return[];a.push(...await Promise.all(n.map(async u=>{let m;try{m=await c.provider.providePortAttributes({port:u,pid:o,commandLine:r},s)}catch{m=await c.provider.providePortAttributes(u,o,r,s)}return{providedAttributes:m,port:u}})))}let l=a.filter(d=>!!d.providedAttributes);return l.length>0?l.map(d=>({autoForwardAction:d.providedAttributes.autoForwardAction,port:d.port})):[]}async $registerCandidateFinder(e){}registerTunnelProvider(e,n){if(this._forwardPortProvider)throw new Error("A tunnel provider has already been registered. Only the first tunnel provider to be registered will be used.");this._forwardPortProvider=async(r,s)=>await e.provideTunnel(r,s,ye.None)??void 0;let o=n.tunnelFeatures?{elevation:!!n.tunnelFeatures?.elevation,privacyOptions:n.tunnelFeatures?.privacyOptions,protocol:n.tunnelFeatures.protocol===void 0?!0:n.tunnelFeatures.protocol}:void 0;return this._proxy.$setTunnelProvider(o,!0),Promise.resolve(X(()=>{this._forwardPortProvider=void 0,this._proxy.$setTunnelProvider(void 0,!1)}))}hasTunnelProvider(){return this._proxy.$hasTunnelProvider()}async setTunnelFactory(e,n){if(e){e.candidatePortSource!==void 0&&this._proxy.$setCandidatePortSource(e.candidatePortSource),e.showCandidatePort&&(this._showCandidatePort=e.showCandidatePort,this._proxy.$setCandidateFilter());let o=e.tunnelFactory??(n?this.makeManagedTunnelFactory(n):void 0);if(o){this._forwardPortProvider=o;let r=e.tunnelFeatures?.privacyOptions??[];e.tunnelFeatures?.public&&r.length===0&&(r=[{id:"private",label:p(4384,null),themeIcon:"lock"},{id:"public",label:p(4385,null),themeIcon:"eye"}]);let s=e.tunnelFeatures?{elevation:!!e.tunnelFeatures?.elevation,public:!!e.tunnelFeatures?.public,privacyOptions:r,protocol:!0}:void 0;this._proxy.$setTunnelProvider(s,!!e.tunnelFactory)}}else this._forwardPortProvider=void 0;return X(()=>{this._forwardPortProvider=void 0})}makeManagedTunnelFactory(e){}async $closeTunnel(e,n){if(this._extensionTunnels.has(e.host)){let o=this._extensionTunnels.get(e.host);o.has(e.port)&&(n&&o.get(e.port).disposeListener.dispose(),await o.get(e.port).tunnel.dispose(),o.delete(e.port))}}async $onDidTunnelsChange(){this._onDidChangeTunnels.fire()}async $forwardPort(e,n){if(this._forwardPortProvider)try{this.logService.trace("ForwardedPorts: (ExtHostTunnelService) Getting tunnel from provider.");let o=this._forwardPortProvider(e,n);if(this.logService.trace("ForwardedPorts: (ExtHostTunnelService) Got tunnel promise from provider."),o!==void 0){let r=await o;if(this.logService.trace("ForwardedPorts: (ExtHostTunnelService) Successfully awaited tunnel from provider."),r===void 0){this.logService.error("ForwardedPorts: (ExtHostTunnelService) Resolved tunnel is undefined");return}this._extensionTunnels.has(e.remoteAddress.host)||this._extensionTunnels.set(e.remoteAddress.host,new Map);let s=this._register(r.onDidDispose(()=>(this.logService.trace("ForwardedPorts: (ExtHostTunnelService) Extension fired tunnel's onDidDispose."),this._proxy.$closeTunnel(r.remoteAddress))));return this._extensionTunnels.get(e.remoteAddress.host).set(e.remoteAddress.port,{tunnel:r,disposeListener:s}),yF.fromApiTunnel(r)}else this.logService.trace("ForwardedPorts: (ExtHostTunnelService) Tunnel is undefined")}catch(o){if(this.logService.trace("ForwardedPorts: (ExtHostTunnelService) tunnel provider error"),o instanceof Error)return o.message}}async $applyCandidateFilter(e){let n=await Promise.all(e.map(r=>this._showCandidatePort(r.host,r.port,r.detail??""))),o=e.filter((r,s)=>n[s]);return this.logService.trace(`ForwardedPorts: (ExtHostTunnelService) filtered from ${e.map(r=>r.port).join(", ")} to ${o.map(r=>r.port).join(", ")}`),o}};Gp=R([S(0,ge),S(1,nt),S(2,ae)],Gp);function IF(i){return[...i.entries()]}function xF(i){return i?[...i.entries()]:[]}var CSe=A("ptyService");var c$={Backend:"workbench.contributions.terminal.processBackend"},ER=class{constructor(){this._backends=new Map}get backends(){return this._backends}registerTerminalBackend(t){let e=this._sanitizeRemoteAuthority(t.remoteAuthority);if(this._backends.has(e))throw new Error(`A terminal backend with remote authority '${e}' was already registered.`);this._backends.set(e,t)}getTerminalBackend(t){return this._backends.get(this._sanitizeRemoteAuthority(t))}_sanitizeRemoteAuthority(t){return t?.toLowerCase()??""}};Et.add(c$.Backend,new ER);var SSe=A("localPtyService"),TSe=A("terminalLogService");var kC=class{constructor(t){this._callback=t;this._terminalBufferMap=new Map}dispose(){for(let t of this._terminalBufferMap.values())t.dispose()}startBuffering(t,e,n=5){let o=e(r=>{let s=Ae(r)?r:r.data,a=this._terminalBufferMap.get(t);if(a){a.data.push(s);return}let l=setTimeout(()=>this.flushBuffer(t),n);a={data:[s],timeoutId:l,dispose:()=>{clearTimeout(l),this.flushBuffer(t),o.dispose()}},this._terminalBufferMap.set(t,a)});return o}stopBuffering(t){this._terminalBufferMap.get(t)?.dispose()}flushBuffer(t){let e=this._terminalBufferMap.get(t);e&&(this._terminalBufferMap.delete(t),this._callback(t,e.data.join("")))}};var yc=(i,t,e,n)=>{let o=t;return{enumerable:!0,configurable:!1,get(){return o},set(r){if(!e(o,r)){let s=o;o=r,i.listener?.(n(r,s))}}}},Qp=(i,t)=>i===t,Ol={range:(i,t)=>i===t?!0:!i||!t?!1:i.isEqual(t),label:Qp,description:Qp,sortText:Qp,busy:Qp,error:Qp,canResolveChildren:Qp,tags:(i,t)=>!(i.length!==t.length||i.some(e=>!t.find(n=>e.id===n.id)))},Jp=i=>t=>({op:4,update:i(t)}),u$=(i,t)=>({range:(()=>{let e,n=Jp(o=>({range:Ne.lift(W.from(o))}));return{enumerable:!0,configurable:!1,get(){return e},set(o){i.listener?.({op:6}),Ol.range(e,o)||(e=o,i.listener?.(n(o)))}}})(),label:yc(i,t,Ol.label,Jp(e=>({label:e}))),description:yc(i,void 0,Ol.description,Jp(e=>({description:e}))),sortText:yc(i,void 0,Ol.sortText,Jp(e=>({sortText:e}))),canResolveChildren:yc(i,!1,Ol.canResolveChildren,e=>({op:2,state:e})),busy:yc(i,!1,Ol.busy,Jp(e=>({busy:e}))),error:yc(i,void 0,Ol.error,Jp(e=>({error:pe.fromStrict(e)||null}))),tags:yc(i,[],Ol.tags,(e,n)=>({op:1,new:e.map(Fr.from),old:n.map(Fr.from)}))}),p$=i=>{let t=qe.fromString(i.extId),e=new sa(t.controllerId,t.localId,i.label,y.revive(i.uri)||void 0);return e.range=W.to(i.range||void 0),e.description=i.description||void 0,e.sortText=i.sortText||void 0,e.tags=i.tags.map(n=>Fr.to({id:Zy(n).tagId})),e},wR=i=>{let t;for(let e of i.tests){let n=p$(e.item);Ou(n).parent=t,t=n}return t},sa=class i{constructor(t,e,n,o){if(e.includes("\0"))throw new Error(`Test IDs may not include the ${JSON.stringify(e)} symbol`);let r=MU(this,t);Object.defineProperties(this,{id:{value:e,enumerable:!0,writable:!1},uri:{value:o,enumerable:!0,writable:!1},parent:{enumerable:!1,get(){return r.parent instanceof Xp?void 0:r.parent}},children:{value:RU(r,Ou,i),enumerable:!0,writable:!1},...u$(r,n)})}},Xp=class extends sa{constructor(e,n){super(e,e,n,void 0);this._isRoot=!0}},PC=class extends nI{constructor(t,e,n){super({controllerId:t,getDocumentVersion:o=>o&&n.getDocument(o)?.version,getApiFor:Ou,getChildren:o=>o.children,root:new Xp(t,e),toITestItem:ts.from})}};var Yp=class extends V{constructor(e,n,o){super();this.initData=n;this._onDidChangeTelemetryEnabled=this._register(new w);this.onDidChangeTelemetryEnabled=this._onDidChangeTelemetryEnabled.event;this._onDidChangeTelemetryConfiguration=this._register(new w);this.onDidChangeTelemetryConfiguration=this._onDidChangeTelemetryConfiguration.event;this._productConfig={usage:!0,error:!0};this._level=0;this._inLoggingOnlyMode=!1;this._telemetryLoggers=new Map;this._inLoggingOnlyMode=this.initData.environment.isExtensionTelemetryLoggingOnly;let r=n.remote.isRemote?"remoteExtHostTelemetry":e?"workerExtHostTelemetry":"extHostTelemetry";this._outputLogger=this._register(o.createLogger(r,{name:p(4382,null,this._inLoggingOnlyMode?" (Not Sent)":""),hidden:!0,group:qN}))}getTelemetryConfiguration(){return this._level===3}getTelemetryDetails(){return{isCrashEnabled:this._level>=1,isErrorsEnabled:this._productConfig.error?this._level>=2:!1,isUsageEnabled:this._productConfig.usage?this._level>=3:!1}}instantiateLogger(e,n,o){let r=this.getTelemetryDetails(),s=new Rh(n,o,e,this._outputLogger,this._inLoggingOnlyMode,this.getBuiltInCommonProperties(e),{isUsageEnabled:r.isUsageEnabled,isErrorsEnabled:r.isErrorsEnabled}),a=this._telemetryLoggers.get(e.identifier.value)??[];return this._telemetryLoggers.set(e.identifier.value,[...a,s]),s.apiTelemetryLogger}$initializeTelemetryLevel(e,n,o){this._level=e,this._productConfig=o??{usage:!0,error:!0}}getBuiltInCommonProperties(e){let n=Object.create(null);switch(n["common.extname"]=`${e.publisher}.${e.name}`,n["common.extversion"]=e.version,n["common.vscodemachineid"]=this.initData.telemetryInfo.machineId,n["common.vscodesessionid"]=this.initData.telemetryInfo.sessionId,n["common.vscodecommithash"]=this.initData.commit,n["common.sqmid"]=this.initData.telemetryInfo.sqmId,n["common.devDeviceId"]=this.initData.telemetryInfo.devDeviceId??this.initData.telemetryInfo.machineId,n["common.vscodeversion"]=this.initData.version,n["common.vscodereleasedate"]=this.initData.date,n["common.isnewappinstall"]=kR(this.initData.telemetryInfo.firstSessionDate),n["common.product"]=this.initData.environment.appHost,this.initData.uiKind){case 2:n["common.uikind"]="web";break;case 1:n["common.uikind"]="desktop";break;default:n["common.uikind"]="unknown"}return n["common.remotename"]=KN(this.initData.remote.authority,this.initData),this.initData.environment.isSessionsWindow&&(n["common.isAgentsWindow"]=!0),n}$onDidChangeTelemetryLevel(e){this._oldTelemetryEnablement=this.getTelemetryConfiguration(),this._level=e;let n=this.getTelemetryDetails();this._telemetryLoggers.forEach((o,r)=>{let s=o.filter(a=>!a.isDisposed);s.length===0?this._telemetryLoggers.delete(r):this._telemetryLoggers.set(r,s)}),this._telemetryLoggers.forEach(o=>{for(let r of o)r.updateTelemetryEnablements(n.isUsageEnabled,n.isErrorsEnabled)}),this._oldTelemetryEnablement!==this.getTelemetryConfiguration()&&this._onDidChangeTelemetryEnabled.fire(this.getTelemetryConfiguration()),this._onDidChangeTelemetryConfiguration.fire(this.getTelemetryDetails())}onExtensionError(e,n){let r=this._telemetryLoggers.get(e.value)?.filter(a=>!a.isDisposed);if(!r)return this._telemetryLoggers.delete(e.value),!1;let s=!1;for(let a of r)a.ignoreUnhandledExtHostErrors||(a.logError(n),s=!0);return s}};Yp=R([S(1,nt),S(2,lr)],Yp);var Rh=class{constructor(t,e,n,o,r,s,a){this._extension=n;this._logger=o;this._inLoggingOnlyMode=r;this._commonProperties=s;this._onDidChangeEnableStates=new w;this.ignoreUnhandledExtHostErrors=e?.ignoreUnhandledErrors??!1,this._ignoreBuiltinCommonProperties=e?.ignoreBuiltInCommonProperties??!1,this._additionalCommonProperties=e?.additionalCommonProperties,this._sender=t,this._telemetryEnablements={isUsageEnabled:a.isUsageEnabled,isErrorsEnabled:a.isErrorsEnabled}}static validateSender(t){if(typeof t!="object")throw new TypeError("TelemetrySender argument is invalid");if(typeof t.sendEventData!="function")throw new TypeError("TelemetrySender.sendEventData must be a function");if(typeof t.sendErrorData!="function")throw new TypeError("TelemetrySender.sendErrorData must be a function");if(typeof t.flush<"u"&&typeof t.flush!="function")throw new TypeError("TelemetrySender.flush must be a function or undefined")}updateTelemetryEnablements(t,e){this._apiObject&&(this._telemetryEnablements={isUsageEnabled:t,isErrorsEnabled:e},this._onDidChangeEnableStates.fire(this._apiObject))}mixInCommonPropsAndCleanData(t){let e=t.properties?t.properties??{}:t;return e=n_(e,[]),this._additionalCommonProperties&&(e=wr(e,this._additionalCommonProperties)),this._ignoreBuiltinCommonProperties||(e=wr(e,this._commonProperties)),t.properties?t.properties=e:t=e,t}logEvent(t,e){this._sender&&(this._extension.publisher==="vscode"?t=this._extension.name+"/"+t:t=this._extension.identifier.value+"/"+t,e=this.mixInCommonPropsAndCleanData(e||{}),this._inLoggingOnlyMode||this._sender?.sendEventData(t,e),this._logger.trace(t,e))}logUsage(t,e){this._telemetryEnablements.isUsageEnabled&&this.logEvent(t,e)}logError(t,e){if(!(!this._telemetryEnablements.isErrorsEnabled||!this._sender))if(typeof t=="string")this.logEvent(t,e);else{let n={name:t.name,message:t.message,stack:t.stack,cause:t.cause},o=n_(n,[]),r=new Error(typeof o.message=="string"?o.message:void 0,{cause:o.cause});r.stack=typeof o.stack=="string"?o.stack:void 0,r.name=typeof o.name=="string"?o.name:"unknown",e=this.mixInCommonPropsAndCleanData(e||{}),this._inLoggingOnlyMode||this._sender.sendErrorData(r,e),this._logger.trace("exception",e)}}get apiTelemetryLogger(){if(!this._apiObject){let t=this,e={logUsage:t.logUsage.bind(t),get isUsageEnabled(){return t._telemetryEnablements.isUsageEnabled},get isErrorsEnabled(){return t._telemetryEnablements.isErrorsEnabled},logError:t.logError.bind(t),dispose:t.dispose.bind(t),onDidChangeEnableStates:t._onDidChangeEnableStates.event.bind(t)};this._apiObject=Object.freeze(e)}return this._apiObject}get isDisposed(){return!this._sender}dispose(){if(this._sender?.flush){let t=this._sender;this._sender=void 0,Promise.resolve(t.flush()).then(t=void 0),this._apiObject=void 0}else this._sender=void 0;this._onDidChangeEnableStates.dispose()}};function kR(i){let t=Date.now()-new Date(i).getTime();return isNaN(t)?!1:t<1e3*60*60*24}var Ll=A("IExtHostTelemetry");var Zp=class{constructor(t,e,n){this._commands=new Map;this._apiCommands=new Map;this.#e=t.getProxy(L.MainThreadCommands),this._logService=e,this.#n=n,this.#t=t.getProxy(L.MainThreadTelemetry),this.converter=new PR(this,o=>{let r=this._apiCommands.get(o);return r?.result===ke.Void?r:void 0},e),this._argumentProcessors=[{processArgument(o){return _t(o)}},{processArgument(o){return Ri(o,function(r){if(Ne.isIRange(r))return W.to(r);if(vn.isIPosition(r))return et.to(r);if(Ne.isIRange(r.range)&&y.isUri(r.uri))return Yn.to(r);if(r instanceof te)return r.buffer.buffer;if(!Array.isArray(r))return r})}}]}#e;#t;#n;registerArgumentProcessor(t){this._argumentProcessors.push(t)}registerApiCommand(t){let e=this.registerCommand(!1,t.id,async(...n)=>{let o=t.args.map((s,a)=>{if(!s.validate(n[a]))throw new Error(`Invalid argument '${s.name}' when running '${t.id}', received: ${typeof n[a]=="object"?JSON.stringify(n[a],null,"	"):n[a]} `);return s.convert(n[a])}),r=await this.executeCommand(t.internalId,...o);return t.result.convert(r,n,this.converter)},void 0,{description:t.description,args:t.args,returns:t.result.description});return this._apiCommands.set(t.id,t),new Ie(()=>{e.dispose(),this._apiCommands.delete(t.id)})}registerCommand(t,e,n,o,r,s){if(this._logService.trace("ExtHostCommands#registerCommand",e),!e.trim().length)throw new Error("invalid id");if(this._commands.has(e))throw new Error(`command '${e}' already exists`);return this._commands.set(e,{callback:n,thisArg:o,metadata:r,extension:s}),t&&this.#e.$registerCommand(e),new Ie(()=>{this._commands.delete(e)&&t&&this.#e.$unregisterCommand(e)})}executeCommand(t,...e){return this._logService.trace("ExtHostCommands#executeCommand",t),this._doExecuteCommand(t,e,!0)}async _doExecuteCommand(t,e,n){if(this._commands.has(t))return this.#e.$fireCommandActivationEvent(t),this._executeContributedCommand(t,e,!1);{let o=!1,r=Ri(e,function(s){if(s instanceof we)return et.from(s);if(s instanceof ve)return W.from(s);if(s instanceof Wt)return Yn.from(s);if(Wn.isNotebookRange(s))return yr.from(s);if(s instanceof ArrayBuffer)return o=!0,te.wrap(new Uint8Array(s));if(s instanceof Uint8Array)return o=!0,te.wrap(s);if(s instanceof te)return o=!0,s;if(!Array.isArray(s))return s});try{let s=await this.#e.$executeCommand(t,o?new Ft(r):r,n);return _t(s)}catch(s){if(s instanceof Error&&s.message==="$executeCommand:retry")return this._doExecuteCommand(t,e,!1);throw s}}}async _executeContributedCommand(t,e,n){let o=this._commands.get(t);if(!o)throw new Error("Unknown command");let{callback:r,thisArg:s,metadata:a}=o;if(a?.args)for(let d=0;d<a.args.length;d++)try{UE(e[d],a.args[d].constraint)}catch{throw new Error(`Running the contributed command: '${t}' failed. Illegal argument '${a.args[d].name}' - ${a.args[d].description}`)}let l=Hn.create();try{return await r.apply(s,e)}catch(d){if(t===this.converter.delegatingCommandId){let c=this.converter.getActualCommand(...e);c&&(t=c.command)}if(xn(d)||this._logService.error(d,t,o.extension?.identifier),!n)throw d;if(o.extension?.identifier){let c=this.#n.onExtensionError(o.extension.identifier,d);this._logService.trace("forwarded error to extension?",c,o.extension?.identifier)}throw new class extends Error{constructor(){super(jr(d));this.id=t;this.source=o.extension?.displayName??o.extension?.name}}}finally{this._reportTelemetry(o,t,l.elapsed())}}_reportTelemetry(t,e,n){t.extension&&(e.startsWith("code.copilot.logStructured")||this.#t.$publicLog2("Extension:ActionExecuted",{extensionId:t.extension.identifier.value,id:new Ga(e),duration:n}))}$executeContributedCommand(t,...e){this._logService.trace("ExtHostCommands#$executeContributedCommand",t);let n=this._commands.get(t);return n?(e=e.map(o=>this._argumentProcessors.reduce((r,s)=>s.processArgument(r,n.extension),o)),this._executeContributedCommand(t,e,!0)):Promise.reject(new Error(`Contributed command '${t}' does not exist.`))}getCommands(t=!1){return this._logService.trace("ExtHostCommands#getCommands",t),this.#e.$getCommands().then(e=>(t&&(e=e.filter(n=>n[0]!=="_")),e))}$getContributedCommandMetadata(){let t=Object.create(null);for(let[e,n]of this._commands){let{metadata:o}=n;o&&(t[e]=o)}return Promise.resolve(t)}};Zp=R([S(0,ge),S(1,ae),S(2,Ll)],Zp);var Xo=A("IExtHostCommands"),PR=class{constructor(t,e,n){this._commands=t;this._lookupApiCommand=e;this._logService=n;this.delegatingCommandId=`__vsc${We()}`;this._cache=new Map;this._cachIdPool=0;this._commands.registerCommand(!0,this.delegatingCommandId,this._executeConvertedCommand,this)}toInternal(t,e){if(!t)return;let n={$ident:void 0,id:t.command,title:t.title,tooltip:t.tooltip};if(!t.command)return n;let o=this._lookupApiCommand(t.command);if(o)n.id=o.internalId,n.arguments=o.args.map((r,s)=>r.convert(t.arguments&&t.arguments[s]));else if(va(t.arguments)){let r=`${t.command} /${++this._cachIdPool}`;this._cache.set(r,t),e.add(X(()=>{this._cache.delete(r),this._logService.trace("CommandsConverter#DISPOSE",r)})),n.$ident=r,n.id=this.delegatingCommandId,n.arguments=[r],this._logService.trace("CommandsConverter#CREATE",t.command,r)}return n}fromInternal(t){return typeof t.$ident=="string"?this._cache.get(t.$ident):{command:t.id,title:t.title,arguments:t.arguments}}getActualCommand(...t){return this._cache.get(t[0])}_executeConvertedCommand(...t){let e=this.getActualCommand(...t);return this._logService.trace("CommandsConverter#EXECUTE",t[0],e?e.command:"MISSING"),e?this._commands.executeCommand(e.command,...e.arguments||[]):Promise.reject(`Actual command not found, wanted to execute ${t[0]}`)}},Y=class i{constructor(t,e,n,o){this.name=t;this.description=e;this.validate=n;this.convert=o}static{this.Uri=new i("uri","Uri of a text document",t=>y.isUri(t),t=>t)}static{this.Position=new i("position","A position in a text document",t=>we.isPosition(t),et.from)}static{this.Range=new i("range","A range in a text document",t=>ve.isRange(t),W.from)}static{this.Selection=new i("selection","A selection in a text document",t=>On.isSelection(t),co.from)}static{this.Number=new i("number","",t=>typeof t=="number",t=>t)}static{this.String=new i("string","",t=>typeof t=="string",t=>t)}static Arr(t){return new i(`${t.name}_array`,`Array of ${t.name}, ${t.description}`,e=>Array.isArray(e)&&e.every(n=>t.validate(n)),e=>e.map(n=>t.convert(n)))}static{this.CallHierarchyItem=new i("item","A call hierarchy item",t=>t instanceof ml,ta.from)}static{this.TypeHierarchyItem=new i("item","A type hierarchy item",t=>t instanceof hl,oa.from)}static{this.TestItem=new i("testItem","A VS Code TestItem",t=>t instanceof sa,ts.from)}static{this.TestProfile=new i("testProfile","A VS Code test profile",t=>t instanceof Xu,qD.from)}optional(){return new i(this.name,`(optional) ${this.description}`,t=>t==null||this.validate(t),t=>t===void 0?void 0:t===null?null:this.convert(t))}with(t,e){return new i(t??this.name,e??this.description,this.validate,this.convert)}},ke=class i{constructor(t,e){this.description=t;this.convert=e}static{this.Void=new i("no result",t=>t)}},_e=class{constructor(t,e,n,o,r){this.id=t;this.internalId=e;this.description=n;this.args=o;this.result=r}};var ci=A("IExtHostTerminalService"),Oh=class extends V{constructor(e,n,o,r){super();this._proxy=e;this._id=n;this._creationOptions=o;this._name=r;this._disposed=!1;this._state={isInteractedWith:!1,shell:void 0};this.isOpen=!1;this._onWillDispose=this._register(new w);this.onWillDispose=this._onWillDispose.event;this._creationOptions=Object.freeze(this._creationOptions),this._pidPromise=new Promise(a=>this._pidPromiseComplete=a);let s=this;this.value={get name(){return s._name||""},get processId(){return s._pidPromise},get creationOptions(){return s._creationOptions},get exitStatus(){return s._exitStatus},get state(){return s._state},get selection(){return s._selection},get shellIntegration(){return s.shellIntegration},sendText(a,l=!0){s._checkDisposed(),s._proxy.$sendText(s._id,a,l)},show(a){s._checkDisposed(),s._proxy.$show(s._id,a)},hide(){s._checkDisposed(),s._proxy.$hide(s._id)},dispose(){s._disposed||(s._disposed=!0,s._proxy.$dispose(s._id))},get dimensions(){if(!(s._cols===void 0||s._rows===void 0))return{columns:s._cols,rows:s._rows}}}}dispose(){this._onWillDispose.fire(),super.dispose()}async create(e,n){if(typeof this._id!="string")throw new Error("Terminal has already been created");await this._proxy.$createTerminal(this._id,{name:e.name,shellPath:e.shellPath??void 0,shellArgs:e.shellArgs??void 0,cwd:e.cwd??n?.cwd??void 0,env:e.env??void 0,icon:SF(e.iconPath)??void 0,color:pu.isThemeColor(e.color)?e.color.id:void 0,initialText:e.message??void 0,strictEnv:e.strictEnv??void 0,hideFromUser:e.hideFromUser??void 0,forceShellIntegration:n?.forceShellIntegration??void 0,isFeatureTerminal:n?.isFeatureTerminal??void 0,isExtensionOwnedTerminal:!0,useShellEnvironment:n?.useShellEnvironment??void 0,location:n?.location||this._serializeParentTerminal(e.location,n?.resolvedExtHostIdentifier),isTransient:e.isTransient??void 0,shellIntegrationNonce:e.shellIntegrationNonce??void 0,titleTemplate:e.titleTemplate??void 0})}async createExtensionTerminal(e,n,o,r,s,a,l){if(typeof this._id!="string")throw new Error("Terminal has already been created");if(await this._proxy.$createTerminal(this._id,{name:this._name,isExtensionCustomPtyTerminal:!0,icon:r,color:pu.isThemeColor(s)?s.id:void 0,location:n?.location||this._serializeParentTerminal(e,o),isTransient:!0,shellIntegrationNonce:a??void 0,titleTemplate:l??void 0}),typeof this._id=="string")throw new Error("Terminal creation failed");return this._id}_serializeParentTerminal(e,n){return typeof e=="object"?Rn(e,{parentTerminal:!0})&&e.parentTerminal&&n?{parentTerminal:n}:Rn(e,{viewColumn:!0})?{viewColumn:At.from(e.viewColumn),preserveFocus:e.preserveFocus}:void 0:e}_checkDisposed(){if(this._disposed)throw new Error("Terminal has already been disposed")}set name(e){this._name=e}setExitStatus(e,n){this._exitStatus=Object.freeze({code:e,reason:n})}setDimensions(e,n){return e===this._cols&&n===this._rows||e===0||n===0?!1:(this._cols=e,this._rows=n,!0)}setInteractedWith(){return this._state.isInteractedWith?!1:(this._state={...this._state,isInteractedWith:!0},!0)}setShellType(e){return this._state.shell!==e?(this._state={...this._state,shell:e},!0):!1}setSelection(e){this._selection=e}_setProcessId(e){this._pidPromiseComplete?(this._pidPromiseComplete(e),this._pidPromiseComplete=void 0):this._pidPromise.then(n=>{n!==e&&(this._pidPromise=Promise.resolve(e))})}},Mh=class{constructor(t){this._pty=t;this.id=0;this.shouldPersist=!1;this._onProcessData=new w;this.onProcessData=this._onProcessData.event;this._onProcessReady=new w;this._onDidChangeProperty=new w;this.onDidChangeProperty=this._onDidChangeProperty.event;this._onProcessExit=new w;this.onProcessExit=this._onProcessExit.event}get onProcessReady(){return this._onProcessReady.event}refreshProperty(t){throw new Error(`refreshProperty is not suppported in extension owned terminals. property: ${t}`)}updateProperty(t,e){throw new Error(`updateProperty is not suppported in extension owned terminals. property: ${t}, value: ${e}`)}async start(){}shutdown(){this._pty.close()}input(t){this._pty.handleInput?.(t)}sendSignal(t){}resize(t,e){this._pty.setDimensions?.({columns:t,rows:e})}clearBuffer(){}async processBinary(t){}acknowledgeDataEvent(t){}async setUnicodeVersion(t){}getInitialCwd(){return Promise.resolve("")}getCwd(){return Promise.resolve("")}startSendingEvents(t){this._pty.onDidWrite(e=>this._onProcessData.fire(e)),this._pty.onDidClose?.((e=void 0)=>{this._onProcessExit.fire(e===void 0?void 0:e)}),this._pty.onDidOverrideDimensions?.(e=>{e&&this._onDidChangeProperty.fire({type:"overrideDimensions",value:{cols:e.columns,rows:e.rows}})}),this._pty.onDidChangeName?.(e=>{this._onDidChangeProperty.fire({type:"title",value:e})}),this._pty.open(t||void 0),t&&this._pty.setDimensions?.(t),this._onProcessReady.fire({pid:-1,cwd:"",windowsPty:void 0})}},m$=1,Ah=class extends V{constructor(e,n,o){super();this._extHostCommands=n;this._terminals=[];this._terminalProcesses=new Map;this._terminalProcessDisposables={};this._extensionTerminalAwaitingStart={};this._getTerminalPromises={};this._environmentVariableCollections=new Map;this._lastQuickFixCommands=this._register(new ln);this._linkProviders=new Set;this._completionProviders=new Map;this._profileProviders=new Map;this._quickFixProviders=new Map;this._terminalLinkCache=new Map;this._terminalLinkCancellationSource=new Map;this._onDidCloseTerminal=new w;this.onDidCloseTerminal=this._onDidCloseTerminal.event;this._onDidOpenTerminal=new w;this.onDidOpenTerminal=this._onDidOpenTerminal.event;this._onDidChangeActiveTerminal=new w;this.onDidChangeActiveTerminal=this._onDidChangeActiveTerminal.event;this._onDidChangeTerminalDimensions=new w;this.onDidChangeTerminalDimensions=this._onDidChangeTerminalDimensions.event;this._onDidChangeTerminalState=new w;this.onDidChangeTerminalState=this._onDidChangeTerminalState.event;this._onDidChangeShell=new w;this.onDidChangeShell=this._onDidChangeShell.event;this._onDidWriteTerminalData=new w({onWillAddFirstListener:()=>this._proxy.$startSendingDataEvents(),onDidRemoveLastListener:()=>this._proxy.$stopSendingDataEvents()});this.onDidWriteTerminalData=this._onDidWriteTerminalData.event;this._onDidExecuteCommand=new w({onWillAddFirstListener:()=>this._proxy.$startSendingCommandEvents(),onDidRemoveLastListener:()=>this._proxy.$stopSendingCommandEvents()});this.onDidExecuteTerminalCommand=this._onDidExecuteCommand.event;this._proxy=o.getProxy(L.MainThreadTerminalService),this._bufferer=new kC(this._proxy.$sendProcessData),this._proxy.$registerProcessSupport(e),this._extHostCommands.registerArgumentProcessor({processArgument:r=>{let s=a=>this.getTerminalById(a.instanceId)?.value;switch(r?.$mid){case 15:return s(r);default:{if(Array.isArray(r))for(let a=0;a<r.length&&r[a].$mid===15;a++)r[a]=s(r[a]);return r}}}}),this._register({dispose:()=>{for(let[r,s]of this._terminalProcesses)s.shutdown(!0)}})}get activeTerminal(){return this._activeTerminal?.value}get terminals(){return this._terminals.map(e=>e.value)}getDefaultShell(e){return(e?this._defaultAutomationProfile:this._defaultProfile)?.path||""}getDefaultShellArgs(e){return(e?this._defaultAutomationProfile:this._defaultProfile)?.args||[]}createExtensionTerminal(e,n){let o=new Oh(this._proxy,We(),e,e.name),r=new Mh(e.pty);return o.createExtensionTerminal(e.location,n,this._serializeParentTerminal(e,n).resolvedExtHostIdentifier,SF(e.iconPath),g$(e.color),e.shellIntegrationNonce,e.titleTemplate).then(s=>{let a=this._setupExtHostProcessListeners(s,r);this._terminalProcessDisposables[s]=a}),this._terminals.push(o),o.value}_serializeParentTerminal(e,n){if(n=n||{},e.location&&typeof e.location=="object"&&Rn(e.location,{parentTerminal:!0})){let o=e.location.parentTerminal;if(o){let r=this._terminals.find(s=>s.value===o);r&&(n.resolvedExtHostIdentifier=r._id)}}else e.location&&typeof e.location!="object"?n.location=e.location:n.location&&typeof n.location=="object"&&Rn(n.location,{splitActiveTerminal:!0})&&(n.location={splitActiveTerminal:!0});return n}attachPtyToTerminal(e,n){if(!this.getTerminalById(e))throw new Error(`Cannot resolve terminal with id ${e} for virtual process`);let r=new Mh(n),s=this._setupExtHostProcessListeners(e,r);this._terminalProcessDisposables[e]=s}async $acceptActiveTerminalChanged(e){let n=this._activeTerminal;if(e===null){this._activeTerminal=void 0,n!==this._activeTerminal&&this._onDidChangeActiveTerminal.fire(this._activeTerminal);return}let o=this.getTerminalById(e);o&&(this._activeTerminal=o,n!==this._activeTerminal&&this._onDidChangeActiveTerminal.fire(this._activeTerminal.value))}async $acceptTerminalProcessData(e,n){let o=this.getTerminalById(e);o&&this._onDidWriteTerminalData.fire({terminal:o.value,data:n})}async $acceptTerminalDimensions(e,n,o){let r=this.getTerminalById(e);r&&r.setDimensions(n,o)&&this._onDidChangeTerminalDimensions.fire({terminal:r.value,dimensions:r.value.dimensions})}async $acceptDidExecuteCommand(e,n){let o=this.getTerminalById(e);o&&this._onDidExecuteCommand.fire({terminal:o.value,...n})}async $acceptTerminalMaximumDimensions(e,n,o){this._terminalProcesses.get(e)?.resize(n,o)}async $acceptTerminalTitleChange(e,n){let o=this.getTerminalById(e);o&&(o.name=n)}async $acceptTerminalClosed(e,n,o){this._terminalLinkCache.delete(e);let r=this._terminalLinkCancellationSource.get(e);r&&(this._terminalLinkCancellationSource.delete(e),r.dispose(!0));let s=this._getTerminalObjectIndexById(this._terminals,e);if(s!==null){let a=this._terminals.splice(s,1)[0];a.setExitStatus(n,o),this._onDidCloseTerminal.fire(a.value)}}$acceptTerminalOpened(e,n,o,r){if(n){let l=this._getTerminalObjectIndexById(this._terminals,n);if(l!==null){this._terminals[l]._id=e,this._onDidOpenTerminal.fire(this.terminals[l]),this._terminals[l].isOpen=!0;return}}let s={name:r.name,shellPath:r.executable,shellArgs:r.args,cwd:typeof r.cwd=="string"?r.cwd:y.revive(r.cwd),env:r.env,hideFromUser:r.hideFromUser,titleTemplate:r.titleTemplate},a=new Oh(this._proxy,e,s,o);this._terminals.push(a),this._onDidOpenTerminal.fire(a.value),a.isOpen=!0}async $acceptTerminalProcessId(e,n){this.getTerminalById(e)?._setProcessId(n)}async $startExtensionTerminal(e,n){let o=this.getTerminalById(e);if(!o)return{message:p(4383,null,e)};o.isOpen||await new Promise(s=>{let a=this.onDidOpenTerminal(async l=>{l===o.value&&(a.dispose(),s())})});let r=this._terminalProcesses.get(e);r?r.startSendingEvents(n):this._extensionTerminalAwaitingStart[e]={initialDimensions:n}}_setupExtHostProcessListeners(e,n){let o=new J;o.add(n.onProcessReady(s=>this._proxy.$sendProcessReady(e,s.pid,s.cwd,s.windowsPty))),o.add(n.onDidChangeProperty(s=>this._proxy.$sendProcessProperty(e,s))),this._bufferer.startBuffering(e,n.onProcessData),o.add(n.onProcessExit(s=>this._onProcessExit(e,s))),this._terminalProcesses.set(e,n);let r=this._extensionTerminalAwaitingStart[e];return r&&n instanceof Mh&&(n.startSendingEvents(r.initialDimensions),delete this._extensionTerminalAwaitingStart[e]),o}$acceptProcessAckDataEvent(e,n){this._terminalProcesses.get(e)?.acknowledgeDataEvent(n)}$acceptProcessInput(e,n){this._terminalProcesses.get(e)?.input(n)}$acceptTerminalInteraction(e){let n=this.getTerminalById(e);n?.setInteractedWith()&&this._onDidChangeTerminalState.fire(n.value)}$acceptTerminalSelection(e,n){this.getTerminalById(e)?.setSelection(n)}$acceptProcessResize(e,n,o){try{this._terminalProcesses.get(e)?.resize(n,o)}catch(r){if(r.code!=="EPIPE"&&r.code!=="ERR_IPC_CHANNEL_CLOSED")throw r}}$acceptProcessShutdown(e,n){this._terminalProcesses.get(e)?.shutdown(n)}$acceptProcessRequestInitialCwd(e){this._terminalProcesses.get(e)?.getInitialCwd().then(n=>this._proxy.$sendProcessProperty(e,{type:"initialCwd",value:n}))}$acceptProcessRequestCwd(e){this._terminalProcesses.get(e)?.getCwd().then(n=>this._proxy.$sendProcessProperty(e,{type:"cwd",value:n}))}$acceptProcessRequestLatency(e){return Promise.resolve(e)}registerProfileProvider(e,n,o){if(this._profileProviders.has(n))throw new Error(`Terminal profile provider "${n}" already registered`);return this._profileProviders.set(n,{provider:o,extension:e}),this._proxy.$registerProfileProvider(n,e.identifier.value),new Ie(()=>{this._profileProviders.delete(n),this._proxy.$unregisterProfileProvider(n)})}registerTerminalCompletionProvider(e,n,...o){if(this._completionProviders.has(e.identifier.value))throw new Error(`Terminal completion provider "${e.identifier.value}" already registered`);return this._completionProviders.set(e.identifier.value,n),this._proxy.$registerCompletionProvider(e.identifier.value,e.identifier.value,...o),new Ie(()=>{this._completionProviders.delete(e.identifier.value),this._proxy.$unregisterCompletionProvider(e.identifier.value)})}async $provideTerminalCompletions(e,n){let o=new Me().token;if(o.isCancellationRequested||!this.activeTerminal)return;let r=this._completionProviders.get(e);if(!r)return;let s=await r.provideTerminalCompletions(this.activeTerminal,n,o);if(s==null)return;let a=!It||this.activeTerminal.state?.shell==="gitbash"?"/":"\\";return YD.from(s,a)}$acceptTerminalShellType(e,n){let o=this.getTerminalById(e);o?.setShellType(n)&&this._onDidChangeTerminalState.fire(o.value)}registerTerminalQuickFixProvider(e,n,o){if(this._quickFixProviders.has(e))throw new Error(`Terminal quick fix provider "${e}" is already registered`);return this._quickFixProviders.set(e,o),this._proxy.$registerQuickFixProvider(e,n),new Ie(()=>{this._quickFixProviders.delete(e),this._proxy.$unregisterQuickFixProvider(e)})}async $provideTerminalQuickFixes(e,n){let o=new Me().token;if(o.isCancellationRequested)return;let r=this._quickFixProviders.get(e);if(!r)return;let s=await r.provideTerminalQuickFixes(n,o);if(s===null||Array.isArray(s)&&s.length===0)return;let a=new J;if(this._lastQuickFixCommands.value=a,!Array.isArray(s))return s?sC.from(s,this._extHostCommands.converter,a):void 0;let l=[];for(let d of s){let c=sC.from(d,this._extHostCommands.converter,a);c&&l.push(c)}return l}async $createContributedProfileTerminal(e,n){let o=new Me().token,r=this._profileProviders.get(e);if(!r)throw new Error(`No terminal profile provider registered for id "${e}"`);let s=await r.provider.provideTerminalProfile(o);if(o.isCancellationRequested)return;if(s&&!Rn(s,{options:!0})&&(s={options:s}),!s||!Rn(s,{options:!0}))throw new Error(`No terminal profile options provided for id "${e}"`);let a=De(r.extension,"terminalTitle");!a&&s.options.titleTemplate!==void 0&&(console.error(`[${r.extension.identifier.value}] \`titleTemplate\` returned from TerminalProfileProvider is ignored because the \`terminalTitle\` proposed API is not enabled.`),s={options:{...s.options,titleTemplate:void 0}}),!a&&n.titleTemplate!==void 0&&console.error(`[${r.extension.identifier.value}] \`titleTemplate\` passed to createContributedTerminalProfile is ignored because the \`terminalTitle\` proposed API is not enabled.`);let l=a&&n.titleTemplate&&!s.options.titleTemplate?{...s.options,titleTemplate:n.titleTemplate}:s.options;if(Rn(l,{pty:!0})){this.createExtensionTerminal(l,n);return}this.createTerminalFromOptions(l,n)}registerLinkProvider(e){return this._linkProviders.add(e),this._linkProviders.size===1&&this._proxy.$startLinkProvider(),new Ie(()=>{this._linkProviders.delete(e),this._linkProviders.size===0&&this._proxy.$stopLinkProvider()})}async $provideLinks(e,n){let o=this.getTerminalById(e);if(!o)return[];this._terminalLinkCache.delete(e),this._terminalLinkCancellationSource.get(e)?.dispose(!0);let s=new Me;this._terminalLinkCancellationSource.set(e,s);let a=[],l={terminal:o.value,line:n},d=[];for(let m of this._linkProviders)d.push(Ra.withAsyncBody(async g=>{let v=s.token.onCancellationRequested(()=>g({provider:m,links:[]}));try{let f=await m.provideTerminalLinks(l,s.token)||[];s.token.isCancellationRequested||g({provider:m,links:f})}finally{v.dispose()}}));let c=await Promise.all(d);if(s.token.isCancellationRequested)return[];let u=new Map;for(let m of c)m&&m.links.length>0&&a.push(...m.links.map(g=>{let v={id:m$++,startIndex:g.startIndex,length:g.length,label:g.tooltip};return u.set(v.id,{provider:m.provider,link:g}),v}));return this._terminalLinkCache.set(e,u),a}$activateLink(e,n){let o=this._terminalLinkCache.get(e)?.get(n);o&&o.provider.handleTerminalLink(o.link)}_onProcessExit(e,n){this._bufferer.stopBuffering(e),this._terminalProcesses.delete(e),delete this._extensionTerminalAwaitingStart[e];let o=this._terminalProcessDisposables[e];o&&(o.dispose(),delete this._terminalProcessDisposables[e]),this._proxy.$sendProcessExit(e,n)}getTerminalById(e){return this._getTerminalObjectById(this._terminals,e)}getTerminalIdByApiObject(e){let n=this._terminals.findIndex(o=>o.value===e);return n>=0?n:null}_getTerminalObjectById(e,n){let o=this._getTerminalObjectIndexById(e,n);return o!==null?e[o]:null}_getTerminalObjectIndexById(e,n){let o=e.findIndex(r=>r._id===n);return o>=0?o:null}getEnvironmentVariableCollection(e){let n=this._environmentVariableCollections.get(e.identifier.value);return n||(n=this._register(new _C),this._setEnvironmentVariableCollection(e.identifier.value,n)),n.getScopedEnvironmentVariableCollection(void 0)}_syncEnvironmentVariableCollection(e,n){let o=IF(n.map),r=xF(n.descriptionMap);this._proxy.$setEnvironmentVariableCollection(e,n.persistent,o.length===0?void 0:o,r)}$initEnvironmentVariableCollections(e){e.forEach(n=>{let o=n[0],r=this._register(new _C(n[1]));this._setEnvironmentVariableCollection(o,r)})}$acceptDefaultProfile(e,n){let o=this._defaultProfile;this._defaultProfile=e,this._defaultAutomationProfile=n,o?.path!==e.path&&this._onDidChangeShell.fire(e.path)}_setEnvironmentVariableCollection(e,n){this._environmentVariableCollections.set(e,n),this._register(n.onDidChangeCollection(()=>{this._syncEnvironmentVariableCollection(e,n)}))}};Ah=R([S(1,Xo),S(2,ge)],Ah);var _C=class extends V{constructor(e){super();this.map=new Map;this.scopedCollections=new Map;this.descriptionMap=new Map;this._persistent=!0;this._onDidChangeCollection=this._register(new w);this.map=new Map(e)}get persistent(){return this._persistent}set persistent(e){this._persistent=e,this._onDidChangeCollection.fire()}get onDidChangeCollection(){return this._onDidChangeCollection&&this._onDidChangeCollection.event}getScopedEnvironmentVariableCollection(e){let n=this.getScopeKey(e),o=this.scopedCollections.get(n);return o||(o=new _R(this,e),this.scopedCollections.set(n,o),this._register(o.onDidChangeCollection(()=>this._onDidChangeCollection.fire()))),o}replace(e,n,o,r){this._setIfDiffers(e,{value:n,type:1,options:o??{applyAtProcessCreation:!0},scope:r})}append(e,n,o,r){this._setIfDiffers(e,{value:n,type:2,options:o??{applyAtProcessCreation:!0},scope:r})}prepend(e,n,o,r){this._setIfDiffers(e,{value:n,type:3,options:o??{applyAtProcessCreation:!0},scope:r})}_setIfDiffers(e,n){if(n.options&&n.options.applyAtProcessCreation===!1&&!n.options.applyAtShellIntegration)throw new Error("EnvironmentVariableMutatorOptions must apply at either process creation or shell integration");let o=this.getKey(e,n.scope),r=this.map.get(o),s=n.options?{applyAtProcessCreation:n.options.applyAtProcessCreation??!1,applyAtShellIntegration:n.options.applyAtShellIntegration??!1}:{applyAtProcessCreation:!0};if(!r||r.value!==n.value||r.type!==n.type||r.options?.applyAtProcessCreation!==s.applyAtProcessCreation||r.options?.applyAtShellIntegration!==s.applyAtShellIntegration||r.scope?.workspaceFolder?.index!==n.scope?.workspaceFolder?.index){let a=this.getKey(e,n.scope),l={variable:e,...n,options:s};this.map.set(a,l),this._onDidChangeCollection.fire()}}get(e,n){let o=this.getKey(e,n),r=this.map.get(o);return r?CF(r):void 0}getKey(e,n){let o=this.getScopeKey(n);return o.length?`${e}:::${o}`:e}getScopeKey(e){return this.getWorkspaceKey(e?.workspaceFolder)??""}getWorkspaceKey(e){return e?e.uri.toString():void 0}getVariableMap(e){let n=new Map;for(let[o,r]of this.map)this.getScopeKey(r.scope)===this.getScopeKey(e)&&n.set(r.variable,CF(r));return n}delete(e,n){let o=this.getKey(e,n);this.map.delete(o),this._onDidChangeCollection.fire()}clear(e){if(e?.workspaceFolder){for(let[n,o]of this.map)o.scope?.workspaceFolder?.index===e.workspaceFolder.index&&this.map.delete(n);this.clearDescription(e)}else this.map.clear(),this.descriptionMap.clear();this._onDidChangeCollection.fire()}setDescription(e,n){let o=this.getScopeKey(n),r=this.descriptionMap.get(o);if(!r||r.description!==e){let s;typeof e=="string"?s=e:s=e?.value.split(`

`)[0];let a={description:s,scope:n};this.descriptionMap.set(o,a),this._onDidChangeCollection.fire()}}getDescription(e){let n=this.getScopeKey(e);return this.descriptionMap.get(n)?.description}clearDescription(e){let n=this.getScopeKey(e);this.descriptionMap.delete(n)}},_R=class{constructor(t,e){this.collection=t;this.scope=e;this._onDidChangeCollection=new w}get persistent(){return this.collection.persistent}set persistent(t){this.collection.persistent=t}get onDidChangeCollection(){return this._onDidChangeCollection&&this._onDidChangeCollection.event}getScoped(t){return this.collection.getScopedEnvironmentVariableCollection(t)}replace(t,e,n){this.collection.replace(t,e,n,this.scope)}append(t,e,n){this.collection.append(t,e,n,this.scope)}prepend(t,e,n){this.collection.prepend(t,e,n,this.scope)}get(t){return this.collection.get(t,this.scope)}forEach(t,e){this.collection.getVariableMap(this.scope).forEach((n,o)=>t.call(e,o,n,this),this.scope)}[Symbol.iterator](){return this.collection.getVariableMap(this.scope).entries()}delete(t){this.collection.delete(t,this.scope),this._onDidChangeCollection.fire(void 0)}clear(){this.collection.clear(this.scope)}set description(t){this.collection.setDescription(t,this.scope)}get description(){return this.collection.getDescription(this.scope)}},em=class extends Ah{constructor(t,e,n){super(!1,t,e),this._hasRemoteAuthority=!!n.remote.authority}createTerminal(t,e,n){if(!this._hasRemoteAuthority)throw new ed;return this.createTerminalFromOptions({name:t,shellPath:e,shellArgs:n})}createTerminalFromOptions(t,e){if(!this._hasRemoteAuthority)throw new ed;let n=new Oh(this._proxy,We(),t,t.name);return this._terminals.push(n),n.create(t,this._serializeParentTerminal(t,e)),n.value}};em=R([S(0,Xo),S(1,ge),S(2,nt)],em);function SF(i){if(!(!i||typeof i=="string"))return Rn(i,{id:!0})?{id:i.id,color:i.color}:i}function g$(i){return pu.isThemeColor(i)?i:void 0}function CF(i){let t={...i};return delete t.scope,t.options=t.options??void 0,t}var RR="/.well-known",f$=`${RR}/oauth-protected-resource`,h$=`${RR}/oauth-authorization-server`,DR=`${RR}/openid-configuration`,tm=" ",v$="urn:ietf:params:oauth:grant-type:token-exchange";var b$="urn:ietf:params:oauth:token-type:id_token",y$="urn:ietf:params:oauth:token-type:id-jag",I$="urn:ietf:params:oauth:grant-type:jwt-bearer";function EF(i,t,e,n,o,r){let s=new URLSearchParams;return s.append("client_id",i),t&&s.append("client_secret",t),s.append("grant_type",v$),s.append("subject_token",e),s.append("subject_token_type",b$),s.append("requested_token_type",y$),s.append("audience",n),o&&s.append("resource",o),r.length&&s.append("scope",r.join(tm)),s}function wF(i,t,e,n,o){let r=new URLSearchParams;return r.append("client_id",i),t&&r.append("client_secret",t),r.append("grant_type",I$),r.append("assertion",e),n&&r.append("resource",n),o.length&&r.append("scope",o.join(tm)),r}function x$(i){if(typeof i!="object"||i===null)return!1;let t=i;return!(!t.resource||t.scopes_supported!==void 0&&!Array.isArray(t.scopes_supported))}var C$=["issuer","authorization_endpoint","token_endpoint","registration_endpoint","jwks_uri"];function S$(i){if(typeof i!="object"||i===null)return!1;let t=i;if(!t.issuer)throw new Error("Authorization server metadata must have an issuer");for(let e of C$)if(t[e]){if(typeof t[e]!="string")throw new Error(`Authorization server metadata '${e}' must be a string`);if(!t[e].startsWith("https://")&&!t[e].startsWith("http://"))throw new Error(`Authorization server metadata '${e}' must start with http:// or https://`)}return!0}function T$(i){return typeof i!="object"||i===null?!1:i.client_id!==void 0}function Lh(i){if(typeof i!="object"||i===null)return!1;let t=i;return t.access_token!==void 0&&t.token_type!==void 0}function AR(i){return typeof i!="object"||i===null?!1:i.error!==void 0}function E$(i){return typeof i!="object"||i===null?!1:i.error!==void 0}function kF(i){return{issuer:i.toString(),authorization_endpoint:new URL("/authorize",i).toString(),token_endpoint:new URL("/token",i).toString(),registration_endpoint:new URL("/register",i).toString(),response_types_supported:["code","id_token","id_token token"]}}var TF=["authorization_code","refresh_token","urn:ietf:params:oauth:grant-type:device_code"],w$=33418;async function MR(i,t,e){if(!i.registration_endpoint)throw new Error("Server does not support dynamic registration");let n={client_name:t,client_uri:"https://code.visualstudio.com",grant_types:i.grant_types_supported?i.grant_types_supported.filter(s=>TF.includes(s)):TF,response_types:["code"],redirect_uris:["https://insiders.vscode.dev/redirect","https://vscode.dev/redirect","http://127.0.0.1/",`http://127.0.0.1:${w$}/`],scope:e?.join(tm),token_endpoint_auth_method:"none",application_type:"native"},o=await fetch(i.registration_endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!o.ok){let s=await o.text(),a=s;try{let l=JSON.parse(s);E$(l)&&(a=`${l.error}${l.error_description?`: ${l.error_description}`:""}`)}catch{}throw new Error(`Registration to ${i.registration_endpoint} failed: ${a}`)}let r=await o.json();if(T$(r))return r;throw new Error(`Invalid authorization dynamic client registration response: ${JSON.stringify(r)}`)}function OR(i){let t=[],e=[],n="",o=!1;for(let s=0;s<i.length;s++){let a=i[s];a==='"'?(o=!o,n+=a):a===","&&!o?(n.trim()&&e.push(n.trim()),n=""):n+=a}n.trim()&&e.push(n.trim());let r;for(let s of e)if(!s.includes("="))r&&t.push(r),r={scheme:s.trim(),params:{}};else{let l=s.indexOf(" ");if(l>0){let d=s.substring(0,l),c=s.substring(l+1);if(!d.includes("=")&&c.includes("=")){r&&t.push(r),r={scheme:d.trim(),params:{}};let u=c.indexOf("=");if(u>0){let m=c.substring(0,u).trim(),g=c.substring(u+1).trim().replace(/^"|"$/g,"");m&&g!==void 0&&(r.params[m]=g)}continue}}if(r){let d=s.indexOf("=");if(d>0){let c=s.substring(0,d).trim(),u=s.substring(d+1).trim().replace(/^"|"$/g,"");c&&u!==void 0&&(r.params[c]=u)}}}return r&&t.push(r),t}function Ic(i){let t=i.split(".");if(t.length!==3)throw new Error("Invalid JWT token format: token must have three parts separated by dots");let[e,n,o]=t;try{if(typeof JSON.parse(go(e).toString())!="object")throw new Error("Invalid JWT token format: header is not a JSON object");let s=JSON.parse(go(n).toString());if(typeof s!="object")throw new Error("Invalid JWT token format: payload is not a JSON object");return s}catch(r){throw r instanceof Error?new Error(`Failed to parse JWT token: ${r.message}`):new Error("Failed to parse JWT token")}}function PF(i,t){if(i===t)return!0;if(!i||!t||i.length!==t.length)return!1;let e=[...i].sort(),n=[...t].sort();return e.every((o,r)=>o===n[r])}async function _F(i,t,e={}){let{sameOriginHeaders:n={},fetch:o=fetch}=e,r=new URL(i),s=async(c,u)=>{let m={Accept:"application/json"};new URL(c).origin===r.origin&&(m={...m,...n});let v=await o(c,{method:"GET",headers:m});if(v.status!==200){let x;try{x=await v.text()}catch{x=v.statusText}throw new Error(`Failed to fetch resource metadata from ${c}: ${v.status} ${x}`)}let f=await v.json();if(x$(f)){let x=new URL(f.resource).toString(),C=new URL(u).toString();if(x!==C)throw new Error(`Protected Resource Metadata 'resource' property value "${x}" does not match expected value "${C}" for URL ${c}. Per RFC 9728, these MUST match. See https://datatracker.ietf.org/doc/html/rfc9728#PRConfigurationValidation`);return f}else throw new Error(`Invalid resource metadata from ${c}. Expected to follow shape of https://datatracker.ietf.org/doc/html/rfc9728#name-protected-resource-metadata (Hints: is scopes_supported an array? Is resource a string?). Current payload: ${JSON.stringify(f)}`)},a=[];if(t)try{return{metadata:await s(t,i),discoveryUrl:t,errors:a}}catch(c){a.push(c instanceof Error?c:new Error(String(c)))}let l=r.pathname!=="/",d=`${r.origin}${f$}`;if(l){let c=`${d}${r.pathname}`;try{return{metadata:await s(c,i),discoveryUrl:c,errors:a}}catch(u){a.push(u instanceof Error?u:new Error(String(u)))}}try{return{metadata:await s(d,r.origin),discoveryUrl:d,errors:a}}catch(c){a.push(c instanceof Error?c:new Error(String(c)))}throw a.length===1?a[0]:new AggregateError(a,"Failed to fetch resource metadata from all attempted URLs")}async function k$(i){if(i.status===200)try{let t=await i.json();if(S$(t))return t}catch{}}async function P$(i){try{return await i.text()}catch{return i.statusText}}async function DC(i,t={}){let{additionalHeaders:e={},fetch:n=fetch}=t,o=new URL(i),r=o.pathname==="/"?"":o.pathname,s=[],a=async m=>{try{let g=await n(m,{method:"GET",headers:{...e,Accept:"application/json"}}),v=await k$(g);if(v)return v;s.push(new Error(`Failed to fetch authorization server metadata from ${m}: ${g.status} ${await P$(g)}`));return}catch(g){s.push(g instanceof Error?g:new Error(String(g)));return}},l=new URL(h$,i).toString()+r,d=await a(l);if(d)return{metadata:d,discoveryUrl:l,errors:s};let c=new URL(DR,i).toString()+r;if(d=await a(c),d)return{metadata:d,discoveryUrl:c,errors:s};let u=i.endsWith("/")?i+DR.substring(1):i+DR;if(d=await a(u),d)return{metadata:d,discoveryUrl:u,errors:s};throw s.length===1?s[0]:new AggregateError(s,"Failed to fetch authorization server metadata from all attempted URLs")}var Nl=class{constructor(t,e){this._onDidChangeWindowState=new w;this.onDidChangeWindowState=this._onDidChangeWindowState.event;this._state=Nl.InitialState;t.handle&&(this._nativeHandle=go(t.handle).buffer),this._proxy=e.getProxy(L.MainThreadWindow),this._proxy.$getInitialState().then(({isFocused:n,isActive:o})=>{this.onDidChangeWindowProperty("focused",n),this.onDidChangeWindowProperty("active",o)})}static{this.InitialState={focused:!0,active:!0}}getState(){let t=this._state;return{get focused(){return t.focused},get active(){return t.active}}}get nativeHandle(){return this._nativeHandle}$onDidChangeActiveNativeWindowHandle(t){this._nativeHandle=t?go(t).buffer:void 0}$onDidChangeWindowFocus(t){this.onDidChangeWindowProperty("focused",t)}$onDidChangeWindowActive(t){this.onDidChangeWindowProperty("active",t)}onDidChangeWindowProperty(t,e){e!==this._state[t]&&(this._state={...this._state,[t]:e},this._onDidChangeWindowState.fire(this._state))}openUri(t,e){let n;if(typeof t=="string"){n=t;try{t=y.parse(t)}catch{return Promise.reject(`Invalid uri - '${t}'`)}}return Pi(t.scheme)?Promise.reject("Invalid scheme - cannot be empty"):t.scheme===K.command?Promise.reject(`Invalid scheme '${t.scheme}'`):this._proxy.$openUri(t,n,e)}async asExternalUri(t,e){if(Pi(t.scheme))return Promise.reject("Invalid scheme - cannot be empty");let n=await this._proxy.$asExternalUri(t,e);return y.from(n)}};Nl=R([S(0,nt),S(1,ge)],Nl);var xc=A("IExtHostWindow");var Ul=class{constructor(t){this.handles=new ho;this.handlers=new Map;this._proxy=t.getProxy(L.MainThreadUrls)}static{this.HandlePool=0}registerUriHandler(t,e){let n=t.identifier;if(this.handles.has(n))throw new Error(`Protocol handler already registered for extension ${n}`);let o=Ul.HandlePool++;return this.handles.add(n),this.handlers.set(o,e),this._proxy.$registerUriHandler(o,n,t.displayName||t.name),X(()=>{this.handles.delete(n),this.handlers.delete(o),this._proxy.$unregisterUriHandler(o)})}$handleExternalUri(t,e){let n=this.handlers.get(t);if(!n)return Promise.resolve(void 0);try{n.handleUri(y.revive(e))}catch(o){Pt(o)}return Promise.resolve(void 0)}async createAppUri(t){return y.revive(await this._proxy.$createAppUri(t))}};Ul=R([S(0,ge)],Ul);var Cc=A("IExtHostUrlsService");function DF(i){return(t,e,n)=>{let o=null,r=null;if(typeof n.value=="function"?(o="value",r=n.value):typeof n.get=="function"&&(o="get",r=n.get),!r||typeof e=="symbol")throw new Error("not supported");n[o]=i(r,e)}}function Nh(i,t,e){return DF((n,o)=>{let r=`$debounce$${o}`,s=`$debounce$result$${o}`;return function(...a){this[s]||(this[s]=e?e():void 0),clearTimeout(this[r]),t&&(this[s]=t(this[s],...a),a=[this[s]]),this[r]=setTimeout(()=>{n.apply(this,a),this[s]=e?e():void 0},i)}})}function RF(i,t,e){return DF((n,o)=>{let r=`$throttle$timer$${o}`,s=`$throttle$result$${o}`,a=`$throttle$lastRun$${o}`,l=`$throttle$pending$${o}`;return function(...d){if(this[s]||(this[s]=e?e():void 0),(this[a]===null||this[a]===void 0)&&(this[a]=-Number.MAX_VALUE),t&&(this[s]=t(this[s],...d)),this[l])return;let c=this[a]+i;c<=Date.now()?(this[a]=Date.now(),n.apply(this,[this[s]]),this[s]=e?e():void 0):(this[l]=!0,this[r]=setTimeout(()=>{this[l]=!1,this[a]=Date.now(),n.apply(this,[this[s]]),this[s]=e?e():void 0},c-Date.now()))}})}var Sc=A("IExtHostProgress"),nm=class{constructor(t){this._handles=0;this._mapHandleToCancellationSource=new Map;this._proxy=t.getProxy(L.MainThreadProgress)}async withProgress(t,e,n){let o=this._handles++,{title:r,location:s,cancellable:a}=e,l={label:t.displayName||t.name,id:t.identifier.value};return this._proxy.$startProgress(o,{location:Wx.from(s),title:r,source:l,cancellable:a},t.isUnderDevelopment?void 0:t.identifier.value).catch(td),this._withProgress(o,n,!!a)}async withProgressFromSource(t,e,n){let o=this._handles++,{title:r,location:s,cancellable:a}=e;return this._proxy.$startProgress(o,{location:Wx.from(s),title:r,source:t,cancellable:a},void 0).catch(td),this._withProgress(o,n,!!a)}_withProgress(t,e,n){let o;n&&(o=new Me,this._mapHandleToCancellationSource.set(t,o));let r=a=>{this._proxy.$progressEnd(a),this._mapHandleToCancellationSource.delete(a),o?.dispose()},s;try{s=e(new RC(this._proxy,t),n&&o?o.token:ye.None)}catch(a){throw r(t),a}return s.then(a=>r(t),a=>r(t)),s}$acceptProgressCanceled(t){let e=this._mapHandleToCancellationSource.get(t);e&&(e.cancel(),this._mapHandleToCancellationSource.delete(t))}};nm=R([S(0,ge)],nm);function _$(i,t){return i.message=t.message,typeof t.increment=="number"&&(typeof i.increment=="number"?i.increment+=t.increment:i.increment=t.increment),i}var RC=class extends Ua{constructor(e,n){super(o=>this.throttledReport(o));this._proxy=e;this._handle=n}throttledReport(e){this._proxy.$progressReport(this._handle,e)}};R([RF(100,(e,n)=>_$(e,n),()=>Object.create(null))],RC.prototype,"throttledReport",1);var LR=["openid","offline_access"];function AF(i,t){return i+"|"+[...t].sort().join(" ")}function D$(i,t=Date.now()){return i.token.expires_in===void 0?!1:t>i.created_at+i.token.expires_in*1e3-6e4}function OF(i){return class extends i{constructor(...n){super(...n);this._resourceTokens=new Map;this._resourceClientSecrets=new Map;let o=this.authorizationServer;this.id=`xaa:${o.toString(!0)}`,this._logger.trace(`[XAA] Provider constructed for issuer ${o.toString(!0)}. authorization_endpoint=${this._serverMetadata.authorization_endpoint}, token_endpoint=${this._serverMetadata.token_endpoint}`)}_resourceClientSecretKey(n,o){return`${n}|${o}`}async getSessions(n,o){let r=o.resource,s=o.audience;if(!r||!n||!s)return[];let a=AF(r,n),l=this._resourceTokens.get(a);if(l&&!D$(l))return[NR(l.token,l.scopes)];l&&this._resourceTokens.delete(a);let d=await this._tryGetSilentIdpSession();if(!d?.idToken)return[];try{let c=await this._mintResourceToken(d,[...n],s,r,o,!0);return c?[NR(c.token,c.scopes)]:[]}catch(c){return this._logger.warn(`[XAA] Silent token mint failed for resource=${r}; falling back to interactive. Error: ${c.message}`),[]}}async createSession(n,o){let r=o.audience,s=o.resource;if(this._logger.trace(`[XAA] createSession scopes=[${n.join(" ")}] audience=${r} resource=${s}`),!r)throw new Error("Enterprise-managed authentication requires `options.audience` (the resource's authorization server URL) but none was provided.");if(!s)throw new Error("Enterprise-managed authentication requires `options.resource` (the resource indicator / MCP server URL) but none was provided.");let a=await this._ensureIdpSession();if(!a.idToken)throw new Error("IdP session is missing an id_token; the issuer must support OpenID Connect and the `openid` scope.");let l=await this._mintResourceToken(a,n,r,s,o,!1);if(!l)throw new Error("Failed to mint a resource access token for the enterprise-managed MCP server.");return NR(l.token,l.scopes)}async _mintResourceToken(n,o,r,s,a,l){let d=await this._exchangeForIdJag(n.idToken,r,s,o),c=await this._discoverResourceTokenEndpoint(r),u=this._clientId,m=!1,g=typeof a.clientId=="string"&&a.clientId.length>0?a.clientId:void 0;if(g)u=g,m=u!==this._clientId;else try{let k=Ic(d);typeof k.client_id=="string"&&k.client_id.length>0&&(u=k.client_id,m=u!==this._clientId)}catch(k){this._logger.warn(`[XAA] Could not decode ID-JAG to read resource client_id; falling back to IdP client_id. Error: ${k.message}`)}let v=this._clientSecret,f=typeof a.clientSecret=="string"&&a.clientSecret.length>0?a.clientSecret:void 0,x=this._resourceClientSecretKey(s,u);if(f)v=f,this._resourceClientSecrets.set(x,f);else if(m)if(this._resourceClientSecrets.has(x))v=this._resourceClientSecrets.get(x);else if(l){this._logger.info(`[XAA] Silent mint requires resource client_secret for '${u}' but none is cached or configured; deferring to interactive flow.`);return}else{this._logger.info(`[XAA] Resource AS requires a distinct client_id '${u}' \u2014 prompting for matching client_secret.`);let k=await this._proxy.$promptForResourceClientSecret(u,s);if(k===void 0)return;this._resourceClientSecrets.set(x,k),v=k.length>0?k:void 0}let C=await this._redeemAtResource(c,d,s,o,u,v),E={resource:s,scopes:o,token:C,created_at:Date.now()};return this._resourceTokens.set(AF(s,o),E),E}async _tryGetSilentIdpSession(){let n={},o=await super.getSessions(LR,n);return o.length?o[0]:void 0}async _ensureIdpSession(){this._logger.trace(`[XAA] _ensureIdpSession: scopes=[${LR.join(" ")}] authorization_endpoint=${this._serverMetadata.authorization_endpoint}`);let n=await this._tryGetSilentIdpSession();return n?.idToken?(this._logger.trace("[XAA] _ensureIdpSession: reusing existing IdP session"),n):(this._logger.trace("[XAA] _ensureIdpSession: creating new IdP session via super.createSession"),super.createSession([...LR],{}))}async _exchangeForIdJag(n,o,r,s){let a=this._serverMetadata.token_endpoint;if(!a)throw new Error("Issuer metadata is missing token_endpoint; cannot perform XAA token exchange.");let l=EF(this._clientId,this._clientSecret,n,o,r,s);this._logger.trace(`[XAA] POST ${a} (ID-JAG exchange) audience=${o} resource=${r} scope=${s.join(" ")}`);let d=await fetch(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:l.toString()});if(!d.ok)throw new Error(`XAA token exchange (IdP) failed: ${d.status} ${await MF(d)}`);let c=await d.json(),u=c&&typeof c=="object"&&typeof c.access_token=="string"?c.access_token:void 0;if(!u)throw new Error(`XAA token exchange (IdP) returned no access_token. Response: ${JSON.stringify(c)}`);return u}async _discoverResourceTokenEndpoint(n){let{metadata:o,errors:r}=await DC(n);if(!o?.token_endpoint)throw new Error(`Failed to discover resource authorization server metadata for '${n}': ${r.map(s=>s.message).join("; ")||"no token_endpoint in metadata"}`);return o.token_endpoint}async _redeemAtResource(n,o,r,s,a,l){let d=wF(a,l,o,r,s);this._logger.trace(`[XAA] POST ${n} (ID-JAG redemption) client_id=${a} resource=${r} scope=${s.join(" ")}`);let c=await fetch(n,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:d.toString()});if(!c.ok)throw new Error(`XAA token exchange (resource) failed: ${c.status} ${await MF(c)}`);let u=await c.json();if(!Lh(u))throw new Error(`XAA token exchange (resource) returned an invalid token response: ${JSON.stringify(u)}`);return u}}}function NR(i,t){let e;if(i.id_token)try{e=Ic(i.id_token)}catch{}if(!e)try{e=Ic(i.access_token)}catch{}return{id:ou(i.access_token,0).toString(),accessToken:i.access_token,account:{id:e?.sub||"unknown",label:e?.preferred_username||e?.name||e?.email||"XAA"},scopes:[...t],idToken:i.id_token}}async function MF(i){try{return await i.text()}catch{return i.statusText}}var im=A("IExtHostAuthentication"),om=class{constructor(t,e,n,o,r,s,a){this._initData=e;this._extHostWindow=n;this._extHostUrls=o;this._extHostProgress=r;this._extHostLoggerService=s;this._logService=a;this._dynamicAuthProviderCtor=rm;this._xaaAuthProviderCtor=OF(rm);this._authenticationProviders=new Map;this._providerOperations=new _a;this._onDidChangeSessions=new w;this._getSessionTaskSingler=new UR;this._onDidDynamicAuthProviderTokensChange=new w;this._proxy=t.getProxy(L.MainThreadAuthentication)}getExtensionScopedSessionsEvent(t){let e=t.toLowerCase();return Le.chain(this._onDidChangeSessions.event,n=>n.filter(o=>!o.extensionIdFilter||o.extensionIdFilter.includes(e)).map(o=>({provider:o.provider})))}async getSession(t,e,n,o={}){let r=Se.toKey(t.identifier),a=Object.keys(o).map(d=>{switch(d){case"account":return`${d}:${o.account?.id}`;case"createIfNone":case"forceNewSession":{let c=typeof o[d]=="boolean"?`${o[d]}`:`'${o[d]?.detail}/${o[d]?.learnMore?.toString()}'`;return`${d}:${c}`}case"authorizationServer":return`${d}:${o.authorizationServer?.toString(!0)}`;default:return`${d}:${!!o[d]}`}}).sort().join(", "),l;if(JL(n)){let d=n,c=d.wwwAuthenticate,u=d.fallbackScopes?[...d.fallbackScopes].sort().join(" "):"";l=`${r} ${e} challenge:${c} ${u} ${a}`}else{let d=[...n].sort().join(" ");l=`${r} ${e} ${d} ${a}`}return await this._getSessionTaskSingler.getOrCreate(l,async()=>{await this._proxy.$ensureProvider(e);let d=t.displayName||t.name;return this._proxy.$getSession(e,n,r,d,o)})}async getAccounts(t){return await this._proxy.$ensureProvider(t),await this._proxy.$getAccounts(t)}registerAuthenticationProvider(t,e,n,o){return this._providerOperations.queue(t,async()=>{if(this._authenticationProviders.get(t)){this._logService.error(`An authentication provider with id '${t}' is already registered. The existing provider will not be replaced.`);return}let r=n.onDidChangeSessions(s=>this._proxy.$sendDidChangeSessions(t,s));this._authenticationProviders.set(t,{label:e,provider:n,disposable:r,options:o??{supportsMultipleAccounts:!1}}),await this._proxy.$registerAuthenticationProvider({id:t,label:e,supportsMultipleAccounts:o?.supportsMultipleAccounts??!1,supportedAuthorizationServers:o?.supportedAuthorizationServers,supportsChallenges:o?.supportsChallenges})}),new Ie(()=>{this._providerOperations.queue(t,async()=>{let r=this._authenticationProviders.get(t);r&&(r.disposable?.dispose(),this._authenticationProviders.delete(t),await this._proxy.$unregisterAuthenticationProvider(t))})})}$createSession(t,e,n){return this._providerOperations.queue(t,async()=>{let o=this._authenticationProviders.get(t);if(o)return n.authorizationServer=y.revive(n.authorizationServer),await o.provider.createSession(e,n);throw new Error(`Unable to find authentication provider with handle: ${t}`)})}$removeSession(t,e){return this._providerOperations.queue(t,async()=>{let n=this._authenticationProviders.get(t);if(n)return await n.provider.removeSession(e);throw new Error(`Unable to find authentication provider with handle: ${t}`)})}$getSessions(t,e,n){return this._providerOperations.queue(t,async()=>{let o=this._authenticationProviders.get(t);if(o)return n.authorizationServer=y.revive(n.authorizationServer),await o.provider.getSessions(e,n);throw new Error(`Unable to find authentication provider with handle: ${t}`)})}$getSessionsFromChallenges(t,e,n){return this._providerOperations.queue(t,async()=>{let o=this._authenticationProviders.get(t);if(o){let r=o.provider;if(typeof r.getSessionsFromChallenges=="function")return n.authorizationServer=y.revive(n.authorizationServer),await r.getSessionsFromChallenges(e,n);throw new Error(`Authentication provider with handle: ${t} does not support getSessionsFromChallenges`)}throw new Error(`Unable to find authentication provider with handle: ${t}`)})}$createSessionFromChallenges(t,e,n){return this._providerOperations.queue(t,async()=>{let o=this._authenticationProviders.get(t);if(o){let r=o.provider;if(typeof r.createSessionFromChallenges=="function")return n.authorizationServer=y.revive(n.authorizationServer),await r.createSessionFromChallenges(e,n);throw new Error(`Authentication provider with handle: ${t} does not support createSessionFromChallenges`)}throw new Error(`Unable to find authentication provider with handle: ${t}`)})}$onDidChangeAuthenticationSessions(t,e,n){return t.startsWith(Sy)||this._onDidChangeSessions.fire({provider:{id:t,label:e},extensionIdFilter:n}),Promise.resolve()}$onDidUnregisterAuthenticationProvider(t){return this._providerOperations.queue(t,async()=>{let e=this._authenticationProviders.get(t);e&&(e.disposable?.dispose(),this._authenticationProviders.delete(t))})}async $registerDynamicAuthProvider(t,e,n,o,r,s){if(!o){let l=y.revive(t);if(e.registration_endpoint)try{let d=await MR(e,this._initData.environment.appName,n?.scopes_supported);o=d.client_id,r=d.client_secret}catch(d){this._logService.warn(`Dynamic registration failed for ${l.toString()}: ${d.message}. Prompting user for client ID and client secret...`)}if(!o){this._logService.info(`Prompting user for client registration details for ${l.toString()}`);let d=await this._proxy.$promptForClientRegistration(l.toString());if(!d)throw new Error("User did not provide client details");o=d.clientId,r=d.clientSecret,this._logService.info(`User provided client registration for ${l.toString()}`),r?this._logService.trace(`User provided client secret for ${l.toString()}`):this._logService.trace(`User did not provide client secret for ${l.toString()}`)}}let a=new this._dynamicAuthProviderCtor(this._extHostWindow,this._extHostUrls,this._initData,this._extHostProgress,this._extHostLoggerService,this._proxy,y.revive(t),e,n,o,r,this._onDidDynamicAuthProviderTokensChange,s||[]);return await this._providerOperations.queue(a.id,async()=>{this._authenticationProviders.set(a.id,{label:a.label,provider:a,disposable:Ie.from(a,a.onDidChangeSessions(l=>this._proxy.$sendDidChangeSessions(a.id,l)),a.onDidChangeClientId(()=>this._proxy.$sendDidChangeDynamicProviderInfo({providerId:a.id,clientId:a.clientId,clientSecret:a.clientSecret}))),options:{supportsMultipleAccounts:!0}}),await this._proxy.$registerDynamicAuthenticationProvider({id:a.id,label:a.label,supportsMultipleAccounts:!0,authorizationServer:t,resourceServer:n?y.parse(n.resource):void 0,clientId:a.clientId,clientSecret:a.clientSecret})}),a.id}async $registerXaaAuthProvider(t,e,n,o,r){let s=y.revive(t);if(!n){this._logService.info(`Prompting user for client registration details for XAA issuer ${s.toString()}`);let l=await this._proxy.$promptForClientRegistration(s.toString());if(!l)throw new Error("User did not provide client details");n=l.clientId,o=l.clientSecret}let a=new this._xaaAuthProviderCtor(this._extHostWindow,this._extHostUrls,this._initData,this._extHostProgress,this._extHostLoggerService,this._proxy,s,e,void 0,n,o,this._onDidDynamicAuthProviderTokensChange,r||[]);return await this._providerOperations.queue(a.id,async()=>{this._authenticationProviders.set(a.id,{label:a.label,provider:a,disposable:Ie.from(a,a.onDidChangeSessions(l=>this._proxy.$sendDidChangeSessions(a.id,l)),a.onDidChangeClientId(()=>this._proxy.$sendDidChangeDynamicProviderInfo({providerId:a.id,clientId:a.clientId,clientSecret:a.clientSecret}))),options:{supportsMultipleAccounts:!0}}),await this._proxy.$registerDynamicAuthenticationProvider({id:a.id,label:a.label,supportsMultipleAccounts:!0,authorizationServer:t,resourceServer:void 0,clientId:a.clientId,clientSecret:a.clientSecret})}),a.id}async $onDidChangeDynamicAuthProviderTokens(t,e,n){this._onDidDynamicAuthProviderTokensChange.fire({authProviderId:t,clientId:e,tokens:n})}};om=R([S(0,ge),S(1,nt),S(2,xc),S(3,Cc),S(4,Sc),S(5,lr),S(6,ae)],om);var UR=class{constructor(){this._inFlightPromises=new Map}getOrCreate(t,e){let n=this._inFlightPromises.get(t);if(n)return n;let o=e().finally(()=>this._inFlightPromises.delete(t));return this._inFlightPromises.set(t,o),o}},rm=class{constructor(t,e,n,o,r,s,a,l,d,c,u,m,g){this._extHostWindow=t;this._extHostUrls=e;this._initData=n;this._extHostProgress=o;this._proxy=s;this.authorizationServer=a;this._serverMetadata=l;this._resourceMetadata=d;this._clientId=c;this._clientSecret=u;this._onDidChangeSessions=new w;this.onDidChangeSessions=this._onDidChangeSessions.event;this._onDidChangeClientId=new w;this.onDidChangeClientId=this._onDidChangeClientId.event;let v=a.toString(!0);this.id=d?.resource?v+" "+d?.resource:v,this.label=d?.resource_name??this.authorizationServer.authority,this._logger=r.createLogger(this.id,{name:`Auth: ${this.label}`}),this._disposable=new J,this._disposable.add(this._onDidChangeSessions),this._disposable.add(this._onDidChangeClientId);let f=Le.chain(m.event,x=>x.filter(C=>C.authProviderId===this.id&&C.clientId===c).map(C=>C.tokens));this._tokenStore=this._disposable.add(new FR({onDidChange:f,set:x=>s.$setSessionsForDynamicAuthProvider(this.id,this.clientId,x)},g,this._logger)),this._disposable.add(this._tokenStore.onDidChangeSessions(x=>this._onDidChangeSessions.fire(x))),this._createFlows=[],l.authorization_endpoint&&this._createFlows.push({label:p(4367,null),handler:(x,C,E)=>this._createWithUrlHandler(x,C,E)})}get clientId(){return this._clientId}get clientSecret(){return this._clientSecret}async getSessions(t,e){if(this._logger.info(`Getting sessions for scopes: ${t?.join(" ")??"all"}`),!t)return this._tokenStore.sessions;let n=[...t].sort(),o=t.join(" "),r=this._tokenStore.sessions.filter(s=>Qt([...s.scopes].sort(),n));if(this._logger.info(`Found ${r.length} sessions for scopes: ${o}`),r.length){let s=[],a=[],l=new Map(this._tokenStore.tokens.map(d=>[d.access_token,d]));for(let d of r){let c=l.get(d.accessToken);if(c&&c.expires_in){let u=Date.now(),m=c.expires_in*1e3;if(u>c.created_at+m-300*1e3){if(this._logger.info(`Token for session ${d.id} is about to expire, refreshing...`),a.push(c),!c.refresh_token){this._logger.warn(`No refresh token available for scopes ${d.scopes.join(" ")}. Throwing away token.`);continue}try{let g=await this.exchangeRefreshTokenForToken(c.refresh_token);g.scope!==o&&(this._logger.warn(`Token scopes '${g.scope}' do not match requested scopes '${o}'. Overwriting token with what was requested...`),g.scope=o),this._logger.info(`Successfully created a new token for scopes ${d.scopes.join(" ")}.`),s.push(g)}catch(g){this._logger.error(`Failed to refresh token: ${g}`)}}}}return(s.length||a.length)&&(this._tokenStore.update({added:s,removed:a}),r=this._tokenStore.sessions.filter(d=>Qt([...d.scopes].sort(),n))),this._logger.info(`Found ${r.length} sessions for scopes: ${o}`),r}return[]}async createSession(t,e){this._logger.info(`Creating session for scopes: ${t.join(" ")}`);let n;for(let r=0;r<this._createFlows.length;r++){let{handler:s}=this._createFlows[r];try{if(n=await this._extHostProgress.withProgressFromSource({label:this.label,id:this.id},{location:15,title:p(4364,null,this.label),cancellable:!0},(a,l)=>s(t,a,l)),n)break}catch(a){let l=this._createFlows[r+1]?.label;if(!l)break;let d=xn(a)?p(4368,null,this.label,l):p(4366,null,this.label,l);if(!await this._proxy.$showContinueNotification(d))throw new rt;this._logger.error(`Failed to create token via flow '${l}': ${a}`)}}if(!n)throw new Error("Failed to create authentication token");n.scope!==t.join(" ")&&(this._logger.warn(`Token scopes '${n.scope}' do not match requested scopes '${t.join(" ")}'. Overwriting token with what was requested...`),n.scope=t.join(" ")),this._tokenStore.update({added:[{...n,created_at:Date.now()}],removed:[]});let o=this._tokenStore.sessions.find(r=>r.accessToken===n.access_token);return this._logger.info(`Created ${n.refresh_token?"refreshable":"non-refreshable"} session for scopes: ${n.scope}${n.expires_in?` that expires in ${n.expires_in} seconds`:""}`),o}async removeSession(t){this._logger.info(`Removing session with id: ${t}`);let e=this._tokenStore.sessions.find(o=>o.id===t);if(!e){this._logger.error(`Session with id ${t} not found`);return}let n=this._tokenStore.tokens.find(o=>o.access_token===e.accessToken);if(!n){this._logger.error(`Failed to retrieve token for removed session: ${e.id}`);return}this._tokenStore.update({added:[],removed:[n]}),this._logger.info(`Removed token for session: ${e.id} with scopes: ${e.scopes.join(" ")}`)}dispose(){this._disposable.dispose()}async _createWithUrlHandler(t,e,n){if(!this._serverMetadata.authorization_endpoint)throw new Error("Authorization Endpoint required");if(!this._serverMetadata.token_endpoint)throw new Error("Token endpoint not available in server metadata");let o=this.generateRandomString(64),r=await this.generateCodeChallenge(o),s=this.generateRandomString(32),a=y.parse(`${this._initData.environment.appUriScheme}://dynamicauthprovider/${this.authorizationServer.authority}/authorize?nonce=${s}`),l;try{l=await this._extHostUrls.createAppUri(a)}catch(x){throw new Error(`Failed to create external URI: ${x}`)}let d=new URL(this._serverMetadata.authorization_endpoint);d.searchParams.append("client_id",this._clientId),d.searchParams.append("response_type","code"),d.searchParams.append("state",l.toString()),d.searchParams.append("code_challenge",r),d.searchParams.append("code_challenge_method","S256");let c=t.join(" ");c&&d.searchParams.append("scope",c),this._resourceMetadata?.resource&&d.searchParams.append("resource",this._resourceMetadata.resource);let u="https://vscode.dev/redirect";d.searchParams.append("redirect_uri",u);let m=this.waitForAuthorizationCode(a);if(this._logger.info(`Opening authorization URL for scopes: ${c}`),this._logger.trace(`Authorization URL: ${d.toString()}`),!await this._extHostWindow.openUri(d.toString(),{}))throw new rt;e.report({message:p(4365,null)});let v;try{v=(await Da(m,n)).code}catch(x){throw xn(x)?(this._logger.info("Authorization code request was cancelled by the user."),x):(this._logger.error(`Failed to receive authorization code: ${x}`),new Error(`Failed to receive authorization code: ${x}`))}return this._logger.info(`Authorization code received for scopes: ${c}`),await this.exchangeCodeForToken(v,o,u)}generateRandomString(t){let e=new Uint8Array(t);return crypto.getRandomValues(e),Array.from(e).map(n=>n.toString(16).padStart(2,"0")).join("").substring(0,t)}async generateCodeChallenge(t){let n=new TextEncoder().encode(t),o=await crypto.subtle.digest("SHA-256",n);return oo(te.wrap(new Uint8Array(o)),!1,!1).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async waitForAuthorizationCode(t){let e=await this._proxy.$waitForUriHandler(t),n=/[?&]code=([^&]+)/.exec(e.query||"");if(!n||n.length<2)throw new Error("Authentication failed: No authorization code received");return{code:n[1]}}async exchangeCodeForToken(t,e,n){if(!this._serverMetadata.token_endpoint)throw new Error("Token endpoint not available in server metadata");let o=new URLSearchParams;o.append("client_id",this._clientId),o.append("grant_type","authorization_code"),o.append("code",t),o.append("redirect_uri",n),o.append("code_verifier",e),this._resourceMetadata?.resource&&o.append("resource",this._resourceMetadata.resource),this._clientSecret&&o.append("client_secret",this._clientSecret),this._logger.info("Exchanging authorization code for token..."),this._logger.trace(`Url: ${this._serverMetadata.token_endpoint}`),this._logger.trace(`Token request body: ${o.toString()}`);let r;try{r=await fetch(this._serverMetadata.token_endpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:o.toString()})}catch(a){throw this._logger.error(`Failed to exchange authorization code for token: ${a}`),new Error(`Failed to exchange authorization code for token: ${a}`)}if(!r.ok){let a=await r.text();throw new Error(`Token exchange failed: ${r.status} ${r.statusText} - ${a}`)}let s=await r.json();if(Lh(s))return this._logger.info("Successfully exchanged authorization code for token."),s;throw AR(s)&&s.error==="invalid_client"?(this._logger.warn(`Client ID (${this._clientId}) was invalid, generated a new one.`),await this._generateNewClientId(),new Error("Client ID was invalid, generated a new one. Please try again.")):new Error(`Invalid authorization token response: ${JSON.stringify(s)}`)}async exchangeRefreshTokenForToken(t){if(!this._serverMetadata.token_endpoint)throw new Error("Token endpoint not available in server metadata");let e=new URLSearchParams;e.append("client_id",this._clientId),e.append("grant_type","refresh_token"),e.append("refresh_token",t),this._resourceMetadata?.resource&&e.append("resource",this._resourceMetadata.resource),this._clientSecret&&e.append("client_secret",this._clientSecret);let o=await(await fetch(this._serverMetadata.token_endpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:e.toString()})).json();if(Lh(o))return{...o,created_at:Date.now()};throw AR(o)&&o.error==="invalid_client"?(this._logger.warn(`Client ID (${this._clientId}) was invalid, generated a new one.`),await this._generateNewClientId(),new Error("Client ID was invalid, generated a new one. Please try again.")):new Error(`Invalid authorization token response: ${JSON.stringify(o)}`)}async _generateNewClientId(){try{let t=await MR(this._serverMetadata,this._initData.environment.appName,this._resourceMetadata?.scopes_supported);this._clientId=t.client_id,this._clientSecret=t.client_secret,this._onDidChangeClientId.fire()}catch(t){this._logger.info(`Dynamic registration failed for ${this.authorizationServer.toString()}: ${t}. Prompting user for client ID and client secret.`);try{let e=await this._proxy.$promptForClientRegistration(this.authorizationServer.toString());if(!e)throw new Error("User did not provide client details");this._clientId=e.clientId,this._clientSecret=e.clientSecret,this._logger.info(`User provided client ID for ${this.authorizationServer.toString()}`),e.clientSecret?this._logger.info(`User provided client secret for ${this.authorizationServer.toString()}`):this._logger.info(`User did not provide client secret for ${this.authorizationServer.toString()} (optional)`),this._onDidChangeClientId.fire()}catch{throw this._logger.error(`Failed to fetch new client ID and user did not provide one: ${t}`),new Error(`Failed to fetch new client ID and user did not provide one: ${t}`)}}}};rm=R([S(0,xc),S(1,Cc),S(2,nt),S(3,Sc),S(4,lr)],rm);var FR=class{constructor(t,e,n){this._persistence=t;this._logger=n;this._onDidChangeSessions=new w;this.onDidChangeSessions=this._onDidChangeSessions.event;this._disposable=new J,this._tokensObservable=un("tokens",e),this._sessionsObservable=Df({equalsFn:(o,r)=>Qt(o,r,(s,a)=>s.accessToken===a.accessToken)},o=>this._tokensObservable.read(o).map(r=>this._getSessionFromToken(r))),this._disposable.add(this._registerChangeEventAutorun()),this._disposable.add(this._persistence.onDidChange(o=>this._tokensObservable.set(o,void 0)))}get tokens(){return this._tokensObservable.get()}get sessions(){return this._sessionsObservable.get()}dispose(){this._disposable.dispose()}update({added:t,removed:e}){this._logger.trace(`Updating tokens: added ${t.length}, removed ${e.length}`);let n=[...this._tokensObservable.get()];for(let o of e){let r=n.findIndex(s=>s.access_token===o.access_token);r!==-1&&n.splice(r,1)}for(let o of t){let r=n.findIndex(s=>s.access_token===o.access_token);r===-1?n.push(o):n[r]=o}(t.length||e.length)&&(this._tokensObservable.set(n,void 0),this._persistence.set(n)),this._logger.trace(`Tokens updated: ${n.length} tokens stored.`)}_registerChangeEventAutorun(){let t=[];return so(e=>{this._logger.trace("Checking for session changes...");let n=this._sessionsObservable.read(e);if(t===n){this._logger.trace("No session changes detected.");return}if(!n||n.length===0){this._logger.trace("All sessions removed."),t.length>0&&(this._onDidChangeSessions.fire({added:[],removed:t,changed:[]}),t=[]);return}let o=[],r=[];for(let s of n)t.some(l=>l.accessToken===s.accessToken)||o.push(s);for(let s of t)n.some(l=>l.accessToken===s.accessToken)||r.push(s);(o.length>0||r.length>0)&&(this._logger.trace(`Sessions changed: added ${o.length}, removed ${r.length}`),this._onDidChangeSessions.fire({added:o,removed:r,changed:[]})),t=n})}_getSessionFromToken(t){let e;if(t.id_token)try{e=Ic(t.id_token)}catch{}if(!e)try{e=Ic(t.access_token)}catch{}let n=t.scope?t.scope.split(" "):e?.scope?e.scope.split(" "):[];return{id:ou(t.access_token,0).toString(),accessToken:t.access_token,account:{id:e?.sub||"unknown",label:e?.preferred_username||e?.name||e?.email||"MCP"},scopes:n,idToken:t.id_token}}};var sm=A("IExtHostLanguageModels"),HR=class{constructor(){this._defaultStream=new yb;this._isDone=!1;let t=this,[e,n]=eu.tee(t._defaultStream.asyncIterable);this.apiObject={get stream(){return e},get text(){return n.map(o=>{if(o instanceof $t)return o.value}).coalesce()}}}handleResponsePart(t){if(this._isDone)return;let e=[];for(let n of yt.wrap(t)){let o;n.type==="text"?o=new $t(n.value,n.audience):n.type==="thinking"?o=new ai(n.value,n.id,n.metadata):n.type==="data"?o=new In(n.data.buffer,n.mimeType,n.audience):o=new Lr(n.toolCallId,n.name,n.parameters),e.push(o)}this._defaultStream.emitMany(e)}reject(t){this._isDone=!0,this._defaultStream.reject(t)}resolve(){this._isDone=!0,this._defaultStream.resolve()}},Fl=class{constructor(t,e,n){this._logService=e;this._extHostAuthentication=n;this._onDidChangeModelAccess=new w;this._onDidChangeProviders=new w;this.onDidChangeProviders=this._onDidChangeProviders.event;this._onDidChangeModelProxyAvailability=new w;this.onDidChangeModelProxyAvailability=this._onDidChangeModelProxyAvailability.event;this._languageModelProviders=new Map;this._localModels=new Map;this._modelAccessList=new Jn;this._pendingRequest=new Map;this._ignoredFileProviders=new Map;this._languageAccessInformationExtensions=new Set;this._proxy=t.getProxy(L.MainThreadLanguageModels)}static{this._idPool=1}dispose(){this._onDidChangeModelAccess.dispose(),this._onDidChangeProviders.dispose(),this._onDidChangeModelProxyAvailability.dispose()}registerLanguageModelChatProvider(t,e,n){this._languageModelProviders.set(e,{extension:t,provider:n}),this._proxy.$registerLanguageModelProvider(e);let o;return n.onDidChangeLanguageModelChatInformation&&(o=n.onDidChangeLanguageModelChatInformation(()=>{this._proxy.$onLMProviderChange(e)})),X(()=>{this._languageModelProviders.delete(e),this._localModels.forEach((r,s)=>{r.metadata.vendor===e&&this._localModels.delete(s)}),o?.dispose(),this._proxy.$unregisterProvider(e)})}toModelIdentifier(t,e,n){return e?`${t}/${e}/${n}`:`${t}/${n}`}getVendorFromModelIdentifier(t){let e=t.indexOf("/");return e===-1?void 0:t.substring(0,e)}async $provideLanguageModelChatInfo(t,e,n){let o=this._languageModelProviders.get(t);if(!o)return[];let r=await o.provider.provideLanguageModelChatInformation({silent:e.silent,configuration:e.configuration},n)??[],s=r.map(a=>{let l;a.requiresAuthorization&&De(o.extension,"chatProvider")&&(l={providerLabel:o.extension.displayName||o.extension.name,accountLabel:typeof a.requiresAuthorization=="object"?a.requiresAuthorization.label:void 0}),a.capabilities.editTools&&D(o.extension,"chatProvider");let d={};if(De(o.extension,"chatProvider")){if(a.isDefault===!0)for(let c of Object.values(Xr))typeof c=="string"&&(d[c]=!0);else if(typeof a.isDefault=="object")for(let c of Object.keys(a.isDefault)){let u=parseInt(c);d[Mp.from(u)]=a.isDefault[u]}}return{metadata:{extension:o.extension.identifier,id:a.id,vendor:t,name:a.name??"",family:a.family??"",detail:a.detail,tooltip:a.tooltip,version:a.version,multiplierNumeric:a.multiplierNumeric,pricing:a.pricing,inputCost:a.inputCost,outputCost:a.outputCost,cacheCost:a.cacheCost,longContextInputCost:a.longContextInputCost,longContextOutputCost:a.longContextOutputCost,longContextCacheCost:a.longContextCacheCost,priceCategory:a.priceCategory,maxInputTokens:a.maxInputTokens,maxOutputTokens:a.maxOutputTokens,auth:l,isDefaultForLocation:d,isUserSelectable:a.isUserSelectable,statusIcon:a.statusIcon,targetChatSessionType:a.targetChatSessionType,configurationSchema:a.configurationSchema,capabilities:a.capabilities?{vision:a.capabilities.imageInput,editTools:a.capabilities.editTools,toolCalling:!!a.capabilities.toolCalling,agentMode:!!a.capabilities.toolCalling}:void 0},identifier:this.toModelIdentifier(t,e.group,a.id)}});this._localModels.forEach((a,l)=>{a.metadata.vendor===t&&a.group===e.group&&this._localModels.delete(l)});for(let a=0;a<s.length;a++)this._localModels.set(s[a].identifier,{group:e.group,metadata:s[a].metadata,info:r[a]});return s}async $startChatRequest(t,e,n,o,r,s){let a=this._localModels.get(t);if(!a)throw new Error("Model not found");let l=this._languageModelProviders.get(a.metadata.vendor);if(!l)throw new Error(`Language model provider for '${a.metadata.id}' not found.`);let d=[],c=()=>{d.length>0&&(this._proxy.$reportResponsePart(e,new Ft(d)),d.length=0)},u=new fo(c,30),m=f=>{d.push(f)>30?(c(),u.cancel()):u.schedule()},g=new Ua(async f=>{if(s.isCancellationRequested){this._logService.warn(`[CHAT](${l.extension.identifier.value}) CANNOT send progress because the REQUEST IS CANCELLED`);return}let x;if(f instanceof Lr?x={type:"tool_use",name:f.name,parameters:f.input,toolCallId:f.callId}:f instanceof $t?x={type:"text",value:f.value,audience:f.audience}:f instanceof In?x={type:"data",mimeType:f.mimeType,data:te.wrap(f.data),audience:f.audience}:f instanceof ai&&(x={type:"thinking",value:f.value,id:f.id,metadata:f.metadata}),!x){this._logService.warn(`[CHAT](${l.extension.identifier.value}) UNKNOWN part ${JSON.stringify(f)}`);return}m(x)}),v;try{v=l.provider.provideLanguageModelChatResponse(a.info,o.value.map(qx.to),{...r,modelOptions:r.modelOptions??{},modelConfiguration:r.configuration,requestInitiator:n?Se.toKey(n):"core",toolMode:r.toolMode??1},g,s)}catch(f){throw f}Promise.resolve(v).then(()=>{c(),this._proxy.$reportResponseDone(e,void 0)},f=>{c(),this._proxy.$reportResponseDone(e,Ii(f))})}$provideTokenLength(t,e,n){let o=this._localModels.get(t);if(!o)return Promise.resolve(0);let r=this._languageModelProviders.get(o.metadata.vendor);return r?Promise.resolve(r.provider.provideTokenCount(o.info,e,n)):Promise.resolve(0)}async getDefaultLanguageModel(t,e){let n;e&&await this.selectLanguageModels(t,{});for(let[o,r]of this._localModels)if(r.metadata.isDefaultForLocation.panel&&r.metadata.vendor===Hf){n=o;break}return!n&&!e?this.getDefaultLanguageModel(t,!0):this.getLanguageModelByIdentifier(t,n)}async getLanguageModelByIdentifier(t,e){if(e){if(!this._localModels.has(e)){let n=this.getVendorFromModelIdentifier(e);if(!n){this._logService.warn(`[LanguageModelProxy](${t.identifier.value}) Could not extract vendor from model identifier '${e}'.`);return}if(this._logService.trace(`[LanguageModelProxy](${t.identifier.value}) Could not find model '${e}' in local cache. Trying to resolve model again.`),await this._proxy.$selectChatModels({vendor:n,extension:t.identifier}),!this._localModels.has(e)){this._logService.warn(`[LanguageModelProxy](${t.identifier.value}) Could not find model '${e}' in local cache after re-resolving models.`);return}}return this._createLanguageModelChatApi(t,e)}}async _createLanguageModelChatApi(t,e){let n=this._localModels.get(e);if(!n)return;this._isUsingAuth(t.identifier,n.metadata)&&await this._fakeAuthPopulate(n.metadata);let o=this,r={id:n.info.id,vendor:n.metadata.vendor,family:n.info.family,version:n.info.version,name:n.info.name,pricing:n.metadata.pricing,inputCost:n.metadata.inputCost,outputCost:n.metadata.outputCost,cacheCost:n.metadata.cacheCost,longContextInputCost:n.metadata.longContextInputCost,longContextOutputCost:n.metadata.longContextOutputCost,longContextCacheCost:n.metadata.longContextCacheCost,priceCategory:n.metadata.priceCategory,capabilities:{supportsImageToText:n.metadata.capabilities?.vision??!1,supportsToolCalling:!!n.metadata.capabilities?.toolCalling,editToolsHint:n.metadata.capabilities?.editTools},maxInputTokens:n.metadata.maxInputTokens,countTokens(s,a){if(!o._localModels.has(e))throw Qo.NotFound(e);return o._computeTokenLength(e,s,a??ye.None)},sendRequest(s,a,l){if(!o._localModels.has(e))throw Qo.NotFound(e);return o._sendChatRequest(t,e,s,a??{},l??ye.None)}};return Object.freeze(r),r}async selectLanguageModels(t,e){let n=await this._proxy.$selectChatModels({...e,extension:t.identifier});return(await Promise.all(n.map(r=>this._createLanguageModelChatApi(t,r)))).filter(r=>!!r)}async _sendChatRequest(t,e,n,o,r){let s=this._convertMessages(t,n),a=t.identifier,l=this._localModels.get(e)?.metadata;if(!l||!this._localModels.has(e))throw Qo.NotFound(`Language model '${e}' is unknown.`);if(this._isUsingAuth(a,l)&&(!await this._getAuthAccess(t,{identifier:l.extension,displayName:l.auth.providerLabel},o.justification,!1)||!this._modelAccessList.get(a)?.has(l.extension)))throw Qo.NoPermissions(`Language model '${e}' cannot be used by '${a.value}'.`);let d=Math.random()*1e6|0,c=new HR;this._pendingRequest.set(d,{languageModelId:e,res:c});try{await this._proxy.$tryStartChatRequest(a,e,d,new Ft(s),o,r)}catch(u){throw this._pendingRequest.delete(d),Qo.tryDeserialize(u)??u}return c.apiObject}_convertMessages(t,e){let n=[];for(let o of e)o.role===3&&D(t,"languageModelSystem"),n.push(qx.from(o));return n}async $acceptResponsePart(t,e){let n=this._pendingRequest.get(t);n&&n.res.handleResponsePart(e.value)}$onChatModelsChange(){this._onDidChangeProviders.fire()}async $acceptResponseDone(t,e){let n=this._pendingRequest.get(t);n&&(this._pendingRequest.delete(t),e?n.res.reject(Qo.tryDeserialize(e)??kE(e)):n.res.resolve())}async _getAuthAccess(t,e,n,o){let r=Sy+e.identifier.value;if(await this._extHostAuthentication.getSession(t,r,[],{silent:!0}))return this.$updateModelAccesslist([{from:t.identifier,to:e.identifier,enabled:!0}]),!0;if(o)return!1;try{let a=n?p(4374,null,e.displayName,n):void 0;return await this._extHostAuthentication.getSession(t,r,[],{forceNewSession:{detail:a}}),this.$updateModelAccesslist([{from:t.identifier,to:e.identifier,enabled:!0}]),!0}catch{return!1}}_isUsingAuth(t,e){return!!e.auth&&!Se.equals(e.extension,t)}async _fakeAuthPopulate(t){if(t.auth)for(let e of this._languageAccessInformationExtensions)try{await this._getAuthAccess(e,{identifier:t.extension,displayName:""},void 0,!0)}catch(n){this._logService.error("Fake Auth request failed"),this._logService.error(n)}}async _computeTokenLength(t,e,n){let o=this._localModels.get(t);if(!o)throw Qo.NotFound(`Language model '${t}' is unknown.`);return this._languageModelProviders.get(o.metadata.vendor)?.provider.provideTokenCount(o.info,e,n)??0}$updateModelAccesslist(t){let e=new Array;for(let{from:n,to:o,enabled:r}of t){let s=this._modelAccessList.get(n)??new ho;if(s.has(o)!==r){r?s.add(o):s.delete(o),this._modelAccessList.set(n,s);let l={from:n,to:o};e.push(l),this._onDidChangeModelAccess.fire(l)}}}createLanguageModelAccessInformation(t){this._languageAccessInformationExtensions.add(t);let e=Le.signal(Le.filter(this._onDidChangeModelAccess.event,o=>Se.equals(o.from,t.identifier))),n=Le.signal(this._onDidChangeProviders.event);return{get onDidChange(){return Le.any(e,n)},canSendRequest(o){return!0}}}fileIsIgnored(t,e,n=ye.None){return D(t,"chatParticipantAdditions"),this._proxy.$fileIsIgnored(e,n)}get isModelProxyAvailable(){return!!this._languageModelProxyProvider}async getModelProxy(t){if(D(t,"languageModelProxy"),!this._languageModelProxyProvider)throw this._logService.trace("[LanguageModelProxy] No LanguageModelProxyProvider registered"),new Error("No language model proxy provider is registered.");let e=Se.toKey(t.identifier);try{let n=await Promise.resolve(this._languageModelProxyProvider.provideModelProxy(e,ye.None));if(!n)throw this._logService.warn(`[LanguageModelProxy] Provider returned no proxy for ${e}`),new Error("Language model proxy is not available.");return n}catch(n){throw this._logService.error(`[LanguageModelProxy] Provider failed to return proxy for ${e}`,n),n}}async $isFileIgnored(t,e,n){let o=this._ignoredFileProviders.get(t);if(!o)throw new Error("Unknown LanguageModelIgnoredFileProvider");return await o.provideFileIgnored(y.revive(e),n)??!1}registerIgnoredFileProvider(t,e){D(t,"chatParticipantPrivate");let n=Fl._idPool++;return this._proxy.$registerFileIgnoreProvider(n),this._ignoredFileProviders.set(n,e),X(()=>{this._proxy.$unregisterFileIgnoreProvider(n),this._ignoredFileProviders.delete(n)})}registerLanguageModelProxyProvider(t,e){return D(t,"chatParticipantPrivate"),this._languageModelProxyProvider=e,this._onDidChangeModelProxyAvailability.fire(),X(()=>{this._languageModelProxyProvider===e&&(this._languageModelProxyProvider=void 0,this._onDidChangeModelProxyAvailability.fire())})}};Fl=R([S(0,ge),S(1,ae),S(2,im)],Fl);var R$=60,A$=R$*60,VR=A$*24,aPe=VR*7,lPe=VR*30,dPe=VR*365;function LF(i){return i.getFullYear()+"-"+String(i.getMonth()+1).padStart(2,"0")+"-"+String(i.getDate()).padStart(2,"0")+"T"+String(i.getHours()).padStart(2,"0")+":"+String(i.getMinutes()).padStart(2,"0")+":"+String(i.getSeconds()).padStart(2,"0")+"."+(i.getMilliseconds()/1e3).toFixed(3).slice(2,5)+"Z"}var am={DateTimeFormat(i,t){return new bt(()=>{try{return new Intl.DateTimeFormat(i,t)}catch{return new Intl.DateTimeFormat(void 0,t)}})},Collator(i,t){return new bt(()=>{try{return new Intl.Collator(i,t)}catch{return new Intl.Collator(void 0,t)}})},Segmenter(i,t){return new bt(()=>{try{return new Intl.Segmenter(i,t)}catch{return new Intl.Segmenter(void 0,t)}})},Locale(i,t){return new bt(()=>{try{return new Intl.Locale(i,t)}catch{return new Intl.Locale(xi,t)}})},NumberFormat(i,t){return new bt(()=>{try{return new Intl.NumberFormat(i,t)}catch{return new Intl.NumberFormat(void 0,t)}})}};var lm=class i{constructor(t){let e=dw(t);this._defaultValue=e,this._asciiMap=i._createAsciiMap(e),this._map=new Map}static _createAsciiMap(t){let e=new Uint8Array(256);return e.fill(t),e}set(t,e){let n=dw(e);t>=0&&t<256?this._asciiMap[t]=n:this._map.set(t,n)}get(t){return t>=0&&t<256?this._asciiMap[t]:this._map.get(t)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}};var BR=class extends lm{constructor(e,n){super(0);this._segmenter=null;this._cachedLine=null;this._cachedSegments=[];this.intlSegmenterLocales=n,this.intlSegmenterLocales.length>0?this._segmenter=am.Segmenter(this.intlSegmenterLocales,{granularity:"word"}):this._segmenter=null;for(let o=0,r=e.length;o<r;o++)this.set(e.charCodeAt(o),2);this.set(32,1),this.set(9,1)}findPrevIntlWordBeforeOrAtOffset(e,n){let o=null;for(let r of this._getIntlSegmenterWordsOnLine(e)){if(r.index>n)break;o=r}return o}findNextIntlWordAtOrAfterOffset(e,n){for(let o of this._getIntlSegmenterWordsOnLine(e))if(!(o.index<n))return o;return null}_getIntlSegmenterWordsOnLine(e){return this._segmenter?this._cachedLine===e?this._cachedSegments:(this._cachedLine=e,this._cachedSegments=this._filterWordSegments(this._segmenter.value.segment(e)),this._cachedSegments):[]}_filterWordSegments(e){let n=[];for(let o of e)this._isWordLike(o)&&n.push(o);return n}_isWordLike(e){return!!e.isWordLike}},NF=new xr(10);function UF(i,t){let e=`${i}/${t.join(",")}`,n=NF.get(e);return n||(n=new BR(i,t),NF.set(e,n)),n}var Uh=class{constructor(t,e,n,o){this.searchString=t,this.isRegex=e,this.matchCase=n,this.wordSeparators=o}parseSearchRequest(){if(this.searchString==="")return null;let t;this.isRegex?t=WR(this.searchString):t=this.searchString.indexOf(`
`)>=0;let e=null;try{e=B0(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:t,global:!0,unicode:!0})}catch{return null}if(!e)return null;let n=!this.isRegex&&!t;return n&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(n=this.matchCase),new ty(e,this.wordSeparators?UF(this.wordSeparators,[]):null,n?this.searchString:null)}};function WR(i){if(!i||i.length===0)return!1;for(let t=0,e=i.length;t<e;t++){let n=i.charCodeAt(t);if(n===10)return!0;if(n===92){if(t++,t>=e)break;let o=i.charCodeAt(t);if(o===110||o===114||o===87)return!0}}return!1}function $R(i,t,e){if(!e)return new Ed(i,null);let n=[];for(let o=0,r=t.length;o<r;o++)n[o]=t[o];return new Ed(i,n)}function O$(i,t,e,n,o){if(n===0)return!0;let r=t.charCodeAt(n-1);if(i.get(r)!==0||r===13||r===10)return!0;if(o>0){let s=t.charCodeAt(n);if(i.get(s)!==0)return!0}return!1}function L$(i,t,e,n,o){if(n+o===e)return!0;let r=t.charCodeAt(n+o);if(i.get(r)!==0||r===13||r===10)return!0;if(o>0){let s=t.charCodeAt(n+o-1);if(i.get(s)!==0)return!0}return!1}function zR(i,t,e,n,o){return O$(i,t,e,n,o)&&L$(i,t,e,n,o)}var AC=class{constructor(t,e){this._wordSeparators=t,this._searchRegex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(t){this._searchRegex.lastIndex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(t){let e=t.length,n;do{if(this._prevMatchStartIndex+this._prevMatchLength===e||(n=this._searchRegex.exec(t),!n))return null;let o=n.index,r=n[0].length;if(o===this._prevMatchStartIndex&&r===this._prevMatchLength){if(r===0){fw(t,e,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=o,this._prevMatchLength=r,!this._wordSeparators||zR(this._wordSeparators,t,e,o,r))return n}while(n);return null}};function FF(i){return i.scheme!==K.file&&i.scheme!==K.vscodeRemote}function N$(i){if(i.folders.length)return i.folders.every(t=>FF(t.uri))?i.folders[0].uri:void 0;if(i.configuration&&FF(i.configuration))return i.configuration}function HF(i){return N$(i)?.scheme}var dm=A("remoteAgentService"),DPe=new class{constructor(){this.maxSampleCount=5;this.sampleDelay=2e3;this.initial=[];this.maxInitialCount=3;this.average=[];this.maxAverageCount=100;this.highLatencyMultiple=2;this.highLatencyMinThreshold=500;this.highLatencyMaxThreshold=1500;this.lastMeasurement=void 0}get latency(){return this.lastMeasurement}async measure(i){let t=1/0;for(let n=0;n<this.maxSampleCount;n++){let o=await i.getRoundTripTime();if(o===void 0)return;t=Math.min(t,o/2),await Sn(this.sampleDelay)}this.average.push(t),this.average.length>this.maxAverageCount&&this.average.shift();let e;return this.initial.length<this.maxInitialCount?this.initial.push(t):e=this.initial.reduce((n,o)=>n+o,0)/this.initial.length,this.lastMeasurement={initial:e,current:t,average:this.average.reduce((n,o)=>n+o,0)/this.average.length,high:typeof e>"u"?!1:t>this.highLatencyMaxThreshold||t>this.highLatencyMinThreshold&&t>e*this.highLatencyMultiple},this.lastMeasurement}};var VF=A("pathService"),cm=class{constructor(t,e,n,o){this.localUserHome=t;this.remoteAgentService=e;this.environmentService=n;this.contextService=o;this.resolveOS=(async()=>(await this.remoteAgentService.getEnvironment())?.os||Si)(),this.resolveUserHome=(async()=>{let r=await this.remoteAgentService.getEnvironment();return this.maybeUnresolvedUserHome=r?.userHome??t})()}hasValidBasename(t,e,n){return typeof e=="string"||typeof e>"u"?this.resolveOS.then(o=>this.doHasValidBasename(t,o,e)):this.doHasValidBasename(t,e,n)}doHasValidBasename(t,e,n){return t.scheme===K.file||t.scheme===K.vscodeRemote?J0(n??tt(t),e===1):!0}get defaultUriScheme(){return cm.findDefaultUriScheme(this.environmentService,this.contextService)}static findDefaultUriScheme(t,e){if(t.remoteAuthority)return K.vscodeRemote;let n=HF(e.getWorkspace());if(n)return n;let o=e.getWorkspace().folders[0];if(o)return o.uri.scheme;let r=e.getWorkspace().configuration;return r?r.scheme:K.file}userHome(t){return t?.preferLocal?this.localUserHome:this.resolveUserHome}get resolvedUserHome(){return this.maybeUnresolvedUserHome}get path(){return this.resolveOS.then(t=>t===1?en:Ve)}async fileURI(t){let e="";if(await this.resolveOS===1&&(t=t.replace(/\\/g,"/")),t[0]==="/"&&t[1]==="/"){let o=t.indexOf("/",2);o===-1?(e=t.substring(2),t="/"):(e=t.substring(2,o),t=t.substring(o)||"/")}return y.from({scheme:K.file,authority:e,path:t,query:"",fragment:""})}};cm=R([S(1,dm),S(2,Ty),S(3,La)],cm);function F$(i){return typeof i=="object"&&"uri"in i&&"pattern"in i}var Fh=class{constructor(t,e,n,o,r,s){this.configurationService=t;this.workspaceContextService=e;this.editorGroupsService=n;this.logService=o;this.pathService=r;this.uriIdentityService=s}aiText(t,e,n={}){return{...this.commonQuery(e?.map(pf),n),type:3,contentPattern:t}}text(t,e,n={}){t=this.getContentPattern(t,n);let o=this.configurationService.getValue(),r=e&&e.some(a=>!this.configurationService.getValue({resource:a}).search?.useRipgrep);return{...this.commonQuery(e?.map(pf),n),type:2,contentPattern:t,previewOptions:n.previewOptions,maxFileSize:n.maxFileSize,usePCRE2:o.search?.usePCRE2||r||!1,surroundingContext:n.surroundingContext,userDisabledExcludesAndIgnoreFiles:n.disregardExcludeSettings&&n.disregardIgnoreFiles}}getContentPattern(t,e){let n=this.configurationService.getValue();t.isRegExp&&(t.pattern=t.pattern.replace(/\r?\n/g,"\\n"));let o={...t,wordSeparators:n.editor.wordSeparators};return this.isCaseSensitive(t,e)&&(o.isCaseSensitive=!0),this.isMultiline(t)&&(o.isMultiline=!0),e.notebookSearchConfig?.includeMarkupInput&&(o.notebookInfo||(o.notebookInfo={}),o.notebookInfo.isInNotebookMarkdownInput=e.notebookSearchConfig.includeMarkupInput),e.notebookSearchConfig?.includeMarkupPreview&&(o.notebookInfo||(o.notebookInfo={}),o.notebookInfo.isInNotebookMarkdownPreview=e.notebookSearchConfig.includeMarkupPreview),e.notebookSearchConfig?.includeCodeInput&&(o.notebookInfo||(o.notebookInfo={}),o.notebookInfo.isInNotebookCellInput=e.notebookSearchConfig.includeCodeInput),e.notebookSearchConfig?.includeOutput&&(o.notebookInfo||(o.notebookInfo={}),o.notebookInfo.isInNotebookCellOutput=e.notebookSearchConfig.includeOutput),o}file(t,e={}){return{...this.commonQuery(t,e),type:1,filePattern:e.filePattern?e.filePattern.trim():e.filePattern,exists:e.exists,sortByScore:e.sortByScore,cacheKey:e.cacheKey,shouldGlobMatchFilePattern:e.shouldGlobSearch}}handleIncludeExclude(t,e){if(!t)return{};if(Array.isArray(t)){if(t=t.filter(n=>n.length>0).map(MC),!t.length)return{}}else t=MC(t);return e?this.parseSearchPaths(t):{pattern:qR(...Array.isArray(t)?t:[t])}}commonQuery(t=[],e={}){let n=Array.isArray(e.excludePattern)?e.excludePattern.map(c=>c.pattern).flat():e.excludePattern;n=n?.length===1?n[0]:n;let o=this.handleIncludeExclude(e.includePattern,e.expandPatterns),r=this.handleIncludeExclude(n,e.expandPatterns),s=t.length>1,a=(o.searchPaths&&o.searchPaths.length?o.searchPaths.map(c=>this.getFolderQueryForSearchPath(c,e,r)):t.map(c=>this.getFolderQueryForRoot(c,e,r,s))).filter(c=>!!c),l={_reason:e._reason,folderQueries:a,usingSearchPaths:!!(o.searchPaths&&o.searchPaths.length),extraFileResources:e.extraFileResources,excludePattern:r.pattern,includePattern:o.pattern,ignoreGlobCase:e.ignoreGlobCase,onlyOpenEditors:e.onlyOpenEditors,maxResults:e.maxResults,onlyFileScheme:e.onlyFileScheme};if(e.onlyOpenEditors){let c=it(this.editorGroupsService.groups.flatMap(g=>g.editors.map(v=>v.resource)));this.logService.trace("QueryBuilder#commonQuery - openEditor URIs",JSON.stringify(c));let u=c.filter(g=>pC(l,g.fsPath)),m=this.commonQueryFromFileList(u);return this.logService.trace("QueryBuilder#commonQuery - openEditor Query",JSON.stringify(m)),{...l,...m}}if(e.changedFileUris!==void 0){let c=e.changedFileUris.filter(m=>pC(l,m.fsPath)),u=this.commonQueryFromFileList(c);return this.logService.trace("QueryBuilder#commonQuery - changedFile Query",JSON.stringify(u)),{...l,...u}}let d=e.extraFileResources&&e.extraFileResources.filter(c=>pC(l,c.fsPath));return l.extraFileResources=d&&d.length?d:void 0,l}commonQueryFromFileList(t){let e=[],n=new $e,o={},r=!1;return t.forEach(s=>{if(s.scheme===K.walkThrough)return;if(sO(s)){let l=this.workspaceContextService.getWorkspaceFolder(s)?.uri??this.uriIdentityService.extUri.dirname(s),d=n.get(l);d||(r=!0,d={folder:l,includePattern:{}},e.push(d),n.set(l,d));let c=hs(l.fsPath,s.fsPath);zr(d.includePattern)[BF(c.replace(/\\/g,"/"))]=!0}else s.fsPath&&(r=!0,o[BF(s.fsPath)]=!0)}),{folderQueries:e,includePattern:o,usingSearchPaths:!0,excludePattern:r?void 0:{"**/*":!0}}}isCaseSensitive(t,e){if(e.isSmartCase){if(t.isRegExp){if(vw(t.pattern,!0))return!0}else if(vw(t.pattern))return!0}return!!t.isCaseSensitive}isMultiline(t){return t.isMultiline||t.isRegExp&&WR(t.pattern)||t.pattern.indexOf(`
`)>=0?!0:!!t.isMultiline}parseSearchPaths(t){let e=u=>Ei(u)||/^\.\.?([\/\\]|$)/.test(u),o=(Array.isArray(t)?t:V$(t)).map(u=>{let m=this.pathService.resolvedUserHome;return m?ay(u,m.scheme===K.file?m.fsPath:m.path):u}),r=Av(o,u=>e(u)?"searchPaths":"exprSegments"),s=(r.exprSegments||[]).map(u=>ud(u,"/")).map(u=>ud(u,"\\")).map(u=>(u[0]==="."&&(u="*"+u),B$(u))),a={},l=this.expandSearchPathPatterns(r.searchPaths||[]);l&&l.length&&(a.searchPaths=l);let d=s.flat(),c=qR(...d);return c&&(a.pattern=c),a}getExcludesForFolder(t,e){return e.disregardExcludeSettings?void 0:oF(t,!e.disregardSearchExcludeSettings)}expandSearchPathPatterns(t){if(!t||!t.length)return[];let e=t.flatMap(o=>{let{pathPortion:r,globPortion:s}=H$(o);return s&&(s=KR(s)),this.expandOneSearchPath(r).flatMap(l=>this.resolveOneSearchPathPattern(l,s))}),n=new Map;return e.forEach(o=>{let r=o.searchPath.toString(),s=n.get(r);s?o.pattern&&(s.pattern=s.pattern||{},s.pattern[o.pattern]=!0):n.set(r,{searchPath:o.searchPath,pattern:o.pattern?qR(o.pattern):void 0})}),Array.from(n.values())}expandOneSearchPath(t){if(Ei(t)){let e=this.workspaceContextService.getWorkspace().folders;return e[0]&&e[0].uri.scheme!==K.file?[{searchPath:e[0].uri.with({path:t})}]:[{searchPath:y.file(Vo(t))}]}if(this.workspaceContextService.getWorkbenchState()===2){let e=this.workspaceContextService.getWorkspace().folders[0].uri;if(t=MC(t),t.startsWith("../")||t===".."){let o=Ve.resolve(e.path,t);return[{searchPath:e.with({path:o})}]}let n=KR(t);return[{searchPath:e,pattern:n}]}else{if(t==="./"||t===".\\")return[];{let e=t.replace(/^\.[\/\\]/,""),o=this.workspaceContextService.getWorkspace().folders.map(r=>{let s=e.match(new RegExp(`^${ir(r.name)}(?:/(.*)|$)`));return s?{match:s,folder:r}:null}).filter(no);if(o.length)return o.map(r=>{let s=r.match[1];return{searchPath:r.folder.uri,pattern:s&&KR(s)}});{let r=t.match(/\.[\/\\](.+)[\/\\]?/),s=r?r[1]:t,a=p(19902,null,s);throw new Error(a)}}}}resolveOneSearchPathPattern(t,e){let n=t.pattern&&e?`${t.pattern}/${e}`:t.pattern||e,o=[{searchPath:t.searchPath,pattern:n}];return n&&!n.endsWith("**")&&o.push({searchPath:t.searchPath,pattern:n+"/**"}),o}getFolderQueryForSearchPath(t,e,n){let o=this.getFolderQueryForRoot(pf(t.searchPath),e,n,!1);return o?{...o,includePattern:t.pattern}:null}getFolderQueryForRoot(t,e,n,o){let r,s=y.isUri(t)?t:t.uri,a=e.excludePattern?.map(g=>{let v=e.excludePattern&&F$(g)?g.uri:void 0;return!v||!(y.isUri(t)&&this.uriIdentityService.extUri.isEqual(t,v))?v:void 0});if(a?.length||(a=[void 0]),n.searchPaths){let g=n.searchPaths.filter(v=>Cn(v.searchPath,s))[0];if(g&&!g.pattern)return null;g&&(r=g.pattern)}let l=this.configurationService.getValue({resource:s}),c={...this.getExcludesForFolder(l,e)||{},...r||{}},u=y.isUri(t)?tt(t):t.name,m=a.map(g=>Object.keys(c).length>0?{folder:g,pattern:c}:void 0).filter(g=>g);return{folder:s,folderName:o?u:void 0,excludePattern:m,fileEncoding:l.files&&l.files.encoding,disregardIgnoreFiles:typeof e.disregardIgnoreFiles=="boolean"?e.disregardIgnoreFiles:!l.search?.useIgnoreFiles,disregardGlobalIgnoreFiles:typeof e.disregardGlobalIgnoreFiles=="boolean"?e.disregardGlobalIgnoreFiles:!l.search?.useGlobalIgnoreFiles,disregardParentIgnoreFiles:typeof e.disregardParentIgnoreFiles=="boolean"?e.disregardParentIgnoreFiles:!l.search?.useParentIgnoreFiles,ignoreSymlinks:typeof e.ignoreSymlinks=="boolean"?e.ignoreSymlinks:!l.search?.followSymlinks,ignoreGlobCase:e.ignoreGlobCase}}};Fh=R([S(0,bn),S(1,La),S(2,PU),S(3,ae),S(4,VF),S(5,by)],Fh);function H$(i){let t=i.match(/[\*\{\}\(\)\[\]\?]/);if(t){let e=t.index,n=i.substr(0,e).match(/[/|\\][^/\\]*$/);if(n){let o=i.substr(0,n.index);return o.match(/[/\\]/)||(o+="/"),{pathPortion:o,globPortion:i.substr((n.index||0)+1)}}}return{pathPortion:i}}function qR(...i){return i.length?i.reduce((t,e)=>(t[e]=!0,t),Object.create(null)):void 0}function V$(i){return Au(i,",").map(t=>t.trim()).filter(t=>!!t.length)}function B$(i){return[`**/${i}/**`,`**/${i}`].map(e=>e.replace(/\*\*\/\*\*/g,"**"))}function MC(i){return i.replace(/\\/g,"/")}function KR(i){return MC(i).replace(/^\.\//,"").replace(/\/+$/g,"")}function BF(i){return i.replace(/([?*[\]])/g,"[$1]")}var W$=7e3;function $F(i,t){let e=t.activationEvents;if(!e)return Promise.resolve(void 0);let n=[],o=[];for(let c of e)if(/^workspaceContains:/.test(c)){let u=c.substr(18);u.indexOf("*")>=0||u.indexOf("?")>=0||i.forceUsingSearch?o.push(u):n.push(u)}if(n.length===0&&o.length===0)return Promise.resolve(void 0);let{promise:r,resolve:s}=Dw(),a=c=>s({activationEvent:c}),l=Promise.all(n.map(c=>$$(i,c,a))).then(()=>{}),d=z$(i,t.identifier,o,a);return Promise.all([l,d]).then(()=>{s(void 0)}),r}async function $$(i,t,e){for(let n of i.folders)if(await i.exists(Nt(y.revive(n),t))){e(`workspaceContains:${t}`);return}}async function z$(i,t,e,n){if(e.length===0)return Promise.resolve(void 0);let o=new Me,r=i.checkExists(i.folders,e,o.token),s=setTimeout(async()=>{o.cancel(),i.logService.info(`Not activating extension '${t.value}': Timed out while searching for 'workspaceContains' pattern ${e.join(",")}`)},W$),a=!1;try{a=await r}catch(l){xn(l)||Pt(l)}o.dispose(),clearTimeout(s),a&&n(`workspaceContains:${e.join(",")}`)}var um=class{constructor(t){this._onDidChangePassword=new w;this.onDidChangePassword=this._onDidChangePassword.event;this._proxy=t.getProxy(L.MainThreadSecretState)}async $onDidChangePassword(t){this._onDidChangePassword.fire(t)}get(t,e){return this._proxy.$getPassword(t,e)}store(t,e,n){return this._proxy.$setPassword(t,e,n)}delete(t,e){return this._proxy.$deletePassword(t,e)}keys(t){return this._proxy.$getKeys(t)}},pm=A("IExtHostSecretState");var OC=class{constructor(t,e){this.disposables=new J;this._id=Se.toKey(t.identifier),this.#e=e,this.onDidChange=Le.map(Le.filter(this.#e.onDidChangePassword,n=>n.extensionId===this._id),n=>({key:n.key}),this.disposables)}#e;dispose(){this.disposables.dispose()}get(t){return this.#e.get(this._id,t)}store(t,e){return this.#e.store(this._id,t,e)}delete(t){return this.#e.delete(this._id,t)}keys(){return this.#e.keys(this._id)||[]}};var mm=class{constructor(t,e,n){this.logService=n;this.bundleCache=new Map;this._proxy=e.getProxy(L.MainThreadLocalization),this.currentLanguage=t.environment.appLanguage,this.isDefaultLanguage=this.currentLanguage===xi}getMessage(t,e){let{message:n,args:o,comment:r}=e;if(this.isDefaultLanguage)return mw(n,o??{});let s=n;r&&r.length>0&&(s+=`/${Array.isArray(r)?r.join(""):r}`);let a=this.bundleCache.get(t)?.contents[s];return a||this.logService.warn(`Using default string since no string found in i18n bundle that has the key: ${s}`),mw(a??n,o??{})}getBundle(t){return this.bundleCache.get(t)?.contents}getBundleUri(t){return this.bundleCache.get(t)?.uri}async initializeLocalizedMessages(t){if(this.isDefaultLanguage||!t.l10n&&!t.isBuiltin||this.bundleCache.has(t.identifier.value))return;let e,n=await this.getBundleLocation(t);if(!n){this.logService.error(`No bundle location found for extension ${t.identifier.value}`);return}try{let o=await this._proxy.$fetchBundleContents(n),r=JSON.parse(o);e=t.isBuiltin?r.contents?.bundle:r}catch(o){this.logService.error(`Failed to load translations for ${t.identifier.value} from ${n}: ${o.message}`);return}e&&this.bundleCache.set(t.identifier.value,{contents:e,uri:n})}async getBundleLocation(t){if(t.isBuiltin){let e=await this._proxy.$fetchBuiltInBundleUri(t.identifier.value,this.currentLanguage);return y.revive(e)}return t.l10n?y.joinPath(t.extensionLocation,t.l10n,`bundle.l10n.${this.currentLanguage}.json`):void 0}};mm=R([S(0,nt),S(1,ge),S(2,ae)],mm);var gm=A("IExtHostLocalizationService");var hm=A("IExtHostManagedSockets"),fm=class{constructor(t){this._remoteSocketIdCounter=0;this._factory=null;this._managedRemoteSockets=new Map;this._proxy=t.getProxy(L.MainThreadManagedSockets)}setFactory(t,e){for(let n of this._managedRemoteSockets.values())n.dispose();this._factory&&this._proxy.$unregisterSocketFactory(this._factory.socketFactoryId),this._factory=new GR(t,e),this._proxy.$registerSocketFactory(this._factory.socketFactoryId)}async $openRemoteSocket(t){if(!this._factory||this._factory.socketFactoryId!==t)throw new Error(`No socket factory with id ${t}`);let e=++this._remoteSocketIdCounter,n=await this._factory.makeConnection(),o=new J;return this._managedRemoteSockets.set(e,new jR(e,n,o)),o.add(X(()=>this._managedRemoteSockets.delete(e))),o.add(n.onDidEnd(()=>{this._proxy.$onDidManagedSocketEnd(e),o.dispose()})),o.add(n.onDidClose(r=>{this._proxy.$onDidManagedSocketClose(e,r?.stack??r?.message),o.dispose()})),o.add(n.onDidReceiveMessage(r=>this._proxy.$onDidManagedSocketHaveData(e,te.wrap(r)))),e}$remoteSocketWrite(t,e){this._managedRemoteSockets.get(t)?.actual.send(e.buffer)}$remoteSocketEnd(t){let e=this._managedRemoteSockets.get(t);e&&(e.actual.end(),e.dispose())}async $remoteSocketDrain(t){await this._managedRemoteSockets.get(t)?.actual.drain?.()}};fm=R([S(0,ge)],fm);var GR=class{constructor(t,e){this.socketFactoryId=t;this.makeConnection=e}},jR=class extends V{constructor(e,n,o){super();this.socketId=e;this.actual=n;this._register(o)}};var XR=A("IHostUtils"),Hl=class extends V{constructor(e,n,o,r,s,a,l,d,c,u,m,g,v){super();this._extHostManagedSockets=g;this._extHostLanguageModels=v;this._onDidChangeRemoteConnectionData=this._register(new w);this.onDidChangeRemoteConnectionData=this._onDidChangeRemoteConnectionData.event;this._realPathCache=new Map;this._isTerminating=!1;this._hostUtils=n,this._extHostContext=o,this._initData=l,this._extHostWorkspace=r,this._extHostConfiguration=s,this._logService=a,this._extHostTunnelService=c,this._extHostTerminalService=u,this._extHostLocalizationService=m,this._mainThreadWorkspaceProxy=this._extHostContext.getProxy(L.MainThreadWorkspace),this._mainThreadTelemetryProxy=this._extHostContext.getProxy(L.MainThreadTelemetry),this._mainThreadExtensionsProxy=this._extHostContext.getProxy(L.MainThreadExtensionService),this._almostReadyToRunExtensions=new An,this._readyToStartExtensionHost=new An,this._readyToRunExtensions=new An,this._eagerExtensionsActivated=new An,this._activationEventsReader=new JR(this._initData.extensions.activationEvents),this._globalRegistry=new ia(this._activationEventsReader,this._initData.extensions.allExtensions);let f=new ho(this._initData.extensions.myExtensions);this._myRegistry=new ia(this._activationEventsReader,KF(this._globalRegistry,f)),Sa&&(this._logService.info(`Creating extension host with the following global extensions: ${vm(this._globalRegistry)}`),this._logService.info(`Creating extension host with the following local extensions: ${vm(this._myRegistry)}`)),this._storage=new $p(this._extHostContext,this._logService),this._secretState=new um(this._extHostContext),this._storagePath=d,this._instaService=this._store.add(e.createChild(new Ma([zp,this._storage],[pm,this._secretState]))),this._activator=this._register(new Vp(this._myRegistry,this._globalRegistry,{onExtensionActivationError:(x,C,E)=>{this._mainThreadExtensionsProxy.$onExtensionActivationError(x,Ii(C),E)},actualActivateExtension:async(x,C)=>{if(ia.isHostExtension(x,this._myRegistry,this._globalRegistry))return await this._mainThreadExtensionsProxy.$activateExtension(x,C),new SC;let E=this._myRegistry.getExtensionDescription(x);return this._activateExtension(E,C)}},this._logService)),this._extensionPathIndex=null,this._resolvers=Object.create(null),this._started=!1,this._remoteConnectionData=this._initData.remote.connectionData}getRemoteConnectionData(){return this._remoteConnectionData}async initialize(){try{await this._beforeAlmostReadyToRunExtensions(),this._almostReadyToRunExtensions.open(),await this._extHostWorkspace.waitForInitializeCall(),fn("code/extHost/ready"),this._readyToStartExtensionHost.open(),this._initData.autoStart&&this._startExtensionHost()}catch(e){Pt(e)}}async _deactivateAll(){this._storagePath.onWillDeactivateAll();let e=[];try{e=this._myRegistry.getAllExtensionDescriptions().map(s=>s.identifier).filter(s=>this.isActivated(s)).map(s=>this._deactivate(s))}catch{}await Promise.all(e)}terminate(e,n=0){if(this._isTerminating)return;this._isTerminating=!0,this._logService.info(`Extension host terminating: ${e}`),this._logService.flush(),this._extHostTerminalService.dispose(),this._activator.dispose(),Pg(r=>{this._logService.error(r)}),this._extHostContext.dispose();let o=this._deactivateAll();Promise.race([Sn(5e3),o]).finally(()=>{this._hostUtils.pid?this._logService.info(`Extension host with pid ${this._hostUtils.pid} exiting with code ${n}`):this._logService.info(`Extension host exiting with code ${n}`),this._logService.flush(),this._logService.dispose(),this._hostUtils.exit(n)})}isActivated(e){return this._readyToRunExtensions.isOpen()?this._activator.isActivated(e):!1}async getExtension(e){let n=await this._mainThreadExtensionsProxy.$getExtension(e);return n&&{...n,identifier:new Se(n.identifier.value),extensionLocation:y.revive(n.extensionLocation)}}_activateByEvent(e,n){return this._activator.activateByEvent(e,n)}_activateById(e,n){return this._activator.activateById(e,n)}activateByIdWithErrors(e,n){return this._activateById(e,n).then(()=>{let o=this._activator.getActivatedExtension(e);if(o.activationFailed)return Promise.reject(o.activationFailedError)})}getExtensionRegistry(){return this._readyToRunExtensions.wait().then(e=>this._myRegistry)}getExtensionExports(e){if(this._readyToRunExtensions.isOpen())return this._activator.getActivatedExtension(e).exports;try{return this._activator.getActivatedExtension(e).exports}catch{return null}}async _realPathExtensionUri(e){if(e.scheme===K.file&&this._hostUtils.fsRealpath){let n=e.fsPath;this._realPathCache.has(n)||this._realPathCache.set(n,this._hostUtils.fsRealpath(n));let o=await this._realPathCache.get(n);return y.file(o)}return e}async getExtensionPathIndex(){return this._extensionPathIndex||(this._extensionPathIndex=this._createExtensionPathIndex(this._myRegistry.getAllExtensionDescriptions()).then(e=>new QR(e))),this._extensionPathIndex}async _createExtensionPathIndex(e){let n=Do.forUris(o=>Cw.ignorePathCasing(o));return await Promise.all(e.map(async o=>{if(this._getEntryPoint(o)){let r=await this._realPathExtensionUri(o.extensionLocation);n.set(r,o)}})),n}_deactivate(e){let n=Promise.resolve(void 0);if(!this._readyToRunExtensions.isOpen()||!this._activator.isActivated(e))return n;let o=this._activator.getActivatedExtension(e);if(!o)return n;try{typeof o.module.deactivate=="function"&&(n=Promise.resolve(o.module.deactivate()).then(void 0,r=>(this._logService.error(r),Promise.resolve(void 0))))}catch(r){this._logService.error(`An error occurred when deactivating the extension '${e.value}':`),this._logService.error(r)}try{o.disposable.dispose()}catch(r){this._logService.error(`An error occurred when disposing the subscriptions for extension '${e.value}':`),this._logService.error(r)}return n}async _activateExtension(e,n){return this._initData.remote.isRemote?this._mainThreadExtensionsProxy.$onWillActivateExtension(e.identifier):await this._mainThreadExtensionsProxy.$onWillActivateExtension(e.identifier),this._doActivateExtension(e,n).then(o=>{let r=o.activationTimes;return this._mainThreadExtensionsProxy.$onDidActivateExtension(e.identifier,r.codeLoadingTime,r.activateCallTime,r.activateResolvedTime,n),this._logExtensionActivationTimes(e,n,"success",r),o},o=>{throw this._logExtensionActivationTimes(e,n,"failure"),o})}_logExtensionActivationTimes(e,n,o,r){let s=qF(e,n);this._mainThreadTelemetryProxy.$publicLog2("extensionActivationTimes",{...s,...r||{},outcome:o})}_doActivateExtension(e,n){let o=qF(e,n);this._mainThreadTelemetryProxy.$publicLog2("activatePlugin",o);let r=this._getEntryPoint(e);if(!r)return Promise.resolve(new CC(vc.NONE));this._logService.info(`ExtensionService#_doActivateExtension ${e.identifier.value}, startup: ${n.startup}, activationEvent: '${n.activationEvent}'${e.identifier.value!==n.extensionId.value?`, root cause: ${n.extensionId.value}`:""}`),this._logService.flush();let s=this._isESM(e),a=new J,l=new Bp(n.startup);return Promise.all([s?this._loadESMModule(e,Nt(e.extensionLocation,r),l):this._loadCommonJSModule(e,Nt(e.extensionLocation,r),l),this._loadExtensionContext(e,a)]).then(d=>(fn(`code/extHost/willActivateExtension/${e.identifier.value}`),Hl._callActivate(this._logService,e.identifier,d[0],d[1],a,l))).then(d=>(fn(`code/extHost/didActivateExtension/${e.identifier.value}`),d))}_loadExtensionContext(e,n){let o=this._extHostLanguageModels.createLanguageModelAccessInformation(e),r=n.add(new TC(e,this._storage)),s=n.add(new Dh(e.identifier.value,!1,this._storage)),a=n.add(new OC(e,this._secretState)),l=e.isUnderDevelopment?this._initData.environment.extensionTestsLocationURI?3:2:1,d=this._initData.remote.isRemote?2:1;return this._logService.trace(`ExtensionService#loadExtensionContext ${e.identifier.value}`),Promise.all([r.whenReady,s.whenReady,this._storagePath.whenReady]).then(()=>{let c=this,u,m,g=De(e,"ipc")?this._initData.messagePorts?.get(Se.toKey(e.identifier)):void 0;return Object.freeze({globalState:r,workspaceState:s,secrets:a,subscriptions:[],get languageModelAccessInformation(){return o},get extensionUri(){return e.extensionLocation},get extensionPath(){return e.extensionLocation.fsPath},asAbsolutePath(v){return Yc(e.extensionLocation.fsPath,v)},get storagePath(){return c._storagePath.workspaceValue(e)?.fsPath},get globalStoragePath(){return c._storagePath.globalValue(e).fsPath},get logPath(){return Yc(c._initData.logsLocation.fsPath,e.identifier.value)},get logUri(){return y.joinPath(c._initData.logsLocation,e.identifier.value)},get storageUri(){return c._storagePath.workspaceValue(e)},get globalStorageUri(){return c._storagePath.globalValue(e)},get extensionMode(){return l},get extension(){return u===void 0&&(u=new Vl(c,e.identifier,e,d,!1)),u},get extensionRuntime(){return D(e,"extensionRuntime"),c.extensionRuntime},get environmentVariableCollection(){return c._extHostTerminalService.getEnvironmentVariableCollection(e)},get messagePassingProtocol(){if(!m){if(!g)return;let v=Le.buffer(Le.fromDOMEventEmitter(g,"message",f=>f.data),"onDidReceiveMessage");g.start(),m={onDidReceiveMessage:v,postMessage:g.postMessage.bind(g)}}return m}})})}static _callActivate(e,n,o,r,s,a){return o=o||{activate:void 0,deactivate:void 0},this._callActivateOptional(e,n,o,r,a).then(l=>new bc(!1,null,a.build(),o,l,X(()=>{s.dispose(),Fn(r.subscriptions)})))}static _callActivateOptional(e,n,o,r,s){if(typeof o.activate=="function")try{s.activateCallStart(),e.trace(`ExtensionService#_callActivateOptional ${n.value}`);let a=o.activate.apply(globalThis,[r]);return s.activateCallStop(),s.activateResolveStart(),Promise.resolve(a).then(l=>(s.activateResolveStop(),l))}catch(a){return Promise.reject(a)}else return Promise.resolve(o)}_activateOneStartupFinished(e,n){this._activateById(e.identifier,{startup:!1,extensionId:e.identifier,activationEvent:n}).then(void 0,o=>{this._logService.error(o)})}_activateAllStartupFinishedDeferred(e,n=0){let r=Date.now();Wv(()=>{for(let s=n;s<e.length;s+=1){let a=e[s];for(let l of a.activationEvents??[])if(l==="onStartupFinished")if(Date.now()-r>50){this._activateAllStartupFinishedDeferred(e,s);break}else this._activateOneStartupFinished(a,l)}})}_activateAllStartupFinished(){this._mainThreadExtensionsProxy.$setPerformanceMarks(T0()),this._extHostConfiguration.getConfigProvider().then(e=>{let n=e.getConfiguration("extensions.experimental").get("deferredStartupFinishedActivation"),o=this._myRegistry.getAllExtensionDescriptions();if(n)this._activateAllStartupFinishedDeferred(o);else for(let r of o)if(r.activationEvents)for(let s of r.activationEvents)s==="onStartupFinished"&&this._activateOneStartupFinished(r,s)})}_handleEagerExtensions(){let e=this._activateByEvent("*",!0).then(void 0,a=>{this._logService.error(a)});this._register(this._extHostWorkspace.onDidChangeWorkspace(a=>this._handleWorkspaceContainsEagerExtensions(a.added)));let n=this._extHostWorkspace.workspace?this._extHostWorkspace.workspace.folders:[],o=this._handleWorkspaceContainsEagerExtensions(n),r=this._handleRemoteResolverEagerExtensions(),s=Promise.all([r,e,o]).then(()=>{});return Promise.race([s,Sn(1e4)]).then(()=>{this._activateAllStartupFinished()}),s}_handleWorkspaceContainsEagerExtensions(e){return e.length===0?Promise.resolve(void 0):Promise.all(this._myRegistry.getAllExtensionDescriptions().map(n=>this._handleWorkspaceContainsEagerExtension(e,n))).then(()=>{})}async _handleWorkspaceContainsEagerExtension(e,n){if(this.isActivated(n.identifier))return;let o=!this._initData.remote.isRemote&&!!this._initData.remote.authority,r={logService:this._logService,folders:e.map(a=>a.uri),forceUsingSearch:o||!this._hostUtils.fsExists,exists:a=>this._hostUtils.fsExists(a.fsPath),checkExists:(a,l,d)=>this._mainThreadWorkspaceProxy.$checkExists(a,l,d)},s=await $F(r,n);if(s)return this._activateById(n.identifier,{startup:!0,extensionId:n.identifier,activationEvent:s.activationEvent}).then(void 0,a=>this._logService.error(a))}async _handleRemoteResolverEagerExtensions(){if(this._initData.remote.authority)return this._activateByEvent(`onResolveRemoteAuthority:${this._initData.remote.authority}`,!1)}async $extensionTestsExecute(){await this._eagerExtensionsActivated.wait();try{return await this._doHandleExtensionTests()}catch(e){throw console.error(e),e}}async _doHandleExtensionTests(){let{extensionDevelopmentLocationURI:e,extensionTestsLocationURI:n}=this._initData.environment;if(!e||!n)throw new Error(p(4371,null));let o=(await this.getExtensionPathIndex()).findSubstr(n),s=await(this._isESM(o,n.path)?this._loadESMModule(null,n,new Bp(!1)):this._loadCommonJSModule(null,n,new Bp(!1)));if(!s||typeof s.run!="function")throw new Error(p(4370,null,n.toString()));return new Promise((a,l)=>{let d=(m,g)=>{m?(Sa&&this._logService.error("Test runner called back with error",m),l(m)):(Sa&&(g?this._logService.info(`Test runner called back with ${g} failures.`):this._logService.info("Test runner called back with successful outcome.")),a(typeof g=="number"&&g>0?1:0))},c=Sr(n),u=s.run(c,d);u&&u.then&&u.then(()=>{Sa&&this._logService.info("Test runner finished successfully."),a(0)}).catch(m=>{Sa&&this._logService.error("Test runner finished with error",m),l(m instanceof Error&&m.stack?m.stack:String(m))})})}_startExtensionHost(){if(this._started)throw new Error("Extension host is already started!");return this._started=!0,this._readyToStartExtensionHost.wait().then(()=>this._readyToRunExtensions.open()).then(()=>Promise.race([this._activator.waitForActivatingExtensions(),Sn(1e3)])).then(()=>this._handleEagerExtensions()).then(()=>{this._eagerExtensionsActivated.open(),this._logService.info("Eager extensions activated")})}registerRemoteAuthorityResolver(e,n){return this._resolvers[e]=n,X(()=>{delete this._resolvers[e]})}async getRemoteExecServer(e){let{resolver:n}=await this._activateAndGetResolver(e);return n?.resolveExecServer?.(e,{resolveAttempt:0})}async _activateAndGetResolver(e){let n=e.indexOf("+");if(n===-1)throw new Gi("Not an authority that can be resolved!","InvalidAuthority");let o=e.substr(0,n);return await this._almostReadyToRunExtensions.wait(),await this._activateByEvent(`onResolveRemoteAuthority:${o}`,!1),{authorityPrefix:o,resolver:this._resolvers[o]}}async $resolveAuthority(e,n){let o=Hn.create(!1),r=()=>`[resolveAuthority(${R_(e)},${n})][${o.elapsed()}ms] `,s=k=>this._logService.info(`${r()}${k}`),a=k=>this._logService.warn(`${r()}${k}`),l=(k,O=void 0)=>this._logService.error(`${r()}${k}`,O),d=k=>{if(k instanceof Gi)return{type:"error",error:{code:k._code,message:k._message,detail:k._detail}};throw k},c=async k=>{s(`activating resolver for ${k}...`);let{resolver:O,authorityPrefix:N}=await this._activateAndGetResolver(k);if(!O)throw l(`no resolver for ${N}`),new Gi(`No remote extension installed to resolve ${N}.`,"NoResolverFound");return{resolver:O,authorityPrefix:N,remoteAuthority:k}},u=e.split(/@|%40/g).reverse();s(`activating remote resolvers ${u.join(" -> ")}`);let m;try{m=await Promise.all(u.map(c)).catch(async k=>{if(!(k instanceof Gi)||k._code!=="InvalidAuthority")throw k;return a(`resolving nested authorities failed: ${k.message}`),[await c(e)]})}catch(k){return d(k)}let g=new vb;g.cancelAndSet(()=>s("waiting..."),1e3);let v,f;for(let[k,{authorityPrefix:O,resolver:N,remoteAuthority:H}]of m.entries())try{if(k===m.length-1)s("invoking final resolve()..."),fn(`code/extHost/willResolveAuthority/${O}`),v=await N.resolve(H,{resolveAttempt:n,execServer:f}),fn(`code/extHost/didResolveAuthorityOK/${O}`),s("setting tunnel factory..."),this._register(await this._extHostTunnelService.setTunnelFactory(N,pl.isManagedResolvedAuthority(v)?v:void 0));else{if(s(`invoking resolveExecServer() for ${H}`),fn(`code/extHost/willResolveExecServer/${O}`),f=await N.resolveExecServer?.(H,{resolveAttempt:n,execServer:f}),!f)throw new Gi(`Exec server was not available for ${H}`,"NoResolverFound");fn(`code/extHost/didResolveExecServerOK/${O}`)}}catch(q){return fn(`code/extHost/didResolveAuthorityError/${O}`),l("returned an error",q),g.dispose(),d(q)}g.dispose();let x={environmentTunnels:v.environmentTunnels,features:v.tunnelFeatures?{elevation:v.tunnelFeatures.elevation,privacyOptions:v.tunnelFeatures.privacyOptions,protocol:v.tunnelFeatures.protocol===void 0?!0:v.tunnelFeatures.protocol}:void 0},C={extensionHostEnv:v.extensionHostEnv,isTrusted:v.isTrusted,authenticationSession:v.authenticationSessionForInitializingExtensions?{id:v.authenticationSessionForInitializingExtensions.id,providerId:v.authenticationSessionForInitializingExtensions.providerId}:void 0};s(`returned ${pl.isManagedResolvedAuthority(v)?"managed authority":`${v.host}:${v.port}`}`);let E;if(pl.isManagedResolvedAuthority(v)){let k=n;this._extHostManagedSockets.setFactory(k,v.makeConnection),E={authority:e,connectTo:new oI(k),connectionToken:v.connectionToken}}else E={authority:e,connectTo:new rI(v.host,v.port),connectionToken:v.connectionToken};return{type:"ok",value:{authority:E,options:C,tunnelInformation:x}}}async $getCanonicalURI(e,n){this._logService.info(`$getCanonicalURI invoked for authority (${R_(e)})`);let{resolver:o}=await this._activateAndGetResolver(e);if(!o)return null;let r=y.revive(n);if(typeof o.getCanonicalURI>"u")return r;let s=await tn(()=>o.getCanonicalURI(r));return s||r}async $startExtensionHost(e){e.toAdd.forEach(a=>a.extensionLocation=y.revive(a.extensionLocation));let{globalRegistry:n,myExtensions:o}=zF(this._activationEventsReader,this._globalRegistry,this._myRegistry,e),r=await this._createExtensionPathIndex(o);return(await this.getExtensionPathIndex()).setSearchTree(r),this._globalRegistry.set(n.getAllExtensionDescriptions()),this._myRegistry.set(o),Sa&&(this._logService.info(`$startExtensionHost: global extensions: ${vm(this._globalRegistry)}`),this._logService.info(`$startExtensionHost: local extensions: ${vm(this._myRegistry)}`)),this._startExtensionHost()}$activateByEvent(e,n){return n===1?this._almostReadyToRunExtensions.wait().then(o=>this._activateByEvent(e,!1)):this._readyToRunExtensions.wait().then(o=>this._activateByEvent(e,!1))}async $activate(e,n){return await this._readyToRunExtensions.wait(),this._myRegistry.getExtensionDescription(e)?(await this._activateById(e,n),!0):!1}async $deltaExtensions(e){e.toAdd.forEach(a=>a.extensionLocation=y.revive(a.extensionLocation));let{globalRegistry:n,myExtensions:o}=zF(this._activationEventsReader,this._globalRegistry,this._myRegistry,e),r=await this._createExtensionPathIndex(o);return(await this.getExtensionPathIndex()).setSearchTree(r),this._globalRegistry.set(n.getAllExtensionDescriptions()),this._myRegistry.set(o),Sa&&(this._logService.info(`$deltaExtensions: global extensions: ${vm(this._globalRegistry)}`),this._logService.info(`$deltaExtensions: local extensions: ${vm(this._myRegistry)}`)),Promise.resolve(void 0)}async $test_latency(e){return e}async $test_up(e){return e.byteLength}async $test_down(e){let n=te.alloc(e),o=Math.random()%256;for(let r=0;r<e;r++)n.writeUInt8(o,r);return n}async $updateRemoteConnectionData(e){this._remoteConnectionData=e,this._onDidChangeRemoteConnectionData.fire()}_isESM(e,n){return n??=e?this._getEntryPoint(e):n,n?.endsWith(".mjs")||e?.type==="module"&&!n?.endsWith(".cjs")}};Hl=R([S(0,Po),S(1,XR),S(2,ge),S(3,eo),S(4,So),S(5,ae),S(6,nt),S(7,Kp),S(8,jp),S(9,ci),S(10,gm),S(11,hm),S(12,sm)],Hl);function zF(i,t,e,n){i.addActivationEvents(n.addActivationEvents);let o=new ia(i,t.getAllExtensionDescriptions());o.deltaExtensions(n.toAdd,n.toRemove);let r=new ho(e.getAllExtensionDescriptions().map(a=>a.identifier));for(let a of n.myToRemove)r.delete(a);for(let a of n.myToAdd)r.add(a);let s=KF(o,r);return{globalRegistry:o,myExtensions:s}}function qF(i,t){return{id:i.identifier.value,name:i.name,extensionVersion:i.version,publisherDisplayName:i.publisher,activationEvents:i.activationEvents?i.activationEvents.join(","):null,isBuiltin:i.isBuiltin,reason:t.activationEvent,reasonId:t.extensionId.value}}function vm(i){return i.getAllExtensionDescriptions().map(t=>t.identifier.value).join(",")}var To=A("IExtHostExtensionService"),Vl=class{#e;#t;#n;constructor(t,e,n,o,r){this.#e=t,this.#t=e,this.#n=n.identifier,this.id=n.identifier.value,this.extensionUri=n.extensionLocation,this.extensionPath=Vo(Sr(n.extensionLocation)),this.packageJSON=n,this.extensionKind=o,this.isFromDifferentExtensionHost=r}get isActive(){return this.#e.isActivated(this.#n)}get exports(){if(!(this.packageJSON.api==="none"||this.isFromDifferentExtensionHost))return this.#e.getExtensionExports(this.#n)}async activate(){if(this.isFromDifferentExtensionHost)throw new Error("Cannot activate foreign extension");return await this.#e.activateByIdWithErrors(this.#n,{startup:!1,extensionId:this.#t,activationEvent:"api"}),this.exports}};function KF(i,t){return i.getAllExtensionDescriptions().filter(e=>t.has(e.identifier))}var QR=class{constructor(t){this._searchTree=t}setSearchTree(t){this._searchTree=t}findSubstr(t){return this._searchTree.findSubstr(t)}forEach(t){return this._searchTree.forEach(t)}},JR=class{constructor(t){this._map=new Jn;this.addActivationEvents(t)}readActivationEvents(t){return this._map.get(t.identifier)??[]}addActivationEvents(t){for(let e of Object.keys(t))this._map.set(e,t[e])}};var aa=A("IExtHostApiDeprecationService"),bm=class{constructor(t,e){this._extHostLogService=e;this._reportedUsages=new Set;this._telemetryShape=t.getProxy(L.MainThreadTelemetry)}report(t,e,n,o){let r=this.getUsageKey(t,e,o?.usageId);this._reportedUsages.has(r)||(this._reportedUsages.add(r),e.isUnderDevelopment&&this._extHostLogService.warn(`[Deprecation Warning] '${t}' is deprecated. ${n}`),this._telemetryShape.$publicLog2("extHostDeprecatedApiUsage",{extensionId:e.identifier.value,apiId:t,usageId:o?.usageId??""}))}getUsageKey(t,e,n){let o=`${t}-${e.identifier.value}`;return n?`${o}-${n}`:o}};bm=R([S(0,ge),S(1,ae)],bm);var bRe=Object.freeze(new class{report(i,t,e){}});var LC=class{static async installEarlyHandler(t){Error.stackTraceLimit=100;let e=t.get(ae),o=t.get(ge).getProxy(L.MainThreadErrors);Pg(r=>{e.error(r);let s=Ii(r);o.$onUnexpectedError(s)})}static async installFullHandler(t){let e=t.get(ae),n=t.get(ge),o=t.get(To),r=t.get(Ll),s=t.get(aa),a=n.getProxy(L.MainThreadExtensionService),l=n.getProxy(L.MainThreadErrors),d=await o.getExtensionRegistry(),c=await o.getExtensionPathIndex(),u=new WeakMap;function m(f,x){if(u.has(f))return u.get(f).stack;let C="",E,k;for(let N of x)C+=`
	at ${N.toString()}`,k=N.getFileName(),!E&&k&&(E=c.findSubstr(y.file(k)));let O=`${f.name||"Error"}: ${f.message||""}${C}`;return u.set(f,{extensionIdentifier:E?.identifier,stack:O}),O}let g=Symbol("prepareStackTrace wrapped"),v=m;Object.defineProperty(Error,"prepareStackTrace",{configurable:!1,get(){return v},set(f){if(f===m||!f||f[g]){v=f||m;return}v=function(x,C){return m(x,C),f.call(Error,x,C)},Object.assign(v,{[g]:!0})}}),Pg(f=>{Zl.is(f)||e.error(f);let x=Ii(f),C;if(f instanceof nu?C=f.extension:C=u.get(f)?.extensionIdentifier,!!C)if(Zl.is(f)){let E=d.getExtensionDescription(C);E&&s.report(f.name,E,`${f.message}
 FROM: ${f.stack}`)}else{a.$onExtensionRuntimeError(C,x);let E=r.onExtensionError(C,f);e.trace("forwarded error to extension?",E,C)}}),fa.addListener(f=>{l.$onUnexpectedError(f)})}},NC=class i{constructor(t,e,n,o,r){this._hostUtils=n,this._rpcProtocol=new xb(t,null,o),e=i._transform(e,this._rpcProtocol);let s=new Ma(...EO());s.set(nt,{_serviceBrand:void 0,...e,messagePorts:r}),s.set(ge,new Mb(this._rpcProtocol)),s.set(Oa,new Ob(o)),s.set(XR,n);let a=new Ab(s,!0);a.invokeFunction(LC.installEarlyHandler),this._logService=a.invokeFunction(l=>l.get(ae)),fn("code/extHost/didCreateServices"),this._hostUtils.pid?this._logService.info(`Extension host with pid ${this._hostUtils.pid} started`):this._logService.info("Extension host started"),this._logService.trace("initData",e),this._extensionService=a.invokeFunction(l=>l.get(To)),this._extensionService.initialize(),a.invokeFunction(LC.installFullHandler)}async asBrowserUri(t){let e=this._rpcProtocol.getProxy(L.MainThreadExtensionService);return y.revive(await e.$asBrowserUri(t))}terminate(t){this._extensionService.terminate(t)}static _transform(t,e){t.extensions.allExtensions.forEach(o=>{o.extensionLocation=y.revive(e.transformIncomingURIs(o.extensionLocation))}),t.environment.appRoot=y.revive(e.transformIncomingURIs(t.environment.appRoot));let n=t.environment.extensionDevelopmentLocationURI;return n&&(t.environment.extensionDevelopmentLocationURI=n.map(o=>y.revive(e.transformIncomingURIs(o)))),t.environment.extensionTestsLocationURI=y.revive(e.transformIncomingURIs(t.environment.extensionTestsLocationURI)),t.environment.globalStorageHome=y.revive(e.transformIncomingURIs(t.environment.globalStorageHome)),t.environment.workspaceStorageHome=y.revive(e.transformIncomingURIs(t.environment.workspaceStorageHome)),t.nlsBaseUrl=y.revive(e.transformIncomingURIs(t.nlsBaseUrl)),t.logsLocation=y.revive(e.transformIncomingURIs(t.logsLocation)),t.workspace=e.transformIncomingURIs(t.workspace),t}};var q$=(function(t){let e=n=>{globalThis.removeEventListener("message",e);let o=n.data;Object.defineProperties(globalThis,{postMessage:{value(r,s){o.postMessage(r,s)}},onmessage:{get(){return o.onmessage},set(r){o.onmessage=r}}}),o.addEventListener("message",r=>{globalThis.dispatchEvent(new MessageEvent("message",{data:r.data,ports:r.ports?[...r.ports]:void 0}))}),o.start(),globalThis.Worker=class{constructor(){throw new TypeError("Nested workers from within nested worker are NOT supported.")}},importScripts(t)};globalThis.addEventListener("message",e)}).toString(),UC=class extends EventTarget{constructor(e,n,o){super();this.onmessage=null;this.onmessageerror=null;this.onerror=null;let r=`((${q$})('${n}'))`,s=new Blob([r],{type:"application/javascript"}),a=URL.createObjectURL(s),l=new MessageChannel,d=a,c={type:"_newWorker",id:d,port:l.port2,url:a,options:o};e(c,[l.port2]),this.postMessage=l.port1.postMessage.bind(l.port1),this.terminate=()=>{e({type:"_terminateWorker",id:d}),URL.revokeObjectURL(a),l.port1.close(),l.port2.close()},Object.defineProperties(this,{onmessage:{get(){return l.port1.onmessage},set(u){l.port1.onmessage=u}},onmessageerror:{get(){return l.port1.onmessageerror},set(u){l.port1.onmessageerror=u}}}),l.port1.addEventListener("messageerror",u=>{let m=new MessageEvent("messageerror",{data:u.data});this.dispatchEvent(m)}),l.port1.addEventListener("message",u=>{let m=new MessageEvent("message",{data:u.data});this.dispatchEvent(m)}),l.port1.start()}};var jRe=new T("inOutput",!1),QRe=new T("activeLogOutput",!1),JRe=new T("activeLogOutput.isLog",!1),XRe=new T("activeLogOutput.levelSettable",!1),YRe=new T("activeLogOutput.level",""),ZRe=new T("activeLogOutput.levelIsDefault",!1),e1e=new T("outputView.scrollLock",!1),t1e=new T("activeOutputChannel",""),n1e=new T("output.filter.trace",!0),o1e=new T("output.filter.debug",!0),r1e=new T("output.filter.info",!0),i1e=new T("output.filter.warning",!0),s1e=new T("output.filter.error",!0),a1e=new T("outputFilterFocus",!1),l1e=new T("output.filter.categories",""),d1e=A("outputService");var K$={OutputChannels:"workbench.contributions.outputChannels"};function G$(i){return Array.isArray(i.source)}var YR=class extends V{constructor(){super(...arguments);this.channels=new Map;this._onDidRegisterChannel=this._register(new w);this.onDidRegisterChannel=this._onDidRegisterChannel.event;this._onDidRemoveChannel=this._register(new w);this.onDidRemoveChannel=this._onDidRemoveChannel.event;this._onDidUpdateChannelFiles=this._register(new w);this.onDidUpdateChannelSources=this._onDidUpdateChannelFiles.event}registerChannel(e){this.channels.has(e.id)||(this.channels.set(e.id,e),this._onDidRegisterChannel.fire(e.id))}getChannels(){let e=[];return this.channels.forEach(n=>e.push(n)),e}getChannel(e){return this.channels.get(e)}updateChannelSources(e,n){let o=this.channels.get(e);o&&G$(o)&&(o.source=n,this._onDidUpdateChannelFiles.fire(o))}removeChannel(e){let n=this.channels.get(e);n&&(this.channels.delete(e),this._onDidRemoveChannel.fire(n))}};Et.add(K$.OutputChannels,new YR);var FC=class extends su{constructor(e,n,o,r,s){super();this.id=e;this.name=n;this.logger=o;this.proxy=r;this.extension=s;this.offset=0;this.visible=!1;this.setLevel(o.getLevel()),this._register(o.onDidChangeLogLevel(a=>this.setLevel(a))),this._register(X(()=>this.proxy.$dispose(this.id)))}get logLevel(){return this.getLevel()}appendLine(e){this.append(e+`
`)}append(e){this.info(e)}clear(){let e=this.offset;this.logger.flush(),this.proxy.$update(this.id,3,e)}replace(e){let n=this.offset;this.info(e),this.proxy.$update(this.id,2,n),this.visible&&this.logger.flush()}show(e,n){this.logger.flush(),this.proxy.$reveal(this.id,!!(typeof e=="boolean"?e:n))}hide(){this.proxy.$close(this.id)}log(e,n){this.offset+=te.fromString(n).byteLength,SO(this.logger,e,n),this.visible&&(this.logger.flush(),this.proxy.$update(this.id,1))}},ZR=class extends FC{appendLine(t){this.append(t)}},ym=class{constructor(t,e,n,o,r,s){this.initData=e;this.extHostFileSystem=n;this.extHostFileSystemInfo=o;this.loggerService=r;this.logService=s;this.extensionLogDirectoryCreationPromise=new $e;this.logOutputChannels=new $e;this.namePool=1;this.channels=new Map;this.visibleChannelId=null;this.proxy=t.getProxy(L.MainThreadOutputService),this.outputsLocation=this.extHostFileSystemInfo.extUri.joinPath(e.logsLocation,`output_logging_${LF(new Date).replace(/-|:|\.\d+Z$/g,"")}`)}$setVisibleChannel(t){this.visibleChannelId=t;for(let[e,n]of this.channels)n.visible=e===this.visibleChannelId}createOutputChannel(t,e,n){if(t=t.trim(),!t)throw new Error("illegal argument `name`. must not be falsy");let o=typeof e=="object"&&e.log,r=Ae(e)?e:void 0;if(Ae(r)&&!r.trim())throw new Error("illegal argument `languageId`. must not be empty");let s=new J,a,l=this.initData.environment.extensionLogLevel?.find(([c])=>Se.equals(n.identifier,c))?.[1],d;if(o){let c=this.extHostFileSystemInfo.extUri.joinPath(this.initData.logsLocation,n.identifier.value);d=this.extHostFileSystemInfo.extUri.joinPath(c,`${t.replace(/[\\/:\*\?"<>\|]/g,"")}.log`);let u=this.logOutputChannels.get(d);if(u)return u;let m=this.loggerService.getRegisteredLogger(d);m?.logLevel!==void 0&&(l=m.logLevel),a=this.doCreateLogOutputChannel(t,d,l,n,s)}else a=this.doCreateOutputChannel(t,r,n,s);if(a.then(c=>{this.channels.set(c.id,c),c.visible=c.id===this.visibleChannelId,s.add(X(()=>{this.channels.delete(c.id),d&&this.logOutputChannels.delete(d)}))}),d){let c=this.createExtHostLogOutputChannel(t,l??this.logService.getLevel(),a,s);return this.logOutputChannels.set(d,c),c}return this.createExtHostOutputChannel(t,a,s)}async doCreateOutputChannel(t,e,n,o){this.outputDirectoryPromise||(this.outputDirectoryPromise=this.extHostFileSystem.value.createDirectory(this.outputsLocation).then(()=>this.outputsLocation));let r=await this.outputDirectoryPromise,s=this.extHostFileSystemInfo.extUri.joinPath(r,`${this.namePool++}-${t.replace(/[\\/:\*\?"<>\|]/g,"")}.log`),a=o.add(this.loggerService.createLogger(s,{logLevel:"always",donotRotate:!0,donotUseFormatters:!0,hidden:!0})),l=await this.proxy.$register(t,s,e,n.identifier.value);return o.add(X(()=>this.loggerService.deregisterLogger(s))),new FC(l,t,a,this.proxy,n)}async doCreateLogOutputChannel(t,e,n,o,r){await this.createExtensionLogDirectory(e);let s=`${o.identifier.value}.${this.extHostFileSystemInfo.extUri.basename(e)}`,a=r.add(this.loggerService.createLogger(e,{id:s,name:t,logLevel:n,extensionId:o.identifier.value}));return r.add(X(()=>this.loggerService.deregisterLogger(e))),new ZR(s,t,a,this.proxy,o)}createExtensionLogDirectory(t){let e=this.extHostFileSystemInfo.extUri.dirname(t),n=this.extensionLogDirectoryCreationPromise.get(e);return n||this.extensionLogDirectoryCreationPromise.set(e,n=(async()=>{try{await this.extHostFileSystem.value.createDirectory(e)}catch(o){if(uu(o)!=="EntryExists")throw o}})()),n}createExtHostOutputChannel(t,e,n){let o=()=>{if(n.isDisposed)throw new Error("Channel has been closed")};return e.then(r=>n.add(r)),{get name(){return t},append(r){o(),e.then(s=>s.append(r))},appendLine(r){o(),e.then(s=>s.appendLine(r))},clear(){o(),e.then(r=>r.clear())},replace(r){o(),e.then(s=>s.replace(r))},show(r,s){o(),e.then(a=>a.show(r,s))},hide(){o(),e.then(r=>r.hide())},dispose(){n.dispose()}}}createExtHostLogOutputChannel(t,e,n,o){let r=()=>{if(o.isDisposed)throw new Error("Channel has been closed")},s=o.add(new w);function a(l){e=l,s.fire(l)}return n.then(l=>{l.logLevel!==e&&a(l.logLevel),o.add(l.onDidChangeLogLevel(d=>a(d)))}),{...this.createExtHostOutputChannel(t,n,o),get logLevel(){return e},onDidChangeLogLevel:s.event,trace(l,...d){r(),n.then(c=>c.trace(l,...d))},debug(l,...d){r(),n.then(c=>c.debug(l,...d))},info(l,...d){r(),n.then(c=>c.info(l,...d))},warn(l,...d){r(),n.then(c=>c.warn(l,...d))},error(l,...d){r(),n.then(c=>c.error(l,...d))}}}};ym=R([S(0,ge),S(1,nt),S(2,Ml),S(3,kr),S(4,lr),S(5,ae)],ym);var HC=A("IExtHostOutputService");var ns=class{constructor(t,e){this._logService=e;this._provider=new Map;this._proxy=t.getProxy(L.MainThreadDecorations)}static{this._handlePool=0}static{this._maxEventSize=250}registerFileDecorationProvider(t,e){let n=ns._handlePool++;this._provider.set(n,{provider:t,extensionDescription:e}),this._proxy.$registerDecorationProvider(n,e.identifier.value);let o=t.onDidChangeFileDecorations&&t.onDidChangeFileDecorations(r=>{if(!r){this._proxy.$onDidChange(n,null);return}let s=gn(r);if(s.length<=ns._maxEventSize){this._proxy.$onDidChange(n,s);return}this._logService.warn("[Decorations] CAPPING events from decorations provider",e.identifier.value,s.length);let a=s.map(c=>({uri:c,rank:V0(c.path,"/")})),l=RM(a,(c,u)=>c.rank-u.rank||Kr(c.uri.path,u.uri.path)),d=[];e:for(let c of l){let u;for(let m of c){let g=wi(m.uri.path);if(u!==g&&(u=g,d.push(m.uri)>=ns._maxEventSize))break e}}this._proxy.$onDidChange(n,d)});return new Ie(()=>{o?.dispose(),this._proxy.$unregisterDecorationProvider(n),this._provider.delete(n)})}async $provideDecorations(t,e,n){if(!this._provider.has(t))return Object.create(null);let o=Object.create(null),{provider:r,extensionDescription:s}=this._provider.get(t);return await Promise.all(e.map(async a=>{try{let{uri:l,id:d}=a,c=await Promise.resolve(r.provideFileDecoration(y.revive(l),n));if(!c)return;try{Jd.validate(c),c.badge&&typeof c.badge!="string"&&D(s,"codiconDecoration"),o[d]=[c.propagate,c.tooltip,c.badge,c.color]}catch(u){this._logService.warn(`INVALID decoration from extension '${s.identifier.value}': ${u}`)}}catch(l){this._logService.error(l)}})),o}};ns=R([S(0,ge),S(1,ae)],ns);var VC=A("IExtHostDecorations");var BC=class{constructor(t){this.values=t,this.prefixSum=new Uint32Array(t.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}getCount(){return this.values.length}insertValues(t,e){t=cd(t);let n=this.values,o=this.prefixSum,r=e.length;return r===0?!1:(this.values=new Uint32Array(n.length+r),this.values.set(n.subarray(0,t),0),this.values.set(n.subarray(t),t+r),this.values.set(e,t),t-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=t-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(o.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(t,e){return t=cd(t),e=cd(e),this.values[t]===e?!1:(this.values[t]=e,t-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=t-1),!0)}removeValues(t,e){t=cd(t),e=cd(e);let n=this.values,o=this.prefixSum;if(t>=n.length)return!1;let r=n.length-t;return e>=r&&(e=r),e===0?!1:(this.values=new Uint32Array(n.length-e),this.values.set(n.subarray(0,t),0),this.values.set(n.subarray(t+e),t),this.prefixSum=new Uint32Array(this.values.length),t-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=t-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(o.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(t){return t<0?0:(t=cd(t),this._getPrefixSum(t))}_getPrefixSum(t){if(t<=this.prefixSumValidIndex[0])return this.prefixSum[t];let e=this.prefixSumValidIndex[0]+1;e===0&&(this.prefixSum[0]=this.values[0],e++),t>=this.values.length&&(t=this.values.length-1);for(let n=e;n<=t;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],t),this.prefixSum[t]}getIndexOf(t){t=Math.floor(t),this.getTotalSum();let e=0,n=this.values.length-1,o=0,r=0,s=0;for(;e<=n;)if(o=e+(n-e)/2|0,r=this.prefixSum[o],s=r-this.values[o],t<s)n=o-1;else if(t>=r)e=o+1;else break;return new e1(o,t-s)}};var e1=class{constructor(t,e){this.index=t;this.remainder=e;this._prefixSumIndexOfResultBrand=void 0;this.index=t,this.remainder=e}};var WC=class{constructor(t,e,n,o){this._uri=t,this._lines=e,this._eol=n,this._versionId=o,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(t){t.eol&&t.eol!==this._eol&&(this._eol=t.eol,this._lineStarts=null);let e=t.changes;for(let n of e)this._acceptDeleteRange(n.range),this._acceptInsertText(new vn(n.range.startLineNumber,n.range.startColumn),n.text);this._versionId=t.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){let t=this._eol.length,e=this._lines.length,n=new Uint32Array(e);for(let o=0;o<e;o++)n[o]=this._lines[o].length+t;this._lineStarts=new BC(n)}}_setLineText(t,e){this._lines[t]=e,this._lineStarts&&this._lineStarts.setValue(t,this._lines[t].length+this._eol.length)}_acceptDeleteRange(t){if(t.startLineNumber===t.endLineNumber){if(t.startColumn===t.endColumn)return;this._setLineText(t.startLineNumber-1,this._lines[t.startLineNumber-1].substring(0,t.startColumn-1)+this._lines[t.startLineNumber-1].substring(t.endColumn-1));return}this._setLineText(t.startLineNumber-1,this._lines[t.startLineNumber-1].substring(0,t.startColumn-1)+this._lines[t.endLineNumber-1].substring(t.endColumn-1)),this._lines.splice(t.startLineNumber,t.endLineNumber-t.startLineNumber),this._lineStarts&&this._lineStarts.removeValues(t.startLineNumber,t.endLineNumber-t.startLineNumber)}_acceptInsertText(t,e){if(e.length===0)return;let n=tb(e);if(n.length===1){this._setLineText(t.lineNumber-1,this._lines[t.lineNumber-1].substring(0,t.column-1)+n[0]+this._lines[t.lineNumber-1].substring(t.column-1));return}n[n.length-1]+=this._lines[t.lineNumber-1].substring(t.column-1),this._setLineText(t.lineNumber-1,this._lines[t.lineNumber-1].substring(0,t.column-1)+n[0]);let o=new Uint32Array(n.length-1);for(let r=1;r<n.length;r++)this._lines.splice(t.lineNumber+r-1,0,n[r]),o[r-1]=n[r].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(t.lineNumber,o)}};var t1=new Map;function GF(i,t){t?t1.set(i,t):t1.delete(i)}function j$(i){return t1.get(i)}var $C=class extends WC{constructor(e,n,o,r,s,a,l,d,c=!0){super(n,o,r,s);this._proxy=e;this._languageId=a;this._isDirty=l;this._encoding=d;this._strictInstanceofChecks=c;this._isDisposed=!1}dispose(){Dn(!this._isDisposed),this._isDisposed=!0,this._isDirty=!1}equalLines(e){return Qt(this._lines,e)}get document(){if(!this._document){let e=this;this._document={get uri(){return e._uri},get fileName(){return e._uri.fsPath},get isUntitled(){return e._uri.scheme===K.untitled},get languageId(){return e._languageId},get version(){return e._versionId},get isClosed(){return e._isDisposed},get isDirty(){return e._isDirty},get encoding(){return e._encoding},save(){return e._save()},getText(n){return n?e._getTextInRange(n):e.getText()},get eol(){return e._eol===`
`?1:2},get lineCount(){return e._lines.length},lineAt(n){return e._lineAt(n)},offsetAt(n){return e._offsetAt(n)},positionAt(n){return e._positionAt(n)},validateRange(n){return e._validateRange(n)},validatePosition(n){return e._validatePosition(n)},getWordRangeAtPosition(n,o){return e._getWordRangeAtPosition(n,o)},[Symbol.for("debug.description")](){return`TextDocument(${e._uri.toString()})`}}}return Object.freeze(this._document)}_acceptLanguageId(e){Dn(!this._isDisposed),this._languageId=e}_acceptIsDirty(e){Dn(!this._isDisposed),this._isDirty=e}_acceptEncoding(e){Dn(!this._isDisposed),this._encoding=e}_save(){return this._isDisposed?Promise.reject(new Error("Document has been closed")):this._proxy.$trySaveDocument(this._uri)}_getTextInRange(e){let n=this._validateRange(e);if(n.isEmpty)return"";if(n.isSingleLine)return this._lines[n.start.line].substring(n.start.character,n.end.character);let o=this._eol,r=n.start.line,s=n.end.line,a=[];a.push(this._lines[r].substring(n.start.character));for(let l=r+1;l<s;l++)a.push(this._lines[l]);return a.push(this._lines[s].substring(0,n.end.character)),a.join(o)}_lineAt(e){let n;if(e instanceof we?n=e.line:typeof e=="number"?n=e:!this._strictInstanceofChecks&&we.isPosition(e)&&(n=e.line),typeof n!="number"||n<0||n>=this._lines.length||Math.floor(n)!==n)throw new Error("Illegal value for `line`");return new n1(n,this._lines[n],n===this._lines.length-1)}_offsetAt(e){return e=this._validatePosition(e),this._ensureLineStarts(),this._lineStarts.getPrefixSum(e.line-1)+e.character}_positionAt(e){e=Math.floor(e),e=Math.max(0,e),this._ensureLineStarts();let n=this._lineStarts.getIndexOf(e),o=this._lines[n.index].length;return new we(n.index,Math.min(n.remainder,o))}_validateRange(e){if(this._strictInstanceofChecks){if(!(e instanceof ve))throw new Error("Invalid argument")}else if(!ve.isRange(e))throw new Error("Invalid argument");let n=this._validatePosition(e.start),o=this._validatePosition(e.end);return n===e.start&&o===e.end?e:new ve(n.line,n.character,o.line,o.character)}_validatePosition(e){if(this._strictInstanceofChecks){if(!(e instanceof we))throw new Error("Invalid argument")}else if(!we.isPosition(e))throw new Error("Invalid argument");if(this._lines.length===0)return e.with(0,0);let{line:n,character:o}=e,r=!1;if(n<0)n=0,o=0,r=!0;else if(n>=this._lines.length)n=this._lines.length-1,o=this._lines[n].length,r=!0;else{let s=this._lines[n].length;o<0?(o=0,r=!0):o>s&&(o=s,r=!0)}return r?new we(n,o):e}_getWordRangeAtPosition(e,n){let o=this._validatePosition(e);if(!n)n=j$(this._languageId);else if(eb(n))throw new Error(`[getWordRangeAtPosition]: ignoring custom regexp '${n.source}' because it matches the empty string.`);let r=bk(o.character+1,vk(n),this._lines[o.line],0);if(r)return new ve(o.line,r.startColumn-1,o.line,r.endColumn-1)}},n1=class{constructor(t,e,n){this._line=t,this._text=e,this._isLastLine=n}get lineNumber(){return this._line}get text(){return this._text}get range(){return new ve(this._line,0,this._line,this._text.length)}get rangeIncludingLineBreak(){return this._isLastLine?this.range:new ve(this._line,0,this._line+1,0)}get firstNonWhitespaceCharacterIndex(){return/^(\s*)/.exec(this._text)[1].length}get isEmptyOrWhitespace(){return this.firstNonWhitespaceCharacterIndex===this._text.length}};var Bl=class{constructor(t){this._prefix=t,this._lastId=0}nextId(){return this._prefix+ ++this._lastId}},hAe=new Bl("id#");var zC=class i{static{this._Keys=new Bl("TextEditorDecorationType")}constructor(t,e,n){let o=i._Keys.nextId();t.$registerTextEditorDecorationType(e.identifier,o,DD.from(n)),this.value=Object.freeze({key:o,dispose(){t.$removeTextEditorDecorationType(o)}})}},o1=class{constructor(t,e){this._collectedEdits=[];this._setEndOfLine=void 0;this._finalized=!1;this._document=t,this._documentVersionId=t.version,this._undoStopBefore=e.undoStopBefore,this._undoStopAfter=e.undoStopAfter}finalize(){return this._finalized=!0,{documentVersionId:this._documentVersionId,edits:this._collectedEdits,setEndOfLine:this._setEndOfLine,undoStopBefore:this._undoStopBefore,undoStopAfter:this._undoStopAfter}}_throwIfFinalized(){if(this._finalized)throw new Error("Edit is only valid while callback runs")}replace(t,e){this._throwIfFinalized();let n=null;if(t instanceof we)n=new ve(t,t);else if(t instanceof ve)n=t;else throw new Error("Unrecognized location");this._pushEdit(n,e,!1)}insert(t,e){this._throwIfFinalized(),this._pushEdit(new ve(t,t),e,!0)}delete(t){this._throwIfFinalized();let e=null;if(t instanceof ve)e=t;else throw new Error("Unrecognized location");this._pushEdit(e,null,!0)}_pushEdit(t,e,n){let o=this._document.validateRange(t);this._collectedEdits.push({range:o,text:e,forceMoveMarkers:n})}setEndOfLine(t){if(this._throwIfFinalized(),t!==1&&t!==2)throw Oe("endOfLine");this._setEndOfLine=t}},r1=class{constructor(t,e,n,o){this._proxy=t,this._id=e,this._accept(n),this._logService=o;let r=this;this.value={get tabSize(){return r._tabSize},set tabSize(s){r._setTabSize(s)},get indentSize(){return r._indentSize},set indentSize(s){r._setIndentSize(s)},get insertSpaces(){return r._insertSpaces},set insertSpaces(s){r._setInsertSpaces(s)},get cursorStyle(){return r._cursorStyle},set cursorStyle(s){r._setCursorStyle(s)},get lineNumbers(){return r._lineNumbers},set lineNumbers(s){r._setLineNumbers(s)}}}_accept(t){this._tabSize=t.tabSize,this._indentSize=t.indentSize,this._originalIndentSize=t.originalIndentSize,this._insertSpaces=t.insertSpaces,this._cursorStyle=t.cursorStyle,this._lineNumbers=mc.to(t.lineNumbers)}_validateTabSize(t){if(t==="auto")return"auto";if(typeof t=="number"){let e=Math.floor(t);return e>0?e:null}if(typeof t=="string"){let e=parseInt(t,10);return isNaN(e)?null:e>0?e:null}return null}_setTabSize(t){let e=this._validateTabSize(t);if(e!==null){if(typeof e=="number"){if(this._tabSize===e)return;this._tabSize=e}this._warnOnError("setTabSize",this._proxy.$trySetOptions(this._id,{tabSize:e}))}}_validateIndentSize(t){if(t==="tabSize")return"tabSize";if(typeof t=="number"){let e=Math.floor(t);return e>0?e:null}if(typeof t=="string"){let e=parseInt(t,10);return isNaN(e)?null:e>0?e:null}return null}_setIndentSize(t){let e=this._validateIndentSize(t);if(e!==null){if(typeof e=="number"){if(this._originalIndentSize===e)return;this._indentSize=e,this._originalIndentSize=e}this._warnOnError("setIndentSize",this._proxy.$trySetOptions(this._id,{indentSize:e}))}}_validateInsertSpaces(t){return t==="auto"?"auto":t==="false"?!1:!!t}_setInsertSpaces(t){let e=this._validateInsertSpaces(t);if(typeof e=="boolean"){if(this._insertSpaces===e)return;this._insertSpaces=e}this._warnOnError("setInsertSpaces",this._proxy.$trySetOptions(this._id,{insertSpaces:e}))}_setCursorStyle(t){this._cursorStyle!==t&&(this._cursorStyle=t,this._warnOnError("setCursorStyle",this._proxy.$trySetOptions(this._id,{cursorStyle:t})))}_setLineNumbers(t){this._lineNumbers!==t&&(this._lineNumbers=t,this._warnOnError("setLineNumbers",this._proxy.$trySetOptions(this._id,{lineNumbers:mc.from(t)})))}assign(t){let e={},n=!1;if(typeof t.tabSize<"u"){let o=this._validateTabSize(t.tabSize);o==="auto"?(n=!0,e.tabSize=o):typeof o=="number"&&this._tabSize!==o&&(this._tabSize=o,n=!0,e.tabSize=o)}if(typeof t.indentSize<"u"){let o=this._validateIndentSize(t.indentSize);o==="tabSize"?(n=!0,e.indentSize=o):typeof o=="number"&&this._originalIndentSize!==o&&(this._indentSize=o,this._originalIndentSize=o,n=!0,e.indentSize=o)}if(typeof t.insertSpaces<"u"){let o=this._validateInsertSpaces(t.insertSpaces);o==="auto"?(n=!0,e.insertSpaces=o):this._insertSpaces!==o&&(this._insertSpaces=o,n=!0,e.insertSpaces=o)}typeof t.cursorStyle<"u"&&this._cursorStyle!==t.cursorStyle&&(this._cursorStyle=t.cursorStyle,n=!0,e.cursorStyle=t.cursorStyle),typeof t.lineNumbers<"u"&&this._lineNumbers!==t.lineNumbers&&(this._lineNumbers=t.lineNumbers,n=!0,e.lineNumbers=mc.from(t.lineNumbers)),n&&this._warnOnError("setOptions",this._proxy.$trySetOptions(this._id,e))}_warnOnError(t,e){e.catch(n=>{this._logService.warn(`ExtHostTextEditorOptions '${t}' failed:'`),this._logService.warn(n)})}},qC=class{constructor(t,e,n,o,r,s,a,l){this.id=t;this._proxy=e;this._logService=n;this._disposed=!1;this._hasDecorationsForKey=new Set;this._selections=r,this._options=new r1(this._proxy,this.id,s,n),this._visibleRanges=a,this._viewColumn=l;let d=this;this.value=Object.freeze({get document(){return o.value},set document(c){throw new $r("document")},get selection(){return d._selections&&d._selections[0]},set selection(c){if(!(c instanceof On))throw Oe("selection");d._selections=[c],d._trySetSelection()},get selections(){return d._selections},set selections(c){if(!Array.isArray(c)||c.some(u=>!(u instanceof On)))throw Oe("selections");c.length===0&&(c=[new On(0,0,0,0)]),d._selections=c,d._trySetSelection()},get visibleRanges(){return d._visibleRanges},set visibleRanges(c){throw new $r("visibleRanges")},get diffInformation(){return d._diffInformation},get options(){return d._options.value},set options(c){d._disposed||d._options.assign(c)},get viewColumn(){return d._viewColumn},set viewColumn(c){throw new $r("viewColumn")},edit(c,u={undoStopBefore:!0,undoStopAfter:!0}){if(d._disposed)return Promise.reject(new Error("TextEditor#edit not possible on closed editors"));let m=new o1(o.value,u);return c(m),d._applyEdit(m)},insertSnippet(c,u,m={undoStopBefore:!0,undoStopAfter:!0}){if(d._disposed)return Promise.reject(new Error("TextEditor#insertSnippet not possible on closed editors"));let g;if(!u||Array.isArray(u)&&u.length===0)g=d._selections.map(v=>W.from(v));else if(u instanceof we){let{lineNumber:v,column:f}=et.from(u);g=[{startLineNumber:v,startColumn:f,endLineNumber:v,endColumn:f}]}else if(u instanceof ve)g=[W.from(u)];else{g=[];for(let v of u)if(v instanceof ve)g.push(W.from(v));else{let{lineNumber:f,column:x}=et.from(v);g.push({startLineNumber:f,startColumn:x,endLineNumber:f,endColumn:x})}}return m.keepWhitespace===void 0&&(m.keepWhitespace=!1),e.$tryInsertSnippet(t,o.value.version,c.value,g,m)},setDecorations(c,u){let m=u.length===0;m&&!d._hasDecorationsForKey.has(c.key)||(m?d._hasDecorationsForKey.delete(c.key):d._hasDecorationsForKey.add(c.key),d._runOnProxy(()=>{if(_D(u))return e.$trySetDecorations(t,c.key,BU(u));{let g=new Array(4*u.length);for(let v=0,f=u.length;v<f;v++){let x=u[v];g[4*v]=x.start.line+1,g[4*v+1]=x.start.character+1,g[4*v+2]=x.end.line+1,g[4*v+3]=x.end.character+1}return e.$trySetDecorationsFast(t,c.key,g)}}))},revealRange(c,u){d._runOnProxy(()=>e.$tryRevealRange(t,W.from(c),u||0))},show(c){e.$tryShowEditor(t,At.from(c))},hide(){e.$tryHideEditor(t)},[Symbol.for("debug.description")](){return`TextEditor(${this.document.uri.toString()})`}})}dispose(){Dn(!this._disposed),this._disposed=!0}_acceptOptions(t){Dn(!this._disposed),this._options._accept(t)}_acceptVisibleRanges(t){Dn(!this._disposed),this._visibleRanges=t}_acceptViewColumn(t){Dn(!this._disposed),this._viewColumn=t}_acceptSelections(t){Dn(!this._disposed),this._selections=t}_acceptDiffInformation(t){Dn(!this._disposed),this._diffInformation=t}async _trySetSelection(){let t=this._selections.map(co.from);return await this._runOnProxy(()=>this._proxy.$trySetSelections(this.id,t)),this.value}_applyEdit(t){let e=t.finalize();if(e.edits.length===0&&!e.setEndOfLine)return Promise.resolve(!0);let n=e.edits.map(r=>r.range);n.sort((r,s)=>r.end.line===s.end.line?r.end.character===s.end.character?r.start.line===s.start.line?r.start.character-s.start.character:r.start.line-s.start.line:r.end.character-s.end.character:r.end.line-s.end.line);for(let r=0,s=n.length-1;r<s;r++){let a=n[r].end;if(n[r+1].start.isBefore(a))return Promise.reject(new Error("Overlapping ranges are not allowed!"))}let o=e.edits.map(r=>({range:W.from(r.range),text:r.text,forceMoveMarkers:r.forceMoveMarkers}));return this._proxy.$tryApplyEdits(this.id,e.documentVersionId,o,{setEndOfLine:typeof e.setEndOfLine=="number"?lc.from(e.setEndOfLine):void 0,undoStopBefore:e.undoStopBefore,undoStopAfter:e.undoStopAfter})}_runOnProxy(t){return this._disposed?(this._logService.warn("TextEditor is closed/disposed"),Promise.resolve(void 0)):t().then(()=>this,e=>(e instanceof Error&&e.name==="DISPOSED"||this._logService.warn(e),null))}};var i1=class{constructor(t){this.value=t;this._count=0}ref(){this._count++}unref(){return--this._count===0}},Im=class{constructor(t,e){this._extHostRpc=t;this._logService=e;this._activeEditorId=null;this._editors=new Map;this._documents=new $e;this._onDidAddDocuments=new w;this._onDidRemoveDocuments=new w;this._onDidChangeVisibleTextEditors=new w;this._onDidChangeActiveTextEditor=new w;this.onDidAddDocuments=this._onDidAddDocuments.event;this.onDidRemoveDocuments=this._onDidRemoveDocuments.event;this.onDidChangeVisibleTextEditors=this._onDidChangeVisibleTextEditors.event;this.onDidChangeActiveTextEditor=this._onDidChangeActiveTextEditor.event}$acceptDocumentsAndEditorsDelta(t){this.acceptDocumentsAndEditorsDelta(t)}acceptDocumentsAndEditorsDelta(t){let e=[],n=[],o=[];if(t.removedDocuments)for(let r of t.removedDocuments){let s=y.revive(r),a=this._documents.get(s);a?.unref()&&(this._documents.delete(s),e.push(a.value))}if(t.addedDocuments)for(let r of t.addedDocuments){let s=y.revive(r.uri),a=this._documents.get(s);if(a&&s.scheme!==K.vscodeNotebookCell&&s.scheme!==K.vscodeInteractiveInput)throw new Error(`document '${s} already exists!'`);a||(a=new i1(new $C(this._extHostRpc.getProxy(L.MainThreadDocuments),s,r.lines,r.EOL,r.versionId,r.languageId,r.isDirty,r.encoding)),this._documents.set(s,a),n.push(a.value)),a.ref()}if(t.removedEditors)for(let r of t.removedEditors){let s=this._editors.get(r);this._editors.delete(r),s&&o.push(s)}if(t.addedEditors)for(let r of t.addedEditors){let s=y.revive(r.documentUri);Dn(this._documents.has(s),`document '${s}' does not exist`),Dn(!this._editors.has(r.id),`editor '${r.id}' already exists!`);let a=this._documents.get(s).value,l=new qC(r.id,this._extHostRpc.getProxy(L.MainThreadTextEditors),this._logService,new bt(()=>a.document),r.selections.map(co.to),r.options,r.visibleRanges.map(d=>W.to(d)),typeof r.editorPosition=="number"?At.to(r.editorPosition):void 0);this._editors.set(r.id,l)}t.newActiveEditor!==void 0&&(Dn(t.newActiveEditor===null||this._editors.has(t.newActiveEditor),`active editor '${t.newActiveEditor}' does not exist`),this._activeEditorId=t.newActiveEditor),Fn(e),Fn(o),t.removedDocuments&&this._onDidRemoveDocuments.fire(e),t.addedDocuments&&this._onDidAddDocuments.fire(n),(t.removedEditors||t.addedEditors)&&this._onDidChangeVisibleTextEditors.fire(this.allEditors().map(r=>r.value)),t.newActiveEditor!==void 0&&this._onDidChangeActiveTextEditor.fire(this.activeEditor())}getDocument(t){return this._documents.get(t)?.value}allDocuments(){return yt.map(this._documents.values(),t=>t.value)}getEditor(t){return this._editors.get(t)}activeEditor(t){if(!this._activeEditorId)return;let e=this._editors.get(this._activeEditorId);return t?e:e?.value}allEditors(){return[...this._editors.values()]}};Im=R([S(0,ge),S(1,ae)],Im);var ui=A("IExtHostDocumentsAndEditors");var Q$={type:"object",additionalProperties:!1,properties:{type:{type:"string",description:p(16509,null)},required:{type:"array",markdownDescription:p(16511,null),items:{type:"string"}},properties:{type:"object",description:p(16510,null),additionalProperties:{$ref:"http://json-schema.org/draft-07/schema#"}},when:{type:"string",markdownDescription:p(16512,null),default:""}}},jF;(t=>{function i(e,n,o){if(!e)return;let r=Ae(e.type)?e.type:void 0;if(!r||r.length===0){o.error(p(16514,null));return}let s=[];if(Array.isArray(e.required))for(let a of e.required)Ae(a)&&s.push(a);return{extensionId:n.value,taskType:r,required:s,properties:e.properties?ht(e.properties):{},when:e.when?at.deserialize(e.when):void 0}}t.from=i})(jF||={});var J$=Hy.registerExtensionPoint({extensionPoint:"taskDefinitions",activationEventsGenerator:function*(i){for(let t of i)t.type&&(yield`onTaskType:${t.type}`)},jsonSchema:{description:p(16513,null),type:"array",items:Q$}}),s1=class{constructor(){this._onDefinitionsChanged=new w;this.onDefinitionsChanged=this._onDefinitionsChanged.event;this.taskTypes=Object.create(null),this.readyPromise=new Promise((t,e)=>{J$.setHandler((n,o)=>{this._schema=void 0;try{for(let r of o.removed){let s=r.value;for(let a of s)this.taskTypes&&a.type&&this.taskTypes[a.type]&&delete this.taskTypes[a.type]}for(let r of o.added){let s=r.value;for(let a of s){let l=jF.from(a,r.description.identifier,r.collector);l&&(this.taskTypes[l.taskType]=l)}}(o.removed.length>0||o.added.length>0)&&this._onDefinitionsChanged.fire()}catch{}t(void 0)})})}onReady(){return this.readyPromise}get(t){return this.taskTypes[t]}all(){return Object.keys(this.taskTypes).map(t=>this.taskTypes[t])}getJsonSchema(){if(this._schema===void 0){let t=[];for(let e of this.all()){let n={type:"object",additionalProperties:!1};e.required.length>0&&(n.required=e.required.slice(0)),e.properties!==void 0?n.properties=ht(e.properties):n.properties=Object.create(null),n.properties.type={type:"string",enum:[e.taskType]},t.push(n)}this._schema={oneOf:t}}return this._schema}},QF=new s1;var X$={IconContribution:"base.contributions.icons"},Y$;(t=>{function i(e,n){let o=e.defaults;for(;Je.isThemeIcon(o);){let r=xm.getIcon(o.id);if(!r)return;o=r.defaults}return o}t.getDefinition=i})(Y$||={});var Z$;(e=>{function i(n){return{weight:n.weight,style:n.style,src:n.src.map(o=>({format:o.format,location:o.location.toString()}))}}e.toJSONObject=i;function t(n){let o=r=>Ae(r)?r:void 0;if(n&&Array.isArray(n.src)&&n.src.every(r=>Ae(r.format)&&Ae(r.location)))return{weight:o(n.weight),style:o(n.style),src:n.src.map(r=>({format:r.format,location:y.parse(r.location)}))}}e.fromJSONObject=t})(Z$||={});var e8=/^([\w_-]+)$/;var t8=p(3031,null),a1=class extends V{constructor(){super();this._onDidChange=this._register(new w);this.onDidChange=this._onDidChange.event;this.iconSchema={definitions:{icons:{type:"object",properties:{fontId:{type:"string",description:p(3028,null),pattern:e8.source,patternErrorMessage:t8},fontCharacter:{type:"string",description:p(3027,null)}},additionalProperties:!1,defaultSnippets:[{body:{fontCharacter:"\\\\e030"}}]}},type:"object",properties:{}};this.iconReferenceSchema={type:"string",pattern:`^${Je.iconNameExpression}$`,enum:[],enumDescriptions:[]};this.iconsById={},this.iconFontsById={}}registerIcon(e,n,o,r){let s=this.iconsById[e];if(s){if(o&&!s.description){s.description=o,this.iconSchema.properties[e].markdownDescription=`${o} $(${e})`;let d=this.iconReferenceSchema.enum.indexOf(e);d!==-1&&(this.iconReferenceSchema.enumDescriptions[d]=o),this._onDidChange.fire()}return s}let a={id:e,description:o,defaults:n,deprecationMessage:r};this.iconsById[e]=a;let l={$ref:"#/definitions/icons"};return r&&(l.deprecationMessage=r),o&&(l.markdownDescription=`${o}: $(${e})`),this.iconSchema.properties[e]=l,this.iconReferenceSchema.enum.push(e),this.iconReferenceSchema.enumDescriptions.push(o||""),this._onDidChange.fire(),{id:e}}deregisterIcon(e){delete this.iconsById[e],delete this.iconSchema.properties[e];let n=this.iconReferenceSchema.enum.indexOf(e);n!==-1&&(this.iconReferenceSchema.enum.splice(n,1),this.iconReferenceSchema.enumDescriptions.splice(n,1)),this._onDidChange.fire()}getIcons(){return Object.keys(this.iconsById).map(e=>this.iconsById[e])}getIcon(e){return this.iconsById[e]}getIconSchema(){return this.iconSchema}getIconReferenceSchema(){return this.iconReferenceSchema}registerIconFont(e,n){let o=this.iconFontsById[e];return o||(this.iconFontsById[e]=n,this._onDidChange.fire(),n)}deregisterIconFont(e){delete this.iconFontsById[e]}getIconFont(e){return this.iconFontsById[e]}toString(){let e=(s,a)=>s.id.localeCompare(a.id),n=s=>{for(;Je.isThemeIcon(s.defaults);)s=this.iconsById[s.defaults.id];return`codicon codicon-${s?s.id:""}`},o=[];o.push("| preview     | identifier                        | default codicon ID                | description"),o.push("| ----------- | --------------------------------- | --------------------------------- | --------------------------------- |");let r=Object.keys(this.iconsById).map(s=>this.iconsById[s]);for(let s of r.filter(a=>!!a.description).sort(e))o.push(`|<i class="${n(s)}"></i>|${s.id}|${Je.isThemeIcon(s.defaults)?s.defaults.id:s.id}|${s.description||""}|`);o.push("| preview     | identifier                        "),o.push("| ----------- | --------------------------------- |");for(let s of r.filter(a=>!Je.isThemeIcon(a.defaults)).sort(e))o.push(`|<i class="${n(s)}"></i>|${s.id}|`);return o.join(`
`)}},xm=new a1;Et.add(X$.IconContribution,xm);function Tc(i,t,e,n){return xm.registerIcon(i,t,e,n)}function n8(){let i=$O();for(let t in i){let e="\\"+i[t].toString(16);xm.registerIcon(t,{fontCharacter:e})}}n8();var XF="vscode://schemas/icons",YF=Et.as(_d.JSONContribution);YF.registerSchema(XF,xm.getIconSchema());var JF=new fo(()=>YF.notifySchemaChanged(XF),200);xm.onDidChange(()=>{JF.isScheduled()||JF.schedule()});var lMe=Tc("widget-close",le.close,p(3032,null)),dMe=Tc("goto-previous-location",le.arrowUp,p(3030,null)),cMe=Tc("goto-next-location",le.arrowDown,p(3029,null)),uMe=Je.modify(le.sync,"spin"),pMe=Je.modify(le.loading,"spin");var ZF="settings",IMe=new T("taskRunning",!1,p(16517,null)),xMe=new T("taskTerminalActive",!1,p(16519,null)),CMe=sd(16518,"Tasks"),d1=(n=>(n[n.Escape=1]="Escape",n[n.Strong=2]="Strong",n[n.Weak=3]="Weak",n))(d1||{});(t=>{function i(e){if(!e)return 2;switch(e.toLowerCase()){case"escape":return 1;case"strong":return 2;case"weak":return 3;default:return 2}}t.from=i})(d1||={});var o8;(t=>t.defaults={cwd:"${workspaceFolder}"})(o8||={});var c1=(n=>(n[n.Always=1]="Always",n[n.Silent=2]="Silent",n[n.Never=3]="Never",n))(c1||{});(t=>{function i(e){switch(e.toLowerCase()){case"always":return 1;case"silent":return 2;case"never":return 3;default:return 1}}t.fromString=i})(c1||={});var u1=(n=>(n[n.Never=1]="Never",n[n.OnProblem=2]="OnProblem",n[n.Always=3]="Always",n))(u1||{});(t=>{function i(e){switch(e.toLowerCase()){case"always":return 3;case"never":return 1;case"onproblem":return 2;default:return 2}}t.fromString=i})(u1||={});var p1=(n=>(n[n.Shared=1]="Shared",n[n.Dedicated=2]="Dedicated",n[n.New=3]="New",n))(p1||{});(t=>{function i(e){switch(e.toLowerCase()){case"shared":return 1;case"dedicated":return 2;case"new":return 3;default:return 1}}t.fromString=i})(p1||={});var r8;(t=>t.defaults={echo:!0,reveal:1,revealProblems:1,focus:!1,panel:1,showReuseMessage:!0,clear:!1,preserveTerminalName:!1})(r8||={});var m1=(n=>(n[n.Shell=1]="Shell",n[n.Process=2]="Process",n[n.CustomExecution=3]="CustomExecution",n))(m1||{});(e=>{function i(n){switch(n.toLowerCase()){case"shell":return 1;case"process":return 2;case"customExecution":return 3;default:return 2}}e.fromString=i;function t(n){switch(n){case 1:return"shell";case 2:return"process";case 3:return"customExecution";default:return"process"}}e.toString=t})(m1||={});var i8;(t=>{function i(e){return Ae(e)?e:e.value}t.value=i})(i8||={});var s8;(s=>{s.Clean={_id:"clean",isDefault:!1},s.Build={_id:"build",isDefault:!1},s.Rebuild={_id:"rebuild",isDefault:!1},s.Test={_id:"test",isDefault:!1};function o(a){return a===s.Clean._id||a===s.Build._id||a===s.Rebuild._id||a===s.Test._id}s.is=o;function r(a){if(a!==void 0)return Ae(a)?o(a)?{_id:a,isDefault:!1}:void 0:a}s.from=r})(s8||={});var a8;(s=>{s.Workspace="workspace",s.Extension="extension",s.InMemory="inMemory",s.WorkspaceFile="workspaceFile",s.User="user";function r(a){switch(a){case s.User:return 2;case s.WorkspaceFile:return 5;default:return 6}}s.toConfigurationTarget=r})(a8||={});var l8;(t=>t.defaults={reevaluateOnRerun:!0,runOn:1,instanceLimit:1,instancePolicy:"prompt"})(l8||={});var g1=(e=>(e[e.Process=1]="Process",e[e.Terminal=2]="Terminal",e))(g1||{});(t=>t._default=2)(g1||={});var d8;(d=>{function i(c){return{taskId:c._id,taskName:c.configurationProperties.name,runType:c.configurationProperties.isBackground?"background":"singleRun",group:c.configurationProperties.group,__task:c}}function t(c,u,m){return{...i(c),kind:"start",terminalId:u,resolvedVariables:m}}d.start=t;function e(c,u,m){return{...i(c),kind:"processStarted",terminalId:u,processId:m}}d.processStarted=e;function n(c,u,m,g){return{...i(c),kind:"processEnded",terminalId:u,exitCode:m,durationMs:g}}d.processEnded=n;function o(c,u,m){return{...i(c),kind:"inactive",terminalId:u,durationMs:m}}d.inactive=o;function r(c,u,m){return{...i(c),kind:"terminated",exitReason:m,terminalId:u}}d.terminated=r;function s(c,u,m){return{...i(u),kind:c,terminalId:m}}d.general=s;function a(c,u,m){return{...i(c),kind:"problemMatcherEnded",hasErrors:u}}d.problemMatcherEnded=a;function l(){return{kind:"changed"}}d.changed=l})(d8||={});var l1;(e=>{function i(n){let o=Object.keys(n).sort(),r="";for(let s of o){let a=n[s];a instanceof Object?a=i(a):typeof a=="string"&&(a=a.replace(/,/g,",,")),r+=s+","+a+","}return r}function t(n){let r={_key:i(n),type:n.taskType};return Object.assign(r,n),r}e.create=t})(l1||={});var c8;(t=>{function i(e,n){let o=QF.get(e.type);if(o===void 0){let l=ht(e);return delete l._key,l1.create(l)}let r=Object.create(null);r.type=o.taskType;let s=new Set;o.required.forEach(l=>s.add(l));let a=o.properties;for(let l of Object.keys(a)){let d=e[l];if(d!=null)r[l]=d;else if(s.has(l)){let c=a[l];if(c.default!==void 0)r[l]=ht(c.default);else switch(c.type){case"boolean":r[l]=!1;break;case"number":case"integer":r[l]=0;break;case"string":r[l]="";break;default:n.error(p(16516,null,JSON.stringify(e,void 0,0),l));return}}}return l1.create(r)}t.createTaskIdentifier=i})(c8||={});var SMe=Tc("rerun-task",le.refresh,p(16515,null));var f1;(e=>{function i(n){if(n!=null)return n}e.from=i;function t(n){if(n!=null)return n}e.to=t})(f1||={});var h1;(e=>{function i(n){if(n!=null)return n}e.from=i;function t(n){if(n!=null)return n}e.to=t})(h1||={});var e2;(e=>{function i(n){if(n!=null)return n}e.from=i;function t(n){if(n!=null)return n}e.to=t})(e2||={});var KC;(n=>{function i(o){if(o){let r=o;return r&&!!r.process}else return!1}n.is=i;function t(o){if(o==null)return;let r={process:o.process,args:o.args};return o.options&&(r.options=e2.from(o.options)),r}n.from=t;function e(o){if(o!=null)return new $i(o.process,o.args,o.options)}n.to=e})(KC||={});var t2;(e=>{function i(n){if(n!=null)return n}e.from=i;function t(n){if(n!=null)return n}e.to=t})(t2||={});var GC;(n=>{function i(o){if(o){let r=o;return r&&(!!r.commandLine||!!r.command)}else return!1}n.is=i;function t(o){if(o==null)return;let r={};return o.commandLine!==void 0?r.commandLine=o.commandLine:(r.command=o.command,r.args=o.args),o.options&&(r.options=t2.from(o.options)),r}n.from=t;function e(o){if(!(o==null||o.command===void 0&&o.commandLine===void 0))return o.commandLine?new ni(o.commandLine,o.options):new ni(o.command,o.args?o.args:[],o.options)}n.to=e})(GC||={});var Wl;(n=>{function i(o){if(o){let r=o;return r&&r.customExecution==="customExecution"}else return!1}n.is=i;function t(o){return{customExecution:"customExecution"}}n.from=t;function e(o,r){return r.get(o)}n.to=e})(Wl||={});var u8;(t=>{function i(e,n){let o;return e.scope!==void 0&&typeof e.scope!="number"?o=e.scope.uri:e.scope!==void 0&&typeof e.scope=="number"&&(e.scope===2&&n&&n.workspaceFile?o=n.workspaceFile:o=ZF),{id:e._id,workspaceFolder:o}}t.from=i})(u8||={});var n2;(t=>{function i(e){if(e!=null)return{_id:e.id,isDefault:e.isDefault}}t.from=i})(n2||={});var Ec;(n=>{function i(o,r){if(o==null)return[];let s=[];for(let a of o){let l=t(a,r);l&&s.push(l)}return s}n.fromMany=i;function t(o,r){if(o==null)return;let s;o.execution instanceof $i?s=KC.from(o.execution):o.execution instanceof ni?s=GC.from(o.execution):o.execution&&o.execution instanceof jd&&(s=Wl.from(o.execution));let a=f1.from(o.definition),l;return o.scope?typeof o.scope=="number"?l=o.scope:l=o.scope.uri:l=2,!a||!l?void 0:{_id:o._id,definition:a,name:o.name,source:{extensionId:r.identifier.value,label:o.source,scope:l},execution:s,isBackground:o.isBackground,group:n2.from(o.group),presentationOptions:h1.from(o.presentationOptions),problemMatchers:gn(o.problemMatchers),hasDefinedMatchers:o.hasDefinedMatchers,runOptions:o.runOptions?o.runOptions:{reevaluateOnRerun:!0},detail:o.detail}}n.from=t;async function e(o,r,s){if(o==null)return;let a;KC.is(o.execution)?a=KC.to(o.execution):GC.is(o.execution)?a=GC.to(o.execution):Wl.is(o.execution)&&(a=Wl.to(o._id,s));let l=f1.to(o.definition),d;if(o.source&&(o.source.scope!==void 0?typeof o.source.scope=="number"?d=o.source.scope:d=await r.resolveWorkspaceFolder(y.revive(o.source.scope)):d=2),!l||!d)return;let c=new wn(l,d,o.name,o.source.label,a,o.problemMatchers);return o.isBackground!==void 0&&(c.isBackground=o.isBackground),o.group!==void 0&&(c.group=yn.from(o.group._id),c.group&&o.group.isDefault&&(c.group=new yn(c.group.id,c.group.label),o.group.isDefault===!0&&(c.group.isDefault=o.group.isDefault))),o.presentationOptions&&(c.presentationOptions=h1.to(o.presentationOptions)),o.runOptions&&(c.runOptions=o.runOptions),o._id&&(c._id=o._id),o.detail&&(c.detail=o.detail),c}n.to=e})(Ec||={});var o2;(e=>{function i(n){return n}e.from=i;function t(n){if(n)return Object.assign(Object.create(null),n)}e.to=t})(o2||={});var Vh=class{constructor(t,e,n){this._id=e;this._task=n;this.#e=t}#e;get task(){return this._task}terminate(){this.#e.terminateTask(this)}fireDidStartProcess(t){}fireDidEndProcess(t){}get terminal(){return this._terminal}set terminal(t){this._terminal=t}},Hh=class{constructor(t,e,n,o,r,s,a,l){this._onDidExecuteTask=new w;this._onDidTerminateTask=new w;this._onDidTaskProcessStarted=new w;this._onDidTaskProcessEnded=new w;this._onDidStartTaskProblemMatchers=new w;this._onDidEndTaskProblemMatchers=new w;this._proxy=t.getProxy(L.MainThreadTask),this._workspaceProvider=n,this._editorService=o,this._configurationService=r,this._terminalService=s,this._handleCounter=0,this._handlers=new Map,this._taskExecutions=new Map,this._taskExecutionPromises=new Map,this._providedCustomExecutions2=new Map,this._notProvidedCustomExecutions=new Set,this._activeCustomExecutions2=new Map,this._logService=a,this._deprecationService=l,this._proxy.$registerSupportedExecutions(!0)}registerTaskProvider(t,e,n){if(!n)return new Ie(()=>{});let o=this.nextHandle();return this._handlers.set(o,{type:e,provider:n,extension:t}),this._proxy.$registerTaskProvider(o,e),new Ie(()=>{this._handlers.delete(o),this._proxy.$unregisterTaskProvider(o)})}registerTaskSystem(t,e){this._proxy.$registerTaskSystem(t,e)}fetchTasks(t){return this._proxy.$fetchTasks(o2.from(t)).then(async e=>{let n=[];for(let o of e){let r=await Ec.to(o,this._workspaceProvider,this._providedCustomExecutions2);r&&n.push(r)}return n})}get taskExecutions(){let t=[];return this._taskExecutions.forEach(e=>t.push(e)),t}terminateTask(t){if(!(t instanceof Vh))throw new Error("No valid task execution provided");return this._proxy.$terminateTask(t._id)}get onDidStartTask(){return this._onDidExecuteTask.event}async $onDidStartTask(t,e,n){let o=this._providedCustomExecutions2.get(t.id);o&&(this._activeCustomExecutions2.set(t.id,o),this._terminalService.attachPtyToTerminal(e,await o.callback(n))),this._lastStartedTask=t.id;let r=await this.getTaskExecution(t),s=this._terminalService.getTerminalById(e)?.value;r&&(r.terminal=s),this._onDidExecuteTask.fire({execution:r})}get onDidEndTask(){return this._onDidTerminateTask.event}async $OnDidEndTask(t){if(!this._taskExecutionPromises.has(t.id))return;let e=await this.getTaskExecution(t);this._taskExecutionPromises.delete(t.id),this._taskExecutions.delete(t.id),this.customExecutionComplete(t),this._onDidTerminateTask.fire({execution:e})}get onDidStartTaskProcess(){return this._onDidTaskProcessStarted.event}async $onDidStartTaskProcess(t){let e=await this.getTaskExecution(t.id);this._onDidTaskProcessStarted.fire({execution:e,processId:t.processId})}get onDidEndTaskProcess(){return this._onDidTaskProcessEnded.event}async $onDidEndTaskProcess(t){let e=await this.getTaskExecution(t.id);this._onDidTaskProcessEnded.fire({execution:e,exitCode:t.exitCode})}get onDidStartTaskProblemMatchers(){return this._onDidStartTaskProblemMatchers.event}async $onDidStartTaskProblemMatchers(t){let e;try{e=await this.getTaskExecution(t.execution.id)}catch{return}this._onDidStartTaskProblemMatchers.fire({execution:e})}get onDidEndTaskProblemMatchers(){return this._onDidEndTaskProblemMatchers.event}async $onDidEndTaskProblemMatchers(t){let e;try{e=await this.getTaskExecution(t.execution.id)}catch{return}this._onDidEndTaskProblemMatchers.fire({execution:e,hasErrors:t.hasErrors})}$provideTasks(t,e){let n=this._handlers.get(t);if(!n)return Promise.reject(new Error("no handler found"));let o=[],r=tn(()=>n.provider.provideTasks(ye.None)).then(s=>this.provideTasksInternal(e,o,n,s));return new Promise(s=>{r.then(a=>{Promise.all(o).then(()=>{s(a)})})})}async $resolveTask(t,e){let n=this._handlers.get(t);if(!n)return Promise.reject(new Error("no handler found"));if(e.definition.type!==n.type)throw new Error(`Unexpected: Task of type [${e.definition.type}] cannot be resolved by provider of type [${n.type}].`);let o=await Ec.to(e,this._workspaceProvider,this._providedCustomExecutions2);if(!o)throw new Error("Unexpected: Task cannot be resolved.");let r=await n.provider.resolveTask(o,ye.None);if(!r)return;this.checkDeprecation(r,n);let s=Ec.from(r,n.extension);if(!s)throw new Error("Unexpected: Task cannot be resolved.");if(r.definition!==o.definition)throw new Error("Unexpected: The resolved task definition must be the same object as the original task definition. The task definition cannot be changed.");return Wl.is(s.execution)&&await this.addCustomExecution(s,r,!0),await this.resolveTaskInternal(s)}nextHandle(){return this._handleCounter++}async addCustomExecution(t,e,n){let o=await this._proxy.$createTaskId(t);!n&&!this._providedCustomExecutions2.has(o)&&(this._notProvidedCustomExecutions.add(o),this._activeCustomExecutions2.set(o,e.execution)),this._providedCustomExecutions2.set(o,e.execution)}async getTaskExecution(t,e){if(typeof t=="string"){let r=this._taskExecutionPromises.get(t);if(!r)throw new No("Unexpected: The specified task is missing an execution");return r}let n=this._taskExecutionPromises.get(t.id);if(n)return n;let o;return e?o=Promise.resolve(new Vh(this,t.id,e)):o=Ec.to(t.task,this._workspaceProvider,this._providedCustomExecutions2).then(r=>{if(!r)throw new No("Unexpected: Task does not exist.");return new Vh(this,t.id,r)}),this._taskExecutionPromises.set(t.id,o),o.then(r=>(this._taskExecutions.set(t.id,r),r))}checkDeprecation(t,e){t._deprecated&&this._deprecationService.report("Task.constructor",e.extension,"Use the Task constructor that takes a `scope` instead.")}customExecutionComplete(t){this._activeCustomExecutions2.get(t.id)&&this._activeCustomExecutions2.delete(t.id),this._notProvidedCustomExecutions.has(t.id)&&this._lastStartedTask!==t.id&&(this._providedCustomExecutions2.delete(t.id),this._notProvidedCustomExecutions.delete(t.id));let n=this._notProvidedCustomExecutions.values(),o=n.next();for(;!o.done;)!this._activeCustomExecutions2.has(o.value)&&this._lastStartedTask!==o.value&&(this._providedCustomExecutions2.delete(o.value),this._notProvidedCustomExecutions.delete(o.value)),o=n.next()}};Hh=R([S(0,ge),S(1,nt),S(2,eo),S(3,ui),S(4,So),S(5,ci),S(6,ae),S(7,aa)],Hh);var Cm=class extends Hh{constructor(t,e,n,o,r,s,a,l){super(t,e,n,o,r,s,a,l),this.registerTaskSystem(K.vscodeRemote,{scheme:K.vscodeRemote,authority:"",platform:jE(0)})}async executeTask(t,e){if(!e.execution)throw new Error("Tasks to execute must include an execution");let n=Ec.from(e,t);if(n===void 0)throw new Error("Task is not valid");if(Wl.is(n.execution))await this.addCustomExecution(n,e,!1);else throw new ed;let o=await this.getTaskExecution(await this._proxy.$getTaskExecution(n),e);return this._proxy.$executeTask(n).catch(r=>{throw new Error(r)}),o}provideTasksInternal(t,e,n,o){let r=[];if(o)for(let s of o){if(this.checkDeprecation(s,n),!s.definition||!t[s.definition.type]){let l=s.source?s.source:"No task source";this._logService.warn(`The task [${l}, ${s.name}] uses an undefined task type. The task will be ignored in the future.`)}let a=Ec.from(s,n.extension);a&&Wl.is(a.execution)?(r.push(a),e.push(this.addCustomExecution(a,s,!0))):this._logService.warn("Only custom execution tasks supported.")}return{tasks:r,extension:n.extension}}async resolveTaskInternal(t){if(Wl.is(t.execution))return t;this._logService.warn("Only custom execution tasks supported.")}async $resolveVariables(t,e){return{process:void 0,variables:Object.create(null)}}async $jsonTasksSupported(){return!1}async $findExecutable(t,e,n){}};Cm=R([S(0,ge),S(1,nt),S(2,eo),S(3,ui),S(4,So),S(5,ci),S(6,ae),S(7,aa)],Cm);var jC=A("IExtHostTask");var QC=class{constructor(){this.pendingRequests=new Map;this.pendingRequestTimers=new Map;this.queue=[];this._onError=new w;this._onExit=new w;this.sequence=1}get onError(){return this._onError.event}get onExit(){return this._onExit.event}onMessage(t){this.messageCallback&&this._onError.fire(new Error("attempt to set more than one 'Message' callback")),this.messageCallback=t}onEvent(t){this.eventCallback&&this._onError.fire(new Error("attempt to set more than one 'Event' callback")),this.eventCallback=t}onRequest(t){this.requestCallback&&this._onError.fire(new Error("attempt to set more than one 'Request' callback")),this.requestCallback=t}sendResponse(t){t.seq>0?this._onError.fire(new Error(`attempt to send more than one response for command ${t.command}`)):this.internalSend("response",t)}sendRequest(t,e,n,o){let r={command:t};if(e&&Object.keys(e).length>0&&(r.arguments=e),this.internalSend("request",r),typeof o=="number"){let s=setTimeout(()=>{this.pendingRequestTimers.delete(r.seq);let a=this.pendingRequests.get(r.seq);if(a){this.pendingRequests.delete(r.seq);let l={type:"response",seq:0,request_seq:r.seq,success:!1,command:t,message:p(11464,null,o,t)};a(l)}},o);this.pendingRequestTimers.set(r.seq,s)}return n&&this.pendingRequests.set(r.seq,n),r.seq}acceptMessage(t){this.messageCallback?this.messageCallback(t):(this.queue.push(t),this.queue.length===1&&this.processQueue())}needsTaskBoundaryBetween(t,e){return t.type!=="event"||e.type!=="event"}async processQueue(){let t;for(;this.queue.length;){if((!t||this.needsTaskBoundaryBetween(this.queue[0],t))&&await Sn(0),t=this.queue.shift(),!t)return;switch(t.type){case"event":this.eventCallback?.(t);break;case"request":this.requestCallback?.(t);break;case"response":{let e=t,n=this.pendingRequests.get(e.request_seq);n&&(this.pendingRequests.delete(e.request_seq),this.clearPendingRequestTimer(e.request_seq),n(e));break}}}}internalSend(t,e){e.type=t,e.seq=this.sequence++,this.sendMessage(e)}async cancelPendingRequests(){if(this.pendingRequests.size===0)return Promise.resolve();let t=new Map;this.pendingRequests.forEach((e,n)=>t.set(n,e)),await Sn(500),t.forEach((e,n)=>{e({type:"response",seq:0,request_seq:n,success:!1,command:"canceled",message:"canceled"}),this.pendingRequests.delete(n),this.clearPendingRequestTimer(n)})}clearPendingRequestTimer(t){clearTimeout(this.pendingRequestTimers.get(t)),this.pendingRequestTimers.delete(t)}getPendingRequestIds(){return Array.from(this.pendingRequests.keys())}dispose(){for(let t of this.pendingRequestTimers.values())clearTimeout(t);this.pendingRequestTimers.clear(),this._onError.dispose(),this._onExit.dispose(),this.queue=[]}};function r2(i){return i.type&&(i.label||i.program||i.runtime)}var p8=/^[a-zA-Z][a-zA-Z0-9\+\-\.]+:/;function m8(i){return!!(i&&i.match(p8))}function i2(i){if(typeof i.path=="string"&&!(typeof i.sourceReference=="number"&&i.sourceReference>0)){if(m8(i.path))return y.parse(i.path);if(Ei(i.path))return y.file(i.path)}return i.path}function s2(i){if(typeof i.path=="object"){let t=y.revive(i.path);if(t)return t.scheme===K.file?t.fsPath:t.toString()}return i.path}function a2(i,t){let e=t?i2:s2,n=ht(i);return d2(n,(o,r)=>{o&&r&&(r.path=e(r))}),n}function l2(i,t){let e=t?i2:s2,n=ht(i);return d2(n,(o,r)=>{!o&&r&&(r.path=e(r))}),n}function d2(i,t){switch(i.type){case"event":{let e=i;switch(e.event){case"output":t(!1,e.body.source);break;case"loadedSource":t(!1,e.body.source);break;case"breakpoint":t(!1,e.body.breakpoint.source);break;default:break}break}case"request":{let e=i;switch(e.command){case"setBreakpoints":t(!0,e.arguments.source);break;case"breakpointLocations":t(!0,e.arguments.source);break;case"source":t(!0,e.arguments.source);break;case"gotoTargets":t(!0,e.arguments.source);break;case"launchVSCode":e.arguments.args.forEach(n=>t(!1,n));break;default:break}break}case"response":{let e=i;if(e.success&&e.body)switch(e.command){case"stackTrace":e.body.stackFrames.forEach(n=>t(!1,n.source));break;case"loadedSources":e.body.sources.forEach(n=>t(!1,n));break;case"scopes":e.body.scopes.forEach(n=>t(!1,n.source));break;case"setFunctionBreakpoints":e.body.breakpoints.forEach(n=>t(!1,n.source));break;case"setBreakpoints":e.body.breakpoints.forEach(n=>t(!1,n.source));break;case"disassemble":e.body?.instructions.forEach(o=>t(!1,o.location));break;case"locations":t(!1,e.body?.source);break;default:break}break}}}var la=A("IExtHostEditorTabs"),JC=class{constructor(t,e,n){this._activeTabIdGetter=n,this._parentGroup=e,this.acceptDtoUpdate(t)}get apiObject(){if(!this._apiObject){let t=this,e={get isActive(){return t._dto.id===t._activeTabIdGetter()},get label(){return t._dto.label},get input(){return t._input},get isDirty(){return t._dto.isDirty},get isPinned(){return t._dto.isPinned},get isPreview(){return t._dto.isPreview},get group(){return t._parentGroup.apiObject}};this._apiObject=Object.freeze(e)}return this._apiObject}get tabId(){return this._dto.id}acceptDtoUpdate(t){this._dto=t,this._input=this._initInput()}_initInput(){switch(this._dto.input.kind){case 1:return new vl(y.revive(this._dto.input.uri));case 2:return new Bs(y.revive(this._dto.input.original),y.revive(this._dto.input.modified));case 3:return new tp(y.revive(this._dto.input.base),y.revive(this._dto.input.input1),y.revive(this._dto.input.input2),y.revive(this._dto.input.result));case 6:return new bl(y.revive(this._dto.input.uri),this._dto.input.viewType);case 7:return new np(this._dto.input.viewType);case 4:return new yl(y.revive(this._dto.input.uri),this._dto.input.notebookType);case 5:return new Il(y.revive(this._dto.input.original),y.revive(this._dto.input.modified),this._dto.input.notebookType);case 8:return new op;case 9:return new rp(y.revive(this._dto.input.uri),y.revive(this._dto.input.inputBoxUri));case 10:return new ip;case 11:return new sp(this._dto.input.diffEditors.map(t=>new Bs(y.revive(t.original),y.revive(t.modified))));default:return}}},v1=class{constructor(t,e){this._tabs=[];this._activeTabId="";this._dto=t,this._activeGroupIdGetter=e;for(let n of t.tabs)n.isActive&&(this._activeTabId=n.id),this._tabs.push(new JC(n,this,()=>this.activeTabId()))}get apiObject(){if(!this._apiObject){let t=this,e={get isActive(){return t._dto.groupId===t._activeGroupIdGetter()},get viewColumn(){return At.to(t._dto.viewColumn)},get activeTab(){return t._tabs.find(n=>n.tabId===t._activeTabId)?.apiObject},get tabs(){return Object.freeze(t._tabs.map(n=>n.apiObject))}};this._apiObject=Object.freeze(e)}return this._apiObject}get groupId(){return this._dto.groupId}get tabs(){return this._tabs}acceptGroupDtoUpdate(t){this._dto=t}acceptTabOperation(t){if(t.kind===0){let n=new JC(t.tabDto,this,()=>this.activeTabId());return this._tabs.splice(t.index,0,n),t.tabDto.isActive&&(this._activeTabId=n.tabId),n}else if(t.kind===1){let n=this._tabs.splice(t.index,1)[0];if(!n)throw new Error(`Tab close updated received for index ${t.index} which does not exist`);return n.tabId===this._activeTabId&&(this._activeTabId=""),n}else if(t.kind===3){if(t.oldIndex===void 0)throw new Error("Invalid old index on move IPC");let n=this._tabs.splice(t.oldIndex,1)[0];if(!n)throw new Error(`Tab move updated received for index ${t.oldIndex} which does not exist`);return this._tabs.splice(t.index,0,n),n}let e=this._tabs.find(n=>n.tabId===t.tabDto.id);if(!e)throw new Error("INVALID tab");return t.tabDto.isActive?this._activeTabId=t.tabDto.id:this._activeTabId===t.tabDto.id&&!t.tabDto.isActive&&(this._activeTabId=""),e.acceptDtoUpdate(t.tabDto),e}activeTabId(){return this._activeTabId}},Sm=class{constructor(t){this._onDidChangeTabs=new w;this._onDidChangeTabGroups=new w;this._extHostTabGroups=[];this._proxy=t.getProxy(L.MainThreadEditorTabs)}get tabGroups(){if(!this._apiObject){let t=this,e={onDidChangeTabGroups:t._onDidChangeTabGroups.event,onDidChangeTabs:t._onDidChangeTabs.event,get all(){return Object.freeze(t._extHostTabGroups.map(n=>n.apiObject))},get activeTabGroup(){let n=t._activeGroupId;return zr(t._extHostTabGroups.find(r=>r.groupId===n)?.apiObject)},close:async(n,o)=>{let r=Array.isArray(n)?n:[n];return r.length?g8(r[0])?this._closeGroups(r,o):this._closeTabs(r,o):!0}};this._apiObject=Object.freeze(e)}return this._apiObject}$acceptEditorTabModel(t){let e=new Set(this._extHostTabGroups.map(d=>d.groupId)),n=new Set(t.map(d=>d.groupId)),o=RE(e,n),r=this._extHostTabGroups.filter(d=>o.removed.includes(d.groupId)).map(d=>d.apiObject),s=[],a=[];this._extHostTabGroups=t.map(d=>{let c=new v1(d,()=>this._activeGroupId);return o.added.includes(c.groupId)?s.push(c.apiObject):a.push(c.apiObject),c});let l=zr(t.find(d=>d.isActive===!0)?.groupId);l!==void 0&&this._activeGroupId!==l&&(this._activeGroupId=l),this._onDidChangeTabGroups.fire(Object.freeze({opened:s,closed:r,changed:a}))}$acceptTabGroupUpdate(t){let e=this._extHostTabGroups.find(n=>n.groupId===t.groupId);if(!e)throw new Error("Update Group IPC call received before group creation.");e.acceptGroupDtoUpdate(t),t.isActive&&(this._activeGroupId=t.groupId),this._onDidChangeTabGroups.fire(Object.freeze({changed:[e.apiObject],opened:[],closed:[]}))}$acceptTabOperation(t){let e=this._extHostTabGroups.find(o=>o.groupId===t.groupId);if(!e)throw new Error("Update Tabs IPC call received before group creation.");let n=e.acceptTabOperation(t);switch(t.kind){case 0:this._onDidChangeTabs.fire(Object.freeze({opened:[n.apiObject],closed:[],changed:[]}));return;case 1:this._onDidChangeTabs.fire(Object.freeze({opened:[],closed:[n.apiObject],changed:[]}));return;case 3:case 2:this._onDidChangeTabs.fire(Object.freeze({opened:[],closed:[],changed:[n.apiObject]}));return}}_findExtHostTabFromApi(t){for(let e of this._extHostTabGroups)for(let n of e.tabs)if(n.apiObject===t)return n}_findExtHostTabGroupFromApi(t){return this._extHostTabGroups.find(e=>e.apiObject===t)}async _closeTabs(t,e){let n=[];for(let o of t){let r=this._findExtHostTabFromApi(o);if(!r)throw new Error("Tab close: Invalid tab not found!");n.push(r.tabId)}return this._proxy.$closeTab(n,e)}async _closeGroups(t,e){let n=[];for(let o of t){let r=this._findExtHostTabGroupFromApi(o);if(!r)throw new Error("Group close: Invalid group not found!");n.push(r.groupId)}return this._proxy.$closeGroup(n,e)}};Sm=R([S(0,ge)],Sm);function g8(i){return i.tabs!==void 0}var H0e={6:p(17919,null),4:p(17920,null),3:p(17921,null),1:p(17922,null),2:p(17923,null),5:p(17924,null),0:p(17925,null)};var V0e={4:p(17916,null),2:p(17917,null),8:p(17915,null)};var h8=0,c2=new WeakMap,wc=A("IExtHostTesting"),Tm=class extends V{constructor(e,n,o,r){super();this.logService=n;this.commands=o;this.editors=r;this.resultsChangedEmitter=this._register(new w);this.controllers=new Map;this.defaultProfilesChangedEmitter=this._register(new w);this.followupProviders=new Set;this.testFollowups=new Map;this.onResultsChanged=this.resultsChangedEmitter.event;this.results=[];this.proxy=e.getProxy(L.MainThreadTesting),this.observer=new C1(this.proxy),this.runTracker=new y1(this.proxy,n),o.registerArgumentProcessor({processArgument:s=>{switch(s?.$mid){case 16:{let a=s,l=a.tests[a.tests.length-1].item.extId;return this.controllers.get(qe.root(l))?.collection.tree.get(l)?.actual??wR(s)}case 18:{let{test:a,message:l}=s,d=a.item.extId;return{test:this.controllers.get(qe.root(d))?.collection.tree.get(d)?.actual??wR({$mid:16,tests:[a]}),message:_p.to(l)}}default:return s}}}),o.registerCommand(!1,"testing.getExplorerSelection",async()=>{let s=await o.executeCommand("_testing.getExplorerSelection"),a=l=>{let d=this.controllers.get(qe.root(l));if(d)return qe.isRoot(l)?d.controller:d.collection.tree.get(l)?.actual};return{include:s?.include.map(a).filter(no)||[],exclude:s?.exclude.map(a).filter(no)||[]}})}createTestController(e,n,o,r){if(this.controllers.has(n))throw new Error(`Attempt to insert a duplicate controller with ID "${n}"`);let s=new J,a=s.add(new PC(n,o,this.editors));a.root.label=o;let l=new Map,d=new Set,c=this.proxy,u=()=>{let v=0;r&&(v|=2);let f=g.relatedCodeProvider;return f&&(f?.provideRelatedTests&&(v|=8),f?.provideRelatedCode&&(v|=4)),v},m={items:a.root.children,get label(){return o},set label(v){o=v,a.root.label=v,c.$updateController(n,{label:o})},get refreshHandler(){return r},set refreshHandler(v){r=v,c.$updateController(n,{capabilities:u()})},get id(){return n},get relatedCodeProvider(){return g.relatedCodeProvider},set relatedCodeProvider(v){D(e,"testRelatedCode"),g.relatedCodeProvider=v,c.$updateController(n,{capabilities:u()})},createRunProfile:(v,f,x,C,E,k)=>{let O=ar(v);for(;l.has(O);)O++;return new YC(this.proxy,l,d,this.defaultProfilesChangedEmitter.event,n,O,v,f,x,C,E,k)},createTestItem(v,f,x){return new sa(n,v,f,x)},createTestRun:(v,f,x=!0)=>this.runTracker.createTestRun(e,n,a,v,f,x),invalidateTestResults:v=>{if(v===void 0)this.proxy.$markTestRetired(void 0);else{let f=v instanceof Array?v:[v];this.proxy.$markTestRetired(f.map(x=>qe.fromExtHostTestItem(x,n).toString()))}},set resolveHandler(v){a.resolveHandler=v},get resolveHandler(){return a.resolveHandler},dispose:()=>{s.dispose()}},g={controller:m,collection:a,profiles:l,extension:e,activeProfiles:d};return c.$registerTestController(n,o,u()),s.add(X(()=>c.$unregisterTestController(n))),this.controllers.set(n,g),s.add(X(()=>this.controllers.delete(n))),s.add(a.onDidGenerateDiff(v=>c.$publishDiff(n,v.map(tI.serialize)))),m}createTestObserver(){return this.observer.checkout()}async runTests(e,n=ye.None){let o=u2(e);if(!o)throw new Error("The request passed to `vscode.test.runTests` must include a profile");let r=this.controllers.get(o.controllerId);if(!r)throw new Error("Controller not found");await this.proxy.$runTests({preserveFocus:e.preserveFocus??!0,group:Dp.from(o.kind),targets:[{testIds:e.include?.map(s=>qe.fromExtHostTestItem(s,r.collection.root.id).toString())??[r.collection.root.id],profileId:o.profileId,controllerId:o.controllerId}],exclude:e.exclude?.map(s=>s.id)},n)}registerTestFollowupProvider(e){return this.followupProviders.add(e),{dispose:()=>{this.followupProviders.delete(e)}}}async $getTestsRelatedToCode(e,n,o){let r=this.editors.getDocument(y.revive(e));if(!r)return[];let s=et.to(n),a=[];return await Promise.all([...this.controllers.values()].map(async l=>{let d;try{d=await l.relatedCodeProvider?.provideRelatedTests?.(r.document,s,o)}catch(c){o.isCancellationRequested||this.logService.warn(`Error thrown while providing related tests for ${l.controller.label}`,c)}if(d){for(let c of d)a.push(qe.fromExtHostTestItem(c,l.controller.id).toString());l.collection.flushDiff()}})),a}async $getCodeRelatedToTest(e,n){let o=this.controllers.get(qe.root(e));if(!o)return[];let r=o.collection.tree.get(e);return r?(await o.relatedCodeProvider?.provideRelatedCode?.(r.actual,n))?.map(Yn.from)??[]:[]}$syncTests(){for(let{collection:e}of this.controllers.values())e.flushDiff();return Promise.resolve()}async $getCoverageDetails(e,n,o){return(await this.runTracker.getCoverageDetails(e,n,o))?.map(vh.fromDetails)}async $disposeRun(e){this.runTracker.disposeTestRun(e)}$configureRunProfile(e,n){this.controllers.get(e)?.profiles.get(n)?.configureHandler?.()}$setDefaultRunProfiles(e){let n=new Map;for(let[o,r]of Object.entries(e)){let s=this.controllers.get(o);if(!s)continue;let a=new Map,l=r.filter(c=>!s.activeProfiles.has(c)),d=[...s.activeProfiles].filter(c=>!r.includes(c));for(let c of l)a.set(c,!0),s.activeProfiles.add(c);for(let c of d)a.set(c,!1),s.activeProfiles.delete(c);a.size&&n.set(o,a)}this.defaultProfilesChangedEmitter.fire(n)}async $refreshTests(e,n){await this.controllers.get(e)?.controller.refreshHandler?.(n)}$publishTestResults(e){this.results=Object.freeze(e.map(n=>{let o=KD.to(n),r=n.tasks.findIndex(s=>s.hasCoverage);return r!==-1&&(o.getDetailedCoverage=(s,a=ye.None)=>this.proxy.$getCoverageDetails(n.id,r,s,a).then(l=>l.map(vh.to))),c2.set(o,n.id),o}).concat(this.results).sort((n,o)=>o.completedAt-n.completedAt).slice(0,32)),this.resultsChangedEmitter.fire()}async $expandTest(e,n){let o=this.controllers.get(qe.fromString(e).controllerId)?.collection;o&&(await o.expand(e,n<0?1/0:n),o.flushDiff())}$acceptDiff(e){this.observer.applyDiff(e.map(n=>tI.deserialize({asCanonicalUri:o=>o},n)))}async $runControllerTests(e,n){return Promise.all(e.map(o=>this.runControllerTestRequest(o,!1,n)))}async $startContinuousRun(e,n){let o=new Me(n),r=await Promise.all(e.map(s=>this.runControllerTestRequest(s,!0,o.token)));return!n.isCancellationRequested&&!r.some(s=>s.error)&&await new Promise(s=>n.onCancellationRequested(s)),o.dispose(!0),r}async $provideTestFollowups(e,n){let o=this.results.find(a=>c2.get(a)===e.resultId),r=o&&b8(qe.fromString(e.extId),o?.results);if(!r)return[];let s=[];return await Promise.all([...this.followupProviders].map(async a=>{try{let l=await a.provideFollowup(o,r,e.taskIndex,e.messageIndex,n);l&&(s=s.concat(l))}catch(l){this.logService.error("Error thrown while providing followup for test message",l)}})),n.isCancellationRequested?[]:s.map(a=>{let l=h8++;return this.testFollowups.set(l,a),{title:a.title,id:l}})}$disposeTestFollowups(e){for(let n of e)this.testFollowups.delete(n)}$executeTestFollowup(e){let n=this.testFollowups.get(e);return n?this.commands.executeCommand(n.command,...n.arguments||[]):Promise.resolve()}$cancelExtensionTestRun(e,n){e===void 0?this.runTracker.cancelAllRuns():this.runTracker.cancelRunById(e,n)}getMetadataForRun(e){for(let n of this.runTracker.trackers){let o=n.getTaskIdForRun(e);if(o)return{taskId:o,runId:n.id}}}async runControllerTestRequest(e,n,o){let r=this.controllers.get(e.controllerId);if(!r)return{};let{collection:s,profiles:a,extension:l}=r,d=a.get(e.profileId);if(!d)return{};let c=e.testIds.map(v=>s.tree.get(v)).filter(no),u=e.excludeExtIds.map(v=>r.collection.tree.get(v)).filter(no).filter(v=>c.some(f=>f.fullId.compare(v.fullId)===2));if(!c.length)return{};let m=new ul(c.some(v=>v.actual instanceof Xp)?void 0:c.map(v=>v.actual),u.map(v=>v.actual),d,n),g=EU(e)&&this.runTracker.prepareForMainThreadTestRun(l,m,XC.fromInternal(e,r.collection),d,o);try{return await d.runHandler(m,o),{}}catch(v){return{error:String(v)}}finally{g&&g.hasRunningTasks&&!o.isCancellationRequested&&await Le.toPromise(g.onEnd)}}};Tm=R([S(0,ge),S(1,ae),S(2,Xo),S(3,ui)],Tm);var v8=1e4;var b1=class extends V{constructor(e,n,o,r,s,a){super();this.dto=e;this.proxy=n;this.logService=o;this.profile=r;this.extension=s;this.state=0;this.running=0;this.tasks=new Map;this.sharedTestIds=new Set;this.endEmitter=this._register(new w);this.publishedCoverage=new Map;this.onEnd=this.endEmitter.event;this.cts=this._register(new Me(a));let l=this._register(new fo(()=>this.forciblyEndTasks(),v8));this._register(this.cts.token.onCancellationRequested(()=>l.schedule()));let d=new w;this.onDidDispose=d.event,this._register(X(()=>{d.fire(),d.dispose()}))}get hasRunningTasks(){return this.running>0}get id(){return this.dto.id}getTaskIdForRun(e){for(let[n,{run:o}]of this.tasks)if(o===e)return n}cancel(e){e?this.tasks.get(e)?.cts.cancel():this.state===0?(this.cts.cancel(),this.state=1):this.state===1&&this.forciblyEndTasks()}async getCoverageDetails(e,n,o){let[,r]=qe.fromString(e).path,s=this.publishedCoverage.get(e);if(!s)return[];let{report:a,extIds:l}=s,d=this.tasks.get(r);if(!d)throw new Error("unreachable: run task was not found");let c;if(n&&a instanceof Vs){let m=l.indexOf(n);if(m===-1)return[];c=a.includesTests[m]}return await(c?this.profile?.loadDetailedCoverageForTest?.(d.run,a,c,o):this.profile?.loadDetailedCoverage?.(d.run,a,o))??[]}createRun(e){let n=this.dto.id,o=this.dto.controllerId,r=We(),s=u=>(m,...g)=>{if(l){this.logService.warn(`Setting the state of test "${m.id}" is a no-op after the run ends.`);return}this.ensureTestIsKnown(m),u(m,...g)},a=(u,m)=>{let g=m instanceof Array?m.map(_p.from):[_p.from(m)];if(u.uri&&u.range){let v={range:W.from(u.range),uri:u.uri};for(let f of g)f.location=f.location||v}this.proxy.$appendTestMessagesInRun(n,r,qe.fromExtHostTestItem(u,o).toString(),g)},l=!1,d=this._register(new Me(this.cts.token)),c={isPersisted:this.dto.isPersisted,token:d.token,name:e,onDidDispose:this.onDidDispose,addCoverage:u=>{if(l)return;let m=u instanceof Vs?u.includesTests:[];if(m.length)for(let f of m)this.ensureTestIsKnown(f);let g=u.uri.toString(),v=new qe([n,r,g]).toString();this.publishedCoverage.set(v,{report:u,extIds:m.map(f=>qe.fromExtHostTestItem(f,o).toString())}),this.proxy.$appendCoverage(n,r,vh.fromFile(o,v,u))},enqueued:s(u=>{this.proxy.$updateTestStateInRun(n,r,qe.fromExtHostTestItem(u,o).toString(),1)}),skipped:s(u=>{this.proxy.$updateTestStateInRun(n,r,qe.fromExtHostTestItem(u,o).toString(),5)}),started:s(u=>{this.proxy.$updateTestStateInRun(n,r,qe.fromExtHostTestItem(u,o).toString(),2)}),errored:s((u,m,g)=>{a(u,m),this.proxy.$updateTestStateInRun(n,r,qe.fromExtHostTestItem(u,o).toString(),6,g)}),failed:s((u,m,g)=>{a(u,m),this.proxy.$updateTestStateInRun(n,r,qe.fromExtHostTestItem(u,o).toString(),4,g)}),passed:s((u,m)=>{this.proxy.$updateTestStateInRun(n,r,qe.fromExtHostTestItem(u,this.dto.controllerId).toString(),3,m)}),appendOutput:(u,m,g)=>{l||(g&&this.ensureTestIsKnown(g),this.proxy.$appendOutputToRun(n,r,te.fromString(u),m&&Yn.from(m),g&&qe.fromExtHostTestItem(g,o).toString()))},end:()=>{l||(l=!0,this.proxy.$finishedTestRunTask(n,r),--this.running||this.markEnded())}};return this.running++,this.tasks.set(r,{run:c,cts:d}),this.proxy.$startedTestRunTask(n,{id:r,ctrlId:this.dto.controllerId,name:e||this.extension.displayName||this.extension.identifier.value,running:!0}),c}forciblyEndTasks(){for(let{run:e}of this.tasks.values())e.end()}markEnded(){this.state!==2&&(this.state=2,this.endEmitter.fire())}ensureTestIsKnown(e){if(!(e instanceof sa))throw new ja(e.id);if(this.sharedTestIds.has(qe.fromExtHostTestItem(e,this.dto.controllerId).toString()))return;let n=[],o=this.dto.colllection.root;for(;;){let r=ts.from(e);if(n.unshift(r),this.sharedTestIds.has(r.extId)||(this.sharedTestIds.add(r.extId),e===o))break;e=e.parent||o}this.proxy.$addTestsToRun(this.dto.controllerId,this.dto.id,n)}dispose(){this.markEnded(),super.dispose()}},y1=class{constructor(t,e){this.proxy=t;this.logService=e;this.tracked=new Map;this.trackedById=new Map}get trackers(){return this.tracked.values()}getCoverageDetails(t,e,n){let o=qe.root(t);return this.trackedById.get(o)?.getCoverageDetails(t,e,n)||[]}disposeTestRun(t){this.trackedById.get(t)?.dispose(),this.trackedById.delete(t);for(let[e,{id:n}]of this.tracked)n===t&&this.tracked.delete(e)}prepareForMainThreadTestRun(t,e,n,o,r){return this.getTracker(e,n,o,t,r)}cancelRunById(t,e){this.trackedById.get(t)?.cancel(e)}cancelAllRuns(){for(let t of this.tracked.values())t.cancel()}createTestRun(t,e,n,o,r,s){let a=this.tracked.get(o);if(a)return a.createRun(r);let l=XC.fromPublic(e,n,o,s),d=u2(o);this.proxy.$startedExtensionTestRun({controllerId:e,continuous:!!o.continuous,profile:d&&{group:Dp.from(d.kind),id:d.profileId},exclude:o.exclude?.map(u=>qe.fromExtHostTestItem(u,n.root.id).toString())??[],id:l.id,include:o.include?.map(u=>qe.fromExtHostTestItem(u,n.root.id).toString())??[n.root.id],preserveFocus:o.preserveFocus??!0,persist:s});let c=this.getTracker(o,l,o.profile,t);return Le.once(c.onEnd)(()=>{this.proxy.$finishedExtensionTestRun(l.id)}),c.createRun(r)}getTracker(t,e,n,o,r){let s=new b1(e,this.proxy,this.logService,n,o,r);return this.tracked.set(t,s),this.trackedById.set(s.id,s),s}},u2=i=>{if(i.profile){if(!(i.profile instanceof YC))throw new Error("TestRunRequest.profile is not an instance created from TestController.createRunProfile");return i.profile}},XC=class i{constructor(t,e,n,o){this.controllerId=t;this.id=e;this.isPersisted=n;this.colllection=o}static fromPublic(t,e,n,o){return new i(t,We(),o,e)}static fromInternal(t,e){return new i(t.controllerId,t.runId,!0,e)}},I1=class{constructor(t){this.emitter=t;this.added=new Set;this.updated=new Set;this.removed=new Set;this.alreadyRemoved=new Set}get isEmpty(){return this.added.size===0&&this.removed.size===0&&this.updated.size===0}add(t){this.added.add(t)}update(t){Object.assign(t.revived,ts.toPlain(t.item)),this.added.has(t)||this.updated.add(t)}remove(t){if(this.added.delete(t))return;this.updated.delete(t);let e=qe.parentId(t.item.extId);if(e&&this.alreadyRemoved.has(e.toString())){this.alreadyRemoved.add(t.item.extId);return}this.removed.add(t)}getChangeEvent(){let{added:t,updated:e,removed:n}=this;return{get added(){return[...t].map(o=>o.revived)},get updated(){return[...e].map(o=>o.revived)},get removed(){return[...n].map(o=>o.revived)}}}complete(){this.isEmpty||this.emitter.fire(this.getChangeEvent())}},x1=class extends Yy{constructor(){super(...arguments);this.changeEmitter=new w;this.onDidChangeTests=this.changeEmitter.event}get rootTests(){return this.roots}getMirroredTestDataById(e){return this.items.get(e)}getMirroredTestDataByReference(e){return this.items.get(e.id)}createItem(e,n){return{...e,revived:ts.toPlain(e.item),depth:n?n.depth+1:0,children:new Set}}createChangeCollector(){return new I1(this.changeEmitter)}},C1=class{constructor(t){this.proxy=t}checkout(){this.current||(this.current=this.createObserverData());let t=this.current;return t.observers++,{onDidChangeTest:t.tests.onDidChangeTests,get tests(){return[...t.tests.rootTests].map(e=>e.revived)},dispose:zc(()=>{--t.observers===0&&(this.proxy.$unsubscribeFromDiffs(),this.current=void 0)})}}getMirroredTestDataByReference(t){return this.current?.tests.getMirroredTestDataByReference(t)}applyDiff(t){this.current?.tests.apply(t)}createObserverData(){let t=new x1({asCanonicalUri:e=>e});return this.proxy.$subscribeToDiffs(),{observers:0,tests:t}}},Bh=(i,t,e,n)=>{e?Object.assign(e,n):t.$updateTestRunConfig(i.controllerId,i.profileId,n)},YC=class extends Xu{constructor(e,n,o,r,s,a,l,d,c,u=!1,m=void 0,g=!1){super(s,a,d);this._label=l;this.runHandler=c;this._tag=m;this._supportsContinuousRun=g;this.#e=e,this.#s=n,this.#t=o,this.#n=r,n.set(a,this);let v=Dp.from(d);u&&o.add(a),this.#o={profileId:a,controllerId:s,tag:m?Fr.namespace(this.controllerId,m.id):null,label:l,group:v,isDefault:u,hasConfigurationHandler:!1,supportsContinuousRun:g},queueMicrotask(()=>{this.#o&&(this.#e.$publishTestRunProfile(this.#o),this.#o=void 0)})}#e;#t;#n;#o;#s;get label(){return this._label}set label(e){e!==this._label&&(this._label=e,Bh(this,this.#e,this.#o,{label:e}))}get supportsContinuousRun(){return this._supportsContinuousRun}set supportsContinuousRun(e){e!==this._supportsContinuousRun&&(this._supportsContinuousRun=e,Bh(this,this.#e,this.#o,{supportsContinuousRun:e}))}get isDefault(){return this.#t.has(this.profileId)}set isDefault(e){e!==this.isDefault&&(e?this.#t.add(this.profileId):this.#t.delete(this.profileId),Bh(this,this.#e,this.#o,{isDefault:e}))}get tag(){return this._tag}set tag(e){e?.id!==this._tag?.id&&(this._tag=e,Bh(this,this.#e,this.#o,{tag:e?Fr.namespace(this.controllerId,e.id):null}))}get configureHandler(){return this._configureHandler}set configureHandler(e){e!==this._configureHandler&&(this._configureHandler=e,Bh(this,this.#e,this.#o,{hasConfigurationHandler:!!e}))}get onDidChangeDefault(){return Le.chain(this.#n,e=>e.map(n=>n.get(this.controllerId)?.get(this.profileId)).filter(no))}dispose(){this.#s?.delete(this.profileId)&&(this.#s=void 0,this.#e.$removeTestProfile(this.controllerId,this.profileId)),this.#o=void 0}};function b8(i,t){for(let e=0;e<i.path.length;e++){let n=t.find(o=>o.id===i.path[e]);if(!n)return;if(e===i.path.length-1)return n;t=n.children}}var HOe=A("configurationResolverService"),S1=(he=>(he.Unknown="unknown",he.Env="env",he.Config="config",he.Command="command",he.Input="input",he.ExtensionInstallFolder="extensionInstallFolder",he.TaskVar="taskVar",he.WorkspaceFolder="workspaceFolder",he.Cwd="cwd",he.WorkspaceFolderBasename="workspaceFolderBasename",he.UserHome="userHome",he.LineNumber="lineNumber",he.ColumnNumber="columnNumber",he.SelectedText="selectedText",he.File="file",he.FileWorkspaceFolder="fileWorkspaceFolder",he.FileWorkspaceFolderBasename="fileWorkspaceFolderBasename",he.RelativeFile="relativeFile",he.RelativeFileDirname="relativeFileDirname",he.FileDirname="fileDirname",he.FileExtname="fileExtname",he.FileBasename="fileBasename",he.FileBasenameNoExtension="fileBasenameNoExtension",he.FileDirnameBasename="fileDirnameBasename",he.ExecPath="execPath",he.ExecInstallFolder="execInstallFolder",he.PathSeparator="pathSeparator",he.PathSeparatorAlias="/",he))(S1||{}),p2=Object.values(S1).filter(i=>typeof i=="string"),to=class extends No{constructor(e,n){super(n);this.variable=e}};var Wh=class i{constructor(t){this.locations=new Map;this.newReplacementNotifiers=new Set;typeof t=="string"?(this.stringRoot=!0,this.root={value:t}):(this.stringRoot=!1,this.root=structuredClone(t))}static{this.VARIABLE_LHS="${"}static parse(t){if(t instanceof i)return t;let e=new i(t);return e.applyPlatformSpecificKeys(),e.parseObject(e.root),e}applyPlatformSpecificKeys(){let t=this.root,e=It?"windows":dn?"osx":qn?"linux":void 0;e&&t&&typeof t=="object"&&t.hasOwnProperty(e)&&Object.keys(t[e]).forEach(n=>t[n]=t[e][n]),delete t.windows,delete t.osx,delete t.linux}parseVariable(t,e){if(t[e]!=="$"||t[e+1]!=="{")return;let n=e+2,o=1;for(;n<t.length;){if(t[n]==="{")o++;else if(t[n]==="}"&&(o--,o===0))break;n++}if(o!==0)return;let r=t.slice(e,n+1),s=t.substring(e+2,n),a=s.indexOf(":");return a===-1?{replacement:{id:r,name:s,inner:s},end:n}:{replacement:{id:r,inner:s,name:s.slice(0,a),arg:s.slice(a+1)},end:n}}parseObject(t){if(!(typeof t!="object"||t===null)){if(Array.isArray(t)){for(let e=0;e<t.length;e++){let n=t[e];typeof n=="string"?this.parseString(t,e,n):this.parseObject(n)}return}for(let[e,n]of Object.entries(t))this.parseString(t,e,e,!0),typeof n=="string"?this.parseString(t,e,n):this.parseObject(n)}}parseString(t,e,n,o,r){let s=0;for(;s<n.length;){let a=n.indexOf("${",s);if(a===-1)break;let l=this.parseVariable(n,a);if(l){if(s=l.end+1,r?.includes(l.replacement.id))continue;let d=this.locations.get(l.replacement.id)||{locations:[],replacement:l.replacement},c={object:t,propertyName:e,replaceKeyName:o};d.locations.push(c),this.locations.set(l.replacement.id,d),d.resolved?this._resolveAtLocation(l.replacement,c,d.resolved,r):this.newReplacementNotifiers.forEach(u=>u(l.replacement))}else s=a+2}}*unresolved(){let t=new Map,e=n=>{t.set(n.id,n)};for(let n of this.locations.values())n.resolved===void 0&&t.set(n.replacement.id,n.replacement);for(this.newReplacementNotifiers.add(e);;){let n=yt.first(t);if(!n)break;let[o,r]=n;yield r,t.delete(o)}this.newReplacementNotifiers.delete(e)}resolved(){return yt.map(yt.filter(this.locations.values(),t=>!!t.resolved),t=>[t.replacement,t.resolved])}resolve(t,e){typeof e!="object"&&(e={value:String(e)});let n=this.locations.get(t.id);if(n&&(n.resolved=e,e.value!==void 0))for(let o of n.locations||yt.empty())this._resolveAtLocation(t,o,e)}_resolveAtLocation(t,{replaceKeyName:e,propertyName:n,object:o},r,s=[]){if(r.value!==void 0){if(s.push(t.id),e&&typeof n=="string"){let a=o[n],l=n.replaceAll(t.id,r.value);delete o[n],o[l]=a,this._renameKeyInLocations(o,n,l),this.parseString(o,l,r.value,!0,s)}else o[n]=o[n].replaceAll(t.id,r.value),this.parseString(o,n,r.value,!1,s);s.pop()}}_renameKeyInLocations(t,e,n){for(let o of this.locations.values())for(let r of o.locations)r.object===t&&r.propertyName===e&&(r.propertyName=n)}toObject(){return this.stringRoot?this.root.value:this.root}};var ZC=class{constructor(t,e,n,o){this._contributedVariables=new Map;this.resolvableVariables=new Set(p2);this._context=t,this._labelService=e,this._userHomePromise=n,o&&(this._envVariablesPromise=o.then(r=>this.prepareEnv(r)))}prepareEnv(t){if(It){let e=Object.create(null);return Object.keys(t).forEach(n=>{e[n.toLowerCase()]=t[n]}),e}return t}async resolveWithEnvironment(t,e,n){let o=Wh.parse(n);for(let r of o.unresolved()){let s=await this.evaluateSingleVariable(r,e?.uri,t);s!==void 0&&o.resolve(r,String(s))}return o.toObject()}async resolveAsync(t,e){let n=Wh.parse(e);for(let o of n.unresolved()){let r=await this.evaluateSingleVariable(o,t?.uri);r!==void 0&&n.resolve(o,String(r))}return n.toObject()}resolveWithInteractionReplace(t,e){throw new Error("resolveWithInteractionReplace not implemented.")}resolveWithInteraction(t,e){throw new Error("resolveWithInteraction not implemented.")}contributeVariable(t,e){if(this._contributedVariables.has(t))throw new Error("Variable "+t+" is contributed twice.");this.resolvableVariables.add(t),this._contributedVariables.set(t,e)}fsPath(t){return this._labelService?this._labelService.getUriLabel(t,{noPrefix:!0}):t.fsPath}async evaluateSingleVariable(t,e,n,o){let r={env:n!==void 0?this.prepareEnv(n):await this._envVariablesPromise,userHome:n!==void 0?void 0:await this._userHomePromise},{name:s,arg:a}=t,l=u=>{let m=this._context.getFilePath();if(m)return Iu(m);throw new to(u,p(19428,null,t.id))},d=u=>{let m=l(u);if(this._context.getWorkspaceFolderPathForFile){let g=this._context.getWorkspaceFolderPathForFile();if(g)return Iu(g)}throw new to(u,p(19429,null,t.id,rn(m)))},c=u=>{if(a){let m=this._context.getFolderUri(a);if(m)return m;throw new to(u,p(19426,null,u,a))}if(e)return e;throw this._context.getWorkspaceFolderCount()>1?new to(u,p(19434,null,u)):new to(u,p(19433,null,u))};switch(s){case"env":if(a){if(r.env){let u=r.env[It?a.toLowerCase():a];if(Ae(u))return u}return""}throw new to("env",p(19439,null,t.id));case"config":if(a){let u=this._context.getConfigurationValue(e,a);if(Mt(u))throw new to("config",p(19436,null,t.id,a));if(st(u))throw new to("config",p(19435,null,t.id,a));return u}throw new to("config",p(19438,null,t.id));case"command":return this.resolveFromMap("command",t.id,a,o,"command");case"input":return this.resolveFromMap("input",t.id,a,o,"input");case"extensionInstallFolder":if(a){let u=await this._context.getExtension(a);if(!u)throw new to("extensionInstallFolder",p(19437,null,t.id,a));return this.fsPath(u.extensionLocation)}throw new to("extensionInstallFolder",p(19440,null,t.id));default:switch(s){case"workspaceRoot":case"workspaceFolder":{let u=c("workspaceFolder");return u?Iu(this.fsPath(u)):void 0}case"cwd":{if(!e&&!a)return ms();let u=c("cwd");return u?Iu(this.fsPath(u)):void 0}case"workspaceRootFolderName":case"workspaceFolderBasename":{let u=c("workspaceFolderBasename");return u?Iu(rn(this.fsPath(u))):void 0}case"userHome":if(r.userHome)return r.userHome;throw new to("userHome",p(19432,null,t.id));case"lineNumber":{let u=this._context.getLineNumber();if(u)return u;throw new to("lineNumber",p(19430,null,t.id))}case"columnNumber":{let u=this._context.getColumnNumber();if(u)return u;throw new Error(p(19427,null,t.id))}case"selectedText":{let u=this._context.getSelectedText();if(u)return u;throw new to("selectedText",p(19431,null,t.id))}case"file":return l("file");case"fileWorkspaceFolder":return d("fileWorkspaceFolder");case"fileWorkspaceFolderBasename":return rn(d("fileWorkspaceFolderBasename"));case"relativeFile":return e||a?hs(this.fsPath(c("relativeFile")),l("relativeFile")):l("relativeFile");case"relativeFileDirname":{let u=wi(l("relativeFileDirname"));if(e||a){let m=hs(this.fsPath(c("relativeFileDirname")),u);return m.length===0?".":m}return u}case"fileDirname":return wi(l("fileDirname"));case"fileExtname":return vs(l("fileExtname"));case"fileBasename":return rn(l("fileBasename"));case"fileBasenameNoExtension":{let u=rn(l("fileBasenameNoExtension"));return u.slice(0,u.length-vs(u).length)}case"fileDirnameBasename":return rn(wi(l("fileDirnameBasename")));case"execPath":{let u=this._context.getExecPath();return u||t.id}case"execInstallFolder":{let u=this._context.getAppRoot();return u||t.id}case"pathSeparator":case"/":return Gn;default:try{return this.resolveFromMap("unknown",t.id,a,o,void 0)}catch{return t.id}}}}resolveFromMap(t,e,n,o,r){if(n&&o){let s=r===void 0?o[n]:o[r+":"+n];if(typeof s=="string")return s;throw new to(t,p(19441,null,e))}return e}};var kc=A("IExtHostVariableResolverProvider"),T1=class extends ZC{constructor(t,e,n,o,r,s,a){function l(){if(n){let d=n.activeEditor();if(d)return d.document.uri;let c=o.tabGroups.all.find(u=>u.isActive)?.activeTab;if(c!==void 0){if(c.input instanceof Bs||c.input instanceof Il)return c.input.modified;if(c.input instanceof vl||c.input instanceof yl||c.input instanceof bl)return c.input.uri}}}super({getFolderUri:d=>{let c=s.folders.filter(u=>u.name===d);if(c&&c.length>0)return c[0].uri},getWorkspaceFolderCount:()=>s.folders.length,getConfigurationValue:(d,c)=>r.getConfiguration(void 0,d).get(c),getAppRoot:()=>ms(),getExecPath:()=>or.VSCODE_EXEC_PATH,getFilePath:()=>{let d=l();if(d)return Vo(d.fsPath)},getWorkspaceFolderPathForFile:()=>{if(e){let d=l();if(d){let c=e.getWorkspaceFolder(d);if(c)return Vo(c.uri.fsPath)}}},getSelectedText:()=>{if(n){let d=n.activeEditor();if(d&&!d.selection.isEmpty)return d.document.getText(d.selection)}},getLineNumber:()=>{if(n){let d=n.activeEditor();if(d)return String(d.selection.end.line+1)}},getColumnNumber:()=>{if(n){let d=n.activeEditor();if(d)return String(d.selection.end.character+1)}},getExtension:d=>t.getExtension(d)},void 0,a?Promise.resolve(a):void 0,Promise.resolve(or))}},Em=class extends V{constructor(e,n,o,r,s){super();this.extensionService=e;this.workspaceService=n;this.editorService=o;this.configurationService=r;this.editorTabs=s;this._resolver=new bt(async()=>{let e=await this.configurationService.getConfigProvider(),o={folders:await this.workspaceService.getWorkspaceFolders2()||[]};return this._register(this.workspaceService.onDidChangeWorkspace(async r=>{o.folders=await this.workspaceService.getWorkspaceFolders2()||[]})),new T1(this.extensionService,this.workspaceService,this.editorService,this.editorTabs,e,o,this.homeDir())})}getResolver(){return this._resolver.value}homeDir(){}};Em=R([S(0,To),S(1,eo),S(2,ui),S(3,So),S(4,la)],Em);var eS=A("IExtHostDebugService"),$h=class extends V{constructor(e,n,o,r,s,a,l,d){super();this._workspaceService=n;this._extensionService=o;this._configurationService=r;this._editorTabs=s;this._variableResolver=a;this._commands=l;this._testing=d;this._debugSessions=new Map;this._debugVisualizationTreeItemIdsCounter=0;this._debugVisualizationProviders=new Map;this._debugVisualizationTrees=new Map;this._debugVisualizationTreeItemIds=new WeakMap;this._debugVisualizationElements=new Map;this._visualizers=new Map;this._visualizerIdCounter=0;this._configProviderHandleCounter=0,this._configProviders=[],this._adapterFactoryHandleCounter=0,this._adapterFactories=[],this._trackerFactoryHandleCounter=0,this._trackerFactories=[],this._debugAdapters=new Map,this._debugAdaptersTrackers=new Map,this._onDidStartDebugSession=this._register(new w),this._onDidTerminateDebugSession=this._register(new w),this._onDidChangeActiveDebugSession=this._register(new w),this._onDidReceiveDebugSessionCustomEvent=this._register(new w),this._debugServiceProxy=e.getProxy(L.MainThreadDebugService),this._onDidChangeBreakpoints=this._register(new w),this._onDidChangeActiveStackItem=this._register(new w),this._activeDebugConsole=new w1(this._debugServiceProxy),this._breakpoints=new Map,this._extensionService.getExtensionRegistry().then(c=>{this._register(c.onDidChange(u=>{this.registerAllDebugTypes(c)})),this.registerAllDebugTypes(c)}),this._telemetryProxy=e.getProxy(L.MainThreadTelemetry)}get onDidStartDebugSession(){return this._onDidStartDebugSession.event}get onDidTerminateDebugSession(){return this._onDidTerminateDebugSession.event}get onDidChangeActiveDebugSession(){return this._onDidChangeActiveDebugSession.event}get activeDebugSession(){return this._activeDebugSession?.api}get onDidReceiveDebugSessionCustomEvent(){return this._onDidReceiveDebugSessionCustomEvent.event}get activeDebugConsole(){return this._activeDebugConsole.value}async $getVisualizerTreeItem(e,n){let o=this.hydrateVisualizationContext(n);if(!o)return;let r=await this._debugVisualizationTrees.get(e)?.getTreeItem?.(o);return r?this.convertVisualizerTreeItem(e,r):void 0}registerDebugVisualizationTree(e,n,o){let r=Se.toKey(e.identifier),s=this.extensionVisKey(r,n);if(this._debugVisualizationProviders.has(s))throw new Error(`A debug visualization provider with id '${n}' is already registered`);return this._debugVisualizationTrees.set(s,o),this._debugServiceProxy.$registerDebugVisualizerTree(s,!!o.editItem),X(()=>{this._debugServiceProxy.$unregisterDebugVisualizerTree(s),this._debugVisualizationTrees.delete(n)})}async $getVisualizerTreeItemChildren(e,n){let o=this._debugVisualizationElements.get(n)?.item;return o?(await this._debugVisualizationTrees.get(e)?.getChildren?.(o))?.map(s=>this.convertVisualizerTreeItem(e,s))||[]:[]}async $editVisualizerTreeItem(e,n){let o=this._debugVisualizationElements.get(e);if(!o)return;let r=await this._debugVisualizationTrees.get(o.provider)?.editItem?.(o.item,n);return this.convertVisualizerTreeItem(o.provider,r||o.item)}$disposeVisualizedTree(e){let n=this._debugVisualizationElements.get(e);if(!n)return;let o=[n.children];for(let r of o)if(r)for(let s of r)o.push(this._debugVisualizationElements.get(s)?.children),this._debugVisualizationElements.delete(s)}convertVisualizerTreeItem(e,n){let o=this._debugVisualizationTreeItemIds.get(n);return o||(o=this._debugVisualizationTreeItemIdsCounter++,this._debugVisualizationTreeItemIds.set(n,o),this._debugVisualizationElements.set(o,{provider:e,item:n})),nR.from(n,o)}asDebugSourceUri(e,n){let o=e;if(typeof o.sourceReference=="number"&&o.sourceReference>0){let r=`debug:${encodeURIComponent(o.path||"")}`,s="?";return n&&(r+=`${s}session=${encodeURIComponent(n.id)}`,s="&"),r+=`${s}ref=${o.sourceReference}`,y.parse(r)}else{if(o.path)return y.file(o.path);throw new Error("cannot create uri from DAP 'source' object; properties 'path' and 'sourceReference' are both missing.")}}registerAllDebugTypes(e){let n=[];for(let o of e.getAllExtensionDescriptions())if(o.contributes){let r=o.contributes.debuggers;if(r&&r.length>0)for(let s of r)r2(s)&&n.push(s.type)}this._debugServiceProxy.$registerDebugTypes(n)}get activeStackItem(){return this._activeStackItem}get onDidChangeActiveStackItem(){return this._onDidChangeActiveStackItem.event}get onDidChangeBreakpoints(){return this._onDidChangeBreakpoints.event}get breakpoints(){let e=[];return this._breakpoints.forEach(n=>e.push(n)),e}async $resolveDebugVisualizer(e,n){let o=this._visualizers.get(e);if(!o)throw new Error(`No debug visualizer found with id '${e}'`);let{v:r,provider:s,extensionId:a}=o;if(r.visualization||(r=await s.resolveDebugVisualization?.(r,n)||r,o.v=r),!r.visualization)throw new Error(`No visualization returned from resolveDebugVisualization in '${s}'`);return this.serializeVisualization(a,r.visualization)}async $executeDebugVisualizerCommand(e){let n=this._visualizers.get(e);if(!n)throw new Error(`No debug visualizer found with id '${e}'`);let o=n.v.visualization;o&&"command"in o&&this._commands.executeCommand(o.command,...o.arguments||[])}hydrateVisualizationContext(e){let n=this._debugSessions.get(e.sessionId);return n&&{session:n.api,variable:e.variable,containerId:e.containerId,frameId:e.frameId,threadId:e.threadId}}async $provideDebugVisualizers(e,n,o,r){let s=this.hydrateVisualizationContext(o),a=this.extensionVisKey(e,n),l=this._debugVisualizationProviders.get(a);if(!s||!l)return[];let d=await l.provideDebugVisualization(s,r);return d?d.map(c=>{let u=++this._visualizerIdCounter;this._visualizers.set(u,{v:c,provider:l,extensionId:e});let m=c.iconPath?this.getIconPathOrClass(c.iconPath):void 0;return{id:u,name:c.name,iconClass:m?.iconClass,iconPath:m?.iconPath,visualization:this.serializeVisualization(e,c.visualization)}}):[]}$disposeDebugVisualizers(e){for(let n of e)this._visualizers.delete(n)}registerDebugVisualizationProvider(e,n,o){if(!e.contributes?.debugVisualizers?.some(a=>a.id===n))throw new Error(`Extensions may only call registerDebugVisualizationProvider() for renderers they contribute (got ${n})`);let r=Se.toKey(e.identifier),s=this.extensionVisKey(r,n);if(this._debugVisualizationProviders.has(s))throw new Error(`A debug visualization provider with id '${n}' is already registered`);return this._debugVisualizationProviders.set(s,o),this._debugServiceProxy.$registerDebugVisualizer(r,n),X(()=>{this._debugServiceProxy.$unregisterDebugVisualizer(r,n),this._debugVisualizationProviders.delete(n)})}addBreakpoints(e){let n=e.filter(s=>{let a=s.id;return this._breakpoints.has(a)?!1:(this._breakpoints.set(a,s),!0)});this.fireBreakpointChanges(n,[],[]);let o=[],r=new Map;for(let s of n)if(s instanceof oi){let a=r.get(s.location.uri.toString());a||(a={type:"sourceMulti",uri:s.location.uri,lines:[]},r.set(s.location.uri.toString(),a),o.push(a)),a.lines.push({id:s.id,enabled:s.enabled,condition:s.condition,hitCondition:s.hitCondition,logMessage:s.logMessage,line:s.location.range.start.line,character:s.location.range.start.character,mode:s.mode})}else s instanceof ri&&o.push({type:"function",id:s.id,enabled:s.enabled,hitCondition:s.hitCondition,logMessage:s.logMessage,condition:s.condition,functionName:s.functionName,mode:s.mode});return this._debugServiceProxy.$registerBreakpoints(o)}removeBreakpoints(e){let n=e.filter(a=>this._breakpoints.delete(a.id));this.fireBreakpointChanges([],n,[]);let o=n.filter(a=>a instanceof oi).map(a=>a.id),r=n.filter(a=>a instanceof ri).map(a=>a.id),s=n.filter(a=>a instanceof $d).map(a=>a.id);return this._debugServiceProxy.$unregisterBreakpoints(o,r,s)}startDebugging(e,n,o){let r=o.testRun&&this._testing.getMetadataForRun(o.testRun);return this._debugServiceProxy.$startDebugging(e?e.uri:void 0,n,{parentSessionID:o.parentSession?o.parentSession.id:void 0,lifecycleManagedByParent:o.lifecycleManagedByParent,repl:o.consoleMode===1?"mergeWithParent":"separate",noDebug:o.noDebug,compact:o.compact,suppressSaveBeforeStart:o.suppressSaveBeforeStart,testRun:r&&{runId:r.runId,taskId:r.taskId},suppressDebugStatusbar:o.suppressDebugStatusbar??o.debugUI?.simple,suppressDebugToolbar:o.suppressDebugToolbar??o.debugUI?.simple,suppressDebugView:o.suppressDebugView??o.debugUI?.simple})}stopDebugging(e){return this._debugServiceProxy.$stopDebugging(e?e.id:void 0)}registerDebugConfigurationProvider(e,n,o){if(!n)return new Ie(()=>{});let r=this._configProviderHandleCounter++;return this._configProviders.push({type:e,handle:r,provider:n}),this._debugServiceProxy.$registerDebugConfigurationProvider(e,o,!!n.provideDebugConfigurations,!!n.resolveDebugConfiguration,!!n.resolveDebugConfigurationWithSubstitutedVariables,r),new Ie(()=>{this._configProviders=this._configProviders.filter(s=>s.provider!==n),this._debugServiceProxy.$unregisterDebugConfigurationProvider(r)})}registerDebugAdapterDescriptorFactory(e,n,o){if(!o)return new Ie(()=>{});if(!this.definesDebugType(e,n))throw new Error(`a DebugAdapterDescriptorFactory can only be registered from the extension that defines the '${n}' debugger.`);if(this.getAdapterDescriptorFactoryByType(n))throw new Error("a DebugAdapterDescriptorFactory can only be registered once per a type.");let r=this._adapterFactoryHandleCounter++;return this._adapterFactories.push({type:n,handle:r,factory:o}),this._debugServiceProxy.$registerDebugAdapterDescriptorFactory(n,r),new Ie(()=>{this._adapterFactories=this._adapterFactories.filter(s=>s.factory!==o),this._debugServiceProxy.$unregisterDebugAdapterDescriptorFactory(r)})}registerDebugAdapterTrackerFactory(e,n){if(!n)return new Ie(()=>{});let o=this._trackerFactoryHandleCounter++;return this._trackerFactories.push({type:e,handle:o,factory:n}),new Ie(()=>{this._trackerFactories=this._trackerFactories.filter(r=>r.factory!==n)})}async $runInTerminal(e,n){return Promise.resolve(void 0)}async $substituteVariables(e,n){let o,r=await this.getFolder(e);return r&&(o={uri:r.uri,name:r.name,index:r.index}),(await this._variableResolver.getResolver()).resolveAsync(o,n)}createDebugAdapter(e,n){if(e instanceof Fs)return new P1(e.implementation)}createSignService(){}async $startDASession(e,n){let o=this,r=await this.getSession(n);return this.getAdapterDescriptor(this.getAdapterDescriptorFactoryByType(r.type),r).then(s=>{if(!s)throw new Error(`Couldn't find a debug adapter descriptor for debug type '${r.type}' (extension might have failed to activate)`);let a=this.createDebugAdapter(s,r);if(!a)throw new Error(`Couldn't create a debug adapter for type '${r.type}'.`);let l=a;return this._debugAdapters.set(e,l),this.getDebugAdapterTrackers(r).then(d=>(d&&this._debugAdaptersTrackers.set(e,d),l.onMessage(async c=>{if(c.type==="request"&&c.command==="handshake"){let u=c,m={type:"response",seq:0,command:u.command,request_seq:u.seq,success:!0};this._signService||(this._signService=this.createSignService());try{if(this._signService){let g=await this._signService.sign(u.arguments.value);m.body={signature:g},l.sendResponse(m)}else throw new Error("no signer")}catch(g){m.success=!1,m.message=g.message,l.sendResponse(m)}}else{d&&d.onDidSendMessage&&d.onDidSendMessage(c);try{c=l2(c,!0)}catch(u){let m=c.type+"_"+(c.command??c.event??"");throw this._telemetryProxy.$publicLog2("debugProtocolMessageError",{type:m,from:r.type}),u}o._debugServiceProxy.$acceptDAMessage(e,c)}}),l.onError(c=>{d&&d.onError&&d.onError(c),this._debugServiceProxy.$acceptDAError(e,c.name,c.message,c.stack)}),l.onExit(c=>{d&&d.onExit&&d.onExit(c??void 0,void 0),this._debugServiceProxy.$acceptDAExit(e,c??void 0,void 0)}),d&&d.onWillStartSession&&d.onWillStartSession(),l.startSession()))})}$sendDAMessage(e,n){n=a2(n,!1);let o=this._debugAdaptersTrackers.get(e);o&&o.onWillReceiveMessage&&o.onWillReceiveMessage(n),this._debugAdapters.get(e)?.sendMessage(n)}$stopDASession(e){let n=this._debugAdaptersTrackers.get(e);this._debugAdaptersTrackers.delete(e),n&&n.onWillStopSession&&n.onWillStopSession();let o=this._debugAdapters.get(e);return this._debugAdapters.delete(e),o?o.stopSession():Promise.resolve(void 0)}$acceptBreakpointsDelta(e){let n=[],o=[],r=[];if(e.added)for(let s of e.added){let a=s.id;if(a&&!this._breakpoints.has(a)){let l;if(s.type==="function")l=new ri(s.functionName,s.enabled,s.condition,s.hitCondition,s.logMessage,s.mode);else if(s.type==="data")l=new $d(s.label,s.dataId,s.canPersist,s.enabled,s.hitCondition,s.condition,s.logMessage,s.mode);else{let d=y.revive(s.uri);l=new oi(new Wt(d,new we(s.line,s.character)),s.enabled,s.condition,s.hitCondition,s.logMessage,s.mode)}VU(l,a),this._breakpoints.set(a,l),n.push(l)}}if(e.removed)for(let s of e.removed){let a=this._breakpoints.get(s);a&&(this._breakpoints.delete(s),o.push(a))}if(e.changed){for(let s of e.changed)if(s.id){let a=this._breakpoints.get(s.id);if(a){if(a instanceof ri&&s.type==="function"){let l=a;l.enabled=s.enabled,l.condition=s.condition,l.hitCondition=s.hitCondition,l.logMessage=s.logMessage,l.functionName=s.functionName}else if(a instanceof oi&&s.type==="source"){let l=a;l.enabled=s.enabled,l.condition=s.condition,l.hitCondition=s.hitCondition,l.logMessage=s.logMessage,l.location=new Wt(y.revive(s.uri),new we(s.line,s.character))}r.push(a)}}}this.fireBreakpointChanges(n,o,r)}async $acceptStackFrameFocus(e){let n;if(e){let o=await this.getSession(e.sessionId);e.kind==="thread"?n=new ju(o.api,e.threadId):n=new Gu(o.api,e.threadId,e.frameId)}this._activeStackItem=n,this._onDidChangeActiveStackItem.fire(this._activeStackItem)}$provideDebugConfigurations(e,n,o){return tn(async()=>{let r=this.getConfigProviderByHandle(e);if(!r)throw new Error("no DebugConfigurationProvider found");if(!r.provideDebugConfigurations)throw new Error("DebugConfigurationProvider has no method provideDebugConfigurations");let s=await this.getFolder(n);return r.provideDebugConfigurations(s,o)}).then(r=>{if(!r)throw new Error("nothing returned from DebugConfigurationProvider.provideDebugConfigurations");return r})}$resolveDebugConfiguration(e,n,o,r){return tn(async()=>{let s=this.getConfigProviderByHandle(e);if(!s)throw new Error("no DebugConfigurationProvider found");if(!s.resolveDebugConfiguration)throw new Error("DebugConfigurationProvider has no method resolveDebugConfiguration");let a=await this.getFolder(n);return s.resolveDebugConfiguration(a,o,r)})}$resolveDebugConfigurationWithSubstitutedVariables(e,n,o,r){return tn(async()=>{let s=this.getConfigProviderByHandle(e);if(!s)throw new Error("no DebugConfigurationProvider found");if(!s.resolveDebugConfigurationWithSubstitutedVariables)throw new Error("DebugConfigurationProvider has no method resolveDebugConfigurationWithSubstitutedVariables");let a=await this.getFolder(n);return s.resolveDebugConfigurationWithSubstitutedVariables(a,o,r)})}async $provideDebugAdapter(e,n){let o=this.getAdapterDescriptorFactoryByHandle(e);if(!o)return Promise.reject(new Error("no adapter descriptor factory found for handle"));let r=await this.getSession(n);return this.getAdapterDescriptor(o,r).then(s=>{if(!s)throw new Error(`Couldn't find a debug adapter descriptor for debug type '${r.type}'`);return this.convertToDto(s)})}async $acceptDebugSessionStarted(e){let n=await this.getSession(e);this._onDidStartDebugSession.fire(n.api)}async $acceptDebugSessionTerminated(e){let n=await this.getSession(e);n&&(this._onDidTerminateDebugSession.fire(n.api),this._debugSessions.delete(n.id))}async $acceptDebugSessionActiveChanged(e){this._activeDebugSession=e?await this.getSession(e):void 0,this._onDidChangeActiveDebugSession.fire(this._activeDebugSession?.api)}async $acceptDebugSessionNameChanged(e,n){(await this.getSession(e))?._acceptNameChanged(n)}async $acceptDebugSessionCustomEvent(e,n){let r={session:(await this.getSession(e)).api,event:n.event,body:n.body};this._onDidReceiveDebugSessionCustomEvent.fire(r)}convertToDto(e){if(e instanceof il)return this.convertExecutableToDto(e);if(e instanceof Us)return this.convertServerToDto(e);if(e instanceof sl)return this.convertPipeServerToDto(e);if(e instanceof Fs)return this.convertImplementationToDto(e);throw new Error("convertToDto unexpected type")}convertExecutableToDto(e){return{type:"executable",command:e.command,args:e.args,options:e.options}}convertServerToDto(e){return{type:"server",port:e.port,host:e.host}}convertPipeServerToDto(e){return{type:"pipeServer",path:e.path}}convertImplementationToDto(e){return{type:"implementation"}}getAdapterDescriptorFactoryByType(e){let n=this._adapterFactories.filter(o=>o.type===e);if(n.length>0)return n[0].factory}getAdapterDescriptorFactoryByHandle(e){let n=this._adapterFactories.filter(o=>o.handle===e);if(n.length>0)return n[0].factory}getConfigProviderByHandle(e){let n=this._configProviders.filter(o=>o.handle===e);if(n.length>0)return n[0].provider}definesDebugType(e,n){if(e.contributes){let o=e.contributes.debuggers;if(o&&o.length>0){for(let r of o)if(r.label&&r.type&&r.type===n)return!0}}return!1}getDebugAdapterTrackers(e){let o=e.configuration.type,r=this._trackerFactories.filter(s=>s.type===o||s.type==="*").map(s=>tn(()=>s.factory.createDebugAdapterTracker(e.api)).then(a=>a,a=>null));return Promise.race([Promise.all(r).then(s=>{let a=it(s);if(a.length>0)return new k1(a)}),new Promise(s=>setTimeout(()=>s(void 0),1e3))]).catch(s=>{})}async getAdapterDescriptor(e,n){let o=n.configuration.debugServer;if(typeof o=="number")return Promise.resolve(new Us(o));if(e){let s=await this._extensionService.getExtensionRegistry();return tn(()=>e.createDebugAdapterDescriptor(n.api,this.daExecutableFromPackage(n,s))).then(a=>{if(a)return a})}let r=await this._extensionService.getExtensionRegistry();return Promise.resolve(this.daExecutableFromPackage(n,r))}daExecutableFromPackage(e,n){}fireBreakpointChanges(e,n,o){(e.length>0||n.length>0||o.length>0)&&this._onDidChangeBreakpoints.fire(Object.freeze({added:e,removed:n,changed:o}))}async getSession(e){if(e)if(typeof e=="string"){let n=this._debugSessions.get(e);if(n)return n}else{let n=this._debugSessions.get(e.id);if(!n){let o=await this.getFolder(e.folderUri),r=e.parent?this._debugSessions.get(e.parent):void 0;n=new E1(this._debugServiceProxy,e.id,e.type,e.name,o,e.configuration,r?.api),this._debugSessions.set(n.id,n),this._debugServiceProxy.$sessionCached(n.id)}return n}throw new Error("cannot find session")}getFolder(e){if(e){let n=y.revive(e);return this._workspaceService.resolveWorkspaceFolder(n)}return Promise.resolve(void 0)}extensionVisKey(e,n){return`${e}\0${n}`}serializeVisualization(e,n){if(n){if("title"in n&&"command"in n)return{type:0};if("treeId"in n)return{type:1,id:`${e}\0${n.treeId}`};throw new Error("Unsupported debug visualization type")}}getIconPathOrClass(e){let n=this.getIconUris(e),o,r;return"id"in n?r=Je.asClassName(n):o=n,{iconPath:o,iconClass:r}}getIconUris(e){if(e instanceof an)return{id:e.id};let n=typeof e=="object"&&"dark"in e?e.dark:e,o=typeof e=="object"&&"light"in e?e.light:e;return{dark:typeof n=="string"?y.file(n):n,light:typeof o=="string"?y.file(o):o}}};$h=R([S(0,ge),S(1,eo),S(2,To),S(3,So),S(4,la),S(5,kc),S(6,Xo),S(7,wc)],$h);var E1=class{constructor(t,e,n,o,r,s,a){this._debugServiceProxy=t;this._id=e;this._type=n;this._name=o;this._workspaceFolder=r;this._configuration=s;this._parentSession=a}get api(){let t=this;return this.apiSession??=Object.freeze({id:t._id,type:t._type,get name(){return t._name},set name(e){t._name=e,t._debugServiceProxy.$setDebugSessionName(t._id,e)},parentSession:t._parentSession,workspaceFolder:t._workspaceFolder,configuration:t._configuration,customRequest(e,n){return t._debugServiceProxy.$customDebugAdapterRequest(t._id,e,n)},getDebugProtocolBreakpoint(e){return t._debugServiceProxy.$getDebugProtocolBreakpoint(t._id,e.id)}})}get id(){return this._id}get type(){return this._type}_acceptNameChanged(t){this._name=t}get configuration(){return this._configuration}},w1=class{constructor(t){this.value=Object.freeze({append(e){t.$appendDebugConsole(e)},appendLine(e){this.append(e+`
`)}})}},k1=class{constructor(t){this.trackers=t}onWillStartSession(){this.trackers.forEach(t=>t.onWillStartSession?t.onWillStartSession():void 0)}onWillReceiveMessage(t){this.trackers.forEach(e=>e.onWillReceiveMessage?e.onWillReceiveMessage(t):void 0)}onDidSendMessage(t){this.trackers.forEach(e=>e.onDidSendMessage?e.onDidSendMessage(t):void 0)}onWillStopSession(){this.trackers.forEach(t=>t.onWillStopSession?t.onWillStopSession():void 0)}onError(t){this.trackers.forEach(e=>e.onError?e.onError(t):void 0)}onExit(t,e){this.trackers.forEach(n=>n.onExit?n.onExit(t,e):void 0)}},P1=class extends QC{constructor(e){super();this.implementation=e;e.onDidSendMessage(n=>{this.acceptMessage(n)})}startSession(){return Promise.resolve(void 0)}sendMessage(e){this.implementation.handleMessage(e)}stopSession(){return this.implementation.dispose(),Promise.resolve(void 0)}},wm=class extends $h{constructor(t,e,n,o,r,s,a,l){super(t,e,n,o,r,s,a,l)}};wm=R([S(0,ge),S(1,eo),S(2,To),S(3,So),S(4,la),S(5,kc),S(6,Xo),S(7,wc)],wm);function y8(i){return"uri"in i&&"ranges"in i&&"preview"in i}function I8(i){return i.folderOptions.map(t=>({folder:t.folder,excludes:t.excludes.map(e=>typeof e=="string"?e:e.pattern),includes:t.includes,useGlobalIgnoreFiles:t.useIgnoreFiles.global,useIgnoreFiles:t.useIgnoreFiles.local,useParentIgnoreFiles:t.useIgnoreFiles.parent,followSymlinks:t.followSymlinks,maxResults:i.maxResults,session:i.session}))}var km=class{constructor(t){this.provider=t}provideFileSearchResults(t,e,n){return(async()=>{let r=I8(e);return Promise.all(r.map(s=>this.provider.provideFileSearchResults({pattern:t},s,n)))})().then(r=>it(r).flat())}};function x8(i){return i.folderOptions.map(t=>({folder:t.folder,excludes:t.excludes.map(e=>typeof e=="string"?e:e.pattern),includes:t.includes,useGlobalIgnoreFiles:t.useIgnoreFiles.global,useIgnoreFiles:t.useIgnoreFiles.local,useParentIgnoreFiles:t.useIgnoreFiles.parent,followSymlinks:t.followSymlinks,maxResults:i.maxResults,previewOptions:C8(i.previewOptions),maxFileSize:i.maxFileSize,encoding:t.encoding,afterContext:i.surroundingContext,beforeContext:i.surroundingContext}))}function C8(i){return{matchLines:i?.matchLines??Sh.matchLines,charsPerLine:i?.charsPerLine??Sh.charsPerLine}}function S8(i){if(y8(i)){let t=gn(i.ranges).map((e,n)=>{let r=gn(i.preview.matches)[n];return{sourceRange:e,previewRange:r}});return new Jo(i.uri,t,i.preview.text)}else return new _l(i.uri,i.text,i.lineNumber)}var tS=class{constructor(t){this.provider=t}provideTextSearchResults(t,e,n,o){let r=l=>{T8(l)&&n.report(S8(l))};return(async()=>it(await Promise.all(x8(e).map(l=>this.provider.provideTextSearchResults(t,l,{report:d=>r(d)},o)))).reduce((l,d)=>({limitHit:l.limitHit||d.limitHit}),{limitHit:!1}))().then(l=>({limitHit:l.limitHit,message:it(gn(l.message))}))}};function T8(i){if(E8(i)){if(Array.isArray(i.ranges)){if(!Array.isArray(i.preview.matches))return console.warn("INVALID - A text search provider match's`ranges` and`matches` properties must have the same type."),!1;if(i.preview.matches.length!==i.ranges.length)return console.warn("INVALID - A text search provider match's`ranges` and`matches` properties must have the same length."),!1}else if(Array.isArray(i.preview.matches))return console.warn("INVALID - A text search provider match's`ranges` and`matches` properties must have the same length."),!1}return!0}function E8(i){return!!i.preview}var Pm=class extends Do{constructor(t,e,n=()=>!1){let o=new af(n,()=>!1);super(o);let r=new $e;t.forEach((s,a)=>{let l=s.folder.with({query:"",fragment:""});r.has(l)?r.get(l).push({fq:s,i:a}):r.set(l,[{fq:s,i:a}])}),r.forEach((s,a)=>{let l=new Map;for(let d of s){let c=e(d.fq,d.i);l.set(this.encodeKey(d.fq.folder),c)}super.set(a,l)})}findQueryFragmentAwareSubstr(t){let e=super.findSubstr(t.with({query:"",fragment:""}));if(!e)return;let n=this.encodeKey(t);return e.get(n)}forEachFolderQueryInfo(t){return this.forEach(e=>e.forEach(n=>t(n)))}encodeKey(t){let e="";return t.query&&(e+=t.query),t.fragment&&(e+="#"+t.fragment),e}};var _1=class{constructor(t,e,n){this.config=t;this.provider=e;this.sessionLifecycle=n;this.isLimitHit=!1;this.resultCount=0;this.isCanceled=!1;this.filePattern=t.filePattern;let o=t.ignoreGlobCase?{ignoreCase:!0}:void 0;this.includePattern=t.includePattern&&Zr(t.includePattern,o),this.maxResults=t.maxResults||void 0,this.exists=t.exists,this.activeCancellationTokens=new Set,this.globalExcludePattern=t.excludePattern&&Zr(t.excludePattern,o)}cancel(){this.isCanceled=!0,this.activeCancellationTokens.forEach(t=>t.cancel()),this.activeCancellationTokens=new Set}search(t){let e=this.config.folderQueries||[];return new Promise((n,o)=>{let r=s=>{this.resultCount++,t(s)};if(this.isCanceled)return n({limitHit:this.isLimitHit});this.config.extraFileResources&&this.config.extraFileResources.forEach(s=>{let a=s.toString(),l=rn(a);this.globalExcludePattern&&this.globalExcludePattern(a,l)||this.matchFile(r,{base:s,basename:l})}),this.doSearch(e,r).then(s=>{n({limitHit:this.isLimitHit,stats:s||void 0})},s=>{o(new Error(jr(s)))})})}async doSearch(t,e){let n=new Me,o=t.map(c=>this.getSearchOptionsForFolder(c)),r=this.provider instanceof km?this.sessionLifecycle?.tokenSource.token:this.sessionLifecycle?.obj,s={folderOptions:o,maxResults:this.config.maxResults??uC,session:r},a=c=>{let u=new Np(this.config,c),m=!u.hasSiblingExcludeClauses();return{queryTester:u,noSiblingsClauses:m,folder:c.folder,tree:this.initDirectoryTree()}},l=new Pm(t,a),d;try{this.activeCancellationTokens.add(n),d=Hn.create();let c=await this.provider.provideFileSearchResults(this.config.filePattern||"",s,n.token),u=d.elapsed(),m=Hn.create();return this.isCanceled&&!this.isLimitHit||(c&&c.forEach(g=>{let v=l.findQueryFragmentAwareSubstr(g),f=Ve.relative(v.folder.path,g.path);if(v.noSiblingsClauses){let x=rn(g.path);this.matchFile(e,{base:v.folder,relativePath:f,basename:x});return}this.addDirectoryEntries(v.tree,v.folder,f,e)}),this.isCanceled&&!this.isLimitHit)?null:(l.forEachFolderQueryInfo(g=>{this.matchDirectoryTree(g.tree,g.queryTester,e)}),{providerTime:u,postProcessTime:m.elapsed()})}finally{n.dispose(),this.activeCancellationTokens.delete(n)}}getSearchOptionsForFolder(t){let e=Dl(this.config.includePattern,t.includePattern),n=t.excludePattern?.map(r=>({folder:r.folder,patterns:Dl(this.config.excludePattern,r.pattern)}));n?.length||(n=[{folder:void 0,patterns:Dl(this.config.excludePattern,void 0)}]);let o=mC(n);return{folder:t.folder,excludes:o,includes:e,useIgnoreFiles:{local:!t.disregardIgnoreFiles,parent:!t.disregardParentIgnoreFiles,global:!t.disregardGlobalIgnoreFiles},followSymlinks:!t.ignoreSymlinks}}initDirectoryTree(){let t={rootEntries:[],pathToEntries:Object.create(null)};return t.pathToEntries["."]=t.rootEntries,t}addDirectoryEntries({pathToEntries:t},e,n,o){if(this.filePattern&&rb(n,this.filePattern,this.config.ignoreGlobCase)){let s=rn(this.filePattern);this.matchFile(o,{base:e,relativePath:this.filePattern,basename:s})}function r(s){let a=rn(s),l=wi(s),d=t[l];d||(d=t[l]=[],r(l)),d.push({base:e,relativePath:s,basename:a})}r(n)}matchDirectoryTree({rootEntries:t,pathToEntries:e},n,o){let r=this,s=this.filePattern,a=this.config.ignoreGlobCase;function l(d){let c=iF(()=>d.map(u=>u.basename));for(let u=0,m=d.length;u<m;u++){let g=d[u],{relativePath:v,basename:f}=g;if(n.matchesExcludesSync(v,f,rb(s,f,a)?void 0:c))continue;let x=e[v];if(x)l(x);else{if(rb(v,s,a))continue;r.matchFile(o,g)}if(r.isLimitHit)break}}l(t)}matchFile(t,e){(!this.includePattern||e.relativePath&&this.includePattern(e.relativePath,e.basename))&&((this.exists||this.maxResults&&this.resultCount>=this.maxResults)&&(this.isLimitHit=!0,this.cancel()),this.isLimitHit||t(e))}},D1=class{constructor(){this._obj=new Object,this.tokenSource=new Me}get obj(){if(this._obj)return this._obj;throw new Error("Session object has been dereferenced.")}cancel(){this.tokenSource.cancel(),this._obj=void 0}},nS=class i{constructor(){this.sessions=new Map}static{this.BATCH_SIZE=512}fileSearch(t,e,n,o){let r=this.getSessionTokenSource(t.cacheKey),s=new _1(t,e,r),a=0,l=d=>{a+=d.length,n(d.map(c=>this.rawMatchToSearchItem(c)))};return this.doSearch(s,i.BATCH_SIZE,l,o).then(d=>({limitHit:d.limitHit,stats:d.stats?{fromCache:!1,type:"fileSearchProvider",resultCount:a,detailStats:d.stats}:void 0,messages:[]}))}clearCache(t){this.sessions.get(t)?.cancel(),this.sessions.delete(t)}getSessionTokenSource(t){if(t)return this.sessions.has(t)||this.sessions.set(t,new D1),this.sessions.get(t)}rawMatchToSearchItem(t){return t.relativePath?{resource:Nt(t.base,t.relativePath)}:{resource:t.base}}doSearch(t,e,n,o){let r=o.onCancellationRequested(()=>{t.cancel()}),s=l=>{l&&(a.push(l),e>0&&a.length>=e&&(n(a),a=[]))},a=[];return t.search(s).then(l=>(a.length&&n(a),r.dispose(),l),l=>(a.length&&n(a),r.dispose(),Promise.reject(l)))}};var zh=class{constructor(t,e,n){this.queryProviderPair=t;this.fileUtils=e;this.processType=n;this.collector=null;this.isLimitHit=!1;this.resultCount=0}get query(){return this.queryProviderPair.query}search(t,e,n){let o=this.query.folderQueries||[],r=new Me(e);return new Promise((s,a)=>{this.collector=new R1(t);let l=!1,d=(c,u)=>{if(!(c instanceof hc)&&!l&&!this.isLimitHit){let m=this.resultSize(c);c instanceof Jo&&typeof this.query.maxResults=="number"&&this.resultCount+m>this.query.maxResults&&(this.isLimitHit=!0,l=!0,r.cancel(),c=this.trimResultToSize(c,this.query.maxResults-this.resultCount));let g=this.resultSize(c);this.resultCount+=g;let v=c instanceof Jo;(g>0||!v)&&this.collector.add(c,u)}};this.doSearch(o,d,r.token,n).then(c=>{r.dispose(),this.collector.flush(),s({limitHit:this.isLimitHit||c?.limitHit,messages:this.getMessagesFromResults(c),stats:{type:this.processType}})},c=>{r.dispose();let u=jr(c);a(new Error(u))})})}getMessagesFromResults(t){return t?.message?Array.isArray(t.message)?t.message:[t.message]:[]}resultSize(t){return t instanceof Jo?Array.isArray(t.ranges)?t.ranges.length:1:0}trimResultToSize(t,e){return new Jo(t.uri,t.ranges.slice(0,e),t.previewText)}async doSearch(t,e,n,o){let r=new Pm(t,(u,m)=>({queryTester:new Np(this.query,u),folder:u.folder,folderIdx:m}),()=>!0),s=[],a={report:u=>{if(u instanceof hc)o?.(u);else{if(u.uri===void 0)throw Error("Text search result URI is undefined. Please check provider implementation.");let m=r.findQueryFragmentAwareSubstr(u.uri);if(m?.folder?.scheme){let g=m.folder.scheme===K.file?rF(()=>this.fileUtils.readdir(sr(u.uri))):void 0,v=Kg(m.folder,u.uri);if(v){let f=m.queryTester.includedInQuery(v,rn(v),g);Tr(f)?s.push(f.then(x=>{x&&e(u,m.folderIdx)})):f&&e(u,m.folderIdx)}}}}},d={folderOptions:t.map(u=>this.getSearchOptionsForFolder(u)),maxFileSize:this.query.maxFileSize,maxResults:this.query.maxResults??uC,previewOptions:this.query.previewOptions??Sh,surroundingContext:this.query.surroundingContext??0};"usePCRE2"in this.query&&(d.usePCRE2=this.query.usePCRE2);let c;return this.queryProviderPair.query.type===3?c=await this.queryProviderPair.provider.provideAITextSearchResults(this.queryProviderPair.query.contentPattern,d,a,n):c=await this.queryProviderPair.provider.provideTextSearchResults(w8(this.queryProviderPair.query.contentPattern),d,a,n),s.length&&await Promise.all(s),c}getSearchOptionsForFolder(t){let e=Dl(this.query.includePattern,t.includePattern),n=t.excludePattern?.map(s=>({folder:s.folder,patterns:Dl(this.query.excludePattern,s.pattern)}));(!n||n.length===0)&&(n=[{folder:void 0,patterns:Dl(this.query.excludePattern,void 0)}]);let o=mC(n);return{folder:y.from(t.folder),excludes:o,includes:e,useIgnoreFiles:{local:!t.disregardIgnoreFiles,parent:!t.disregardParentIgnoreFiles,global:!t.disregardGlobalIgnoreFiles},followSymlinks:!t.ignoreSymlinks,encoding:(t.fileEncoding&&this.fileUtils.toCanonicalName(t.fileEncoding))??"",ignoreGlobCase:this.query.ignoreGlobCase||t.ignoreGlobCase}}};function w8(i){return{isCaseSensitive:i.isCaseSensitive||!1,isRegExp:i.isRegExp||!1,isWordMatch:i.isWordMatch||!1,isMultiline:i.isMultiline||!1,pattern:i.pattern}}var R1=class{constructor(t){this._onResult=t;this._currentFolderIdx=-1;this._currentFileMatch=null;this._batchedCollector=new A1(512,e=>this.sendItems(e))}add(t,e){this._currentFileMatch&&(this._currentFolderIdx!==e||!Cn(this._currentUri,t.uri))&&(this.pushToCollector(),this._currentFileMatch=null),this._currentFileMatch||(this._currentFolderIdx=e,this._currentUri=t.uri,this._currentFileMatch={resource:t.uri,results:[]}),this._currentFileMatch.results.push(k8(t))}pushToCollector(){let t=this._currentFileMatch&&this._currentFileMatch.results?this._currentFileMatch.results.length:0;this._batchedCollector.addItem(this._currentFileMatch,t)}flush(){this.pushToCollector(),this._batchedCollector.flush()}sendItems(t){this._onResult(t)}};function k8(i){return i instanceof Jo?{previewText:i.previewText,rangeLocations:i.ranges.map(t=>({preview:{startLineNumber:t.previewRange.start.line,startColumn:t.previewRange.start.character,endLineNumber:t.previewRange.end.line,endColumn:t.previewRange.end.character},source:{startLineNumber:t.sourceRange.start.line,startColumn:t.sourceRange.start.character,endLineNumber:t.sourceRange.end.line,endColumn:t.sourceRange.end.character}}))}:{text:i.text,lineNumber:i.lineNumber}}var A1=class i{constructor(t,e){this.maxBatchSize=t;this.cb=e;this.totalNumberCompleted=0;this.batch=[];this.batchSize=0}static{this.TIMEOUT=4e3}static{this.START_BATCH_AFTER_COUNT=50}addItem(t,e){t&&this.addItemToBatch(t,e)}addItems(t,e){t&&this.addItemsToBatch(t,e)}addItemToBatch(t,e){this.batch.push(t),this.batchSize+=e,this.onUpdate()}addItemsToBatch(t,e){this.batch=this.batch.concat(t),this.batchSize+=e,this.onUpdate()}onUpdate(){this.totalNumberCompleted<i.START_BATCH_AFTER_COUNT?this.flush():this.batchSize>=this.maxBatchSize?this.flush():this.timeoutHandle||(this.timeoutHandle=setTimeout(()=>{this.flush()},i.TIMEOUT))}flush(){this.batchSize&&(this.totalNumberCompleted+=this.batchSize,this.cb(this.batch),this.batch=[],this.batchSize=0,this.timeoutHandle&&(clearTimeout(this.timeoutHandle),this.timeoutHandle=void 0))}};var oS=A("IExtHostSearch"),_m=class{constructor(t,e,n){this.extHostRpc=t;this._uriTransformer=e;this._logService=n;this._proxy=this.extHostRpc.getProxy(L.MainThreadSearch),this._handlePool=0,this._textSearchProvider=new Map,this._textSearchUsedSchemes=new Set,this._aiTextSearchProvider=new Map,this._aiTextSearchUsedSchemes=new Set,this._fileSearchProvider=new Map,this._fileSearchUsedSchemes=new Set,this._fileSearchManager=new nS}_transformScheme(t){return this._uriTransformer.transformOutgoingScheme(t)}registerTextSearchProviderOld(t,e){if(this._textSearchUsedSchemes.has(t))throw new Error(`a text search provider for the scheme '${t}' is already registered`);this._textSearchUsedSchemes.add(t);let n=this._handlePool++;return this._textSearchProvider.set(n,new tS(e)),this._proxy.$registerTextSearchProvider(n,this._transformScheme(t)),X(()=>{this._textSearchUsedSchemes.delete(t),this._textSearchProvider.delete(n),this._proxy.$unregisterProvider(n)})}registerTextSearchProvider(t,e){if(this._textSearchUsedSchemes.has(t))throw new Error(`a text search provider for the scheme '${t}' is already registered`);this._textSearchUsedSchemes.add(t);let n=this._handlePool++;return this._textSearchProvider.set(n,e),this._proxy.$registerTextSearchProvider(n,this._transformScheme(t)),X(()=>{this._textSearchUsedSchemes.delete(t),this._textSearchProvider.delete(n),this._proxy.$unregisterProvider(n)})}registerAITextSearchProvider(t,e){if(this._aiTextSearchUsedSchemes.has(t))throw new Error(`an AI text search provider for the scheme '${t}'is already registered`);this._aiTextSearchUsedSchemes.add(t);let n=this._handlePool++;return this._aiTextSearchProvider.set(n,e),this._proxy.$registerAITextSearchProvider(n,this._transformScheme(t)),X(()=>{this._aiTextSearchUsedSchemes.delete(t),this._aiTextSearchProvider.delete(n),this._proxy.$unregisterProvider(n)})}registerFileSearchProviderOld(t,e){if(this._fileSearchUsedSchemes.has(t))throw new Error(`a file search provider for the scheme '${t}' is already registered`);this._fileSearchUsedSchemes.add(t);let n=this._handlePool++;return this._fileSearchProvider.set(n,new km(e)),this._proxy.$registerFileSearchProvider(n,this._transformScheme(t)),X(()=>{this._fileSearchUsedSchemes.delete(t),this._fileSearchProvider.delete(n),this._proxy.$unregisterProvider(n)})}registerFileSearchProvider(t,e){if(this._fileSearchUsedSchemes.has(t))throw new Error(`a file search provider for the scheme '${t}' is already registered`);this._fileSearchUsedSchemes.add(t);let n=this._handlePool++;return this._fileSearchProvider.set(n,e),this._proxy.$registerFileSearchProvider(n,this._transformScheme(t)),X(()=>{this._fileSearchUsedSchemes.delete(t),this._fileSearchProvider.delete(n),this._proxy.$unregisterProvider(n)})}$provideFileSearchResults(t,e,n,o){let r=M1(n),s=this._fileSearchProvider.get(t);if(s)return this._fileSearchManager.fileSearch(r,s,a=>{this._proxy.$handleFileMatch(t,e,a.map(l=>l.resource))},o);throw new Error("unknown provider: "+t)}async doInternalFileSearchWithCustomCallback(t,e,n){return{messages:[]}}$clearCache(t){return this._fileSearchManager.clearCache(t),Promise.resolve(void 0)}$provideTextSearchResults(t,e,n,o){let r=this._textSearchProvider.get(t);if(!r||!r.provideTextSearchResults)throw new Error(`Unknown Text Search Provider ${t}`);let s=M1(n);return this.createTextSearchManager(s,r).search(l=>this._proxy.$handleTextMatch(t,e,l),o)}$provideAITextSearchResults(t,e,n,o){let r=this._aiTextSearchProvider.get(t);if(!r||!r.provideAITextSearchResults)throw new Error(`Unknown AI Text Search Provider ${t}`);let s=M1(n);return this.createAITextSearchManager(s,r).search(l=>this._proxy.$handleTextMatch(t,e,l),o,l=>this._proxy.$handleKeywordResult(t,e,l))}$enableExtensionHostSearch(){}async $getAIName(t){let e=this._aiTextSearchProvider.get(t);if(!(!e||!e.provideAITextSearchResults))return e.name??"AI"}createTextSearchManager(t,e){return new zh({query:t,provider:e},{readdir:n=>Promise.resolve([]),toCanonicalName:n=>n},"textSearchProvider")}createAITextSearchManager(t,e){return new zh({query:t,provider:e},{readdir:n=>Promise.resolve([]),toCanonicalName:n=>n},"aiTextSearchProvider")}};_m=R([S(0,ge),S(1,Oa),S(2,ae)],_m);function M1(i){return{...i,folderQueries:i.folderQueries&&i.folderQueries.map(P8),extraFileResources:i.extraFileResources&&i.extraFileResources.map(t=>y.revive(t))}}function P8(i){return _t(i)}var Dm=class extends V{constructor(e){super();this._onDidSuspend=this._register(new w);this.onDidSuspend=this._onDidSuspend.event;this._onDidResume=this._register(new w);this.onDidResume=this._onDidResume.event;this._onDidChangeOnBatteryPower=this._register(new w);this.onDidChangeOnBatteryPower=this._onDidChangeOnBatteryPower.event;this._onDidChangeThermalState=this._register(new w);this.onDidChangeThermalState=this._onDidChangeThermalState.event;this._onDidChangeSpeedLimit=this._register(new w);this.onDidChangeSpeedLimit=this._onDidChangeSpeedLimit.event;this._onWillShutdown=this._register(new w);this.onWillShutdown=this._onWillShutdown.event;this._onDidLockScreen=this._register(new w);this.onDidLockScreen=this._onDidLockScreen.event;this._onDidUnlockScreen=this._register(new w);this.onDidUnlockScreen=this._onDidUnlockScreen.event;this._proxy=e.getProxy(L.MainThreadPower)}$onDidSuspend(){this._onDidSuspend.fire()}$onDidResume(){this._onDidResume.fire()}$onDidChangeOnBatteryPower(e){this._onDidChangeOnBatteryPower.fire(e)}$onDidChangeThermalState(e){this._onDidChangeThermalState.fire(e)}$onDidChangeSpeedLimit(e){this._onDidChangeSpeedLimit.fire(e)}$onWillShutdown(){this._onWillShutdown.fire()}$onDidLockScreen(){this._onDidLockScreen.fire()}$onDidUnlockScreen(){this._onDidUnlockScreen.fire()}getSystemIdleState(e){return this._proxy.$getSystemIdleState(e)}getSystemIdleTime(){return this._proxy.$getSystemIdleTime()}getCurrentThermalState(){return this._proxy.$getCurrentThermalState()}isOnBatteryPower(){return this._proxy.$isOnBatteryPower()}async startPowerSaveBlocker(e){let n=await this._proxy.$startPowerSaveBlocker(e),o=this._proxy,r=n>=0,s=!1;return{id:n,get isStarted(){return r&&!s},dispose:()=>{r&&!s&&(s=!0,o.$stopPowerSaveBlocker(n))}}}};Dm=R([S(0,ge)],Dm);var rS=A("IExtHostPower");var Rm=class extends Db{constructor(t,e){super(e.logLevel,e.logsLocation,e.loggers.map(n=>_t(n))),this._proxy=t.getProxy(L.MainThreadLogger)}$setLogLevel(t,e){e?this.setLogLevel(y.revive(e),t):this.setLogLevel(t)}setVisibility(t,e){super.setVisibility(t,e),this._proxy.$setVisibility(t,e)}doCreateLogger(t,e,n){return new O1(this._proxy,t,e,n)}};Rm=R([S(0,ge),S(1,nt)],Rm);var O1=class extends su{constructor(e,n,o,r){super(r?.logLevel==="always");this.proxy=e;this.file=n;this.isLoggerCreated=!1;this.buffer=[];this.setLevel(o),this.proxy.$createLogger(n,r).then(()=>{this.doLog(this.buffer),this.isLoggerCreated=!0})}log(e,n){let o=[[e,n]];this.isLoggerCreated?this.doLog(o):this.buffer.push(...o)}doLog(e){this.proxy.$log(this.file,e)}flush(){this.proxy.$flush(this.file)}};var aS=A("IExtHostTerminalShellIntegration"),Am=class extends V{constructor(e,n){super();this._extHostTerminalService=n;this._activeShellIntegrations=new Map;this._onDidChangeTerminalShellIntegration=this._register(new w);this.onDidChangeTerminalShellIntegration=this._onDidChangeTerminalShellIntegration.event;this._onDidStartTerminalShellExecution=this._register(new w);this.onDidStartTerminalShellExecution=this._onDidStartTerminalShellExecution.event;this._onDidEndTerminalShellExecution=this._register(new w);this.onDidEndTerminalShellExecution=this._onDidEndTerminalShellExecution.event;this._proxy=e.getProxy(L.MainThreadTerminalShellIntegration),this._register(X(()=>{for(let[o,r]of this._activeShellIntegrations)r.dispose();this._activeShellIntegrations.clear()}))}$shellIntegrationChange(e,n){let o=this._extHostTerminalService.getTerminalById(e);if(!o)return;let r=o.value,s=this._activeShellIntegrations.get(e);s||(s=new L1(o.value,n,this._onDidStartTerminalShellExecution),this._activeShellIntegrations.set(e,s),s.store.add(o.onWillDispose(()=>this._activeShellIntegrations.get(e)?.dispose())),s.store.add(s.onDidRequestShellExecution(a=>this._proxy.$executeCommand(e,a))),s.store.add(s.onDidRequestEndExecution(a=>this._onDidEndTerminalShellExecution.fire(a))),s.store.add(s.onDidRequestChangeShellIntegration(a=>this._onDidChangeTerminalShellIntegration.fire(a))),o.shellIntegration=s.value),this._onDidChangeTerminalShellIntegration.fire({terminal:r,shellIntegration:s.value})}$shellExecutionStart(e,n,o,r,s,a){this._activeShellIntegrations.has(e)||this.$shellIntegrationChange(e,n);let l={value:o,confidence:r,isTrusted:s};this._activeShellIntegrations.get(e)?.startShellExecution(l,this._convertCwdToUri(a))}$shellExecutionEnd(e,n,o,r,s){let a={value:n,confidence:o,isTrusted:r};this._activeShellIntegrations.get(e)?.endShellExecution(a,s)}$shellExecutionData(e,n){this._activeShellIntegrations.get(e)?.emitData(n)}$shellEnvChange(e,n,o,r){this._activeShellIntegrations.get(e)?.setEnv(n,o,r)}$cwdChange(e,n){this._activeShellIntegrations.get(e)?.setCwd(this._convertCwdToUri(n))}$closeTerminal(e){this._activeShellIntegrations.get(e)?.dispose(),this._activeShellIntegrations.delete(e)}_convertCwdToUri(e){return e?y.file(e):void 0}};Am=R([S(0,ge),S(1,ci)],Am);var L1=class extends V{constructor(e,n,o){super();this._terminal=e;this._onDidStartTerminalShellExecution=o;this._pendingExecutions=[];this.store=this._register(new J);this._onDidRequestChangeShellIntegration=this._register(new w);this.onDidRequestChangeShellIntegration=this._onDidRequestChangeShellIntegration.event;this._onDidRequestShellExecution=this._register(new w);this.onDidRequestShellExecution=this._onDidRequestShellExecution.event;this._onDidRequestEndExecution=this._register(new w);this.onDidRequestEndExecution=this._onDidRequestEndExecution.event;this._onDidRequestNewExecution=this._register(new w);this.onDidRequestNewExecution=this._onDidRequestNewExecution.event;let r=this;this.value={get cwd(){return r._cwd},get env(){if(r._env)return Object.freeze({isTrusted:r._env.isTrusted,value:Object.freeze({...r._env.value})})},executeCommand(s,a){if(!n)throw new Error("This terminal does not support the executeCommand API.");let l=s;if(a)for(let u of a)!u.match(/["'`]/)&&u.match(/\s/)?l+=` "${u}"`:l+=` ${u}`;r._onDidRequestShellExecution.fire(l);let d={value:l,confidence:2,isTrusted:!0};return r.requestNewShellExecution(d,r._cwd).value}}}get currentExecution(){return this._currentExecution}requestNewShellExecution(e,n){let o=new sS(e,n??this._cwd);return iS(e.value).length>1&&(this._currentExecutionProperties={isMultiLine:!0,unresolvedCommandLines:iS(e.value)}),this._pendingExecutions.push(o),this._onDidRequestNewExecution.fire(e.value),o}startShellExecution(e,n){if(this._pendingEndingExecution&&(this._onDidRequestEndExecution.fire({terminal:this._terminal,shellIntegration:this.value,execution:this._pendingEndingExecution.value,exitCode:void 0}),this._pendingEndingExecution=void 0),this._currentExecution){if(this._currentExecutionProperties?.isMultiLine&&this._currentExecutionProperties.unresolvedCommandLines){let r=m2(this._currentExecutionProperties.unresolvedCommandLines,e);if(r){this._currentExecutionProperties.unresolvedCommandLines=r.unresolvedCommandLines;return}}this._currentExecution.endExecution(void 0),this._currentExecution.flush(),this._onDidRequestEndExecution.fire({terminal:this._terminal,shellIntegration:this.value,execution:this._currentExecution.value,exitCode:void 0})}let o;if(e.confidence===2)for(let[r,s]of this._pendingExecutions.entries())if(s.value.commandLine.value===e.value){o=s,this._currentExecutionProperties={isMultiLine:!1,unresolvedCommandLines:void 0},o=s,this._pendingExecutions.splice(r,1);break}else{let a=m2(iS(s.value.commandLine.value),e);if(a){this._currentExecutionProperties={isMultiLine:!0,unresolvedCommandLines:a.unresolvedCommandLines},o=s,this._pendingExecutions.splice(r,1);break}}else o=this._pendingExecutions.shift();o||(o=new sS(e,n??this._cwd)),this._currentExecution=o,this._onDidStartTerminalShellExecution.fire({terminal:this._terminal,shellIntegration:this.value,execution:this._currentExecution.value})}emitData(e){this.currentExecution?.emitData(e)}endShellExecution(e,n){if(!(this._currentExecutionProperties?.isMultiLine&&this._currentExecutionProperties.unresolvedCommandLines&&this._currentExecutionProperties.unresolvedCommandLines.length>0)&&this._currentExecution){let o=this._currentExecutionProperties?.isMultiLine?this._currentExecution.value.commandLine:e;this._currentExecution.endExecution(o);let r=this._currentExecution;this._pendingEndingExecution=r,this._currentExecution=void 0,r.flush().then(()=>{this._pendingEndingExecution===r&&(this._onDidRequestEndExecution.fire({terminal:this._terminal,shellIntegration:this.value,execution:r.value,exitCode:n}),this._pendingEndingExecution=void 0)})}}setEnv(e,n,o){let r={};for(let s=0;s<e.length;s++)r[e[s]]=n[s];this._env={value:r,isTrusted:o},this._fireChangeEvent()}setCwd(e){let n=!1;y.isUri(this._cwd)?n=!y.isUri(e)||this._cwd.toString()!==e.toString():this._cwd!==e&&(n=!0),n&&(this._cwd=e,this._fireChangeEvent())}_fireChangeEvent(){this._onDidRequestChangeShellIntegration.fire({terminal:this._terminal,shellIntegration:this.value})}},sS=class{constructor(t,e){this._commandLine=t;this.cwd=e;this._isEnded=!1;let n=this;this.value={get commandLine(){return n._commandLine},get cwd(){return n.cwd},read(){return n._createDataStream()}}}_createDataStream(){if(!this._dataStream){if(this._isEnded)return bs.EMPTY;this._dataStream=new N1}return this._dataStream.createIterable()}emitData(t){this._isEnded||this._dataStream?.emitData(t)}endExecution(t){t&&(this._commandLine=t),this._dataStream?.endExecution(),this._isEnded=!0}async flush(){this._dataStream&&(await this._dataStream.flush(),this._dataStream.dispose(),this._dataStream=void 0)}},N1=class extends V{constructor(){super(...arguments);this._iterables=[];this._emitters=[]}createIterable(){this._barrier||(this._barrier=new An);let e=this._barrier,n=new bs(async o=>{this._emitters.push(o),await e.wait()});return this._iterables.push(n),n}emitData(e){for(let n of this._emitters)n.emitOne(e)}endExecution(){this._barrier?.open()}async flush(){await Promise.all(this._iterables.map(e=>e.toPromise()))}};function iS(i){return i.split(`
`).map(t=>t.trim()).filter(t=>t.length>0)}function m2(i,t){if(i.length===0)return!1;let e=[...i],n=iS(t.value);if(e&&e.length>0){for(;e.length>0&&e[0]===n[0];)e.shift(),n.shift();if(n.length===0)return{unresolvedCommandLines:e}}return!1}var Mm=class{constructor(t){this.dataBuffer="";this.eventTypeBuffer="";this.buffer=[];this.endedOnCR=!1;this.onEventHandler=t,this.decoder=new TextDecoder("utf-8")}getLastEventId(){return this.lastEventIdBuffer}getReconnectionTime(){return this.reconnectionTime}feed(t){if(t.length===0)return;let e=0;for(this.endedOnCR&&t[0]===10&&e++,this.endedOnCR=!1;e<t.length;){let n=t.indexOf(13,e),o=t.indexOf(10,e),r=n===-1?o:o===-1?n:Math.min(n,o);if(r===-1)break;let s="";for(let a of this.buffer)s+=this.decoder.decode(a,{stream:!0});s+=this.decoder.decode(t.subarray(e,r)),this.processLine(s),this.buffer.length=0,e=r+(t[r]===13&&t[r+1]===10?2:1)}e<t.length?this.buffer.push(t.subarray(e)):this.endedOnCR=t[t.length-1]===13}processLine(t){if(!t.length){this.dispatchEvent();return}if(t.startsWith(":"))return;let e,n,o=t.indexOf(":");o===-1?(e=t,n=""):(e=t.substring(0,o),n=t.substring(o+1),n.startsWith(" ")&&(n=n.substring(1))),this.processField(e,n)}processField(t,e){switch(t){case"event":this.eventTypeBuffer=e;break;case"data":this.dataBuffer+=e,this.dataBuffer+=`
`;break;case"id":e.includes("\0")?this.currentEventId=void 0:this.currentEventId=this.lastEventIdBuffer=e;break;case"retry":/^\d+$/.test(e)&&(this.reconnectionTime=parseInt(e,10));break}}dispatchEvent(){if(this.dataBuffer===""){this.dataBuffer="",this.eventTypeBuffer="";return}this.dataBuffer.endsWith(`
`)&&(this.dataBuffer=this.dataBuffer.substring(0,this.dataBuffer.length-1));let t={type:this.eventTypeBuffer||"message",data:this.dataBuffer};this.currentEventId!==void 0&&(t.id=this.currentEventId),this.reconnectionTime!==void 0&&(t.retry=this.reconnectionTime),this.onEventHandler(t),this.reset()}reset(){this.dataBuffer="",this.eventTypeBuffer="",this.currentEventId=void 0}};var qh=class{validateOrThrow(t){let e=this.validate(t);if(e.error)throw new Error(e.error.message);return e.content}},Om=class extends qh{constructor(e){super();this.type=e}validate(e){return typeof e!==this.type?{content:void 0,error:{message:`Expected ${this.type}, but got ${typeof e}`}}:{content:e,error:void 0}}getJSONSchema(){return{type:this.type}}},_8=new Om("string");function Gh(){return _8}var D8=new Om("number");function g2(){return D8}var yFe=new Om("boolean");var R8=new Om("object");function lS(){return R8}var Kh=class{constructor(t){this.validator=t}};function Pc(i){return new Kh(i)}var U1=class extends qh{constructor(e){super();this.properties=e}validate(e){if(typeof e!="object"||e===null)return{content:void 0,error:{message:"Expected object"}};let n={};for(let o in this.properties){let r=this.properties[o],s=e[o],a=r instanceof Kh,l=a?r.validator:r;if(a&&s===void 0)continue;let{content:d,error:c}=l.validate(s);if(c)return{content:void 0,error:{message:`Error in property '${o}': ${c.message}`}};n[o]=d}return{content:n,error:void 0}}getJSONSchema(){let e=[],n={};for(let[r,s]of Object.entries(this.properties)){let a=s instanceof Kh,l=a?s.validator:s;n[r]=l.getJSONSchema(),a||e.push(r)}return{type:"object",properties:n,...e.length>0?{required:e}:{}}}};function jh(i){return new U1(i)}var F1=class extends qh{constructor(e){super();this.validator=e}validate(e){if(!Array.isArray(e))return{content:void 0,error:{message:"Expected array"}};let n=[];for(let o=0;o<e.length;o++){let{content:r,error:s}=this.validator.validate(e[o]);if(s)return{content:void 0,error:{message:`Error in element ${o}: ${s.message}`}};n.push(r)}return{content:n,error:void 0}}getJSONSchema(){return{type:"array",items:this.validator.getJSONSchema()}}};function H1(i){return new F1(i)}var Qh=A("IExtHostMpcService"),A8=jh({label:Gh(),version:Pc(Gh()),metadata:Pc(jh({capabilities:Pc(lS()),serverInfo:Pc(lS()),tools:Pc(H1(jh({availability:g2(),definition:lS()})))})),authentication:Pc(jh({providerId:Gh(),scopes:H1(Gh())}))}),Lm=class extends V{constructor(e,n,o,r,s){super();this._logService=n;this._extHostInitData=o;this._workspaceService=r;this._variableResolver=s;this._initialProviderPromises=new Set;this._sseEventSources=this._register(new Un);this._unresolvedMcpServers=new Map;this._onDidChangeMcpServerDefinitions=this._register(new w);this.onDidChangeMcpServerDefinitions=this._onDidChangeMcpServerDefinitions.event;this._mcpServerDefinitions=[];this._activeGateways=new Map;this._proxy=e.getProxy(L.MainThreadMcp)}get mcpServerDefinitions(){return this._mcpServerDefinitions}$onDidChangeMcpServerDefinitions(e){this._mcpServerDefinitions=e.map(n=>Lp.to(n)),this._onDidChangeMcpServerDefinitions.fire()}$startMcp(e,n){this._startMcp(e,Ld.fromSerialized(n.launch),n.defaultCwd&&y.revive(n.defaultCwd),n.errorOnUserInteraction)}_startMcp(e,n,o,r){if(n.type===2){this._sseEventSources.set(e,new W1(e,n,this._proxy,this._logService,r));return}throw new Error("not implemented")}async $substituteVariables(e,n){let o=y.revive(e),r=o&&await this._workspaceService.resolveWorkspaceFolder(o);return(await this._variableResolver.getResolver()).resolveAsync(r&&{uri:r.uri,name:r.name,index:r.index},n)}$stopMcp(e){this._sseEventSources.get(e)?.close().then(()=>this._didClose(e))}_didClose(e){this._sseEventSources.deleteAndDispose(e)}$sendMessage(e,n){this._sseEventSources.get(e)?.send(n)}async $waitForInitialCollectionProviders(){await Promise.all(this._initialProviderPromises)}async $resolveMcpLaunch(e,n){let o=this._unresolvedMcpServers.get(e);if(!o)return;let r=o.servers.find(a=>a.label===n);if(!r)return;if(!o.provider.resolveMcpServerDefinition)return Lp.from(r);let s=await o.provider.resolveMcpServerDefinition(r,ye.None);return s?Lp.from(s):void 0}registerMcpConfigurationProvider(e,n,o){let r=new J,s=e.contributes?.mcpServerDefinitionProviders?.find(c=>c.id===n);if(!s)throw new Error(`MCP configuration providers must be registered in the contributes.mcpServerDefinitionProviders array within your package.json, but "${n}" was not`);let a={id:lU(e.identifier,n),isTrustedByDefault:!0,label:s?.label??e.displayName??e.name,scope:1,canResolveLaunch:typeof o.resolveMcpServerDefinition=="function",extensionId:e.identifier.value,configTarget:this._extHostInitData.remote.isRemote?4:2},l=async()=>{let c=await o.provideMcpServerDefinitions(ye.None);this._unresolvedMcpServers.set(a.id,{servers:c??[],provider:o});let u=[];for(let m of c??[]){let g=Se.toKey(e.identifier)+"/"+m.label;if(u.some(x=>x.id===g)){let x=2;for(;u.some(C=>C.id===g+x);)x++;g=g+x}A8.validateOrThrow(m),m.authentication&&D(e,"mcpToolDefinitions");let v,f=m;De(e,"mcpToolDefinitions")&&f.metadata&&(v={capabilities:f.metadata.capabilities,instructions:f.metadata.instructions,serverInfo:f.metadata.serverInfo,tools:f.metadata.tools?.map(x=>({availability:x.availability===1?1:0,definition:x.definition}))}),u.push({id:g,label:m.label,cacheNonce:m.version||"$$NONE",staticMetadata:v,launch:Lp.from(m)})}this._proxy.$upsertMcpCollection(a,u)};r.add(X(()=>{this._unresolvedMcpServers.delete(a.id),this._proxy.$deleteMcpCollection(a.id)})),o.onDidChangeMcpServerDefinitions&&r.add(o.onDidChangeMcpServerDefinitions(l)),o.onDidChangeServerDefinitions&&r.add(o.onDidChangeServerDefinitions(l)),o.onDidChange&&r.add(o.onDidChange(l));let d=new Promise(c=>{setTimeout(()=>l().finally(()=>{this._initialProviderPromises.delete(d),c()}),0)});return this._initialProviderPromises.add(d),r}async startMcpGateway(e){let n=await this._proxy.$startMcpGateway(e?.toJSON());if(!n)return;let o=n.gatewayId,r=n.servers.map(a=>({label:a.label,address:y.revive(a.address)})),s=new w;return this._activeGateways.set(o,{servers:r,onDidChangeServers:s}),{get servers(){return r},onDidChangeServers:s.event,dispose:()=>{this._activeGateways.delete(o),s.dispose(),this._proxy.$disposeMcpGateway(o)}}}$onDidChangeGatewayServers(e,n){let o=this._activeGateways.get(e);if(!o)return;let r=n.map(s=>({label:s.label,address:y.revive(s.address)}));o.servers.length=0,o.servers.push(...r),o.onDidChangeServers.fire(r)}};Lm=R([S(0,ge),S(1,ae),S(2,nt),S(3,eo),S(4,kc)],Lm);function V1(i){if(!(i instanceof Error))return String(i);let t=String(i),e=i.cause;for(let n=0;e!==void 0&&n<5;n++)t+=`: ${e instanceof Error&&e.message||String(e)}`,e=e instanceof Error?e.cause:void 0;return t}var M8=5,O8=[301,302,303,307,308],W1=class extends V{constructor(e,n,o,r,s){super();this._id=e;this._launch=n;this._proxy=o;this._logService=r;this._errorOnUserInteraction=s;this._requestSequencer=new gb;this._postEndpoint=new cn;this._mode={value:0};this._cts=new Me;this._abortCtrl=new AbortController;this._didSendClose=!1;this._register(X(()=>{this._abortCtrl.abort(),this._cts.dispose(!0)})),this._proxy.$onDidChangeState(this._id,{state:Yr.Kind.Running})}async send(e){try{this._mode.value===0?await this._requestSequencer.queue(()=>this._send(e)):await this._send(e)}catch(n){let o=`Error sending message to ${this._launch.uri}: ${V1(n)}`;this._proxy.$onDidChangeState(this._id,{state:Yr.Kind.Error,message:o})}}async close(){if(this._mode.value===1&&this._mode.sessionId&&!this._didSendClose){this._didSendClose=!0;try{await this._closeSession(this._mode.sessionId)}catch{}}this._proxy.$onDidChangeState(this._id,{state:Yr.Kind.Stopped})}async _closeSession(e){let n={...Object.fromEntries(this._launch.headers),"Mcp-Session-Id":e};try{await this._addAuthHeader(n,{errorOnUserInteraction:!0})}catch{this._log(2,"Skipping session close: authentication no longer available");return}await this._fetch(this._launch.uri.toString(!0),{method:"DELETE",headers:n})}_send(e){return this._mode.value===2?this._sendLegacySSE(this._mode.endpoint,e):this._sendStreamableHttp(e,this._mode.value===1?this._mode.sessionId:void 0)}async _sendStreamableHttp(e,n){let o=new TextEncoder().encode(e),r={...Object.fromEntries(this._launch.headers),"Content-Type":"application/json",Accept:"text/event-stream, application/json"};n&&(r["Mcp-Session-Id"]=n),await this._addAuthHeader(r);let s=await this._fetchWithAuthRetry(this._launch.uri.toString(!0),{method:"POST",headers:r,body:o},r),a=this._mode.value===0,l=s.headers.get("Mcp-Session-Id");if(l&&(this._mode={value:1,sessionId:l}),this._mode.value===0&&s.status>=400&&s.status<500&&!B1(s.status)){this._log(3,`${s.status} status sending message to ${this._launch.uri}, will attempt to fall back to legacy SSE`),this._sseFallbackWithMessage(e);return}if(s.status>=300){let d=this._mode.value===1&&!!this._mode.sessionId&&(s.status===400||s.status===404);this._proxy.$onDidChangeState(this._id,{state:Yr.Kind.Error,message:`${s.status} status sending message to ${this._launch.uri}: ${await this._getErrText(s)}`+(d?"; will retry with new session ID":""),shouldRetry:d});return}this._mode.value===0&&(this._mode={value:1,sessionId:void 0}),a&&this._attachStreamableBackchannel(),await this._handleSuccessfulStreamableHttp(s,e)}async _sseFallbackWithMessage(e){let n=await this._attachSSE();n&&(this._mode={value:2,endpoint:n},await this._sendLegacySSE(n,e))}async _handleSuccessfulStreamableHttp(e,n){if(e.status===202)return;let o=e.headers.get("Content-Type")?.toLowerCase()||"";if(o.startsWith("text/event-stream")){let r=new Mm(s=>{if(s.type==="message")this._proxy.$onDidReceiveMessage(this._id,s.data);else if(s.type==="endpoint")throw this._log(4,`Received SSE endpoint from a POST to ${this._launch.uri}, will fall back to legacy SSE`),this._sseFallbackWithMessage(n),new rt});try{await this._doSSE(r,e)}catch(s){this._log(4,`Error reading SSE stream: ${V1(s)}`)}}else if(o.startsWith("application/json"))this._proxy.$onDidReceiveMessage(this._id,await e.text());else{let r=await e.text();L8(r)?this._proxy.$onDidReceiveMessage(this._id,r):this._log(4,`Unexpected ${e.status} response for request: ${r}`)}}async _attachStreamableBackchannel(){let e,n;for(let o=0;!this._store.isDisposed;o++){n!==void 0?(await Sn(Math.max(0,n-Date.now()),this._cts.token),n=void 0):await Sn(Math.min(o*1e3,3e4),this._cts.token);let r;try{let a={...Object.fromEntries(this._launch.headers),Accept:"text/event-stream"};await this._addAuthHeader(a),this._mode.value===1&&this._mode.sessionId!==void 0&&(a["Mcp-Session-Id"]=this._mode.sessionId),e&&(a["Last-Event-ID"]=e),r=await this._fetchWithAuthRetry(this._launch.uri.toString(!0),{method:"GET",headers:a},a)}catch{this._log(3,`Error connecting to ${this._launch.uri} for async notifications, will retry`);continue}if(r.status>=400){this._log(2,`${r.status} status connecting to ${this._launch.uri} for async notifications; they will be disabled: ${await this._getErrText(r)}`);return}r.headers.get("content-type")?.toLowerCase().includes("text/event-stream")&&(o=0);let s=new Mm(a=>{a.retry&&(n=Date.now()+a.retry),a.type==="message"&&a.data&&this._proxy.$onDidReceiveMessage(this._id,a.data),a.id&&(e=a.id)});try{await this._doSSE(s,r)}catch(a){this._log(3,`Error reading from async stream, we will reconnect: ${a}`)}}}async _attachSSE(){let e=new cn,n={...Object.fromEntries(this._launch.headers),Accept:"text/event-stream"};await this._addAuthHeader(n);let o;try{if(o=await this._fetchWithAuthRetry(this._launch.uri.toString(!0),{method:"GET",headers:n},n),o.status>=300){this._proxy.$onDidChangeState(this._id,{state:Yr.Kind.Error,message:`${o.status} status connecting to ${this._launch.uri} as SSE: ${await this._getErrText(o)}`});return}}catch(s){this._proxy.$onDidChangeState(this._id,{state:Yr.Kind.Error,message:`Error connecting to ${this._launch.uri} as SSE: ${s}`});return}let r=new Mm(s=>{s.type==="message"?this._proxy.$onDidReceiveMessage(this._id,s.data):s.type==="endpoint"&&e.complete(new URL(s.data,this._launch.uri.toString(!0)).toString())});return this._register(X(()=>e.cancel())),this._doSSE(r,o).catch(s=>{this._proxy.$onDidChangeState(this._id,{state:Yr.Kind.Error,message:`Error reading SSE stream: ${V1(s)}`})}),e.p}async _sendLegacySSE(e,n){let o=new TextEncoder().encode(n),r={...Object.fromEntries(this._launch.headers),"Content-Type":"application/json"};await this._addAuthHeader(r);let s=await this._fetch(e,{method:"POST",headers:r,body:o});s.status>=300&&this._log(4,`${s.status} status sending message to ${this._postEndpoint}: ${await this._getErrText(s)}`)}async _doSSE(e,n){if(!n.body)return;let o=n.body.getReader(),r;do{try{r=await Da(o.read(),this._cts.token)}catch(s){if(o.cancel(),this._store.isDisposed)return;throw s}r.value&&e.feed(r.value)}while(!r.done)}async _addAuthHeader(e,n){let o=n?.errorOnUserInteraction??this._errorOnUserInteraction;if(this._authMetadata)try{let r={authorizationServer:this._authMetadata.authorizationServer.toJSON(),authorizationServerMetadata:this._authMetadata.serverMetadata,resourceMetadata:this._authMetadata.resourceMetadata,scopes:this._authMetadata.scopes,clientId:this._launch.oauth?.clientId,enterpriseManaged:this._launch.oauth?.enterpriseManaged},s=await this._proxy.$getTokenFromServerMetadata(this._id,r,{errorOnUserInteraction:o,forceNewRegistration:n?.forceNewRegistration});s&&(e.Authorization=`Bearer ${s}`)}catch(r){if(Wf.is(r))throw this._proxy.$onDidChangeState(this._id,{state:Yr.Kind.Stopped,reason:"needs-user-interaction"}),new rt;this._log(4,`Error getting token from server metadata: ${String(r)}`)}if(this._launch.authentication)try{this._log(2,`Using provided authentication config: providerId=${this._launch.authentication.providerId}, scopes=${this._launch.authentication.scopes.join(", ")}`);let r=await this._proxy.$getTokenForProviderId(this._id,this._launch.authentication.providerId,this._launch.authentication.scopes,{errorOnUserInteraction:o,forceNewRegistration:n?.forceNewRegistration,clientId:this._launch.oauth?.clientId});r&&(e.Authorization=`Bearer ${r}`,this._log(3,"Successfully obtained token from provided authentication config"))}catch(r){if(Wf.is(r))throw this._proxy.$onDidChangeState(this._id,{state:Yr.Kind.Stopped,reason:"needs-user-interaction"}),new rt;this._log(4,`Error getting token from provided authentication config: ${String(r)}`)}return e}_log(e,n){this._store.isDisposed||this._proxy.$onDidPublishLog(this._id,e,n)}async _getErrText(e){try{return await e.text()}catch{return e.statusText}}async _fetchWithAuthRetry(e,n,o){let r=()=>this._fetch(e,n),s=await r();if(B1(s.status)&&(this._authMetadata?this._authMetadata.update(s.headers)&&(await this._addAuthHeader(o),o.Authorization&&(n.headers=o,s=await r())):(this._authMetadata=await N8(e,s.headers,{sameOriginHeaders:{...Object.fromEntries(this._launch.headers),"MCP-Protocol-Version":Bf.LATEST_PROTOCOL_VERSION},fetch:(a,l)=>this._fetch(a,l),log:(a,l)=>this._log(a,l)}),this._proxy.$logMcpAuthSetup(this._authMetadata.telemetry),await this._addAuthHeader(o),o.Authorization&&(n.headers=o,s=await r()))),o.Authorization&&B1(s.status)){let a=await this._getErrText(s);this._log(3,`Received ${s.status} status with Authorization header, retrying with new auth registration. Error details: ${a||"no additional details"}`),await this._addAuthHeader(o,{forceNewRegistration:!0}),s=await r()}return s}async _fetch(e,n){if(n.headers["user-agent"]=`${ur.nameLong}/${ur.version}`,au(this._logService.getLevel(),1)){let s={...n,headers:{...n.headers}};s.body&&(s.body=new TextDecoder().decode(s.body)),s.headers?.Authorization&&(s.headers.Authorization="***"),this._log(1,`Fetching ${e} with options: ${JSON.stringify(s)}`)}let o=e,r;for(let s=0;s<M8&&(r=await this._fetchInternal(o,{...n,signal:this._abortCtrl.signal,redirect:"manual"}),!!O8.includes(r.status));s++){let a=r.headers.get("location");if(!a)break;let l=new URL(a,o).toString();this._log(1,`Redirect (${r.status}) from ${o} to ${l}`),o=l,(r.status===303||(r.status===301||r.status===302)&&n.method==="POST")&&(n.method="GET",delete n.body)}if(au(this._logService.getLevel(),1)){let s={};r.headers.forEach((a,l)=>{s[l]=a}),this._log(1,`Fetched ${o}: ${JSON.stringify({status:r.status,headers:s})}`)}return r}_fetchInternal(e,n){return fetch(e,n)}};function L8(i){try{return JSON.parse(i),!0}catch{return!1}}function B1(i){return i===401||i===403}var dS=class{constructor(t,e,n,o,r,s){this.authorizationServer=t;this.serverMetadata=e;this.resourceMetadata=n;this.telemetry=r;this._log=s;this._scopes=o}get scopes(){return this._scopes}update(t){let e=this._parseScopesFromResponse(t);return PF(e,this._scopes)?!1:(this._log(3,`Scopes changed from ${JSON.stringify(this._scopes)} to ${JSON.stringify(e)}, updating`),this._scopes=e,!0)}_parseScopesFromResponse(t){let e=t.get("WWW-Authenticate");if(!e)return;let n=OR(e);for(let o of n)if(o.scheme==="Bearer"&&o.params.scope){let r=o.params.scope.split(tm).filter(s=>s.trim().length);if(r.length)return this._log(3,`Found scope challenge in WWW-Authenticate header: ${o.params.scope}`),r}}};async function N8(i,t,e){let{sameOriginHeaders:n,fetch:o,log:r}=e,s="none",a,{resourceMetadataChallenge:l,scopesChallenge:d}=U8(t.get("WWW-Authenticate")??void 0,r),c,u,m=d;try{let{metadata:x,discoveryUrl:C,errors:E}=await _F(i,l,{sameOriginHeaders:n,fetch:(k,O)=>o(k,O)});for(let k of E)r(4,`Error fetching resource metadata: ${k}`);r(3,`Discovered resource metadata at ${C}`),s=l?"header":"wellKnown",c=x.authorization_servers?.[0],c?(r(3,`Using auth server metadata url: ${c}`),a="resourceMetadata"):r(4,`No authorization_servers found in resource metadata ${C} - Is this resource metadata configured correctly?`),m??=x.scopes_supported,u=x}catch(x){r(4,`Could not fetch resource metadata: ${String(x)}`)}let g=new URL(i).origin,v={};c||(c=g,n&&(v=n));try{r(2,`Fetching auth server metadata for: ${c} ...`);let{metadata:x,discoveryUrl:C,errors:E}=await DC(c,{additionalHeaders:v,fetch:(k,O)=>o(k,O)});for(let k of E)r(4,`Error fetching authorization server metadata: ${k}`);return r(3,`Discovered authorization server metadata at ${C}`),a??="wellKnown",new dS(y.parse(c),x,u,m,{resourceMetadataSource:s,serverMetadataSource:a},r)}catch(x){r(4,`Error populating auth server metadata for ${c}: ${String(x)}`)}let f=kF(new URL(g));return r(3,"Using default auth metadata"),new dS(y.parse(g),f,u,m,{resourceMetadataSource:s,serverMetadataSource:"default"},r)}function U8(i,t){if(!i)return{};let e,n,o=OR(i);for(let r of o)if(r.scheme==="Bearer"){if(!e&&r.params.resource_metadata&&(e=r.params.resource_metadata,t(2,`Found resource_metadata challenge in WWW-Authenticate header: ${e}`)),!n&&r.params.scope){let s=r.params.scope.split(tm).filter(a=>a.trim().length);s.length&&(t(2,`Found scope challenge in WWW-Authenticate header: ${r.params.scope}`),n=s)}if(e&&n)break}return{resourceMetadataChallenge:e,scopesChallenge:n}}var uS=A("IExtHostDataChannels"),cS=class{constructor(){this._channels=new Map}createDataChannel(t,e){D(t,"dataChannels");let n=this._channels.get(e);return n||(n=new $1(e),this._channels.set(e,n)),n}$onDidReceiveData(t,e){let n=this._channels.get(t);n&&n._fireDidReceiveData(e)}},$1=class extends V{constructor(e){super();this.channelId=e;this._onDidReceiveData=new w;this.onDidReceiveData=this._onDidReceiveData.event;this._register(this._onDidReceiveData)}_fireDidReceiveData(e){this._onDidReceiveData.fire({data:e})}toString(){return`DataChannel(${this.channelId})`}};var mS=A("IExtHostMeteredConnection"),pS=class extends V{constructor(){super();this._isConnectionMetered=!1;this._onDidChangeIsConnectionMetered=this._register(new w);this.onDidChangeIsConnectionMetered=this._onDidChangeIsConnectionMetered.event}get isConnectionMetered(){return this._isConnectionMetered}$initializeIsConnectionMetered(e){this._isConnectionMetered=e}$onDidChangeIsConnectionMetered(e){this._isConnectionMetered!==e&&(this._isConnectionMetered=e,this._onDidChangeIsConnectionMetered.fire(e))}};var gS="vscode.git";function f2(i){switch(i){case 0:return 0;case 1:return 1;case 2:return 2;default:throw new Error(`Unknown GitRefType: ${i}`)}}function F8(i){return{name:i.name,commit:i.commit,type:f2(i.type),remote:i.remote,upstream:i.upstream?H8(i.upstream):void 0,ahead:i.ahead,behind:i.behind}}function H8(i){return{remote:i.remote,name:i.name,commit:i.commit}}function Nm(i){switch(i.status){case 1:case 7:case 9:return{uri:i.uri,originalUri:void 0,modifiedUri:i.uri};case 2:case 6:return{uri:i.uri,originalUri:i.uri,modifiedUri:void 0};case 3:case 10:return{uri:i.uri,originalUri:i.originalUri,modifiedUri:i.renameUri};default:return{uri:i.uri,originalUri:i.originalUri,modifiedUri:i.uri}}}var fS=A("IExtHostGitExtensionService"),$l=class extends V{constructor(e,n){super();this._extHostExtensionService=n;this._repositories=new Map;this._repositoryByUri=new $e;this._repositoryStateChangeListeners=new Un;this._proxy=e.getProxy(L.MainThreadGitExtension)}static{this._handlePool=0}async $isGitExtensionAvailable(){return!!(await this._extHostExtensionService.getExtensionRegistry()).getExtensionDescription(gS)}async $openRepository(e){let n=await this._ensureGitApi();if(!n)return;let o=await n.openRepository(y.revive(e));if(!o)return;let r=this._repositoryByUri.get(o.rootUri);if(r!==void 0){this._repositories.get(r)!==o&&(this._repositories.set(r,o),this._repositoryByUri.set(o.rootUri,r),this._setRepositoryStateChangeListener(r,o));let l=this._getRepositoryState(o);return{handle:r,rootUri:o.rootUri,state:l}}let s=$l._handlePool++;this._repositories.set(s,o),this._repositoryByUri.set(o.rootUri,s),this._setRepositoryStateChangeListener(s,o);let a=this._getRepositoryState(o);return{handle:s,rootUri:o.rootUri,state:a}}async $getRefs(e,n,o){let r=this._repositories.get(e);if(!r)return[];try{return(await r.getRefs(n,o)).map(l=>!l.name||!l.commit?void 0:{id:l.type===0?`refs/heads/${l.name}`:l.type===1?`refs/remotes/${l.remote}/${l.name}`:`refs/tags/${l.name}`,name:l.name,type:f2(l.type),revision:l.commit}).filter(l=>!!l)}catch{return[]}}async $getRepositoryState(e){let n=this._repositories.get(e);if(n)return this._getRepositoryState(n)}_getRepositoryState(e){let n=e.state;return{HEAD:n.HEAD?F8(n.HEAD):void 0,remotes:n.remotes,mergeChanges:n.mergeChanges.map(Nm),indexChanges:n.indexChanges.map(Nm),workingTreeChanges:n.workingTreeChanges.map(Nm),untrackedChanges:n.untrackedChanges.map(Nm)}}_setRepositoryStateChangeListener(e,n){this._repositoryStateChangeListeners.set(e,n.state.onDidChange(()=>{this._proxy.$onDidChangeRepository(e)}))}async $diffBetweenWithStats(e,n,o,r){let s=this._repositories.get(e);if(!s)return[];try{return(await s.diffBetweenWithStats(n,o,r)).map(l=>({...Nm(l),insertions:l.insertions,deletions:l.deletions}))}catch{return[]}}async $diffBetweenWithStats2(e,n,o){let r=this._repositories.get(e);if(!r)return[];try{return(await r.diffBetweenWithStats2(n,o)).map(a=>({...Nm(a),insertions:a.insertions,deletions:a.deletions}))}catch{return[]}}async _ensureGitApi(){if(this._gitApi)return this._gitApi;try{await this._extHostExtensionService.activateByIdWithErrors(new Se(gS),{startup:!1,extensionId:new Se(gS),activationEvent:"api"});let e=this._extHostExtensionService.getExtensionExports(new Se(gS));e&&typeof e.getAPI=="function"&&(this._gitApi=e.getAPI(1))}catch{}return this._gitApi}dispose(){this._repositoryStateChangeListeners.dispose(),super.dispose()}};$l=R([S(0,ge),S(1,To)],$l);Qe(gm,mm,1);Qe(lr,Rm,1);Qe(aa,bm,1);Qe(Xo,Zp,0);Qe(Sc,nm,0);Qe(sm,Fl,0);Qe(So,Hp,0);Qe(Ml,Ao,0);Qe(wc,Tm,0);Qe(eS,wm,0);Qe(VC,ns,0);Qe(ui,Im,0);Qe(hm,fm,0);Qe(kr,Vb,0);Qe(HC,ym,1);Qe(oS,_m,0);Qe(zp,$p,0);Qe(jC,Cm,0);Qe(ci,em,0);Qe(aS,Am,0);Qe(jp,Gp,0);Qe(xc,Nl,0);Qe(rS,Dm,0);Qe(Cc,Ul,0);Qe(eo,Up,0);Qe(pm,um,0);Qe(la,Sm,0);Qe(kc,Em,0);Qe(Qh,Lm,0);Qe(uS,cS,0);Qe(mS,pS,0);Qe(fS,$l,1);var hS=class extends V{constructor(t,e=[]){super(),this.logger=new _b([t,...e]),this._register(t.onDidChangeLogLevel(n=>this.setLevel(n)))}get onDidChangeLogLevel(){return this.logger.onDidChangeLogLevel}setLevel(t){this.logger.setLevel(t)}getLevel(){return this.logger.getLevel()}trace(t,...e){this.logger.trace(t,...e)}debug(t,...e){this.logger.debug(t,...e)}info(t,...e){this.logger.info(t,...e)}warn(t,...e){this.logger.warn(t,...e)}error(t,...e){this.logger.error(t,...e)}flush(){this.logger.flush()}};var Um=class extends hS{constructor(t,e,n){let o=n.remote.isRemote?"remoteexthost":t?"workerexthost":"exthost",r=n.remote.isRemote?p(4376,null):t?p(4377,null):p(4375,null);super(e.createLogger(o,{name:r}))}};Um=R([S(1,lr),S(2,nt)],Um);function z1(i,t,e,n,o,r){if(Array.isArray(i)){let s=0;for(let a of i){let l=z1(a,t,e,n,o,r);if(l===10)return l;l>s&&(s=l)}return s}else{if(typeof i=="string")return n?i==="*"?5:i===e?10:0:0;if(i){let{language:s,pattern:a,scheme:l,hasAccessToAllModels:d,notebookType:c}=i;if(!n&&!d)return 0;c&&o&&(t=o);let u=0;if(l)if(l===t.scheme)u=10;else if(l==="*")u=5;else return 0;if(s)if(s===e)u=10;else if(s==="*")u=Math.max(u,5);else return 0;if(c)if(c===r)u=10;else if(c==="*"&&r!==void 0)u=Math.max(u,5);else return 0;if(a){let m;if(typeof a=="string"?m=a:m={...a,base:Vo(a.base)},m===t.fsPath||Go(m,t.fsPath))u=10;else return 0}return u}else return 0}}function q1(i){return typeof i=="string"?!1:Array.isArray(i)?i.some(q1):!!i.notebookType}var K1=(o=>(o[o.None=0]="None",o[o.Indent=1]="Indent",o[o.IndentOutdent=2]="IndentOutdent",o[o.Outdent=3]="Outdent",o))(K1||{});var zHe=A("editSessionIdentityService"),G1=(n=>(n[n.Complete=100]="Complete",n[n.Partial=50]="Partial",n[n.None=0]="None",n))(G1||{});var vS=class{constructor(t){this._relatedInformationProviders=new Map;this._nextHandle=0;this._proxy=t.getProxy(L.MainThreadAiRelatedInformation)}async $provideAiRelatedInformation(t,e,n){if(this._relatedInformationProviders.size===0)throw new Error("No related information providers registered");let o=this._relatedInformationProviders.get(t);if(!o)throw new Error("related information provider not found");return await o.provideRelatedInformation(e,n)??[]}getRelatedInformation(t,e,n){return this._proxy.$getAiRelatedInformation(e,n)}registerRelatedInformationProvider(t,e,n){let o=this._nextHandle;return this._nextHandle++,this._relatedInformationProviders.set(o,n),this._proxy.$registerAiRelatedInformationProvider(o,e),new Ie(()=>{this._proxy.$unregisterAiRelatedInformationProvider(o),this._relatedInformationProviders.delete(o)})}};var bS=class{constructor(t){this._settingsSearchProviders=new Map;this._nextHandle=0;this._proxy=t.getProxy(L.MainThreadAiSettingsSearch)}async $startSearch(t,e,n,o){if(this._settingsSearchProviders.size===0)throw new Error("No related information providers registered");let r=this._settingsSearchProviders.get(t);if(!r)throw new Error("Settings search provider not found");let s=new Ua(a=>{this._proxy.$handleSearchResult(t,rR.fromSettingsSearchResult(a))});return r.provideSettingsSearchResults(e,n,s,o)}registerSettingsSearchProvider(t,e){let n=this._nextHandle;return this._nextHandle++,this._settingsSearchProviders.set(n,e),this._proxy.$registerAiSettingsSearchProvider(n),new Ie(()=>{this._proxy.$unregisterAiSettingsSearchProvider(n),this._settingsSearchProviders.delete(n)})}};function h2(i){for(let t=0,e=i.length;t<e;t+=4){let n=i[t+0],o=i[t+1],r=i[t+2],s=i[t+3];i[t+0]=s,i[t+1]=r,i[t+2]=o,i[t+3]=n}}function B8(i){let t=new Uint8Array(i.buffer,i.byteOffset,i.length*4);return $v()||h2(t),te.wrap(t)}function W8(i){let t=i.buffer;if($v()||h2(t),t.byteOffset%4===0)return new Uint32Array(t.buffer,t.byteOffset,t.length/4);{let e=new Uint8Array(t.byteLength);return e.set(t),new Uint32Array(e.buffer,e.byteOffset,e.length/4)}}function yS(i){let t=new Uint32Array($8(i)),e=0;if(t[e++]=i.id,i.type==="full")t[e++]=1,t[e++]=i.data.length,t.set(i.data,e),e+=i.data.length;else{t[e++]=2,t[e++]=i.deltas.length;for(let n of i.deltas)t[e++]=n.start,t[e++]=n.deleteCount,n.data?(t[e++]=n.data.length,t.set(n.data,e),e+=n.data.length):t[e++]=0}return B8(t)}function $8(i){let t=0;if(t+=2,i.type==="full")t+=1+i.data.length;else{t+=1,t+=3*i.deltas.length;for(let e of i.deltas)e.data&&(t+=e.data.length)}return t}function j1(i){let t=W8(i),e=0,n=t[e++];if(t[e++]===1){let a=t[e++],l=t.subarray(e,e+a);return e+=a,{id:n,type:"full",data:l}}let r=t[e++],s=[];for(let a=0;a<r;a++){let l=t[e++],d=t[e++],c=t[e++],u;c>0&&(u=t.subarray(e,e+c),e+=c),s[a]={start:l,deleteCount:d,data:u}}return{id:n,type:"delta",deltas:s}}var z8=[new _e("vscode.executeDocumentHighlights","_executeDocumentHighlights","Execute document highlight provider.",[Y.Uri,Y.Position],new ke("A promise that resolves to an array of DocumentHighlight-instances.",pi(ac.to))),new _e("vscode.executeDocumentSymbolProvider","_executeDocumentSymbolProvider","Execute document symbol provider.",[Y.Uri],new ke("A promise that resolves to an array of SymbolInformation and DocumentSymbol instances.",(i,t)=>{if(_g(i))return;class e extends hr{constructor(){super(...arguments);this.containerName=""}static to(r){let s=new e(r.name,br.to(r.kind),r.containerName||"",new Wt(t[0],W.to(r.range)));return s.detail=r.detail,s.range=s.location.range,s.selectionRange=W.to(r.selectionRange),s.children=r.children?r.children.map(e.to):[],s}}return i.map(e.to)})),new _e("vscode.executeFormatDocumentProvider","_executeFormatDocumentProvider","Execute document format provider.",[Y.Uri,new Y("options","Formatting options",i=>!0,i=>i)],new ke("A promise that resolves to an array of TextEdits.",pi(pn.to))),new _e("vscode.executeFormatRangeProvider","_executeFormatRangeProvider","Execute range format provider.",[Y.Uri,Y.Range,new Y("options","Formatting options",i=>!0,i=>i)],new ke("A promise that resolves to an array of TextEdits.",pi(pn.to))),new _e("vscode.executeFormatOnTypeProvider","_executeFormatOnTypeProvider","Execute format on type provider.",[Y.Uri,Y.Position,new Y("ch","Trigger character",i=>typeof i=="string",i=>i),new Y("options","Formatting options",i=>!0,i=>i)],new ke("A promise that resolves to an array of TextEdits.",pi(pn.to))),new _e("vscode.executeDefinitionProvider","_executeDefinitionProvider","Execute all definition providers.",[Y.Uri,Y.Position],new ke("A promise that resolves to an array of Location or LocationLink instances.",zl)),new _e("vscode.experimental.executeDefinitionProvider_recursive","_executeDefinitionProvider_recursive","Execute all definition providers.",[Y.Uri,Y.Position],new ke("A promise that resolves to an array of Location or LocationLink instances.",zl)),new _e("vscode.executeTypeDefinitionProvider","_executeTypeDefinitionProvider","Execute all type definition providers.",[Y.Uri,Y.Position],new ke("A promise that resolves to an array of Location or LocationLink instances.",zl)),new _e("vscode.experimental.executeTypeDefinitionProvider_recursive","_executeTypeDefinitionProvider_recursive","Execute all type definition providers.",[Y.Uri,Y.Position],new ke("A promise that resolves to an array of Location or LocationLink instances.",zl)),new _e("vscode.executeDeclarationProvider","_executeDeclarationProvider","Execute all declaration providers.",[Y.Uri,Y.Position],new ke("A promise that resolves to an array of Location or LocationLink instances.",zl)),new _e("vscode.experimental.executeDeclarationProvider_recursive","_executeDeclarationProvider_recursive","Execute all declaration providers.",[Y.Uri,Y.Position],new ke("A promise that resolves to an array of Location or LocationLink instances.",zl)),new _e("vscode.executeImplementationProvider","_executeImplementationProvider","Execute all implementation providers.",[Y.Uri,Y.Position],new ke("A promise that resolves to an array of Location or LocationLink instances.",zl)),new _e("vscode.experimental.executeImplementationProvider_recursive","_executeImplementationProvider_recursive","Execute all implementation providers.",[Y.Uri,Y.Position],new ke("A promise that resolves to an array of Location or LocationLink instances.",zl)),new _e("vscode.executeReferenceProvider","_executeReferenceProvider","Execute all reference providers.",[Y.Uri,Y.Position],new ke("A promise that resolves to an array of Location-instances.",pi(Yn.to))),new _e("vscode.experimental.executeReferenceProvider","_executeReferenceProvider_recursive","Execute all reference providers.",[Y.Uri,Y.Position],new ke("A promise that resolves to an array of Location-instances.",pi(Yn.to))),new _e("vscode.executeHoverProvider","_executeHoverProvider","Execute all hover providers.",[Y.Uri,Y.Position],new ke("A promise that resolves to an array of Hover-instances.",pi(kp.to))),new _e("vscode.experimental.executeHoverProvider_recursive","_executeHoverProvider_recursive","Execute all hover providers.",[Y.Uri,Y.Position],new ke("A promise that resolves to an array of Hover-instances.",pi(kp.to))),new _e("vscode.executeSelectionRangeProvider","_executeSelectionRangeProvider","Execute selection range provider.",[Y.Uri,new Y("position","A position in a text document",i=>Array.isArray(i)&&i.every(t=>we.isPosition(t)),i=>i.map(et.from))],new ke("A promise that resolves to an array of ranges.",i=>i.map(t=>{let e;for(let n of t.reverse())e=new Wi(W.to(n),e);return e}))),new _e("vscode.executeWorkspaceSymbolProvider","_executeWorkspaceSymbolProvider","Execute all workspace symbol providers.",[Y.String.with("query","Search string")],new ke("A promise that resolves to an array of SymbolInformation-instances.",i=>i.map(kl.to))),new _e("vscode.prepareCallHierarchy","_executePrepareCallHierarchy","Prepare call hierarchy at a position inside a document",[Y.Uri,Y.Position],new ke("A promise that resolves to an array of CallHierarchyItem-instances",i=>i.map(ta.to))),new _e("vscode.provideIncomingCalls","_executeProvideIncomingCalls","Compute incoming calls for an item",[Y.CallHierarchyItem],new ke("A promise that resolves to an array of CallHierarchyIncomingCall-instances",i=>i.map(AD.to))),new _e("vscode.provideOutgoingCalls","_executeProvideOutgoingCalls","Compute outgoing calls for an item",[Y.CallHierarchyItem],new ke("A promise that resolves to an array of CallHierarchyOutgoingCall-instances",i=>i.map(MD.to))),new _e("vscode.prepareRename","_executePrepareRename","Execute the prepareRename of rename provider.",[Y.Uri,Y.Position],new ke("A promise that resolves to a range and placeholder text.",i=>{if(i)return{range:W.to(i.range),placeholder:i.text}})),new _e("vscode.executeDocumentRenameProvider","_executeDocumentRenameProvider","Execute rename provider.",[Y.Uri,Y.Position,Y.String.with("newName","The new symbol name")],new ke("A promise that resolves to a WorkspaceEdit.",i=>{if(i){if(i.rejectReason)throw new Error(i.rejectReason);return Zn.to(i)}})),new _e("vscode.executeLinkProvider","_executeLinkProvider","Execute document link provider.",[Y.Uri,Y.Number.with("linkResolveCount","Number of links that should be resolved, only when links are unresolved.").optional()],new ke("A promise that resolves to an array of DocumentLink-instances.",i=>i.map(na.to))),new _e("vscode.provideDocumentSemanticTokensLegend","_provideDocumentSemanticTokensLegend","Provide semantic tokens legend for a document",[Y.Uri],new ke("A promise that resolves to SemanticTokensLegend.",i=>{if(i)return new Qd(i.tokenTypes,i.tokenModifiers)})),new _e("vscode.provideDocumentSemanticTokens","_provideDocumentSemanticTokens","Provide semantic tokens for a document",[Y.Uri],new ke("A promise that resolves to SemanticTokens.",i=>{if(!i)return;let t=j1(i);if(t.type==="full")return new ii(t.data,void 0)})),new _e("vscode.provideDocumentRangeSemanticTokensLegend","_provideDocumentRangeSemanticTokensLegend","Provide semantic tokens legend for a document range",[Y.Uri,Y.Range.optional()],new ke("A promise that resolves to SemanticTokensLegend.",i=>{if(i)return new Qd(i.tokenTypes,i.tokenModifiers)})),new _e("vscode.provideDocumentRangeSemanticTokens","_provideDocumentRangeSemanticTokens","Provide semantic tokens for a document range",[Y.Uri,Y.Range],new ke("A promise that resolves to SemanticTokens.",i=>{if(!i)return;let t=j1(i);if(t.type==="full")return new ii(t.data,void 0)})),new _e("vscode.executeCompletionItemProvider","_executeCompletionItemProvider","Execute completion item provider.",[Y.Uri,Y.Position,Y.String.with("triggerCharacter","Trigger completion when the user types the character, like `,` or `(`").optional(),Y.Number.with("itemResolveCount","Number of completions to resolve (too large numbers slow down completions)").optional()],new ke("A promise that resolves to a CompletionList-instance.",(i,t,e)=>{if(!i)return new ei([]);let n=i.suggestions.map(o=>FD.to(o,e));return new ei(n,i.incomplete)})),new _e("vscode.executeSignatureHelpProvider","_executeSignatureHelpProvider","Execute signature help provider.",[Y.Uri,Y.Position,Y.String.with("triggerCharacter","Trigger signature help when the user types the character, like `,` or `(`").optional()],new ke("A promise that resolves to SignatureHelp.",i=>{if(i)return Pp.to(i)})),new _e("vscode.executeCodeLensProvider","_executeCodeLensProvider","Execute code lens provider.",[Y.Uri,Y.Number.with("itemResolveCount","Number of lenses that should be resolved and returned. Will only return resolved lenses, will impact performance)").optional()],new ke("A promise that resolves to an array of CodeLens-instances.",(i,t,e)=>pi(n=>new Ya(W.to(n.range),n.command&&e.fromInternal(n.command)))(i))),new _e("vscode.executeCodeActionProvider","_executeCodeActionProvider","Execute code action provider.",[Y.Uri,new Y("rangeOrSelection","Range in a text document. Some refactoring provider requires Selection object.",i=>ve.isRange(i),i=>On.isSelection(i)?co.from(i):W.from(i)),Y.String.with("kind","Code action kind to return code actions for").optional(),Y.Number.with("itemResolveCount","Number of code actions to resolve (too large numbers slow down code actions)").optional()],new ke("A promise that resolves to an array of Command-instances.",(i,t,e)=>pi(n=>{if(n._isSynthetic){if(!n.command)throw new Error("Synthetic code actions must have a command");return e.fromInternal(n.command)}else{let o=new Bi(n.title,n.kind?new ft(n.kind):void 0);return n.edit&&(o.edit=Zn.to(n.edit)),n.command&&(o.command=e.fromInternal(n.command)),o.isPreferred=n.isPreferred,o}})(i))),new _e("vscode.executeDocumentColorProvider","_executeDocumentColorProvider","Execute document color provider.",[Y.Uri],new ke("A promise that resolves to an array of ColorInformation objects.",i=>i?i.map(t=>new ol(W.to(t.range),pc.to(t.color))):[])),new _e("vscode.executeColorPresentationProvider","_executeColorPresentationProvider","Execute color presentation provider.",[new Y("color","The color to show and insert",i=>i instanceof ti,pc.from),new Y("context","Context object with uri and range",i=>!0,i=>({uri:i.uri,range:W.from(i.range)}))],new ke("A promise that resolves to an array of ColorPresentation objects.",i=>i?i.map(ph.to):[])),new _e("vscode.executeInlayHintProvider","_executeInlayHintProvider","Execute inlay hints provider",[Y.Uri,Y.Range],new ke("A promise that resolves to an array of Inlay objects",(i,t,e)=>i.map(HD.to.bind(void 0,e)))),new _e("vscode.executeFoldingRangeProvider","_executeFoldingRangeProvider","Execute folding range provider",[Y.Uri],new ke("A promise that resolves to an array of FoldingRange objects",(i,t)=>{if(i)return i.map(gh.to)})),new _e("vscode.resolveNotebookContentProviders","_resolveNotebookContentProvider","Resolve Notebook Content Providers",[],new ke("A promise that resolves to an array of NotebookContentProvider static info objects.",pi(i=>({viewType:i.viewType,displayName:i.displayName,options:{transientOutputs:i.options.transientOutputs,transientCellMetadata:i.options.transientCellMetadata,transientDocumentMetadata:i.options.transientDocumentMetadata},filenamePattern:i.filenamePattern.map(t=>hh.to(t))})))),new _e("vscode.executeInlineValueProvider","_executeInlineValueProvider","Execute inline value provider",[Y.Uri,Y.Range,new Y("context","An InlineValueContext",i=>i&&typeof i.frameId=="number"&&i.stoppedLocation instanceof ve,i=>uh.from(i))],new ke("A promise that resolves to an array of InlineValue objects",i=>i.map(ch.to))),new _e("vscode.open","_workbench.open","Opens the provided resource in the editor. Can be a text or binary file, or an http(s) URL. If you need more control over the options for opening a text file, use vscode.window.showTextDocument instead.",[new Y("uriOrString","Uri-instance or string (only http/https)",i=>y.isUri(i)||typeof i=="string"&&eO(i,K.http,K.https),i=>i),new Y("columnOrOptions","Either the column in which to open or editor options, see vscode.TextDocumentShowOptions",i=>i===void 0||typeof i=="number"||typeof i=="object",i=>i&&(typeof i=="number"?[At.from(i),void 0]:[At.from(i.viewColumn),fh.from(i)])).optional(),Y.String.with("label","").optional()],ke.Void),new _e("vscode.openWith","_workbench.openWith","Opens the provided resource with a specific editor.",[Y.Uri.with("resource","Resource to open"),Y.String.with("viewId","Custom editor view id. This should be the viewType string for custom editors or the notebookType string for notebooks. Use 'default' to use VS Code's default text editor"),new Y("columnOrOptions","Either the column in which to open or editor options, see vscode.TextDocumentShowOptions",i=>i===void 0||typeof i=="number"||typeof i=="object",i=>i&&(typeof i=="number"?[At.from(i),void 0]:[At.from(i.viewColumn),fh.from(i)])).optional()],ke.Void),new _e("vscode.diff","_workbench.diff","Opens the provided resources in the diff editor to compare their contents.",[Y.Uri.with("left","Left-hand side resource of the diff editor"),Y.Uri.with("right","Right-hand side resource of the diff editor"),Y.String.with("title","Human readable title for the diff editor").optional(),new Y("columnOrOptions","Either the column in which to open or editor options, see vscode.TextDocumentShowOptions",i=>i===void 0||typeof i=="object",i=>i&&[At.from(i.viewColumn),fh.from(i)]).optional()],ke.Void),new _e("vscode.changes","_workbench.changes","Opens a list of resources in the changes editor to compare their contents.",[Y.String.with("title","Human readable title for the changes editor"),new Y("resourceList","List of resources to compare",i=>{for(let t of i){if(t.length!==3)return!1;let[e,n,o]=t;if(!y.isUri(e)||!y.isUri(n)&&n!==void 0&&n!==null||!y.isUri(o)&&o!==void 0&&o!==null)return!1}return!0},i=>i)],ke.Void),new _e("vscode.prepareTypeHierarchy","_executePrepareTypeHierarchy","Prepare type hierarchy at a position inside a document",[Y.Uri,Y.Position],new ke("A promise that resolves to an array of TypeHierarchyItem-instances",i=>i.map(oa.to))),new _e("vscode.provideSupertypes","_executeProvideSupertypes","Compute supertypes for an item",[Y.TypeHierarchyItem],new ke("A promise that resolves to an array of TypeHierarchyItem-instances",i=>i.map(oa.to))),new _e("vscode.provideSubtypes","_executeProvideSubtypes","Compute subtypes for an item",[Y.TypeHierarchyItem],new ke("A promise that resolves to an array of TypeHierarchyItem-instances",i=>i.map(oa.to))),new _e("vscode.revealTestInExplorer","_revealTestInExplorer","Reveals a test instance in the explorer",[Y.TestItem],ke.Void),new _e("vscode.startContinuousTestRun","testing.startContinuousRunFromExtension","Starts running the given tests with continuous run mode.",[Y.TestProfile,Y.Arr(Y.TestItem)],ke.Void),new _e("vscode.stopContinuousTestRun","testing.stopContinuousRunFromExtension","Stops running the given tests with continuous run mode.",[Y.Arr(Y.TestItem)],ke.Void),new _e("vscode.experimental.editSession.continue","_workbench.editSessions.actions.continueEditSession","Continue the current edit session in a different workspace",[Y.Uri.with("workspaceUri","The target workspace to continue the current edit session in")],ke.Void),new _e("setContext","_setContext","Set a custom context key value that can be used in when clauses.",[Y.String.with("name","The context key name"),new Y("value","The context key value",()=>!0,i=>i)],ke.Void),new _e("vscode.editorChat.start","inlineChat.start","Invoke a new editor chat session",[new Y("Run arguments","",i=>!0,i=>{if(i)return{initialRange:i.initialRange?W.from(i.initialRange):void 0,initialSelection:On.isSelection(i.initialSelection)?co.from(i.initialSelection):void 0,message:i.message,attachments:i.attachments,autoSend:i.autoSend,position:i.position?et.from(i.position):void 0,resolveOnResponse:i.resolveOnResponse}})],ke.Void),new _e("vscode.extensionPromptFileProvider","_listExtensionPromptFiles","Get all extension-contributed prompt files (custom agents, instructions, and prompt files).",[],new ke("A promise that resolves to an array of objects containing uri, type, and extensionId.",i=>i?i.map(t=>({uri:y.revive(t.uri),type:t.type,extensionId:t.extensionId})):[]))],IS=class{static register(t){z8.forEach(t.registerApiCommand,t),this._registerValidateWhenClausesCommand(t)}static _registerValidateWhenClausesCommand(t){t.registerCommand(!1,"_validateWhenClauses",IO)}};function pi(i){return t=>{if(Array.isArray(t))return t.map(i)}}function zl(i){if(!Array.isArray(i))return;let t=[];for(let e of i)hL(e)?t.push(wp.to(e)):t.push(Yn.to(e));return t}var Fm=class{constructor(t,e){this._proxy=t.getProxy(L.MainThreadBulkEdits),this._versionInformationProvider={getTextDocumentVersion:n=>e.getDocument(n)?.version,getNotebookDocumentVersion:()=>{}}}applyWorkspaceEdit(t,e,n){let o=new Ft(Zn.from(t,this._versionInformationProvider));return this._proxy.$tryApplyWorkspaceEdit(o,void 0,n?.isRefactoring??!1)}};Fm=R([S(0,ge)],Fm);var v2;(t=>{function i(e,n){return e.callstack<n.callstack?-1:e.callstack>n.callstack?1:0}t.compare=i})(v2||={});function J1(i){if(!i||typeof i!="object")return{callstack:void 0,msg:du(i)};let t=Array.isArray(i.stack)?i.stack.join(`
`):i.stack,e=i.message?i.message:du(i);return{callstack:t,msg:e}}var Q1=class i{constructor(t,e=i.ERROR_FLUSH_TIMEOUT){this._flushHandle=void 0;this._buffer=[];this._disposables=new J;this._telemetryService=t,this._flushDelay=e;let n=fa.addListener(o=>this._onErrorEvent(o));this._disposables.add(X(n)),this.installErrorListeners()}static{this.ERROR_FLUSH_TIMEOUT=5*1e3}dispose(){clearTimeout(this._flushHandle),this._flushBuffer(),this._disposables.dispose()}installErrorListeners(){}_onErrorEvent(t){if(!t||t.code||(t.detail&&t.detail.stack&&(t=t.detail),No.isErrorNoTelemetry(t)||t instanceof Ai||Zl.is(t)||typeof t?.message=="string"&&t.message.includes("Unable to read file")))return;let{callstack:e,msg:n}=J1(t);if(!e)return;let o={msg:n,callstack:e};Xc.is(t)&&(o.kind=t.kind,o.listenerCount=t.listenerCount),this._enqueue(o)}_enqueue(t){let e=DM(this._buffer,t,v2.compare);e<0?(t.count=1,this._buffer.splice(~e,0,t)):(this._buffer[e].count||(this._buffer[e].count=0),this._buffer[e].count+=1),this._flushHandle===void 0&&(this._flushHandle=setTimeout(()=>{this._flushBuffer(),this._flushHandle=void 0},this._flushDelay))}_flushBuffer(){for(let t of this._buffer)this._telemetryService.publicLogError2("UnhandledError",t);this._buffer.length=0}};function b2(i){return!!i&&y.isUri(i.sessionResource)&&i.$mid===19}function q8(i){return!!i&&typeof i=="object"&&"uri"in i&&i.uri instanceof y&&"version"in i&&typeof i.version=="number"&&"ranges"in i&&Array.isArray(i.ranges)&&i.ranges.every(Ne.isIRange)}function y2(i){return!!i&&typeof i=="object"&&"documents"in i&&Array.isArray(i.documents)&&i.documents.every(q8)}function I2(i){return!!i&&typeof i=="object"&&"command"in i&&"language"in i}var pt;(m=>{let i;(k=>(k[k.Streaming=0]="Streaming",k[k.WaitingForConfirmation=1]="WaitingForConfirmation",k[k.Executing=2]="Executing",k[k.WaitingForPostApproval=3]="WaitingForPostApproval",k[k.Completed=4]="Completed",k[k.Cancelled=5]="Cancelled"))(i=m.StateKind||={});function t(g,v){if(g.kind==="toolInvocationSerialized")return g.isConfirmed===void 0||typeof g.isConfirmed=="boolean"?{type:g.isConfirmed?4:0}:g.isConfirmed;let f=g.state.read(v);if(!(f.type===0||f.type===1))return f.type===5?{type:f.reason}:f.confirmed}m.executionConfirmedOrDenied=t;function e(g,v){let f=t(g);if(f)return Promise.resolve(f);let x=new J;return new Promise(C=>{v&&x.add(v.onCancellationRequested(()=>{C({type:0})})),x.add(so(E=>{let k=t(g,E);k&&(x.dispose(),C(k))}))}).finally(()=>{x.dispose()})}m.awaitConfirmation=e;function n(g,v){let f=g.state.read(v);if(f.type===4)return f.postConfirmed||{type:1};if(f.type===5)return{type:f.reason}}function o(g,v){let f=g?.state.get();return f?.type===1||f?.type===3?(f.confirm(v),!0):!1}m.confirmWith=o;function r(g,v){let f=n(g);if(f)return Promise.resolve(f);let x=new J;return new Promise(C=>{v&&x.add(v.onCancellationRequested(()=>{C({type:0})})),x.add(so(E=>{let k=n(g,E);k&&(x.dispose(),C(k))}))}).finally(()=>{x.dispose()})}m.awaitPostConfirmation=r;function s(g,v){if(g.kind==="toolInvocationSerialized")return g.resultDetails;let f=g.state.read(v);if(f.type===4||f.type===3)return f.resultDetails}m.resultDetails=s;function a(g,v){if(g.kind==="toolInvocationSerialized")return!0;let f=g.state.read(v);return f.type===4||f.type===5}m.isComplete=a;function l(g,v){return!!(g.presentation==="hidden"||g.presentation==="hiddenAfterComplete"&&a(g,v))}m.isEffectivelyHidden=l;function d(g,v){return g.kind==="toolInvocationSerialized"?!1:g.state.read(v).type===0}m.isStreaming=d;function c(g,v){if(g.kind==="toolInvocationSerialized")return;let f=g.state.read(v);if(f.type!==0)return f.parameters}m.getParameters=c;function u(g,v){if(g.kind==="toolInvocationSerialized")return;let f=g.state.read(v);if(f.type!==0)return f.confirmationMessages}m.getConfirmationMessages=u})(pt||={});var K8;(o=>{function i(r){return r.kind==="sent"}o.isSent=i;function t(r){return r.kind==="rejected"}o.isRejected=t;function e(r){return r.kind==="queued"}o.isQueued=e;function n(r){if(r.kind!=="sent")throw new Error(`Expected ChatSendResult to be 'sent', but was '${r.kind}'`)}o.assertSent=n})(K8||={});var Yo=A("IChatService");var Hm=class{constructor(t,e,n,o,r,s,a){this._extension=t;this._request=e;this._proxy=n;this._commandsConverter=o;this._sessionDisposables=r;this._pendingCarouselResolvers=s;this._token=a;this._stopWatch=Hn.create(!1);this._isClosed=!1}close(){this._isClosed=!0}get timings(){return{firstProgress:this._firstProgress,totalElapsed:this._stopWatch.elapsed()}}get apiObject(){if(!this._apiObject){let n=function(l){if(t._isClosed){let d=new Error("Response stream has been closed");throw Error.captureStackTrace(d,l),d}},s=function(l,d){if(o.push(d!==void 0?[l,d]:l)===1&&queueMicrotask(()=>{let u=r;r=[],t._proxy.$handleProgressChunk(t._request.requestId,o).finally(()=>{u.forEach(m=>m())}),o.length=0}),d!==void 0)return new Promise(u=>{r.push(u)})},t=this;this._stopWatch.reset();let e=0,o=[],r=[],a=(l,d)=>{if(typeof this._firstProgress>"u"&&(l.kind==="markdownContent"||l.kind==="markdownVuln"||l.kind==="beginToolInvocation")&&(this._firstProgress=this._stopWatch.elapsed()),d){let c=e++,u=s(l,c),m={report:g=>{u.then(()=>{Ht.isMarkdownString(g.value)?s(xh.from(g),c):s(cc.from(g),c)})}};Promise.all([u,d(m)]).then(([g,v])=>{s(jD.from(v),c)})}else s(l)};this._apiObject=Object.freeze({clearToPreviousToolInvocation(l){return n(this.markdown),s({kind:"clearToPreviousToolInvocation",reason:l}),this},markdown(l){n(this.markdown);let d=new Ws(l),c=sh.from(d);return a(c),this},markdownWithVulnerabilities(l,d){n(this.markdown),d&&D(t._extension,"chatParticipantAdditions");let c=new ji(l,d),u=Gx.from(c);return a(u),this},codeblockUri(l,d){n(this.codeblockUri),D(t._extension,"chatParticipantAdditions");let c=new js(l,d),u=Kx.from(c);return a(u),this},filetree(l,d){n(this.filetree);let c=new zs(l,d),u=ah.from(c);return a(u),this},anchor(l,d){let c=new Qi(l,d);return this.push(c)},button(l){n(this.anchor);let d=new Gs(l),c=lh.from(d,t._commandsConverter,t._sessionDisposables);return a(c),this},progress(l,d){n(this.progress);let c=new xl(l,d),u=d?Yx.from(c):yh.from(c);return a(u,d),this},thinkingProgress(l){n(this.thinkingProgress),D(t._extension,"chatParticipantAdditions");let d=new si(l.text??"",l.id,l.metadata),c=Ih.from(d);return a(c),this},hookProgress(l,d,c){n(this.hookProgress),D(t._extension,"chatParticipantAdditions");let u=new qs(l,d,c),m=Jx.from(u);return a(m),this},warning(l){n(this.progress),D(t._extension,"chatParticipantAdditions");let d=new Ji(l),c=xh.from(d);return a(c),this},info(l){n(this.progress),D(t._extension,"chatParticipantAdditions");let d=new Ks(l),c=Xx.from(d);return a(c),this},reference(l,d){return this.reference2(l,d)},reference2(l,d,c){if(n(this.reference),typeof l=="object"&&"variableName"in l&&D(t._extension,"chatParticipantAdditions"),typeof l=="object"&&"variableName"in l&&!l.value){let u=t._request.variables.variables.find(m=>m.name===l.variableName);if(u){let m;if(u.references?.length)m=u.references.map(g=>({kind:"reference",reference:{variableName:l.variableName,value:g.reference}}));else{let g=new Or(l,d,c);m=[cc.from(g)]}return m.forEach(g=>a(g)),this}}else{let u=new Or(l,d,c),m=cc.from(u);a(m)}return this},codeCitation(l,d,c){n(this.codeCitation),D(t._extension,"chatParticipantAdditions");let u=new Qs(l,d,c),m=oC.from(u);a(m)},textEdit(l,d){n(this.textEdit),D(t._extension,"chatParticipantAdditions");let c=new Yi(l,d);c.isDone=d===!0?!0:void 0;let u=Zx.from(c);return a(u),this},notebookEdit(l,d){n(this.notebookEdit),D(t._extension,"chatParticipantAdditions");let c=new Xs(l,d),u=tC.from(c);return a(u),this},workspaceEdit(l){n(this.workspaceEdit),D(t._extension,"chatParticipantAdditions");let d=new Tl(l),c=nC.from(d);return a(c),this},async externalEdit(l,d){n(this.externalEdit);let c=Array.isArray(l)?l:[l],u=e++,m=We();await s({kind:"externalEdits",start:!0,resources:c,undoStopId:m},u);try{return await d(),m}finally{await s({kind:"externalEdits",start:!1,resources:c,undoStopId:m},u)}},confirmation(l,d,c,u){n(this.confirmation),D(t._extension,"chatParticipantAdditions");let m=new $s(l,d,c,u),g=jx.from(m);return a(g),this},async questionCarousel(l,d=!0){n(this.questionCarousel),D(t._extension,"chatParticipantAdditions");let c=We(),u=new Xi(l,d),m=Qx.from(u);m.resolveId=c;let g=new cn;return t._pendingCarouselResolvers.has(t._request.requestId)||t._pendingCarouselResolvers.set(t._request.requestId,new Map),t._pendingCarouselResolvers.get(t._request.requestId).set(c,g),a(m),ys(g.p,t._token)},beginToolInvocation(l,d,c){n(this.beginToolInvocation),D(t._extension,"chatParticipantAdditions");let u={kind:"beginToolInvocation",toolCallId:l,toolName:d,streamData:c?{partialInput:c.partialInput}:void 0,subagentInvocationId:c?.subagentInvocationId};return a(u),this},updateToolInvocation(l,d){n(this.updateToolInvocation),D(t._extension,"chatParticipantAdditions");let c={kind:"updateToolInvocation",toolCallId:l,streamData:{partialInput:d.partialInput}};return a(c),this},push(l){if(n(this.push),(l instanceof Yi||l instanceof Xs||l instanceof ji||l instanceof Ji||l instanceof $s||l instanceof Xi||l instanceof Qs||l instanceof Js||l instanceof Cl||l instanceof Yd||l instanceof si||l instanceof Sl||l instanceof xl)&&D(t._extension,"chatParticipantAdditions"),l instanceof Or)this.reference2(l.value,l.iconPath,l.options);else if(l instanceof xl){let d=l.task?Yx.from(l):yh.from(l);a(d,l.task)}else if(l instanceof si){let d=Ih.from(l);a(d)}else if(l instanceof Qi){let d=Tp.from(l);if(l.resolve&&(D(t._extension,"chatParticipantAdditions"),d.resolveId=We()),a(d),l.resolve){let c=new Me;l.resolve(c.token).then(()=>{let u=Tp.from(l);t._proxy.$handleAnchorResolve(t._request.requestId,d.resolveId,u)}).then(()=>c.dispose(),()=>c.dispose()),t._sessionDisposables.add(X(()=>c.dispose(!0)))}}else{if(l instanceof Yd)return this.externalEdit(l.uris,l.callback).then(c=>l.didGetApplied(c)),this;{let d=Rp.from(l,t._commandsConverter,t._sessionDisposables);a(d)}}return this},usage(l){n(this.usage),D(t._extension,"chatParticipantAdditions");let d={kind:"usage",promptTokens:l.promptTokens,completionTokens:l.completionTokens,outputBuffer:l.outputBuffer,promptTokenDetails:l.promptTokenDetails};return a(d),this}})}return this._apiObject}},xS=class i extends V{constructor(e,n,o,r,s,a,l,d,c){super();this._logService=n;this._commands=o;this._documents=r;this._editorsAndDocuments=s;this._languageModels=a;this._diagnostics=l;this._tools=d;this._chatSessions=c;this._agents=new Map;this._participantDetectionProviders=new Map;this._promptFileProviders=new Map;this._customizationProviders=new Map;this._sessionDisposables=this._register(new Ov);this._completionDisposables=this._register(new Un);this._inFlightRequests=new Set;this._pendingCarouselResolvers=new Map;this._onDidChangeChatRequestTools=this._register(new w);this.onDidChangeChatRequestTools=this._onDidChangeChatRequestTools.event;this._onDidDisposeChatSession=this._register(new w);this.onDidDisposeChatSession=this._onDidDisposeChatSession.event;this._onDidChangeCustomAgents=this._register(new w);this.onDidChangeCustomAgents=this._onDidChangeCustomAgents.event;this._onDidChangeInstructions=this._register(new w);this.onDidChangeInstructions=this._onDidChangeInstructions.event;this._onDidChangeSkills=this._register(new w);this.onDidChangeSkills=this._onDidChangeSkills.event;this._onDidChangeSlashCommands=this._register(new w);this.onDidChangeSlashCommands=this._onDidChangeSlashCommands.event;this._onDidChangeHooks=this._register(new w);this.onDidChangeHooks=this._onDidChangeHooks.event;this._onDidChangePlugins=this._register(new w);this.onDidChangePlugins=this._onDidChangePlugins.event;this._customAgents=new ql(()=>this._proxy.$provideCustomAgents(ye.None).then(e=>e.map(n=>this.toCustomAgent(n))));this._instructions=new ql(()=>this._proxy.$provideInstructions(ye.None).then(e=>e.map(n=>this.toInstruction(n))));this._skills=new ql(()=>this._proxy.$provideSkills(ye.None).then(e=>e.map(n=>this.toSkill(n))));this._slashCommands=new ql(()=>this._proxy.$provideSlashCommands(ye.None).then(e=>e.map(n=>this.toSlashCommand(n))));this._hooks=new ql(()=>this._proxy.$provideHooks(ye.None).then(e=>e.map(n=>this.toHook(n))));this._plugins=new ql(()=>this._proxy.$providePlugins(ye.None).then(e=>e.map(n=>this.toPlugin(n))));this._onDidChangeActiveChatPanelSessionResource=this._register(new w);this.onDidChangeActiveChatPanelSessionResource=this._onDidChangeActiveChatPanelSessionResource.event;this._proxy=e.getProxy(L.MainThreadChatAgents2),o.registerArgumentProcessor({processArgument:u=>b2(u)?null:u})}static{this._idPool=0}static{this._participantDetectionProviderIdPool=0}static{this._contributionsProviderIdPool=0}static{this._customizationProviderIdPool=0}get activeChatPanelSessionResource(){return this._activeChatPanelSessionResource}toCustomAgent(e){return Object.freeze({uri:y.revive(e.uri),name:e.name,description:e.description,source:e.source,extensionId:e.extensionId,pluginUri:e.pluginUri?y.revive(e.pluginUri):void 0,sessionTypes:e.sessionTypes,argumentHint:e.argumentHint,tools:e.tools,model:e.model,userInvocable:e.userInvocable,disableModelInvocation:e.disableModelInvocation,enabled:e.enabled})}toInstruction(e){return Object.freeze({uri:y.revive(e.uri),name:e.name,description:e.description,source:e.source,extensionId:e.extensionId,pluginUri:e.pluginUri?y.revive(e.pluginUri):void 0,sessionTypes:e.sessionTypes,pattern:e.pattern})}toSkill(e){return Object.freeze({uri:y.revive(e.uri),name:e.name,description:e.description,source:e.source,extensionId:e.extensionId,pluginUri:e.pluginUri?y.revive(e.pluginUri):void 0,sessionTypes:e.sessionTypes,userInvocable:e.userInvocable,disableModelInvocation:e.disableModelInvocation})}toSlashCommand(e){return Object.freeze({uri:y.revive(e.uri),name:e.name,description:e.description,source:e.source,extensionId:e.extensionId,pluginUri:e.pluginUri?y.revive(e.pluginUri):void 0,sessionTypes:e.sessionTypes,argumentHint:e.argumentHint,userInvocable:e.userInvocable})}toHook(e){return Object.freeze({uri:y.revive(e.uri),sessionTypes:e.sessionTypes,source:e.source,extensionId:e.extensionId,pluginUri:e.pluginUri?y.revive(e.pluginUri):void 0})}toPlugin(e){return Object.freeze({uri:y.revive(e.uri)})}provideCustomAgents(e){return this._customAgents.get(e)}provideInstructions(e){return this._instructions.get(e)}provideSkills(e){return this._skills.get(e)}provideSlashCommands(e){return this._slashCommands.get(e)}provideHooks(e){return this._hooks.get(e)}providePlugins(e){return this._plugins.get(e)}$onDidChangeCustomAgents(){this._customAgents.clear(),this._onDidChangeCustomAgents.fire()}$onDidChangeInstructions(){this._instructions.clear(),this._onDidChangeInstructions.fire()}$onDidChangeSkills(){this._skills.clear(),this._onDidChangeSkills.fire()}$onDidChangeSlashCommands(){this._slashCommands.clear(),this._onDidChangeSlashCommands.fire()}$onDidChangeHooks(){this._hooks.clear(),this._onDidChangeHooks.fire()}$onDidChangePlugins(){this._plugins.clear(),this._onDidChangePlugins.fire()}async transferActiveChat(e){await this._proxy.$transferActiveChatSession(e)}createChatAgent(e,n,o){let r=i._idPool++,s=new CS(e,n,this._proxy,r,o);return this._agents.set(r,s),this._proxy.$registerAgent(r,e.identifier,n,{},void 0),s.apiAgent}createDynamicChatAgent(e,n,o,r){let s=i._idPool++,a=new CS(e,n,this._proxy,s,r);return this._agents.set(s,a),this._proxy.$registerAgent(s,e.identifier,n,{isSticky:!0},o),a.apiAgent}registerChatParticipantDetectionProvider(e,n){let o=i._participantDetectionProviderIdPool++;return this._participantDetectionProviders.set(o,new X1(e,n)),this._proxy.$registerChatParticipantDetectionProvider(o),X(()=>{this._participantDetectionProviders.delete(o),this._proxy.$unregisterChatParticipantDetectionProvider(o)})}registerPromptFileProvider(e,n,o){let r=i._contributionsProviderIdPool++;this._promptFileProviders.set(r,{extension:e,provider:o}),this._proxy.$registerPromptFileProvider(r,n,e.identifier);let s=new J,a;switch(n){case"agent":a=o.onDidChangeCustomAgents;break;case"instructions":a=o.onDidChangeInstructions;break;case"prompt":a=o.onDidChangePromptFiles;break;case"skill":a=o.onDidChangeSkills;break;case"hook":a=o.onDidChangeHooks;break}return a&&s.add(a(()=>{this._proxy.$onDidChangePromptFiles(r)})),s.add(X(()=>{this._promptFileProviders.delete(r),this._proxy.$unregisterPromptFileProvider(r)})),s}async $providePromptFiles(e,n,o,r){let s=this._promptFileProviders.get(e);if(!s)return;let a=s.provider,l;switch(n){case"agent":l=await a.provideCustomAgents(o,r)??void 0;break;case"instructions":l=await a.provideInstructions(o,r)??void 0;break;case"prompt":l=await a.providePromptFiles(o,r)??void 0;break;case"skill":l=await a.provideSkills(o,r)??void 0;break;case"hook":l=await a.provideHooks(o,r)??void 0;break}return l}registerChatSessionCustomizationProvider(e,n,o,r){let s=i._customizationProviderIdPool++;this._customizationProviders.set(s,{extension:e,provider:r});let a={label:o.label,iconId:o.iconId,supportedTypes:o.supportedTypes?.map(d=>rC.from(d))};this._proxy.$registerChatSessionCustomizationProvider(s,n,a,e.identifier);let l=new J;return r.onDidChange&&l.add(r.onDidChange(()=>{this._proxy.$onDidChangeCustomizations(s)})),l.add(X(()=>{this._customizationProviders.delete(s),this._proxy.$unregisterChatSessionCustomizationProvider(s)})),l}async $provideChatSessionCustomizations(e,n,o){let r=this._customizationProviders.get(e);if(r&&n)try{let s=await r.provider.provideChatSessionCustomizations(y.revive(n),o);return s?s.map(a=>({uri:a.uri,type:rC.from(a.type),name:a.name,description:a.description,source:a.source,groupKey:a.groupKey,badge:a.badge,badgeTooltip:a.badgeTooltip,extensionId:a.extensionId,pluginUri:a.pluginUri,userInvocable:a.userInvocable})):void 0}catch{return}}async $detectChatParticipant(e,n,o,r,s){let a=this._participantDetectionProviders.get(e);if(!a)return;let{request:l,location:d,history:c}=await this._createRequest(n,o,a.extension),u=await this.getModelForRequest(l,a.extension),m=await this.getToolsForRequest(a.extension,l.userSelectedTools,u.id,s),g=Ap.to(l,d,u,l.modelConfiguration,this.getDiagnosticsWhenEnabled(a.extension),m,a.extension,this._logService);return a.provider.provideParticipantDetection(g,{history:c,yieldRequested:!1},{participants:r.participants,location:Mp.to(r.location)},s)}async _createRequest(e,n,o){let r=_t(e),s=await this.prepareHistoryTurns(o,r.agentId,n),a;if(r.locationData?.type==="editor"){let l=this._documents.getDocument(r.locationData.document),d=this._editorsAndDocuments.getEditor(r.locationData.id);a=new hp(d.value,l,co.to(r.locationData.selection),W.to(r.locationData.wholeRange))}else if(r.locationData?.type==="notebook"){let l=this._documents.getDocument(r.locationData.sessionInputUri);a=new vp(l)}else r.locationData?.type,"terminal";return{request:r,location:a,history:s}}async getModelForRequest(e,n){let o;if(e.userSelectedModelId&&(o=await this._languageModels.getLanguageModelByIdentifier(n,e.userSelectedModelId)),!o&&(o=await this._languageModels.getDefaultLanguageModel(n),!o))throw new Error("Language model unavailable");return o}async $setRequestTools(e,n){let o=[...this._inFlightRequests].find(s=>s.requestId===e);if(!o)return;o.extRequest.tools.clear();let r=await this.getToolsForRequest(o.extension,n,o.extRequest.model.id,ye.None);for(let[s,a]of r)o.extRequest.tools.set(s,a);this._onDidChangeChatRequestTools.fire(o.extRequest)}$setYieldRequested(e,n){let o=[...this._inFlightRequests].find(r=>r.requestId===e);o&&(o.yieldRequested=n)}async $invokeAgent(e,n,o,r){let s=this._agents.get(e);if(!s)throw new Error(`[CHAT](${e}) CANNOT invoke agent because the agent is not registered`);let a,l;try{let{request:d,location:c,history:u}=await this._createRequest(n,o,s.extension),m=this._sessionDisposables.get(d.sessionResource);m||(m=new J,this._sessionDisposables.set(d.sessionResource,m)),a=new Hm(s.extension,d,this._proxy,this._commands.converter,m,this._pendingCarouselResolvers,r);let g=await this.getModelForRequest(d,s.extension),v=await this.getToolsForRequest(s.extension,d.userSelectedTools,g.id,r),f=Ap.to(d,c,g,d.modelConfiguration,this.getDiagnosticsWhenEnabled(s.extension),v,s.extension,this._logService);l={requestId:n.requestId,extRequest:f,extension:s.extension,hooks:d.hooks,yieldRequested:!1},this._inFlightRequests.add(l);let x;if(o.chatSessionContext){let k=y.revive(o.chatSessionContext.chatSessionResource),O=await this._chatSessions.getInputStateForSession(k,o.chatSessionContext.initialSessionOptions,r);x={chatSessionItem:{resource:k,label:o.chatSessionContext.isUntitled?"Untitled Session":"Session"},isUntitled:o.chatSessionContext.isUntitled,initialSessionOptions:o.chatSessionContext.initialSessionOptions,inputState:O}}let C={history:u,chatSessionContext:x,get yieldRequested(){return l?.yieldRequested??!1}},E=s.invoke(f,C,a.apiObject,r);return await G8(1e3,Promise.resolve(E).then(k=>{if(k?.metadata)try{JSON.stringify(k.metadata)}catch(N){let H=`result.metadata MUST be JSON.stringify-able. Got error: ${N.message}`;return this._logService.error(`[${s.extension.identifier.value}] [@${s.id}] ${H}`,s.extension),{errorDetails:{message:H},timings:a?.timings,nextQuestion:k.nextQuestion}}let O;return k?.errorDetails&&(O={...k.errorDetails,responseIsIncomplete:!0}),(O?.responseIsRedacted||O?.isQuotaExceeded||O?.isRateLimited||O?.isExpectedError||O?.confirmationButtons||O?.code)&&D(s.extension,"chatParticipantPrivate"),{errorDetails:O,timings:a?.timings,metadata:k?.metadata,nextQuestion:k?.nextQuestion,details:k?.details}}),r)}catch(d){this._logService.error(d,s.extension),d instanceof Qo&&d.cause&&(d=d.cause);let c=d instanceof Error&&d.name==="ChatQuotaExceeded",u=d instanceof Error&&d.name==="ChatRateLimited",m=d instanceof Error&&d.name==="ChatExpectedError",{callstack:g}=J1(d),v=d instanceof Error?d.name:void 0;return{errorDetails:{message:jr(d),responseIsIncomplete:!0,isQuotaExceeded:c,isRateLimited:u,isExpectedError:m},errorCallstack:g,errorName:v}}finally{l&&this._inFlightRequests.delete(l);let d=this._pendingCarouselResolvers.get(n.requestId);if(d){for(let c of d.values())c.complete(void 0);this._pendingCarouselResolvers.delete(n.requestId)}a?.close()}}getDiagnosticsWhenEnabled(e){return De(e,"chatReferenceDiagnostic")?this._diagnostics.getDiagnostics():[]}async getToolsForRequest(e,n,o,r){if(!n)return new Map;let s=new Map;for(let a of this._tools.getTools(e))typeof n[a.name]=="boolean"&&s.set(a,n[a.name]);return s}async prepareHistoryTurns(e,n,o){let r=[];for(let s of o.history){let a=Op.to(s.result),l=n===s.request.agentId||x2(s.request.agentId)&&x2(n)?a:{...a,metadata:void 0},d=[],c=[];for(let f of s.request.variables.variables)if(f.kind==="tool")c.push(uc.to(f));else if(f.kind==="toolset")c.push(...f.value.map(uc.to));else{let x=iC.to(f,this.getDiagnosticsWhenEnabled(e),this._logService);x&&d.push(x)}let u=De(e,"chatParticipantPrivate")?s.request.editedFileEvents:void 0,m=De(e,"chatParticipantPrivate")&&s.request.modeInstructions?fc.to(s.request.modeInstructions):void 0,g=new Zi(s.request.message,s.request.command,d,s.request.agentId,c,u,s.request.requestId,void 0,m);r.push(g);let v=it(s.response.map(f=>Rp.toContent(f,this._commands.converter)));r.push(new dp(v,l,s.request.agentId,s.request.command))}return r}$releaseSession(e){let n=y.revive(e);this._sessionDisposables.deleteAndDispose(n);let o=cr.parseLocalSessionId(n);o&&this._onDidDisposeChatSession.fire(o)}$acceptActiveChatSession(e){let n=e?y.revive(e):void 0;this._activeChatPanelSessionResource?.toString()!==n?.toString()&&(this._activeChatPanelSessionResource=n,this._onDidChangeActiveChatPanelSessionResource.fire(n))}async $provideFollowups(e,n,o,r,s){let a=this._agents.get(n);if(!a)return Promise.resolve([]);let l=_t(e),d=await this.prepareHistoryTurns(a.extension,a.id,r),c=Op.to(o);return(await a.provideFollowups(c,{history:d,yieldRequested:!1},s)).filter(u=>{let m=!u.participant||yt.some(this._agents.values(),g=>g.id===u.participant&&Se.equals(g.extension.identifier,a.extension.identifier));return m||this._logService.warn(`[@${a.id}] ChatFollowup refers to an unknown participant: ${u.participant}`),m}).map(u=>zx.from(u,l))}$acceptFeedback(e,n,o){let r=this._agents.get(e);if(!r)return;let s=Op.to(n),a;switch(o.direction){case 0:a=0;break;case 1:a=1;break}let l={result:s,kind:a};r.acceptFeedback(Object.freeze(l))}$handleQuestionCarouselAnswer(e,n,o){let r=this._pendingCarouselResolvers.get(e);if(!r)return;let s=r.get(n);s&&(s.complete(o),r.delete(n)),r.size===0&&this._pendingCarouselResolvers.delete(e)}$acceptAction(e,n,o){let r=this._agents.get(e);if(!r||o.action.kind==="vote")return;let s=XD.to(n,o,this._commands.converter);s&&r.acceptAction(Object.freeze(s))}async $invokeCompletionProvider(e,n,o){let r=this._agents.get(e);if(!r)return[];let s=this._completionDisposables.get(e);return s?s.clear():(s=new J,this._completionDisposables.set(e,s)),(await r.invokeCompletionProvider(n,o)).map(l=>JD.from(l,this._commands.converter,s))}async $provideChatTitle(e,n,o){let r=this._agents.get(e);if(!r)return;let s=await this.prepareHistoryTurns(r.extension,r.id,{history:n}),a=n[0]?.request.sessionResource?y.revive(n[0].request.sessionResource):void 0;return await r.provideTitle({history:s,sessionResource:a,yieldRequested:!1},o)}async $provideChatSummary(e,n,o){let r=this._agents.get(e);if(!r)return;let s=await this.prepareHistoryTurns(r.extension,r.id,{history:n}),a=n[0]?.request.sessionResource?y.revive(n[0].request.sessionResource):void 0;return await r.provideSummary({history:s,sessionResource:a,yieldRequested:!1},o)}},X1=class{constructor(t,e){this.extension=t;this.provider=e}},CS=class{constructor(t,e,n,o,r){this.extension=t;this.id=e;this._proxy=n;this._handle=o;this._requestHandler=r;this._onDidReceiveFeedback=new w;this._onDidPerformAction=new w;this._pauseStateEmitter=new w}acceptFeedback(t){this._onDidReceiveFeedback.fire(t)}acceptAction(t){this._onDidPerformAction.fire(t)}setChatRequestPauseState(t){this._pauseStateEmitter.fire(t)}async invokeCompletionProvider(t,e){return this._agentVariableProvider?await this._agentVariableProvider.provider.provideCompletionItems(t,e)??[]:[]}async provideFollowups(t,e,n){if(!this._followupProvider)return[];let o=await this._followupProvider.provideFollowups(t,e,n);return o?o.filter(r=>!(r&&"commandId"in r)).filter(r=>!(r&&"message"in r)):[]}async provideTitle(t,e){if(this._titleProvider)return await this._titleProvider.provideChatTitle(t,e)??void 0}async provideSummary(t,e){if(this._summarizer)return await this._summarizer.provideChatSummary(t,e)??void 0}get apiAgent(){let t=!1,e=!1,n=()=>{t||e||(e=!0,queueMicrotask(()=>{this._proxy.$updateAgent(this._handle,{icon:this._iconPath?this._iconPath instanceof y?this._iconPath:"light"in this._iconPath?this._iconPath.light:void 0:void 0,iconDark:this._iconPath&&"dark"in this._iconPath?this._iconPath.dark:void 0,themeIcon:this._iconPath instanceof an?this._iconPath:void 0,hasFollowups:this._followupProvider!==void 0,helpTextPrefix:!this._helpTextPrefix||typeof this._helpTextPrefix=="string"?this._helpTextPrefix:pe.from(this._helpTextPrefix),helpTextPostfix:!this._helpTextPostfix||typeof this._helpTextPostfix=="string"?this._helpTextPostfix:pe.from(this._helpTextPostfix),supportIssueReporting:this._supportIssueReporting,additionalWelcomeMessage:!this._additionalWelcomeMessage||typeof this._additionalWelcomeMessage=="string"?this._additionalWelcomeMessage:pe.from(this._additionalWelcomeMessage)}),e=!1}))},o=this;return{get id(){return o.id},get iconPath(){return o._iconPath},set iconPath(r){o._iconPath=r,n()},get requestHandler(){return o._requestHandler},set requestHandler(r){Mv(typeof r=="function","Invalid request handler"),o._requestHandler=r},get followupProvider(){return o._followupProvider},set followupProvider(r){o._followupProvider=r,n()},get helpTextPrefix(){return D(o.extension,"defaultChatParticipant"),o._helpTextPrefix},set helpTextPrefix(r){D(o.extension,"defaultChatParticipant"),o._helpTextPrefix=r,n()},get helpTextPostfix(){return D(o.extension,"defaultChatParticipant"),o._helpTextPostfix},set helpTextPostfix(r){D(o.extension,"defaultChatParticipant"),o._helpTextPostfix=r,n()},get supportIssueReporting(){return D(o.extension,"chatParticipantPrivate"),o._supportIssueReporting},set supportIssueReporting(r){D(o.extension,"chatParticipantPrivate"),o._supportIssueReporting=r,n()},get onDidReceiveFeedback(){return o._onDidReceiveFeedback.event},set participantVariableProvider(r){if(D(o.extension,"chatParticipantAdditions"),o._agentVariableProvider=r,r){if(!r.triggerCharacters.length)throw new Error("triggerCharacters are required");o._proxy.$registerAgentCompletionsProvider(o._handle,o.id,r.triggerCharacters)}else o._proxy.$unregisterAgentCompletionsProvider(o._handle,o.id)},get participantVariableProvider(){return D(o.extension,"chatParticipantAdditions"),o._agentVariableProvider},set additionalWelcomeMessage(r){D(o.extension,"defaultChatParticipant"),o._additionalWelcomeMessage=r,n()},get additionalWelcomeMessage(){return D(o.extension,"defaultChatParticipant"),o._additionalWelcomeMessage},set titleProvider(r){D(o.extension,"defaultChatParticipant"),o._titleProvider=r,n()},get titleProvider(){return D(o.extension,"defaultChatParticipant"),o._titleProvider},set summarizer(r){D(o.extension,"defaultChatParticipant"),o._summarizer=r},get summarizer(){return D(o.extension,"defaultChatParticipant"),o._summarizer},get onDidChangePauseState(){return D(o.extension,"chatParticipantAdditions"),o._pauseStateEmitter.event},onDidPerformAction:De(this.extension,"chatParticipantAdditions")?this._onDidPerformAction.event:void 0,dispose(){t=!0,o._followupProvider=void 0,o._onDidReceiveFeedback.dispose(),o._onDidPerformAction.dispose(),o._pauseStateEmitter.dispose(),o._proxy.$unregisterAgent(o._handle)}}}invoke(t,e,n,o){return this._requestHandler(t,e,n,o)}};function G8(i,t,e){return new Promise((n,o)=>{let r=e.onCancellationRequested(async()=>{r.dispose(),await Sn(i),n(void 0)});t.then(n,o).finally(()=>r.dispose())})}var ql=class{constructor(t){this.computeFn=t}get(t){if(!this.cachedPromise){let e=this.computeFn().catch(n=>{throw this.cachedPromise===e&&(this.cachedPromise=void 0),n});this.cachedPromise=e}return ys(this.cachedPromise,t,[])}clear(){this.cachedPromise=void 0}};function x2(i){return i.startsWith("github.copilot")}var SS=class{constructor(t,e){this.webviews=e;this._renderers=new Map;this._proxy=t.getProxy(L.MainThreadChatOutputRenderer)}registerChatOutputRenderer(t,e,n){if(this._renderers.has(e))throw new Error(`Chat output renderer already registered for: ${e}`);return this._renderers.set(e,{extension:t,renderer:n}),this._proxy.$registerChatOutputRenderer(e,t.identifier,t.extensionLocation),new Ie(()=>{this._renderers.delete(e),this._proxy.$unregisterChatOutputRenderer(e)})}async $renderChatOutput(t,e,n,o,r,s){let a=this._renderers.get(t);if(!a)throw new Error(`No chat output renderer registered for: ${t}`);let l=this.webviews.createNewWebview(o,{},a.extension),d=Object.freeze({webview:l,onDidDispose:l._onDidDispose});return a.renderer.renderChatOutput(Object.freeze({mime:e,value:n.buffer}),d,Object.freeze(r),s)}};var da=class{constructor(t,e){this.#n=new w;this.onDidChange=this.#n.event;this.#o=new w;this.onDidDispose=this.#o.event;this.#e=t,this.#t=e}#e;#t;#n;#o;#s;get sessionResource(){return this.#s}set sessionResource(t){this.#s=t}#r;get untitledSessionResource(){return this.#r}set untitledSessionResource(t){this.#r=t}get groups(){return this.#e}set groups(t){this.#e=t,this.#t?.()}_fireDidChange(){this.#n.fire()}_setGroups(t){this.#e=t}_dispose(){this.#o.fire(),this.#o.dispose(),this.#n.dispose()}},Z1=class{#e;#t;#n;#o;#s;#r;#l;#a;#d;#c;#i;constructor(t,e,n){this.resource=t,this.#e=e,this.#i=n}get label(){return this.#e}set label(t){this.#e!==t&&(this.#e=t,this.#i())}get iconPath(){return this.#t}set iconPath(t){this.#t!==t&&(this.#t=t,this.#i())}get description(){return this.#n}set description(t){this.#n!==t&&(this.#n=t,this.#i())}get badge(){return this.#o}set badge(t){this.#o!==t&&(this.#o=t,this.#i())}get status(){return this.#s}set status(t){this.#s!==t&&(this.#s=t,this.#i())}get archived(){return this.#r}set archived(t){this.#r!==t&&(this.#r=t,this.#i())}get tooltip(){return this.#l}set tooltip(t){this.#l!==t&&(this.#l=t,this.#i())}get timing(){return this.#a}set timing(t){this.#a!==t&&(this.#a=t,this.#i())}get changes(){return this.#d}set changes(t){this.#d!==t&&(this.#d=t,this.#i())}get metadata(){return this.#c}set metadata(t){if(t!==void 0)try{JSON.stringify(t)}catch{throw new Error("metadata must be JSON-serializable")}Rt(this.#c,t)||(this.#c=t,this.#i())}};function Q8(i,t){let e={addedOrUpdated:new $e,removed:new er};for(let[n,o]of t)i.get(n)!==o&&e.addedOrUpdated.set(n,o);for(let n of i.keys())t.has(n)||e.removed.add(n);return e}function J8(i){return{addedOrUpdated:i.addedOrUpdated?Array.from(i.addedOrUpdated.values(),ra.from):[],removed:i.removed?Array.from(i.removed.keys()):[]}}var TS=class{#e=new $e;#t;#n;constructor(t,e){this.#t=e,this.#n=t}get size(){return this.#e.size}replace(t){if(!t.length&&!this.#e.size)return;let e=new $e(t.map(o=>[o.resource,o])),n=Q8(this.#e,e);!n.addedOrUpdated?.size&&!n.removed?.size||(this.#e=e,this.#t.$updateChatSessionItems(this.#n,J8(n)))}forEach(t,e){for(let[n,o]of this.#e)t.call(e,o,this)}add(t){let e=this.#e.get(t.resource);e&&e===t||(this.#e.set(t.resource,t),this.#t.$addOrUpdateChatSessionItem(this.#n,ra.from(t)))}delete(t){this.#e.delete(t)&&this.#t.$updateChatSessionItems(this.#n,{addedOrUpdated:[],removed:[t]})}get(t){return this.#e.get(t)}[Symbol.iterator](){return this.#e.entries()}},eA=class{constructor(t,e,n,o,r,s){this.session=t;this.extension=e;this.proxy=o;this.commandsConverter=r;this.sessionDisposables=s;this._pendingCarouselResolvers=new Map;this._stream=new Hm(e,n,o,r,s,this._pendingCarouselResolvers,ye.None)}get activeResponseStream(){return this._stream}getActiveRequestStream(t){return new Hm(this.extension,t,this.proxy,this.commandsConverter,this.sessionDisposables,this._pendingCarouselResolvers,ye.None)}},Vm=class extends V{constructor(e,n,o,r){super();this.commands=e;this._languageModels=n;this._extHostRpc=o;this._logService=r;this._itemControllerHandlePool=0;this._chatSessionItemControllers=new Map;this._contentProviderHandlePool=0;this._chatSessionContentProviders=new Map;this._extHostChatSessions=new $e;this._proxyCommands=new Map;this._proxy=this._extHostRpc.getProxy(L.MainThreadChatSessions),e.registerArgumentProcessor({processArgument:s=>{if(s&&s.$mid===25){let a=s.session.resource;for(let{controller:l}of this._chatSessionItemControllers.values()){let d=l.items.get(a);if(d)return d}return this._logService.warn(`No chat session found with uri: ${a}`),s}return s}})}registerChatSessionItemProvider(e,n,o){let r=this._itemControllerHandlePool++,s=new J,a=s.add(new w),l=new TS(r,this._proxy),d={id:n,items:l,createChatSessionItem:(u,m)=>{throw new Error("Not implemented for providers")},createChatSessionInputState:u=>new da([]),onDidChangeChatSessionItemState:a.event,newChatSessionItemHandler:void 0,resolveChatSessionItem:o.resolveChatSessionItem?async(u,m)=>{let g=await o.resolveChatSessionItem(u,m);g&&l.add(g)}:void 0,dispose:()=>{s.dispose()},refreshHandler:async u=>{let m=await o.provideChatSessionItems(u)??[];l.replace(m)}};return this._chatSessionItemControllers.set(r,{chatSessionType:n,controller:d,extension:e,disposable:s,onDidChangeChatSessionItemStateEmitter:a,inputStates:new Set}),this._proxy.$registerChatSessionItemController(r,n,!!o.resolveChatSessionItem),o.onDidChangeChatSessionItems&&s.add(o.onDidChangeChatSessionItems(()=>{this._logService.trace(`ExtHostChatSessions. Provider items changed for ${n}`),d.refreshHandler(ye.None)})),o.onDidCommitChatSessionItem&&s.add(o.onDidCommitChatSessionItem(u=>{let{original:m,modified:g}=u;this._proxy.$onDidCommitChatSessionItem(r,m.resource,g.resource)})),Object.assign({dispose:()=>{this._chatSessionItemControllers.delete(r),s.dispose(),this._proxy.$unregisterChatSessionItemController(r)}},{onDidChangeChatSessionItemState:a.event})}createChatSessionItemController(e,n,o){let r=this._itemControllerHandlePool++,s=new J,a=!1,l,d,c,u,m=s.add(new w),g=new Set,v=new TS(r,this._proxy),f=this._proxy,x=Object.freeze({id:n,refreshHandler:async C=>{if(a)throw new Error("ChatSessionItemController has been disposed");this._logService.trace(`ExtHostChatSessions. Controller(${n}).refresh()`),await o(C)},items:v,onDidChangeChatSessionItemState:m.event,createChatSessionItem:(C,E)=>{if(a)throw new Error("ChatSessionItemController has been disposed");let k=new Z1(C,E,()=>{v.get(C)===k&&this._proxy.$addOrUpdateChatSessionItem(r,ra.from(k))});return k},get newChatSessionItemHandler(){return l},set newChatSessionItemHandler(C){l=C},get forkHandler(){return d},set forkHandler(C){d=C},get resolveChatSessionItem(){return c},set resolveChatSessionItem(C){let E=!!c;c=C;let k=!!C;E!==k&&!a&&f.$updateChatSessionItemControllerCapabilities(r,k)},get getChatSessionInputState(){return u},set getChatSessionInputState(C){u=C},createChatSessionInputState:C=>{if(a)throw new Error("ChatSessionItemController has been disposed");let E=new da(C,()=>{let k=this._chatSessionItemControllers.get(r);k&&(k.optionGroups=E.groups);let N=this._wrapOptionGroupCommands(r,E.groups).map(q=>({id:q.id,name:q.name,description:q.description,items:q.items,selected:q.selected,when:q.when,icon:q.icon,commands:q.commands,kind:q.kind})),H=E.sessionResource??E.untitledSessionResource;H&&this._proxy.$updateChatSessionInputState(r,H,N)});return g.add(E),E},dispose:()=>{a=!0;for(let C of g)C._dispose();g.clear(),s.dispose()}});return this._chatSessionItemControllers.set(r,{controller:x,extension:e,disposable:s,chatSessionType:n,onDidChangeChatSessionItemStateEmitter:m,inputStates:g}),this._proxy.$registerChatSessionItemController(r,n,!!c),s.add(X(()=>{this._chatSessionItemControllers.delete(r),this._proxy.$unregisterChatSessionItemController(r)})),x}registerChatSessionContentProvider(e,n,o,r,s){let a=this._contentProviderHandlePool++,l=new J;return this._chatSessionContentProviders.set(a,{chatSessionScheme:n,provider:r,extension:e,capabilities:s,disposable:l}),this._proxy.$registerChatSessionContentProvider(a,n),r.onDidChangeChatSessionOptions&&l.add(r.onDidChangeChatSessionOptions(d=>{let c=Object.create(null);for(let u of d.updates)c[u.optionId]=u.value;this._proxy.$onDidChangeChatSessionOptions(a,d.resource,c)})),r.onDidChangeChatSessionProviderOptions&&l.add(r.onDidChangeChatSessionProviderOptions(()=>{this._proxy.$onDidChangeChatSessionProviderOptions(a)})),new Ie(()=>{this._chatSessionContentProviders.delete(a),l.dispose(),this._proxy.$unregisterChatSessionContentProvider(a)})}async $provideChatSessionContent(e,n,o,r){let s=this._chatSessionContentProviders.get(e);if(!s)throw new Error(`No provider for handle ${e}`);let a=y.revive(n),l=this.getChatSessionItemController(wd(a)),d;if(l?.controller.getChatSessionInputState){let x=await l.controller.getChatSessionInputState(kd(a)?void 0:a,{previousInputState:this._createInputStateFromOptions(l.optionGroups??[],o.initialSessionOptions)},r);x&&(d=x)}d??=this._createInputStateFromOptions(l?.optionGroups??[],o.initialSessionOptions),d instanceof da&&(l&&this._disposeInputStatesForResource(l.inputStates,a),kd(a)?d.untitledSessionResource=a:d.sessionResource=a);let c=await s.provider.provideChatSessionContent(a,r,{inputState:d});if(r.isCancellationRequested)throw new rt;let u=new J,m=a.toString(),g=new eA(c,s.extension,{sessionResource:a,requestId:"ongoing",agentId:m,message:"",variables:{variables:[]},location:"panel"},{$handleProgressChunk:(x,C)=>this._proxy.$handleProgressChunk(e,a,x,C),$handleAnchorResolve:(x,C,E)=>{this._proxy.$handleAnchorResolve(e,a,x,C,E)}},this.commands.converter,u),v=u.add(new Me);this._extHostChatSessions.set(a,{sessionObj:g,disposeCts:v}),c.activeResponseCallback&&Promise.resolve(c.activeResponseCallback(g.activeResponseStream.apiObject,v.token)).finally(()=>{this._proxy.$handleProgressComplete(e,a,"ongoing")});let{capabilities:f}=s;return{resource:y.revive(a),title:c.title,hasActiveResponseCallback:!!c.activeResponseCallback,hasRequestHandler:!!c.requestHandler,hasForkHandler:!!l?.controller.forkHandler||!!c.forkHandler,supportsInterruption:!!f?.supportsInterruptions,options:c.options,history:c.history.map(x=>x instanceof Zi?this.convertRequestTurn(x):this.convertResponseTurn(x,u))}}async $provideHandleOptionsChange(e,n,o,r){let s=y.revive(n),a=this._chatSessionContentProviders.get(e);if(!a){this._logService.warn(`No provider for handle ${e}`);return}if(a.provider.provideHandleOptionsChange){try{let c=Object.entries(o).map(([u,m])=>({optionId:u,value:m===void 0?void 0:typeof m=="string"?m:m.id}));a.provider.provideHandleOptionsChange(s,c,r)}catch(c){this._logService.error(`Error calling provideHandleOptionsChange for handle ${e}, sessionResource ${s}:`,c)}return}let l=wd(s),d=this.getChatSessionItemController(l);if(!d||!d.controller.getChatSessionInputState){this._logService.warn(`No valid controller found for session type ${l}`);return}for(let c of d?.inputStates??[]){let u=c.groups.map(m=>{let g=o[m.id];if(!g)return m;let v=typeof g=="string"?g:g.id,f=m.items.find(x=>x.id===v);return f?{...m,selected:f}:m});c._setGroups(u),c._fireDidChange()}}async $provideChatSessionProviderOptions(e,n){let o=this._chatSessionContentProviders.get(e);if(!o){this._logService.warn(`No provider for handle ${e} when requesting chat session options`);return}let r=o.provider;if(r.provideChatSessionProviderOptions)try{let s=await r.provideChatSessionProviderOptions(n);if(!s)return;let{optionGroups:a,newSessionOptions:l}=s;if(a){let d=this.getChatSessionItemController(o.chatSessionScheme);d&&(d.optionGroups=a)}return{optionGroups:a,newSessionOptions:l}}catch(s){this._logService.error(`Error calling provideChatSessionProviderOptions for handle ${e}:`,s);return}}async $interruptChatSessionActiveResponse(e,n,o){this._extHostChatSessions.get(y.revive(n))?.disposeCts.cancel()}async $disposeChatSessionContent(e,n){let o=y.revive(n),r=this._extHostChatSessions.get(o);if(!r){this._logService.warn(`No chat session found for resource: ${n}`);return}let s=this.getChatSessionItemController(o.scheme);s&&this._disposeInputStatesForResource(s.inputStates,o),r.disposeCts.cancel(),r.sessionObj.sessionDisposables.dispose(),this._extHostChatSessions.delete(o)}async $invokeChatSessionRequestHandler(e,n,o,r,s){let a=this._extHostChatSessions.get(y.revive(n));if(!a||!a.sessionObj.session.requestHandler)return{};let l=Ap.to(o,void 0,await this.getModelForRequest(o,a.sessionObj.extension),o.modelConfiguration,[],new Map,a.sessionObj.extension,this._logService),d=a.sessionObj.getActiveRequestStream(o);return await a.sessionObj.session.requestHandler(l,{history:r,yieldRequested:!1},d.apiObject,s),{}}async $forkChatSession(e,n,o,r){let s=y.revive(n),a=this._extHostChatSessions.get(s);if(!a)throw new Error(`No chat session found for resource ${s.toString()}`);let l=this.convertRequestDtoToRequestTurn(o),d=this.getChatSessionItemController(wd(s));if(d?.controller.forkHandler){let u=await d.controller.forkHandler(s,l,r);return ra.from(u)}if(!a.sessionObj.session.forkHandler)throw new Error(`No fork handler for session ${s.toString()}`);let c=await a.sessionObj.session.forkHandler(s,l,r);return ra.from(c)}convertRequestDtoToRequestTurn(e){if(e)return new Zi(e.prompt,e.command,[],e.participant,[],void 0,e.id,e.modelId,fc.to(e.modeInstructions))}getChatSessionItemController(e){for(let n of this._chatSessionItemControllers.values())if(n.chatSessionType===e)return n}_disposeInputStatesForResource(e,n){for(let o of e){let r=o.sessionResource??o.untitledSessionResource;r&&Cn(n,r)&&(o._dispose(),e.delete(o))}}_createInputStateFromOptions(e,n){if(!n?.length)return new da(e);let o=e.map(r=>{let s=n.find(l=>l.optionId===r.id);if(!s)return r;let a=r.items.find(l=>l.id===s.value);return a?{...r,selected:a}:r});return new da(o)}async getInputStateForSession(e,n,o){let r=e?wd(e):void 0,s=r?this.getChatSessionItemController(r):void 0,a=e&&!kd(e)?e:void 0;if(s?.controller.getChatSessionInputState){let d=await s.controller.getChatSessionInputState(a,{previousInputState:this._createInputStateFromOptions(s.optionGroups??[],n)},o);if(d)return d instanceof da&&(e&&s&&this._disposeInputStatesForResource(s.inputStates,e),e&&kd(e)?d.untitledSessionResource=e:e&&(d.sessionResource=a)),d}let l=this._createInputStateFromOptions(s?.optionGroups??[],n);return l.sessionResource=a,l}_wrapOptionGroupCommands(e,n){return this._chatSessionItemControllers.get(e)?.controller.getChatSessionInputState?n.map(r=>r.commands?.length?{...r,commands:r.commands.map(s=>{let a=`_chatSession.proxyCommand.${We()}`;return this._proxyCommands.set(a,{originalCommandId:s.command,controllerHandle:e}),this.commands.registerCommand(!0,a,async(...l)=>{let d=l[0]instanceof y?l[0]:void 0,c=await this.getInputStateForSession(d,void 0,ye.None);return this.commands.executeCommand(s.command,{inputState:c,sessionResource:d},...s.arguments??[])}),{...s,command:a}})}:r):n}async getModelForRequest(e,n){let o;if(e.userSelectedModelId&&(o=await this._languageModels.getLanguageModelByIdentifier(n,e.userSelectedModelId)),!o&&(o=await this._languageModels.getDefaultLanguageModel(n),!o))throw new Error("Language model unavailable");return o}convertRequestTurn(e){let n=e.references.map(o=>this.convertReferenceToVariable(o));return{type:"request",id:e.id,prompt:e.prompt,participant:e.participant,command:e.command,variableData:n.length>0?{variables:n}:void 0,modelId:e.modelId,modeInstructions:fc.from(e.modeInstructions2)}}convertReferenceToVariable(e){let n=e.value&&typeof e.value=="object"&&"uri"in e.value&&"range"in e.value?Ur.from(e.value):e.value,o=e.range?{start:e.range[0],endExclusive:e.range[1]}:void 0;if(n&&n instanceof El&&Array.isArray(n.diagnostics)&&n.diagnostics.length&&n.diagnostics[0][1].length){let a=ea.from(n.diagnostics[0][1][0]),l={filterRange:{startLineNumber:a.startLineNumber,startColumn:a.startColumn,endLineNumber:a.endLineNumber,endColumn:a.endColumn},filterSeverity:a.severity,filterUri:n.diagnostics[0][0],problemMessage:n.diagnostics[0][1][0].message};return xf.toEntry(l)}if(Wt.isLocation(e.value)&&e.name.startsWith("sym:")){let a=Ur.from(e.value);return{id:e.id,name:e.name,fullName:e.name.substring(4),value:{uri:e.value.uri,range:a.range},symbolKind:6,icon:uP.toIcon(6),kind:"symbol",range:o}}if(y.isUri(n)&&e.name.startsWith("prompt:")){if(e.id.startsWith("vscode.instructions.file.root"))return Va(n,"vscode.instructions.file.root");if(e.id.startsWith("vscode.instructions.file.reference"))return Va(n,"vscode.instructions.file.reference");if(e.id.startsWith("vscode.prompt.file"))return Va(n,"vscode.prompt.file")}let r=y.isUri(n)||n&&typeof n=="object"&&"uri"in n,s=r&&y.isUri(n)&&n.path.endsWith("/");return{id:e.id,name:e.name,value:n,modelDescription:e.modelDescription,range:o,kind:s?"directory":r?"file":"generic"}}convertResponseTurn(e,n){return{type:"response",parts:it(e.response.map(r=>Rp.from(r,this.commands.converter,n))),participant:e.participant,details:e.result?.details}}async $refreshChatSessionItems(e,n){let o=this._chatSessionItemControllers.get(e);if(!o){this._logService.warn(`No controller found for handle ${e}`);return}await o.controller.refreshHandler(n)}async $newChatSessionItem(e,n,o){let r=this._chatSessionItemControllers.get(e);if(!r){this._logService.warn(`No controller found for handle ${e}`);return}let s=r.controller.newChatSessionItemHandler;if(!s)return;let a=this._createInputStateFromOptions(r.optionGroups??[],n.initialSessionOptions),l;r.controller.getChatSessionInputState?l=await r.controller.getChatSessionInputState(void 0,{previousInputState:a},o):l=a;let d=await s({request:{prompt:n.prompt,command:n.command},inputState:l},o);if(d)return r.controller.items.add(d),ra.from(d)}$onDidChangeChatSessionItemState(e,n,o){let r=this._chatSessionItemControllers.get(e);if(!r){this._logService.warn(`No controller found for handle ${e}`);return}let s=y.revive(n),a=r.controller.items.get(s);if(!a){this._logService.warn(`No item found for session resource ${s.toString()}`);return}a.archived=o,r.onDidChangeChatSessionItemStateEmitter.fire(a)}async $resolveChatSessionItem(e,n,o){let r=y.revive(n),s=this._chatSessionItemControllers.get(e);if(!s?.controller.resolveChatSessionItem)return;let a=s.controller.items.get(r);if(!a){this._logService.warn(`No item found for session resource ${r.toString()}`);return}await s.controller.resolveChatSessionItem(a,o);let l=s.controller.items.get(r);if(l)return ra.from(l)}async $provideChatSessionInputState(e,n,o){let r=this._chatSessionItemControllers.get(e);if(!r){this._logService.warn(`No controller found for handle ${e}`);return}let s=r.controller.getChatSessionInputState;if(!s)return;let a=n?y.revive(n):void 0,l=await s(!a||kd(a)?void 0:a,{previousInputState:void 0},o);return l?(l instanceof da&&a&&(this._disposeInputStatesForResource(r.inputStates,a),kd(a)?l.untitledSessionResource=a:l.sessionResource=a),r.optionGroups=l.groups,this._wrapOptionGroupCommands(e,l.groups).map(c=>({id:c.id,name:c.name,description:c.description,items:c.items,selected:c.selected,when:c.when,icon:c.icon,commands:c.commands,kind:c.kind}))):void 0}};Vm=R([S(2,ge),S(3,ae)],Vm);var ES=class{constructor(t){this._items=new Map;this._proxy=t.getProxy(L.MainThreadChatStatus)}createChatStatusItem(t,e){let n=X8(t.identifier,e);if(this._items.has(n))throw new Error(`Chat status item '${e}' already exists`);let o={id:n,title:"",description:"",detail:"",tooltip:void 0},r=!1,s=!1,a=()=>{if(r)throw new Error("Chat status item is disposed");s&&this._proxy.$setEntry(e,o)},l=Object.freeze({id:e,get title(){return o.title},set title(d){o.title=d,a()},get description(){return o.description},set description(d){o.description=d,a()},get detail(){return o.detail},set detail(d){o.detail=d,a()},get tooltip(){return o.tooltip},set tooltip(d){o.tooltip=d,a()},show:()=>{s=!0,a()},hide:()=>{s=!1,this._proxy.$disposeEntry(e)},dispose:()=>{r=!0,this._proxy.$disposeEntry(e),this._items.delete(n)}});return this._items.set(n,l),l}};function X8(i,t){return`${Se.toKey(i)}.${t}`}var wS=class extends V{constructor(t){super(),this._proxy=t.getProxy(L.MainThreadChatQuota)}updateQuotas(t){this._proxy.$updateQuotas(t)}};var kS=class{constructor(t){this._items=new Map;this._proxy=t.getProxy(L.MainThreadChatInputNotification)}createInputNotification(t,e){let n=Y8(t.identifier,e);if(this._items.has(n))throw new Error(`Chat input notification '${e}' already exists`);let o={id:n,severity:0,message:"",description:void 0,actions:[],dismissible:!0,autoDismissOnMessage:!1},r=!1,s=!1,a=()=>{if(r)throw new Error("Chat input notification is disposed");s&&this._proxy.$setNotification({...o})},l=Object.freeze({id:e,get severity(){return o.severity},set severity(d){o.severity=d,a()},get message(){return o.message},set message(d){o.message=d,a()},get description(){return o.description},set description(d){o.description=d,a()},get actions(){return o.actions},set actions(d){o.actions=d.map(c=>({label:c.label,commandId:c.commandId,commandArgs:c.commandArgs})),a()},get dismissible(){return o.dismissible},set dismissible(d){o.dismissible=d,a()},get autoDismissOnMessage(){return o.autoDismissOnMessage},set autoDismissOnMessage(d){o.autoDismissOnMessage=d,a()},show:()=>{s=!0,a()},hide:()=>{r||(s=!1,this._proxy.$disposeNotification(n))},dispose:()=>{r||(r=!0,s=!1,this._proxy.$disposeNotification(n),this._items.delete(n))}});return this._items.set(n,l),l}};function Y8(i,t){return`${Se.toKey(i)}.${t}`}var PS=class{constructor(t){let e=t.getProxy(L.MainThreadClipboard);this.value=Object.freeze({readText(){return e.$readText()},writeText(n){return e.$writeText(n)}})}};var C2="vscode-cdn.net",Z8=`vscode-resource.${C2}`,Jh=`'self' https://*.${C2}`;function Kl(i,t){return i.scheme===K.http||i.scheme===K.https?i:(t&&t.authority&&t.isRemote&&i.scheme===K.file&&(i=y.from({scheme:K.vscodeRemote,authority:t.authority,path:i.path})),y.from({scheme:K.https,authority:`${i.scheme}+${e9(i.authority)}.${Z8}`,path:i.path,fragment:i.fragment,query:i.query}))}function e9(i){return i.replace(/./g,t=>{let e=t.charCodeAt(0);return e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57?t:"-"+e.toString(16).padStart(4,"0")})}var _S=class{constructor(t,e,n){this._proxy=t;this._editors=e;this._remoteInfo=n;this._handlePool=0;this._disposables=new J;this._insets=new Map;this._disposables.add(e.onDidChangeVisibleTextEditors(()=>{let o=e.getVisibleTextEditors();for(let r of this._insets.values())o.indexOf(r.editor)<0&&r.inset.dispose()}))}dispose(){this._insets.forEach(t=>t.inset.dispose()),this._disposables.dispose()}createWebviewEditorInset(t,e,n,o,r){let s;for(let g of this._editors.getVisibleTextEditors(!0))if(g.value===t){s=g;break}if(!s)throw new Error("not a visible editor");let a=this,l=this._handlePool++,d=new w,c=new w,u=new class{constructor(){this._html="";this._options=Object.create(null)}asWebviewUri(g){return Kl(g,a._remoteInfo)}get cspSource(){return Jh}set options(g){this._options=g,a._proxy.$setOptions(l,g)}get options(){return this._options}set html(g){this._html=g,a._proxy.$setHtml(l,g)}get html(){return this._html}get onDidReceiveMessage(){return d.event}postMessage(g){return a._proxy.$postMessage(l,g)}},m=new class{constructor(){this.editor=t;this.line=e;this.height=n;this.webview=u;this.onDidDispose=c.event}dispose(){a._insets.delete(l)&&(a._proxy.$disposeEditorInset(l),c.fire(),c.dispose(),d.dispose())}};return this._proxy.$createEditorInset(l,s.id,s.value.document.uri,e+1,n,o||{},r.identifier,r.extensionLocation),this._insets.set(l,{editor:t,inset:m,onDidReceiveMessage:d}),m}$onDidDispose(t){let e=this._insets.get(t);e&&e.inset.dispose()}$onDidReceiveMessage(t,e){this._insets.get(t)?.onDidReceiveMessage.fire(e)}};var DS=class i{constructor(t){this.providers=new Map;this._proxy=t.getProxy(L.MainThreadCodeMapper)}static{this._providerHandlePool=0}async $mapCode(t,e,n){let o=this.providers.get(t);if(!o)throw new Error(`Received request to map code for unknown provider handle ${t}`);let r={textEdit:(l,d)=>{d=gn(d),this._proxy.$handleProgress(e.requestId,{uri:l,edits:d.map(pn.from)})},notebookEdit:(l,d)=>{d=gn(d),this._proxy.$handleProgress(e.requestId,{uri:l,edits:d.map(eC.from)})}},s={location:e.location,chatRequestId:e.chatRequestId,chatRequestModel:e.chatRequestModel,chatSessionId:e.chatSessionResource?cr.parseLocalSessionId(y.revive(e.chatSessionResource)):void 0,codeBlocks:e.codeBlocks.map(l=>({code:l.code,resource:y.revive(l.resource),markdownBeforeBlock:l.markdownBeforeBlock}))};return await o.provideMappedEdits(s,r,n)??null}registerMappedEditsProvider(t,e){let n=i._providerHandlePool++;return this._proxy.$registerCodeMapperProvider(n,t.displayName??t.name),this.providers.set(n,e),{dispose:()=>this._proxy.$unregisterCodeMapperProvider(n)}}};function S2(i,t,e){let n=i.getProxy(L.MainThreadComments);class o{constructor(){this._commentControllers=new Map;this._commentControllersByExtension=new Jn;t.registerArgumentProcessor({processArgument:f=>{if(f&&f.$mid===6){let x=this._commentControllers.get(f.handle);return x?x.value:f}else if(f&&f.$mid===7){let x=f,C=this._commentControllers.get(x.commentControlHandle);if(!C)return x;let E=C.getCommentThread(x.commentThreadHandle);return E?E.value:x}else if(f&&(f.$mid===9||f.$mid===8)){let x=this._commentControllers.get(f.thread.commentControlHandle);if(!x)return f;let C=x.getCommentThread(f.thread.commentThreadHandle);return C?f.$mid===8?C.value:{thread:C.value,text:f.text}:f}else if(f&&f.$mid===10){let x=this._commentControllers.get(f.thread.commentControlHandle);if(!x)return f;let C=x.getCommentThread(f.thread.commentThreadHandle);if(!C)return f;let E=f.commentUniqueId,k=C.getCommentByUniqueId(E);return k||f}else if(f&&f.$mid===11){let x=this._commentControllers.get(f.thread.commentControlHandle);if(!x)return f;let C=x.getCommentThread(f.thread.commentThreadHandle);if(!C)return f;let E=f.text,k=f.commentUniqueId,O=C.getCommentByUniqueId(k);return O?(typeof O.body=="string"?O.body=E:O.body=new Ht(E),O):f}return f}})}static{this.handlePool=0}createCommentController(f,x,C){let E=o.handlePool++,k=new s(f,E,x,C);this._commentControllers.set(k.handle,k);let O=this._commentControllersByExtension.get(f.identifier)||[];return O.push(k),this._commentControllersByExtension.set(f.identifier,O),k.value}async $createCommentThreadTemplate(f,x,C,E){let k=this._commentControllers.get(f);k&&k.$createCommentThreadTemplate(x,C,E)}async $setActiveComment(f,x){let C=this._commentControllers.get(f);C&&C.$setActiveComment(x??void 0)}async $updateCommentThreadTemplate(f,x,C){let E=this._commentControllers.get(f);E&&E.$updateCommentThreadTemplate(x,C)}$deleteCommentThread(f,x){this._commentControllers.get(f)?.$deleteCommentThread(x)}async $updateCommentThread(f,x,C){this._commentControllers.get(f)?.$updateCommentThread(x,C)}async $provideCommentingRanges(f,x,C){let E=this._commentControllers.get(f);if(!E||!E.commentingRangeProvider)return Promise.resolve(void 0);let k=await e.ensureDocumentData(y.revive(x));return tn(async()=>{let O=await E.commentingRangeProvider?.provideCommentingRanges(k.document,C),N;return Array.isArray(O)?N={ranges:O,fileComments:!1}:O?N={ranges:O.ranges||[],fileComments:O.enableFileComments||!1}:N=O??void 0,N}).then(O=>{let N;return O&&(N={ranges:O.ranges.map(H=>W.from(H)),fileComments:O.fileComments}),N})}$toggleReaction(f,x,C,E,k){let O=this._commentControllers.get(f);return!O||!O.reactionHandler?Promise.resolve(void 0):tn(()=>{let N=O.getCommentThread(x);if(N){let H=N.getCommentByUniqueId(E.uniqueIdInThread);if(O!==void 0&&H&&O.reactionHandler)return O.reactionHandler(H,d(k))}return Promise.resolve(void 0)})}}let g=class g{constructor(f,x,C,E,k,O,N,H,q){this._commentControllerHandle=x;this._id=C;this._uri=E;this._range=k;this._comments=O;this.extensionDescription=N;this._isTemplate=H;this.handle=g._handlePool++;this.commentHandle=0;this.modifications=Object.create(null);this._onDidUpdateCommentThread=new w;this.onDidUpdateCommentThread=this._onDidUpdateCommentThread.event;this._canReply=!0;this._commentsMap=new Map;this._acceptInputDisposables=new ln;this._acceptInputDisposables.value=new J,this._id===void 0&&(this._id=`${f}.${this.handle}`),n.$createCommentThread(x,this.handle,this._id,this._uri,W.from(this._range),this._comments.map(z=>a(this,z,this._commentsMap,this.extensionDescription)),N.identifier,this._isTemplate,q),this._localDisposables=[],this._isDiposed=!1,this._localDisposables.push(this.onDidUpdateCommentThread(()=>{this.eventuallyUpdateCommentThread()})),this._localDisposables.push({dispose:()=>{n.$deleteCommentThread(x,this.handle)}});let Q=this;this.value={get uri(){return Q.uri},get range(){return Q.range},set range(z){Q.range=z},get comments(){return Q.comments},set comments(z){Q.comments=z},get collapsibleState(){return Q.collapsibleState},set collapsibleState(z){Q.collapsibleState=z},get canReply(){return Q.canReply},set canReply(z){Q.canReply=z},get contextValue(){return Q.contextValue},set contextValue(z){Q.contextValue=z},get label(){return Q.label},set label(z){Q.label=z},get state(){return Q.state},set state(z){Q.state=z},reveal:(z,$)=>Q.reveal(z,$),hide:()=>Q.hide(),dispose:()=>{Q.dispose()}}}static{this._handlePool=0}set threadId(f){this._id=f}get threadId(){return this._id}get id(){return this._id}get resource(){return this._uri}get uri(){return this._uri}set range(f){(f===void 0!=(this._range===void 0)||!f||!this._range||!f.isEqual(this._range))&&(this._range=f,this.modifications.range=f,this._onDidUpdateCommentThread.fire())}get range(){return this._range}set canReply(f){this._canReply!==f&&(this._canReply=f,this.modifications.canReply=f,this._onDidUpdateCommentThread.fire())}get canReply(){return this._canReply}get label(){return this._label}set label(f){this._label=f,this.modifications.label=f,this._onDidUpdateCommentThread.fire()}get contextValue(){return this._contextValue}set contextValue(f){this._contextValue=f,this.modifications.contextValue=f,this._onDidUpdateCommentThread.fire()}get comments(){return this._comments}set comments(f){this._comments=f,this.modifications.comments=f,this._onDidUpdateCommentThread.fire()}get collapsibleState(){return this._collapseState}set collapsibleState(f){this._collapseState!==f&&(this._collapseState=f,this.modifications.collapsibleState=f,this._onDidUpdateCommentThread.fire())}get state(){return this._state}set state(f){this._state=f,typeof f=="object"?(D(this.extensionDescription,"commentThreadApplicability"),this.modifications.state=f.resolved,this.modifications.applicability=f.applicability):this.modifications.state=f,this._onDidUpdateCommentThread.fire()}get isDisposed(){return this._isDiposed}updateIsTemplate(){this._isTemplate&&(this._isTemplate=!1,this.modifications.isTemplate=!1)}eventuallyUpdateCommentThread(){if(this._isDiposed)return;this.updateIsTemplate(),this._acceptInputDisposables.value||(this._acceptInputDisposables.value=new J);let f=C=>Object.prototype.hasOwnProperty.call(this.modifications,C),x={};f("range")&&(x.range=W.from(this._range)),f("label")&&(x.label=this.label),f("contextValue")&&(x.contextValue=this.contextValue??null),f("comments")&&(x.comments=this._comments.map(C=>a(this,C,this._commentsMap,this.extensionDescription))),f("collapsibleState")&&(x.collapseState=c(this._collapseState)),f("canReply")&&(x.canReply=this.canReply),f("state")&&(x.state=u(this._state)),f("applicability")&&(x.applicability=m(this._state)),f("isTemplate")&&(x.isTemplate=this._isTemplate),this.modifications={},n.$updateCommentThread(this._commentControllerHandle,this.handle,this._id,this._uri,x)}getCommentByUniqueId(f){for(let x of this._commentsMap){let C=x[0],E=x[1];if(f===E)return C}}async reveal(f,x){D(this.extensionDescription,"commentReveal");let C;f&&f.body!==void 0?C=f:x=x??f;let E=C?this._commentsMap.get(C):void 0;E??=this._commentsMap.get(this._comments[0]);let k=!0,O=!1;return x?.focus===1?(O=!0,k=!1):x?.focus===2&&(k=!1),n.$revealCommentThread(this._commentControllerHandle,this.handle,E,{preserveFocus:k,focusReply:O})}async hide(){return n.$hideCommentThread(this._commentControllerHandle,this.handle)}dispose(){this._isDiposed=!0,this._acceptInputDisposables.dispose(),this._onDidUpdateCommentThread.dispose(),this._localDisposables.forEach(f=>f.dispose())}};R([Nh(100)],g.prototype,"eventuallyUpdateCommentThread",1);let r=g;class s{constructor(f,x,C,E){this._extension=f;this._handle=x;this._id=C;this._label=E;this._threads=new Map;n.$registerCommentController(this.handle,C,E,this._extension.identifier.value);let k=this;this.value=Object.freeze({id:k.id,label:k.label,get options(){return k.options},set options(O){k.options=O},get commentingRangeProvider(){return k.commentingRangeProvider},set commentingRangeProvider(O){k.commentingRangeProvider=O},get reactionHandler(){return k.reactionHandler},set reactionHandler(O){k.reactionHandler=O},get activeCommentThread(){return k.activeCommentThread},createCommentThread(O,N,H){return k.createCommentThread(O,N,H).value},dispose:()=>{k.dispose()}}),this._localDisposables=[],this._localDisposables.push({dispose:()=>{n.$unregisterCommentController(this.handle)}})}get id(){return this._id}get label(){return this._label}get handle(){return this._handle}get commentingRangeProvider(){return this._commentingRangeProvider}set commentingRangeProvider(f){this._commentingRangeProvider=f,f?.resourceHints&&D(this._extension,"commentingRangeHint"),n.$updateCommentingRanges(this.handle,f?.resourceHints)}get reactionHandler(){return this._reactionHandler}set reactionHandler(f){this._reactionHandler=f,n.$updateCommentControllerFeatures(this.handle,{reactionHandler:!!f})}get options(){return this._options}set options(f){this._options=f,n.$updateCommentControllerFeatures(this.handle,{options:this._options})}get activeComment(){return D(this._extension,"activeComment"),this._activeComment}get activeCommentThread(){return D(this._extension,"activeComment"),this._activeThread?.value}createCommentThread(f,x,C){let E=new r(this.id,this.handle,void 0,f,x,C,this._extension,!1);return this._threads.set(E.handle,E),E}$setActiveComment(f){if(!f){this._activeComment=void 0,this._activeThread=void 0;return}let x=this._threads.get(f.commentThreadHandle);x&&(this._activeComment=f.uniqueIdInThread?x.getCommentByUniqueId(f.uniqueIdInThread):void 0,this._activeThread=x)}$createCommentThreadTemplate(f,x,C){let E=new r(this.id,this.handle,void 0,y.revive(f),W.to(x),[],this._extension,!0,C);return E.collapsibleState=1,this._threads.set(E.handle,E),E}$updateCommentThreadTemplate(f,x){let C=this._threads.get(f);C&&(C.range=W.to(x))}$updateCommentThread(f,x){let C=this._threads.get(f);if(!C)return;(k=>Object.prototype.hasOwnProperty.call(x,k))("collapseState")&&(C.collapsibleState=c(x.collapseState))}$deleteCommentThread(f){this._threads.get(f)?.dispose(),this._threads.delete(f)}getCommentThread(f){return this._threads.get(f)}dispose(){this._threads.forEach(f=>{f.dispose()}),this._localDisposables.forEach(f=>f.dispose())}}function a(v,f,x,C){let E=x.get(f);return E||(E=++v.commentHandle,x.set(f,E)),f.state!==void 0&&D(C,"commentsDraftState"),f.reactions?.some(k=>k.reactors!==void 0)&&D(C,"commentReactor"),{mode:f.mode,contextValue:f.contextValue,uniqueIdInThread:E,body:typeof f.body=="string"?f.body:pe.from(f.body),userName:f.author.name,userIconPath:f.author.iconPath,label:f.label,commentReactions:f.reactions?f.reactions.map(k=>l(k)):void 0,state:f.state,timestamp:f.timestamp?.toJSON()}}function l(v){return{label:v.label,iconPath:v.iconPath?dh(v.iconPath):void 0,count:v.count,hasReacted:v.authorHasReacted,reactors:v.reactors&&v.reactors.length>0&&typeof v.reactors[0]!="string"?v.reactors.map(f=>f.name):v.reactors}}function d(v){return{label:v.label||"",count:v.count||0,iconPath:v.iconPath?y.revive(v.iconPath):"",authorHasReacted:v.hasReacted||!1,reactors:v.reactors?.map(f=>({name:f}))}}function c(v){if(v!==void 0)switch(v){case 1:return 1;case 0:return 0}return 0}function u(v){let f;if(typeof v=="object"?f=v.resolved:f=v,f!==void 0)switch(f){case 0:return 0;case 1:return 1}return 0}function m(v){let f;if(typeof v=="object"&&(f=v.applicability),f!==void 0)switch(f){case 0:return 0;case 1:return 1}return 0}return new o}var RS={},mt={exports:RS};(function(i,t){if(typeof RS=="object"&&typeof mt=="object")mt.exports=t();else if(typeof define=="function"&&define.amd)define([],t);else{var e=t();for(var n in e)(typeof RS=="object"?RS:i)[n]=e[n]}})(typeof self<"u"?self:void 0,(function(){return(function(i){var t={};function e(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return i[n].call(o.exports,o,o.exports,e),o.l=!0,o.exports}return e.m=i,e.c=t,e.d=function(n,o,r){e.o(n,o)||Object.defineProperty(n,o,{enumerable:!0,get:r})},e.r=function(n){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},e.t=function(n,o){if(1&o&&(n=e(n)),8&o||4&o&&typeof n=="object"&&n&&n.__esModule)return n;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:n}),2&o&&typeof n!="string")for(var s in n)e.d(r,s,function(a){return n[a]}.bind(null,s));return r},e.n=function(n){var o=n&&n.__esModule?function(){return n.default}:function(){return n};return e.d(o,"a",o),o},e.o=function(n,o){return Object.prototype.hasOwnProperty.call(n,o)},e.p="",e(e.s=0)})([function(i,t,e){(function(n){var o;t=i.exports=vt,o=typeof n=="object"&&n.env&&n.env.NODE_DEBUG&&/\bsemver\b/i.test(n.env.NODE_DEBUG)?function(){var M=Array.prototype.slice.call(arguments,0);M.unshift("SEMVER"),console.log.apply(console,M)}:function(){},t.SEMVER_SPEC_VERSION="2.0.0";var r=256,s=Number.MAX_SAFE_INTEGER||9007199254740991,a=t.re=[],l=t.src=[],d=0,c=d++;l[c]="0|[1-9]\\d*";var u=d++;l[u]="[0-9]+";var m=d++;l[m]="\\d*[a-zA-Z-][a-zA-Z0-9-]*";var g=d++;l[g]="("+l[c]+")\\.("+l[c]+")\\.("+l[c]+")";var v=d++;l[v]="("+l[u]+")\\.("+l[u]+")\\.("+l[u]+")";var f=d++;l[f]="(?:"+l[c]+"|"+l[m]+")";var x=d++;l[x]="(?:"+l[u]+"|"+l[m]+")";var C=d++;l[C]="(?:-("+l[f]+"(?:\\."+l[f]+")*))";var E=d++;l[E]="(?:-?("+l[x]+"(?:\\."+l[x]+")*))";var k=d++;l[k]="[0-9A-Za-z-]+";var O=d++;l[O]="(?:\\+("+l[k]+"(?:\\."+l[k]+")*))";var N=d++,H="v?"+l[g]+l[C]+"?"+l[O]+"?";l[N]="^"+H+"$";var q="[v=\\s]*"+l[v]+l[E]+"?"+l[O]+"?",Q=d++;l[Q]="^"+q+"$";var z=d++;l[z]="((?:<|>)?=?)";var $=d++;l[$]=l[u]+"|x|X|\\*";var oe=d++;l[oe]=l[c]+"|x|X|\\*";var he=d++;l[he]="[v=\\s]*("+l[oe]+")(?:\\.("+l[oe]+")(?:\\.("+l[oe]+")(?:"+l[C]+")?"+l[O]+"?)?)?";var lt=d++;l[lt]="[v=\\s]*("+l[$]+")(?:\\.("+l[$]+")(?:\\.("+l[$]+")(?:"+l[E]+")?"+l[O]+"?)?)?";var Fe=d++;l[Fe]="^"+l[z]+"\\s*"+l[he]+"$";var ee=d++;l[ee]="^"+l[z]+"\\s*"+l[lt]+"$";var j=d++;l[j]="(?:^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])";var re=d++;l[re]="(?:~>?)";var Z=d++;l[Z]="(\\s*)"+l[re]+"\\s+",a[Z]=new RegExp(l[Z],"g");var se=d++;l[se]="^"+l[re]+l[he]+"$";var ne=d++;l[ne]="^"+l[re]+l[lt]+"$";var ue=d++;l[ue]="(?:\\^)";var Ke=d++;l[Ke]="(\\s*)"+l[ue]+"\\s+",a[Ke]=new RegExp(l[Ke],"g");var Re=d++;l[Re]="^"+l[ue]+l[he]+"$";var dt=d++;l[dt]="^"+l[ue]+l[lt]+"$";var wt=d++;l[wt]="^"+l[z]+"\\s*("+q+")$|^$";var Be=d++;l[Be]="^"+l[z]+"\\s*("+H+")$|^$";var mn=d++;l[mn]="(\\s*)"+l[z]+"\\s*("+q+"|"+l[he]+")",a[mn]=new RegExp(l[mn],"g");var mo=d++;l[mo]="^\\s*("+l[he]+")\\s+-\\s+("+l[he]+")\\s*$";var vi=d++;l[vi]="^\\s*("+l[lt]+")\\s+-\\s+("+l[lt]+")\\s*$";var pa=d++;l[pa]="(<|>)?=?\\s*\\*";for(var Br=0;Br<35;Br++)o(Br,l[Br]),a[Br]||(a[Br]=new RegExp(l[Br]));function xe(M,B){if(M instanceof vt)return M;if(typeof M!="string"||M.length>r||!(B?a[Q]:a[N]).test(M))return null;try{return new vt(M,B)}catch{return null}}function vt(M,B){if(M instanceof vt){if(M.loose===B)return M;M=M.version}else if(typeof M!="string")throw new TypeError("Invalid Version: "+M);if(M.length>r)throw new TypeError("version is longer than "+r+" characters");if(!(this instanceof vt))return new vt(M,B);o("SemVer",M,B),this.loose=B;var G=M.trim().match(B?a[Q]:a[N]);if(!G)throw new TypeError("Invalid Version: "+M);if(this.raw=M,this.major=+G[1],this.minor=+G[2],this.patch=+G[3],this.major>s||this.major<0)throw new TypeError("Invalid major version");if(this.minor>s||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>s||this.patch<0)throw new TypeError("Invalid patch version");G[4]?this.prerelease=G[4].split(".").map((function(Pe){if(/^[0-9]+$/.test(Pe)){var He=+Pe;if(He>=0&&He<s)return He}return Pe})):this.prerelease=[],this.build=G[5]?G[5].split("."):[],this.format()}t.parse=xe,t.valid=function(M,B){var G=xe(M,B);return G?G.version:null},t.clean=function(M,B){var G=xe(M.trim().replace(/^[=v]+/,""),B);return G?G.version:null},t.SemVer=vt,vt.prototype.format=function(){return this.version=this.major+"."+this.minor+"."+this.patch,this.prerelease.length&&(this.version+="-"+this.prerelease.join(".")),this.version},vt.prototype.toString=function(){return this.version},vt.prototype.compare=function(M){return o("SemVer.compare",this.version,this.loose,M),M instanceof vt||(M=new vt(M,this.loose)),this.compareMain(M)||this.comparePre(M)},vt.prototype.compareMain=function(M){return M instanceof vt||(M=new vt(M,this.loose)),Zo(this.major,M.major)||Zo(this.minor,M.minor)||Zo(this.patch,M.patch)},vt.prototype.comparePre=function(M){if(M instanceof vt||(M=new vt(M,this.loose)),this.prerelease.length&&!M.prerelease.length)return-1;if(!this.prerelease.length&&M.prerelease.length)return 1;if(!this.prerelease.length&&!M.prerelease.length)return 0;var B=0;do{var G=this.prerelease[B],Pe=M.prerelease[B];if(o("prerelease compare",B,G,Pe),G===void 0&&Pe===void 0)return 0;if(Pe===void 0)return 1;if(G===void 0)return-1;if(G!==Pe)return Zo(G,Pe)}while(++B)},vt.prototype.inc=function(M,B){switch(M){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",B);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",B);break;case"prepatch":this.prerelease.length=0,this.inc("patch",B),this.inc("pre",B);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",B),this.inc("pre",B);break;case"major":this.minor===0&&this.patch===0&&this.prerelease.length!==0||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":this.patch===0&&this.prerelease.length!==0||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":if(this.prerelease.length===0)this.prerelease=[0];else{for(var G=this.prerelease.length;--G>=0;)typeof this.prerelease[G]=="number"&&(this.prerelease[G]++,G=-2);G===-1&&this.prerelease.push(0)}B&&(this.prerelease[0]===B?isNaN(this.prerelease[1])&&(this.prerelease=[B,0]):this.prerelease=[B,0]);break;default:throw new Error("invalid increment argument: "+M)}return this.format(),this.raw=this.version,this},t.inc=function(M,B,G,Pe){typeof G=="string"&&(Pe=G,G=void 0);try{return new vt(M,G).inc(B,Pe).version}catch{return null}},t.diff=function(M,B){if(Fc(M,B))return null;var G=xe(M),Pe=xe(B);if(G.prerelease.length||Pe.prerelease.length){for(var He in G)if((He==="major"||He==="minor"||He==="patch")&&G[He]!==Pe[He])return"pre"+He;return"prerelease"}for(var He in G)if((He==="major"||He==="minor"||He==="patch")&&G[He]!==Pe[He])return He},t.compareIdentifiers=Zo;var Sg=/^[0-9]+$/;function Zo(M,B){var G=Sg.test(M),Pe=Sg.test(B);return G&&Pe&&(M=+M,B=+B),G&&!Pe?-1:Pe&&!G?1:M<B?-1:M>B?1:0}function wo(M,B,G){return new vt(M,G).compare(new vt(B,G))}function Ge(M,B,G){return wo(M,B,G)>0}function Ql(M,B,G){return wo(M,B,G)<0}function Fc(M,B,G){return wo(M,B,G)===0}function Wr(M,B,G){return wo(M,B,G)!==0}function bi(M,B,G){return wo(M,B,G)>=0}function Jl(M,B,G){return wo(M,B,G)<=0}function Xl(M,B,G,Pe){var He;switch(B){case"===":typeof M=="object"&&(M=M.version),typeof G=="object"&&(G=G.version),He=M===G;break;case"!==":typeof M=="object"&&(M=M.version),typeof G=="object"&&(G=G.version),He=M!==G;break;case"":case"=":case"==":He=Fc(M,G,Pe);break;case"!=":He=Wr(M,G,Pe);break;case">":He=Ge(M,G,Pe);break;case">=":He=bi(M,G,Pe);break;case"<":He=Ql(M,G,Pe);break;case"<=":He=Jl(M,G,Pe);break;default:throw new TypeError("Invalid operator: "+B)}return He}function ko(M,B){if(M instanceof ko){if(M.loose===B)return M;M=M.value}if(!(this instanceof ko))return new ko(M,B);o("comparator",M,B),this.loose=B,this.parse(M),this.semver===ma?this.value="":this.value=this.operator+this.semver.version,o("comp",this)}t.rcompareIdentifiers=function(M,B){return Zo(B,M)},t.major=function(M,B){return new vt(M,B).major},t.minor=function(M,B){return new vt(M,B).minor},t.patch=function(M,B){return new vt(M,B).patch},t.compare=wo,t.compareLoose=function(M,B){return wo(M,B,!0)},t.rcompare=function(M,B,G){return wo(B,M,G)},t.sort=function(M,B){return M.sort((function(G,Pe){return t.compare(G,Pe,B)}))},t.rsort=function(M,B){return M.sort((function(G,Pe){return t.rcompare(G,Pe,B)}))},t.gt=Ge,t.lt=Ql,t.eq=Fc,t.neq=Wr,t.gte=bi,t.lte=Jl,t.cmp=Xl,t.Comparator=ko;var ma={};function Xt(M,B){if(M instanceof Xt)return M.loose===B?M:new Xt(M.raw,B);if(M instanceof ko)return new Xt(M.value,B);if(!(this instanceof Xt))return new Xt(M,B);if(this.loose=B,this.raw=M,this.set=M.split(/\s*\|\|\s*/).map((function(G){return this.parseRange(G.trim())}),this).filter((function(G){return G.length})),!this.set.length)throw new TypeError("Invalid SemVer Range: "+M);this.format()}function Nn(M){return!M||M.toLowerCase()==="x"||M==="*"}function Pv(M,B,G,Pe,He,Yt,gt,Xe,zt,kn,Mo,on,Pn){return((B=Nn(G)?"":Nn(Pe)?">="+G+".0.0":Nn(He)?">="+G+"."+Pe+".0":">="+B)+" "+(Xe=Nn(zt)?"":Nn(kn)?"<"+(+zt+1)+".0.0":Nn(Mo)?"<"+zt+"."+(+kn+1)+".0":on?"<="+zt+"."+kn+"."+Mo+"-"+on:"<="+Xe)).trim()}function Yl(M,B){for(var G=0;G<M.length;G++)if(!M[G].test(B))return!1;if(B.prerelease.length){for(G=0;G<M.length;G++)if(o(M[G].semver),M[G].semver!==ma&&M[G].semver.prerelease.length>0){var Pe=M[G].semver;if(Pe.major===B.major&&Pe.minor===B.minor&&Pe.patch===B.patch)return!0}return!1}return!0}function as(M,B,G){try{B=new Xt(B,G)}catch{return!1}return B.test(M)}function Hc(M,B,G,Pe){var He,Yt,gt,Xe,zt;switch(M=new vt(M,Pe),B=new Xt(B,Pe),G){case">":He=Ge,Yt=Jl,gt=Ql,Xe=">",zt=">=";break;case"<":He=Ql,Yt=bi,gt=Ge,Xe="<",zt="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(as(M,B,Pe))return!1;for(var kn=0;kn<B.set.length;++kn){var Mo=B.set[kn],on=null,Pn=null;if(Mo.forEach((function($n){$n.semver===ma&&($n=new ko(">=0.0.0")),on=on||$n,Pn=Pn||$n,He($n.semver,on.semver,Pe)?on=$n:gt($n.semver,Pn.semver,Pe)&&(Pn=$n)})),on.operator===Xe||on.operator===zt||(!Pn.operator||Pn.operator===Xe)&&Yt(M,Pn.semver)||Pn.operator===zt&&gt(M,Pn.semver))return!1}return!0}ko.prototype.parse=function(M){var B=this.loose?a[wt]:a[Be],G=M.match(B);if(!G)throw new TypeError("Invalid comparator: "+M);this.operator=G[1],this.operator==="="&&(this.operator=""),G[2]?this.semver=new vt(G[2],this.loose):this.semver=ma},ko.prototype.toString=function(){return this.value},ko.prototype.test=function(M){return o("Comparator.test",M,this.loose),this.semver===ma||(typeof M=="string"&&(M=new vt(M,this.loose)),Xl(M,this.operator,this.semver,this.loose))},ko.prototype.intersects=function(M,B){if(!(M instanceof ko))throw new TypeError("a Comparator is required");var G;if(this.operator==="")return G=new Xt(M.value,B),as(this.value,G,B);if(M.operator==="")return G=new Xt(this.value,B),as(M.semver,G,B);var Pe=!(this.operator!==">="&&this.operator!==">"||M.operator!==">="&&M.operator!==">"),He=!(this.operator!=="<="&&this.operator!=="<"||M.operator!=="<="&&M.operator!=="<"),Yt=this.semver.version===M.semver.version,gt=!(this.operator!==">="&&this.operator!=="<="||M.operator!==">="&&M.operator!=="<="),Xe=Xl(this.semver,"<",M.semver,B)&&(this.operator===">="||this.operator===">")&&(M.operator==="<="||M.operator==="<"),zt=Xl(this.semver,">",M.semver,B)&&(this.operator==="<="||this.operator==="<")&&(M.operator===">="||M.operator===">");return Pe||He||Yt&&gt||Xe||zt},t.Range=Xt,Xt.prototype.format=function(){return this.range=this.set.map((function(M){return M.join(" ").trim()})).join("||").trim(),this.range},Xt.prototype.toString=function(){return this.range},Xt.prototype.parseRange=function(M){var B=this.loose;M=M.trim(),o("range",M,B);var G=B?a[vi]:a[mo];M=M.replace(G,Pv),o("hyphen replace",M),M=M.replace(a[mn],"$1$2$3"),o("comparator trim",M,a[mn]),M=(M=(M=M.replace(a[Z],"$1~")).replace(a[Ke],"$1^")).split(/\s+/).join(" ");var Pe=B?a[wt]:a[Be],He=M.split(" ").map((function(Yt){return(function(gt,Xe){return o("comp",gt),gt=(function(zt,kn){return zt.trim().split(/\s+/).map((function(Mo){return(function(on,Pn){o("caret",on,Pn);var $n=Pn?a[dt]:a[Re];return on.replace($n,(function(Oo,Ue,ze,Lt,qt){var _n;return o("caret",on,Oo,Ue,ze,Lt,qt),Nn(Ue)?_n="":Nn(ze)?_n=">="+Ue+".0.0 <"+(+Ue+1)+".0.0":Nn(Lt)?_n=Ue==="0"?">="+Ue+"."+ze+".0 <"+Ue+"."+(+ze+1)+".0":">="+Ue+"."+ze+".0 <"+(+Ue+1)+".0.0":qt?(o("replaceCaret pr",qt),qt.charAt(0)!=="-"&&(qt="-"+qt),_n=Ue==="0"?ze==="0"?">="+Ue+"."+ze+"."+Lt+qt+" <"+Ue+"."+ze+"."+(+Lt+1):">="+Ue+"."+ze+"."+Lt+qt+" <"+Ue+"."+(+ze+1)+".0":">="+Ue+"."+ze+"."+Lt+qt+" <"+(+Ue+1)+".0.0"):(o("no pr"),_n=Ue==="0"?ze==="0"?">="+Ue+"."+ze+"."+Lt+" <"+Ue+"."+ze+"."+(+Lt+1):">="+Ue+"."+ze+"."+Lt+" <"+Ue+"."+(+ze+1)+".0":">="+Ue+"."+ze+"."+Lt+" <"+(+Ue+1)+".0.0"),o("caret return",_n),_n}))})(Mo,kn)})).join(" ")})(gt,Xe),o("caret",gt),gt=(function(zt,kn){return zt.trim().split(/\s+/).map((function(Mo){return(function(on,Pn){var $n=Pn?a[ne]:a[se];return on.replace($n,(function(Oo,Ue,ze,Lt,qt){var _n;return o("tilde",on,Oo,Ue,ze,Lt,qt),Nn(Ue)?_n="":Nn(ze)?_n=">="+Ue+".0.0 <"+(+Ue+1)+".0.0":Nn(Lt)?_n=">="+Ue+"."+ze+".0 <"+Ue+"."+(+ze+1)+".0":qt?(o("replaceTilde pr",qt),qt.charAt(0)!=="-"&&(qt="-"+qt),_n=">="+Ue+"."+ze+"."+Lt+qt+" <"+Ue+"."+(+ze+1)+".0"):_n=">="+Ue+"."+ze+"."+Lt+" <"+Ue+"."+(+ze+1)+".0",o("tilde return",_n),_n}))})(Mo,kn)})).join(" ")})(gt,Xe),o("tildes",gt),gt=(function(zt,kn){return o("replaceXRanges",zt,kn),zt.split(/\s+/).map((function(Mo){return(function(on,Pn){on=on.trim();var $n=Pn?a[ee]:a[Fe];return on.replace($n,(function(Oo,Ue,ze,Lt,qt,_n){o("xRange",on,Oo,Ue,ze,Lt,qt,_n);var Tg=Nn(ze),yi=Tg||Nn(Lt),ls=yi||Nn(qt);return Ue==="="&&ls&&(Ue=""),Tg?Oo=Ue===">"||Ue==="<"?"<0.0.0":"*":Ue&&ls?(yi&&(Lt=0),ls&&(qt=0),Ue===">"?(Ue=">=",yi?(ze=+ze+1,Lt=0,qt=0):ls&&(Lt=+Lt+1,qt=0)):Ue==="<="&&(Ue="<",yi?ze=+ze+1:Lt=+Lt+1),Oo=Ue+ze+"."+Lt+"."+qt):yi?Oo=">="+ze+".0.0 <"+(+ze+1)+".0.0":ls&&(Oo=">="+ze+"."+Lt+".0 <"+ze+"."+(+Lt+1)+".0"),o("xRange return",Oo),Oo}))})(Mo,kn)})).join(" ")})(gt,Xe),o("xrange",gt),gt=(function(zt,kn){return o("replaceStars",zt,kn),zt.trim().replace(a[pa],"")})(gt,Xe),o("stars",gt),gt})(Yt,B)})).join(" ").split(/\s+/);return this.loose&&(He=He.filter((function(Yt){return!!Yt.match(Pe)}))),He=He.map((function(Yt){return new ko(Yt,B)}))},Xt.prototype.intersects=function(M,B){if(!(M instanceof Xt))throw new TypeError("a Range is required");return this.set.some((function(G){return G.every((function(Pe){return M.set.some((function(He){return He.every((function(Yt){return Pe.intersects(Yt,B)}))}))}))}))},t.toComparators=function(M,B){return new Xt(M,B).set.map((function(G){return G.map((function(Pe){return Pe.value})).join(" ").trim().split(" ")}))},Xt.prototype.test=function(M){if(!M)return!1;typeof M=="string"&&(M=new vt(M,this.loose));for(var B=0;B<this.set.length;B++)if(Yl(this.set[B],M))return!0;return!1},t.satisfies=as,t.maxSatisfying=function(M,B,G){var Pe=null,He=null;try{var Yt=new Xt(B,G)}catch{return null}return M.forEach((function(gt){Yt.test(gt)&&(Pe&&He.compare(gt)!==-1||(He=new vt(Pe=gt,G)))})),Pe},t.minSatisfying=function(M,B,G){var Pe=null,He=null;try{var Yt=new Xt(B,G)}catch{return null}return M.forEach((function(gt){Yt.test(gt)&&(Pe&&He.compare(gt)!==1||(He=new vt(Pe=gt,G)))})),Pe},t.validRange=function(M,B){try{return new Xt(M,B).range||"*"}catch{return null}},t.ltr=function(M,B,G){return Hc(M,B,"<",G)},t.gtr=function(M,B,G){return Hc(M,B,">",G)},t.outside=Hc,t.prerelease=function(M,B){var G=xe(M,B);return G&&G.prerelease.length?G.prerelease:null},t.intersects=function(M,B,G){return M=new Xt(M,G),B=new Xt(B,G),M.intersects(B)},t.coerce=function(M){if(M instanceof vt)return M;if(typeof M!="string")return null;var B=M.match(a[j]);return B==null?null:xe((B[1]||"0")+"."+(B[2]||"0")+"."+(B[3]||"0"))}}).call(this,e(1))},function(i,t){var e,n,o=i.exports={};function r(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function a(x){if(e===setTimeout)return setTimeout(x,0);if((e===r||!e)&&setTimeout)return e=setTimeout,setTimeout(x,0);try{return e(x,0)}catch{try{return e.call(null,x,0)}catch{return e.call(this,x,0)}}}(function(){try{e=typeof setTimeout=="function"?setTimeout:r}catch{e=r}try{n=typeof clearTimeout=="function"?clearTimeout:s}catch{n=s}})();var l,d=[],c=!1,u=-1;function m(){c&&l&&(c=!1,l.length?d=l.concat(d):u=-1,d.length&&g())}function g(){if(!c){var x=a(m);c=!0;for(var C=d.length;C;){for(l=d,d=[];++u<C;)l&&l[u].run();u=-1,C=d.length}l=null,c=!1,(function(E){if(n===clearTimeout)return clearTimeout(E);if((n===s||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(E);try{n(E)}catch{try{return n.call(null,E)}catch{return n.call(this,E)}}})(x)}}function v(x,C){this.fun=x,this.array=C}function f(){}o.nextTick=function(x){var C=new Array(arguments.length-1);if(arguments.length>1)for(var E=1;E<arguments.length;E++)C[E-1]=arguments[E];d.push(new v(x,C)),d.length!==1||c||a(g)},v.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=f,o.addListener=f,o.once=f,o.off=f,o.removeListener=f,o.removeAllListeners=f,o.emit=f,o.prependListener=f,o.prependOnceListener=f,o.listeners=function(x){return[]},o.binding=function(x){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(x){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}}])}));var S5e=mt.exports.SEMVER_SPEC_VERSION,T5e=mt.exports.parse,t9=mt.exports.valid,E5e=mt.exports.coerce,w5e=mt.exports.clean,k5e=mt.exports.inc,P5e=mt.exports.major,_5e=mt.exports.minor,D5e=mt.exports.patch,R5e=mt.exports.prerelease,A5e=mt.exports.gt,M5e=mt.exports.gte,O5e=mt.exports.lt,L5e=mt.exports.lte,N5e=mt.exports.eq,U5e=mt.exports.neq,F5e=mt.exports.cmp,H5e=mt.exports.compare,V5e=mt.exports.rcompare,B5e=mt.exports.compareIdentifiers,W5e=mt.exports.rcompareIdentifiers,$5e=mt.exports.compareBuild,z5e=mt.exports.sort,q5e=mt.exports.rsort,K5e=mt.exports.diff,G5e=mt.exports.validRange,j5e=mt.exports.satisfies,Q5e=mt.exports.maxSatisfying,J5e=mt.exports.minSatisfying,X5e=mt.exports.minVersion,Y5e=mt.exports.gtr,Z5e=mt.exports.ltr,eWe=mt.exports.outside,tWe=mt.exports.intersects,nWe=mt.exports.SemVer,oWe=mt.exports.Comparator,rWe=mt.exports.Range;var T2=/^(\^|>=)?((\d+)|x)\.((\d+)|x)\.((\d+)|x)(\-.*)?$/,o9=/^-(\d{4})(\d{2})(\d{2})(\d{2})?(\d{2})?$/;function r9(i){return i=i.trim(),i==="*"||T2.test(i)}function tA(i){if(!r9(i))return null;if(i=i.trim(),i==="*")return{hasCaret:!1,hasGreaterEquals:!1,majorBase:0,majorMustEqual:!1,minorBase:0,minorMustEqual:!1,patchBase:0,patchMustEqual:!1,preRelease:null};let t=i.match(T2);return t?{hasCaret:t[1]==="^",hasGreaterEquals:t[1]===">=",majorBase:t[2]==="x"?0:parseInt(t[2],10),majorMustEqual:t[2]!=="x",minorBase:t[4]==="x"?0:parseInt(t[4],10),minorMustEqual:t[4]!=="x",patchBase:t[6]==="x"?0:parseInt(t[6],10),patchMustEqual:t[6]!=="x",preRelease:t[8]||null}:null}function nA(i){if(!i)return null;let t=i.majorBase,e=i.majorMustEqual,n=i.minorBase,o=i.minorMustEqual,r=i.patchBase,s=i.patchMustEqual;i.hasCaret&&(t===0||(o=!1),s=!1);let a=0;if(i.preRelease){let l=o9.exec(i.preRelease);if(l){let[,d,c,u,m,g]=l;a=Date.UTC(Number(d),Number(c)-1,Number(u),Number(m)||0,Number(g)||0)}}return{majorBase:t,majorMustEqual:e,minorBase:n,minorMustEqual:o,patchBase:r,patchMustEqual:s,isMinimum:i.hasGreaterEquals,notBefore:a}}var oA=class{constructor(){this.buffers=[]}add(t){let e=this.buffers.indexOf(t);return e<0&&(e=this.buffers.length,this.buffers.push(t)),e}};function E2(i,t){if(t.serializeBuffersForPostMessage){let e=new oA,o=JSON.stringify(i,(s,a)=>{if(a instanceof ArrayBuffer)return{$$vscode_array_buffer_reference$$:!0,index:e.add(a)};if(ArrayBuffer.isView(a)){let l=i9(a);if(l)return{$$vscode_array_buffer_reference$$:!0,index:e.add(a.buffer),view:{type:l,byteLength:a.byteLength,byteOffset:a.byteOffset}}}return a}),r=e.buffers.map(s=>{let a=new Uint8Array(s);return te.wrap(a)});return{message:o,buffers:r}}else return{message:JSON.stringify(i),buffers:[]}}function i9(i){switch(i.constructor.name){case"Int8Array":return 1;case"Uint8Array":return 2;case"Uint8ClampedArray":return 3;case"Int16Array":return 4;case"Uint16Array":return 5;case"Int32Array":return 6;case"Uint32Array":return 7;case"Float32Array":return 8;case"Float64Array":return 9;case"BigInt64Array":return 10;case"BigUint64Array":return 11}}function w2(i,t){let e=t.map(r=>{let s=new ArrayBuffer(r.byteLength);return new Uint8Array(s).set(r.buffer),s}),n=t.length?(r,s)=>{if(s&&typeof s=="object"&&s.$$vscode_array_buffer_reference$$){let a=s,{index:l}=a,d=e[l];if(a.view)switch(a.view.type){case 1:return new Int8Array(d,a.view.byteOffset,a.view.byteLength/Int8Array.BYTES_PER_ELEMENT);case 2:return new Uint8Array(d,a.view.byteOffset,a.view.byteLength/Uint8Array.BYTES_PER_ELEMENT);case 3:return new Uint8ClampedArray(d,a.view.byteOffset,a.view.byteLength/Uint8ClampedArray.BYTES_PER_ELEMENT);case 4:return new Int16Array(d,a.view.byteOffset,a.view.byteLength/Int16Array.BYTES_PER_ELEMENT);case 5:return new Uint16Array(d,a.view.byteOffset,a.view.byteLength/Uint16Array.BYTES_PER_ELEMENT);case 6:return new Int32Array(d,a.view.byteOffset,a.view.byteLength/Int32Array.BYTES_PER_ELEMENT);case 7:return new Uint32Array(d,a.view.byteOffset,a.view.byteLength/Uint32Array.BYTES_PER_ELEMENT);case 8:return new Float32Array(d,a.view.byteOffset,a.view.byteLength/Float32Array.BYTES_PER_ELEMENT);case 9:return new Float64Array(d,a.view.byteOffset,a.view.byteLength/Float64Array.BYTES_PER_ELEMENT);case 10:return new BigInt64Array(d,a.view.byteOffset,a.view.byteLength/BigInt64Array.BYTES_PER_ELEMENT);case 11:return new BigUint64Array(d,a.view.byteOffset,a.view.byteLength/BigUint64Array.BYTES_PER_ELEMENT);default:throw new Error("Unknown array buffer view type")}return d}return s}:void 0;return{message:JSON.parse(i,n),arrayBuffers:e}}var rA=class{constructor(t,e,n,o,r,s,a){this.#l="";this.#d=!1;this.#c=!1;this._onMessageEmitter=new w;this.onDidReceiveMessage=this._onMessageEmitter.event;this.#p=new w;this._onDidDispose=this.#p.event;this.#e=t,this.#t=e,this.#a=n,this.#o=o,this.#s=r,this.#r=s,this.#i=ca(s),this.#u=s9(s),this.#n=a}#e;#t;#n;#o;#s;#r;#l;#a;#d;#c;#i;#u;#p;dispose(){this.#d=!0,this.#p.fire(),this.#p.dispose(),this._onMessageEmitter.dispose()}asWebviewUri(t){return this.#c=!0,Kl(t,this.#o)}get cspSource(){let t=this.#r.extensionLocation;if(t.scheme===K.https||t.scheme===K.http){let e=t.toString();return e.endsWith("/")||(e+="/"),e+" "+Jh}return Jh}get html(){return this.assertNotDisposed(),this.#l}set html(t){this.assertNotDisposed(),this.#l!==t&&(this.#l=t,this.#u&&!this.#c&&/(["'])vscode-resource:([^\s'"]+?)(["'])/i.test(t)&&(this.#c=!0,this.#n.report("Webview vscode-resource: uris",this.#r,"Please migrate to use the 'webview.asWebviewUri' api instead: https://aka.ms/vscode-webview-use-aswebviewuri")),this.#t.$setHtml(this.#e,this.rewriteOldResourceUrlsIfNeeded(t)))}get options(){return this.assertNotDisposed(),this.#a}set options(t){this.assertNotDisposed(),Rt(this.#a,t)||this.#t.$setOptions(this.#e,iA(this.#r,this.#s,t)),this.#a=t}async postMessage(t){if(this.#d)return!1;let e=E2(t,{serializeBuffersForPostMessage:this.#i});return this.#t.$postMessage(this.#e,e.message,...e.buffers)}assertNotDisposed(){if(this.#d)throw new Error("Webview is disposed")}rewriteOldResourceUrlsIfNeeded(t){if(!this.#u)return t;let e=this.#r.extensionLocation?.scheme===K.vscodeRemote,n=this.#r.extensionLocation.scheme===K.vscodeRemote?this.#r.extensionLocation.authority:void 0;return t.replace(/(["'])(?:vscode-resource):(\/\/([^\s\/'"]+?)(?=\/))?([^\s'"]+?)(["'])/gi,(o,r,s,a,l,d)=>{let c=y.from({scheme:a||"file",path:decodeURIComponent(l)}),u=Kl(c,{isRemote:e,authority:n}).toString();return`${r}${u}${d}`}).replace(/(["'])(?:vscode-webview-resource):(\/\/[^\s\/'"]+\/([^\s\/'"]+?)(?=\/))?([^\s'"]+?)(["'])/gi,(o,r,s,a,l,d)=>{let c=y.from({scheme:a||"file",path:decodeURIComponent(l)}),u=Kl(c,{isRemote:e,authority:n}).toString();return`${r}${u}${d}`})}};function ca(i){try{let t=nA(tA(i.engines.vscode));return!!t&&t.majorBase>=1&&t.minorBase>=57}catch{return!1}}function s9(i){try{let t=nA(tA(i.engines.vscode));return t?t.majorBase<1||t.majorBase===1&&t.minorBase<60:!1}catch{return!1}}var AS=class extends V{constructor(e,n,o,r,s){super();this.remoteInfo=n;this.workspace=o;this._logService=r;this._deprecationService=s;this._webviews=new Map;this._webviewProxy=e.getProxy(L.MainThreadWebviews)}dispose(){super.dispose();for(let e of this._webviews.values())e.dispose();this._webviews.clear()}$onMessage(e,n,o){let r=this.getWebview(e);if(r){let{message:s}=w2(n,o.value);r._onMessageEmitter.fire(s)}}$onMissingCsp(e,n){this._logService.warn(`${n} created a webview without a content security policy: https://aka.ms/vscode-webview-missing-csp`)}createNewWebview(e,n,o){let r=new rA(e,this._webviewProxy,a9(n),this.remoteInfo,this.workspace,o,this._deprecationService);this._webviews.set(e,r);let s=r._onDidDispose(()=>{s.dispose(),this.deleteWebview(e)});return r}ensureDefaultContentOptions(e,n,o){n.localResourceRoots||this._webviewProxy.$setOptions(e,{...n,localResourceRoots:k2(o,this.workspace)})}deleteWebview(e){this._webviews.delete(e)}getWebview(e){return this._webviews.get(e)}};function _c(i){return{id:i.identifier,location:i.extensionLocation}}function iA(i,t,e){return{enableCommandUris:e.enableCommandUris,enableScripts:e.enableScripts,enableForms:e.enableForms,portMapping:e.portMapping,localResourceRoots:e.localResourceRoots||k2(i,t)}}function a9(i){return{enableCommandUris:i.enableCommandUris,enableScripts:i.enableScripts,enableForms:i.enableForms,portMapping:i.portMapping,localResourceRoots:i.localResourceRoots?.map(t=>y.from(t))}}function k2(i,t){return[...(t?.getWorkspaceFolders()||[]).map(e=>e.uri),i.extensionLocation]}var Eo=class i{constructor(t){this.id=t;this._data=new Map;this._idPool=1}static{this.enableDebugLogging=!1}add(t){let e=this._idPool++;return this._data.set(e,t),this.logDebugInfo(),e}get(t,e){return this._data.has(t)?this._data.get(t)[e]:void 0}delete(t){this._data.delete(t),this.logDebugInfo()}logDebugInfo(){i.enableDebugLogging&&console.log(`${this.id} cache size - ${this._data.size}`)}};var sA=class{constructor(t,e){this.document=t;this._storagePath=e;this._backupCounter=1;this._edits=new Eo("custom documents")}addEdit(t){return this._edits.add([t])}async undo(t,e){await this.getEdit(t).undo(),e||this.disposeBackup()}async redo(t,e){await this.getEdit(t).redo(),e||this.disposeBackup()}disposeEdits(t){for(let e of t)this._edits.delete(e)}getNewBackupUri(){if(!this._storagePath)throw new Error("Backup requires a valid storage path");let t=c9(this.document.uri)+this._backupCounter++;return Nt(this._storagePath,t)}updateBackup(t){this._backup?.delete(),this._backup=t}disposeBackup(){this._backup?.delete(),this._backup=void 0}getEdit(t){let e=this._edits.get(t,0);if(!e)throw new Error("No edit found");return e}},aA=class{constructor(){this._documents=new Map}get(t,e){return this._documents.get(this.key(t,e))}add(t,e,n){let o=this.key(t,e.uri);if(this._documents.has(o))throw new Error(`Document already exists for viewType:${t} resource:${e.uri}`);let r=new sA(e,n);return this._documents.set(o,r),r}delete(t,e){let n=this.key(t,e);this._documents.delete(n)}key(t,e){return`${t}@@@${e}`}};var lA=class{constructor(){this._providers=new Map}addTextProvider(t,e,n){return this.add(t,{type:0,extension:e,provider:n})}addCustomProvider(t,e,n){return this.add(t,{type:1,extension:e,provider:n})}get(t){return this._providers.get(t)}add(t,e){if(this._providers.has(t))throw new Error(`Provider for viewType:${t} already registered`);return this._providers.set(t,e),new Ie(()=>this._providers.delete(t))}},OS=class{constructor(t,e,n,o,r){this._extHostDocuments=e;this._extensionStoragePaths=n;this._extHostWebview=o;this._extHostWebviewPanels=r;this._editorProviders=new lA;this._documents=new aA;this._proxy=t.getProxy(L.MainThreadCustomEditors)}registerCustomEditorProvider(t,e,n,o){let r=new J;if(l9(n))r.add(this._editorProviders.addTextProvider(e,t,n)),this._proxy.$registerTextEditorProvider(_c(t),e,o.webviewOptions||{},{supportsMove:!!n.moveCustomTextEditor,supportsInlineDiff:De(t,"customEditorDiffs")&&P2(n),supportsSideBySideDiff:De(t,"customEditorDiffs")&&_2(n)},ca(t));else{r.add(this._editorProviders.addCustomProvider(e,t,n));let s=De(t,"customEditorDiffs");MS(n)&&r.add(n.onDidChangeCustomDocument(a=>{let l=this.getCustomDocumentEntry(e,a.document.uri);if(d9(a)){let d=l.addEdit(a);this._proxy.$onDidEdit(a.document.uri,e,d,a.label)}else this._proxy.$onContentChange(a.document.uri,e)})),this._proxy.$registerCustomEditorProvider(_c(t),e,o.webviewOptions||{},{supportsInlineDiff:s&&D2(n),supportsSideBySideDiff:s&&R2(n)},!!o.supportsMultipleEditorsPerDocument,ca(t))}return Ie.from(r,new Ie(()=>{this._proxy.$unregisterEditorProvider(e)}))}async $createCustomDocument(t,e,n,o,r){let s=this._editorProviders.get(e);if(!s)throw new Error(`No provider found for '${e}'`);if(s.type!==1)throw new Error(`Invalid provide type for '${e}'`);let a=y.revive(t),l=await s.provider.openCustomDocument(a,{backupId:n,untitledDocumentData:o?.buffer},r),d;return MS(s.provider)&&this._extensionStoragePaths&&(d=this._extensionStoragePaths.workspaceValue(s.extension)??this._extensionStoragePaths.globalValue(s.extension)),this._documents.add(e,l,d),{editable:MS(s.provider)}}async $disposeCustomDocument(t,e){let n=this._editorProviders.get(e);if(!n)throw new Error(`No provider found for '${e}'`);if(n.type!==1)throw new Error(`Invalid provider type for '${e}'`);let o=y.revive(t),{document:r}=this.getCustomDocumentEntry(e,o);this._documents.delete(e,o),r.dispose()}async $resolveCustomEditor(t,e,n,o,r,s){let a=this._editorProviders.get(n);if(!a)throw new Error(`No provider found for '${n}'`);let l=At.to(r),d=this._extHostWebview.createNewWebview(e,o.contentOptions,a.extension);this._extHostWebview.ensureDefaultContentOptions(e,o.contentOptions,a.extension);let c=this._extHostWebviewPanels.createNewWebviewPanel(e,n,o.title,l,o.options,d,o.active),u=y.revive(t);switch(a.type){case 1:{let{document:m}=this.getCustomDocumentEntry(n,u);return a.provider.resolveCustomEditor(m,c,s)}case 0:{let m=this._extHostDocuments.getDocument(u);return a.provider.resolveCustomTextEditor(m,c,s)}default:throw new Error("Unknown webview provider type")}}async $resolveCustomEditorInlineDiff(t,e,n,o,r,s,a){let{entry:l,panel:d}=this.createCustomEditorDiffPanel(n,o,r,s),c=y.revive(t),u=y.revive(e);if(l.type===0){if(!P2(l.provider))throw new Error(`Provider for '${o}' does not support inline custom text editor diffs`);let v=this._extHostDocuments.getDocument(c),f=this._extHostDocuments.getDocument(u);return l.provider.resolveCustomTextEditorInlineDiff({original:v,modified:f},d,a)}if(!D2(l.provider))throw new Error(`Provider for '${o}' does not support inline custom editor diffs`);let{document:m}=this.getCustomDocumentEntry(o,c),{document:g}=this.getCustomDocumentEntry(o,u);return l.provider.resolveCustomEditorInlineDiff({original:m,modified:g},d,a)}async $resolveCustomEditorSideBySideDiff(t,e,n,o,r,s,a){let{entry:l,panel:d}=this.createCustomEditorDiffPanel(n.original,o,r.original,s),{panel:c}=this.createCustomEditorDiffPanel(n.modified,o,r.modified,s),u=y.revive(t),m=y.revive(e);if(l.type===0){if(!_2(l.provider))throw new Error(`Provider for '${o}' does not support side by side custom text editor diffs`);let f=this._extHostDocuments.getDocument(u),x=this._extHostDocuments.getDocument(m);return l.provider.resolveCustomTextEditorSideBySideDiff({original:f,modified:x},{original:d,modified:c},a)}if(!R2(l.provider))throw new Error(`Provider for '${o}' does not support side by side custom editor diffs`);let{document:g}=this.getCustomDocumentEntry(o,u),{document:v}=this.getCustomDocumentEntry(o,m);return l.provider.resolveCustomEditorSideBySideDiff({original:g,modified:v},{original:d,modified:c},a)}createCustomEditorDiffPanel(t,e,n,o){let r=this._editorProviders.get(e);if(!r)throw new Error(`No provider found for '${e}'`);let s=At.to(o),a=this._extHostWebview.createNewWebview(t,n.contentOptions,r.extension);this._extHostWebview.ensureDefaultContentOptions(t,n.contentOptions,r.extension);let l=this._extHostWebviewPanels.createNewWebviewPanel(t,e,n.title,s,n.options,a,n.active);return{entry:r,panel:l}}$disposeEdits(t,e,n){this.getCustomDocumentEntry(e,t).disposeEdits(n)}async $onMoveCustomEditor(t,e,n){let o=this._editorProviders.get(n);if(!o)throw new Error(`No provider found for '${n}'`);if(!o.provider.moveCustomTextEditor)throw new Error(`Provider does not implement move '${n}'`);let r=this._extHostWebviewPanels.getWebviewPanel(t);if(!r)throw new Error("No webview found");let s=y.revive(e),a=this._extHostDocuments.getDocument(s);await o.provider.moveCustomTextEditor(a,r,ye.None)}async $undo(t,e,n,o){return this.getCustomDocumentEntry(e,t).undo(n,o)}async $redo(t,e,n,o){return this.getCustomDocumentEntry(e,t).redo(n,o)}async $revert(t,e,n){let o=this.getCustomDocumentEntry(e,t);await this.getCustomEditorProvider(e).revertCustomDocument(o.document,n),o.disposeBackup()}async $onSave(t,e,n){let o=this.getCustomDocumentEntry(e,t);await this.getCustomEditorProvider(e).saveCustomDocument(o.document,n),o.disposeBackup()}async $onSaveAs(t,e,n,o){let r=this.getCustomDocumentEntry(e,t);return this.getCustomEditorProvider(e).saveCustomDocumentAs(r.document,y.revive(n),o)}async $backup(t,e,n){let o=this.getCustomDocumentEntry(e,t),s=await this.getCustomEditorProvider(e).backupCustomDocument(o.document,{destination:o.getNewBackupUri()},n);return o.updateBackup(s),s.id}getCustomDocumentEntry(t,e){let n=this._documents.get(t,y.revive(e));if(!n)throw new Error("No custom document found");return n}getCustomEditorProvider(t){let n=this._editorProviders.get(t)?.provider;if(!n||!MS(n))throw new Error("Custom document is not editable");return n}};function MS(i){return!!i.onDidChangeCustomDocument}function l9(i){return typeof i.resolveCustomTextEditor=="function"}function P2(i){return typeof i.resolveCustomTextEditorInlineDiff=="function"}function _2(i){return typeof i.resolveCustomTextEditorSideBySideDiff=="function"}function D2(i){return typeof i.resolveCustomEditorInlineDiff=="function"}function R2(i){return typeof i.resolveCustomEditorSideBySideDiff=="function"}function d9(i){return typeof i.undo=="function"&&typeof i.redo=="function"}function c9(i){let t=i.scheme===K.file||i.scheme===K.untitled?i.fsPath:i.toString();return ar(t)+""}var LS=class i{constructor(t,e,n,o,r,s,a,l){this._name=t;this._owner=e;this._maxDiagnosticsTotal=n;this._maxDiagnosticsPerFile=o;this._modelVersionIdProvider=r;this._isDisposed=!1;this._maxDiagnosticsTotal=Math.max(o,n),this.#n=new $e(d=>s.getComparisonKey(d)),this.#e=a,this.#t=l}#e;#t;#n;dispose(){this._isDisposed||(this.#t.fire([...this.#n.keys()]),this.#e?.$clear(this._owner),this.#n.clear(),this._isDisposed=!0)}get name(){return this._checkDisposed(),this._name}set(t,e){if(!t){this.clear();return}this._checkDisposed();let n=[];if(y.isUri(t)){if(!e){this.delete(t);return}this.#n.set(t,it(e)),n=[t]}else if(Array.isArray(t)){n=[];let s;t=[...t].sort(i._compareIndexedTuplesByUri);for(let a of t){let[l,d]=a;if((!s||l.toString()!==s.toString())&&(s&&this.#n.get(s).length===0&&this.#n.delete(s),s=l,n.push(l),this.#n.set(l,[])),d)this.#n.get(l)?.push(...it(d));else{let c=this.#n.get(l);c&&(c.length=0)}}}if(this.#t.fire(n),!this.#e)return;let o=[],r=0;for(let s of n){let a=[],l=this.#n.get(s);if(l)if(l.length>this._maxDiagnosticsPerFile){a=[];let d=[0,1,2,3];e:for(let c=0;c<4;c++)for(let u of l)if(u.severity===d[c]&&a.push({...ea.from(u),modelVersionId:this._modelVersionIdProvider(s)})===this._maxDiagnosticsPerFile)break e;a.push({severity:2,message:p(4369,null,l.length-this._maxDiagnosticsPerFile),startLineNumber:a[a.length-1].startLineNumber,startColumn:a[a.length-1].startColumn,endLineNumber:a[a.length-1].endLineNumber,endColumn:a[a.length-1].endColumn})}else a=l.map(d=>({...ea.from(d),modelVersionId:this._modelVersionIdProvider(s)}));if(o.push([s,a]),r+=a.length,r>this._maxDiagnosticsTotal)break}this.#e.$changeMany(this._owner,o)}delete(t){this._checkDisposed(),this.#t.fire([t]),this.#n.delete(t),this.#e?.$changeMany(this._owner,[[t,void 0]])}clear(){this._checkDisposed(),this.#t.fire([...this.#n.keys()]),this.#n.clear(),this.#e?.$clear(this._owner)}forEach(t,e){this._checkDisposed();for(let[n,o]of this)t.call(e,n,o,this)}*[Symbol.iterator](){this._checkDisposed();for(let t of this.#n.keys())yield[t,this.get(t)]}get(t){this._checkDisposed();let e=this.#n.get(t);return Array.isArray(e)?Object.freeze(e.slice(0)):[]}has(t){return this._checkDisposed(),Array.isArray(this.#n.get(t))}_checkDisposed(){if(this._isDisposed)throw new Error("illegal state - object is disposed")}static _compareIndexedTuplesByUri(t,e){return t[0].toString()<e[0].toString()?-1:t[0].toString()>e[0].toString()?1:0}},Hr=class{constructor(t,e,n,o){this._logService=e;this._fileSystemInfoService=n;this._extHostDocumentsAndEditors=o;this._collections=new Map;this._onDidChangeDiagnostics=new qv({merge:t=>t.flat(),delay:50});this.onDidChangeDiagnostics=Le.map(this._onDidChangeDiagnostics.event,Hr._mapper);this._proxy=t.getProxy(L.MainThreadDiagnostics)}static{this._idPool=0}static{this._maxDiagnosticsPerFile=1e3}static{this._maxDiagnosticsTotal=1.1*this._maxDiagnosticsPerFile}static _mapper(t){let e=new $e;for(let n of t)e.set(n,n);return{uris:Object.freeze(Array.from(e.values()))}}createDiagnosticCollection(t,e){let{_collections:n,_proxy:o,_onDidChangeDiagnostics:r,_logService:s,_fileSystemInfoService:a,_extHostDocumentsAndEditors:l}=this,d=new class{$changeMany(m,g){o.$changeMany(m,g),s.trace("[DiagnosticCollection] change many (extension, owner, uris)",t.value,m,g.length===0?"CLEARING":g)}$clear(m){o.$clear(m),s.trace("[DiagnosticCollection] remove all (extension, owner)",t.value,m)}dispose(){o.dispose()}},c;if(!e)e="_generated_diagnostic_collection_name_#"+Hr._idPool++,c=e;else if(!n.has(e))c=e;else{this._logService.warn(`DiagnosticCollection with name '${e}' does already exist.`);do c=e+Hr._idPool++;while(n.has(c))}return new class extends LS{constructor(){super(e,c,Hr._maxDiagnosticsTotal,Hr._maxDiagnosticsPerFile,m=>l.getDocument(m)?.version,a.extUri,d,r),n.set(c,this)}dispose(){super.dispose(),n.delete(c)}}}getDiagnostics(t){if(t)return this._getDiagnostics(t);{let e=new Map,n=[];for(let o of this._collections.values())o.forEach((r,s)=>{let a=e.get(r.toString());typeof a>"u"&&(a=n.length,e.set(r.toString(),a),n.push([r,[]])),n[a][1]=n[a][1].concat(...s)});return n}}_getDiagnostics(t){let e=[];for(let n of this._collections.values())n.has(t)&&(e=e.concat(n.get(t)));return e}$acceptMarkersChange(t){if(!this._mirrorCollection){let e="_generated_mirror",n=new LS(e,e,Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER,o=>{},this._fileSystemInfoService.extUri,void 0,this._onDidChangeDiagnostics);this._collections.set(e,n),this._mirrorCollection=n}for(let[e,n]of t)this._mirrorCollection.set(y.revive(e),n.map(ea.to))}};Hr=R([S(1,ae),S(2,kr)],Hr);var NS=class{constructor(t){this._proxy=t.getProxy(L.MainThreadDialogs)}showOpenDialog(t){return this._proxy.$showOpenDialog(t).then(e=>e?e.map(n=>y.revive(n)):void 0)}showSaveDialog(t){return this._proxy.$showSaveDialog(t).then(e=>e?y.revive(e):void 0)}};var US=class i{constructor(t,e,n){this._documentsAndEditors=e;this._logService=n;this._documentContentProviders=new Map;this._proxy=t.getProxy(L.MainThreadDocumentContentProviders)}static{this._handlePool=0}registerTextDocumentContentProvider(t,e){if(Object.keys(K).indexOf(t)>=0)throw new Error(`scheme '${t}' already registered`);let n=i._handlePool++;this._documentContentProviders.set(n,e),this._proxy.$registerTextContentProvider(n,t);let o;if(typeof e.onDidChange=="function"){let r;o=e.onDidChange(async s=>{if(s.scheme!==t){this._logService.warn(`Provider for scheme '${t}' is firing event for schema '${s.scheme}' which will be IGNORED`);return}if(!this._documentsAndEditors.getDocument(s))return;r&&await r;let a=this.$provideTextDocumentContent(n,s).then(async l=>{if(!l&&typeof l!="string")return;let d=this._documentsAndEditors.getDocument(s);if(!d)return;let c=tb(l);if(!d.equalLines(c))return this._proxy.$onVirtualDocumentChange(s,l)}).catch(Pt).finally(()=>{r===a&&(r=void 0)});r=a})}return new Ie(()=>{this._documentContentProviders.delete(n)&&this._proxy.$unregisterTextContentProvider(n),o&&(o.dispose(),o=void 0)})}$provideTextDocumentContent(t,e){let n=this._documentContentProviders.get(t);return n?Promise.resolve(n.provideTextDocumentContent(y.revive(e),ye.None)):Promise.reject(new Error(`unsupported uri-scheme: ${e.scheme}`))}};var FS=class{constructor(t,e,n,o={timeout:1500,errors:3}){this._logService=t;this._documents=e;this._mainThreadBulkEdits=n;this._thresholds=o;this._callbacks=new zn;this._badListeners=new WeakMap}dispose(){this._callbacks.clear()}getOnWillSaveTextDocumentEvent(t){return(e,n,o)=>{let s={dispose:this._callbacks.push([e,n,t])};return Array.isArray(o)&&o.push(s),s}}async $participateInSave(t,e){let n=y.revive(t),o=!1,r=setTimeout(()=>o=!0,this._thresholds.timeout),s=[];try{for(let a of[...this._callbacks]){if(o)break;let l=this._documents.getDocument(n),d=await this._deliverEventAsyncAndBlameBadListeners(a,{document:l,reason:mh.to(e)});s.push(d)}}finally{clearTimeout(r)}return s}_deliverEventAsyncAndBlameBadListeners([t,e,n],o){let r=this._badListeners.get(t);return typeof r=="number"&&r>this._thresholds.errors?Promise.resolve(!1):this._deliverEventAsync(n,t,e,o).then(()=>!0,s=>{if(this._logService.error(`onWillSaveTextDocument-listener from extension '${n.identifier.value}' threw ERROR`),this._logService.error(s),!(s instanceof Error)||s.message!=="concurrent_edits"){let a=this._badListeners.get(t);this._badListeners.set(t,a?a+1:1),typeof a=="number"&&a>this._thresholds.errors&&this._logService.info(`onWillSaveTextDocument-listener from extension '${n.identifier.value}' will now be IGNORED because of timeouts and/or errors`)}return!1})}_deliverEventAsync(t,e,n,o){let r=[],s=Date.now(),{document:a,reason:l}=o,{version:d}=a,c=Object.freeze({document:a,reason:l,waitUntil(u){if(Object.isFrozen(r))throw Bc("waitUntil can not be called async");r.push(Promise.resolve(u))}});try{e.apply(n,[c])}catch(u){return Promise.reject(u)}return Object.freeze(r),new Promise((u,m)=>{let g=setTimeout(()=>m(new Error("timeout")),this._thresholds.timeout);return Promise.all(r).then(v=>{this._logService.debug(`onWillSaveTextDocument-listener from extension '${t.identifier.value}' finished after ${Date.now()-s}ms`),clearTimeout(g),u(v)}).catch(v=>{clearTimeout(g),m(v)})}).then(u=>{let m={edits:[]};for(let g of u)if(Array.isArray(g)&&g.every(v=>v instanceof En))for(let{newText:v,newEol:f,range:x}of g)m.edits.push({resource:a.uri,versionId:void 0,textEdit:{range:x&&W.from(x),text:v,eol:f&&lc.from(f)}});if(m.edits.length!==0)return d===a.version?this._mainThreadBulkEdits.$tryApplyWorkspaceEdit(new Ft(m)):Promise.reject(new Error("concurrent_edits"))})}};var HS=class{constructor(t,e){this._toDispose=new J;this._onDidAddDocument=this._toDispose.add(new w);this._onDidRemoveDocument=this._toDispose.add(new w);this._onDidChangeDocument=this._toDispose.add(new w);this._onDidChangeDocumentWithReason=this._toDispose.add(new w);this._onDidSaveDocument=this._toDispose.add(new w);this.onDidAddDocument=this._onDidAddDocument.event;this.onDidRemoveDocument=this._onDidRemoveDocument.event;this.onDidChangeDocument=this._onDidChangeDocument.event;this.onDidChangeDocumentWithReason=this._onDidChangeDocumentWithReason.event;this.onDidSaveDocument=this._onDidSaveDocument.event;this._documentLoader=new Map;this._proxy=t.getProxy(L.MainThreadDocuments),this._documentsAndEditors=e,this._documentsAndEditors.onDidRemoveDocuments(n=>{for(let o of n)this._onDidRemoveDocument.fire(o.document)},void 0,this._toDispose),this._documentsAndEditors.onDidAddDocuments(n=>{for(let o of n)this._onDidAddDocument.fire(o.document)},void 0,this._toDispose)}dispose(){this._toDispose.dispose()}getAllDocumentData(){return[...this._documentsAndEditors.allDocuments()]}getDocumentData(t){if(!t)return;let e=this._documentsAndEditors.getDocument(t);if(e)return e}getDocument(t){let e=this.getDocumentData(t);if(!e?.document)throw new Error(`Unable to retrieve document from URI '${t}'`);return e.document}ensureDocumentData(t,e){let n=this._documentsAndEditors.getDocument(t);if(n&&(!e?.encoding||n.document.encoding===e.encoding))return Promise.resolve(n);let o=this._documentLoader.get(t.toString());return o?e?.encoding&&(o=o.then(r=>r.document.encoding!==e.encoding?this.ensureDocumentData(t,e):r)):(o=this._proxy.$tryOpenDocument(t,e).then(r=>{this._documentLoader.delete(t.toString());let s=y.revive(r);return zr(this._documentsAndEditors.getDocument(s))},r=>(this._documentLoader.delete(t.toString()),Promise.reject(r))),this._documentLoader.set(t.toString(),o)),o}createDocumentData(t){return this._proxy.$tryCreateDocument(t).then(e=>y.revive(e))}$acceptModelLanguageChanged(t,e){let n=y.revive(t),o=this._documentsAndEditors.getDocument(n);if(!o)throw new Error("unknown document");this._onDidRemoveDocument.fire(o.document),o._acceptLanguageId(e),this._onDidAddDocument.fire(o.document)}$acceptModelSaved(t){let e=y.revive(t),n=this._documentsAndEditors.getDocument(e);if(!n)throw new Error("unknown document");this.$acceptDirtyStateChanged(t,!1),this._onDidSaveDocument.fire(n.document)}$acceptDirtyStateChanged(t,e){let n=y.revive(t),o=this._documentsAndEditors.getDocument(n);if(!o)throw new Error("unknown document");o._acceptIsDirty(e),this._onDidChangeDocument.fire({document:o.document,contentChanges:[],reason:void 0}),this._onDidChangeDocumentWithReason.fire({document:o.document,contentChanges:[],reason:void 0,detailedReason:void 0})}$acceptEncodingChanged(t,e){let n=y.revive(t),o=this._documentsAndEditors.getDocument(n);if(!o)throw new Error("unknown document");o._acceptEncoding(e),this._onDidChangeDocument.fire({document:o.document,contentChanges:[],reason:void 0}),this._onDidChangeDocumentWithReason.fire({document:o.document,contentChanges:[],reason:void 0,detailedReason:void 0})}$acceptModelChanged(t,e,n){let o=y.revive(t),r=this._documentsAndEditors.getDocument(o);if(!r)throw new Error("unknown document");r._acceptIsDirty(n),r.onEvents(e);let s;e.isUndoing?s=1:e.isRedoing&&(s=2),this._onDidChangeDocument.fire(lf({document:r.document,contentChanges:e.changes.map(a=>({range:W.to(a.range),rangeOffset:a.rangeOffset,rangeLength:a.rangeLength,text:a.text})),reason:s})),this._onDidChangeDocumentWithReason.fire(lf({document:r.document,contentChanges:e.changes.map(a=>({range:W.to(a.range),rangeOffset:a.rangeOffset,rangeLength:a.rangeLength,text:a.text})),reason:s,detailedReason:e.detailedReason?{source:e.detailedReason.source,metadata:e.detailedReason}:void 0}))}setWordDefinitionFor(t,e){GF(t,e)}};var VS=class{constructor(t){this._provider=new Map;this._onDidChange=new w;this.onDidChange=this._onDidChange.event;this._allKnownModels=new Set;this._handlePool=0;this._proxy=t.getProxy(L.MainThreadEmbeddings)}registerEmbeddingsProvider(t,e,n){if(this._allKnownModels.has(e))throw new Error("An embeddings provider for this model is already registered");let o=this._handlePool++;return this._proxy.$registerEmbeddingProvider(o,e),this._provider.set(o,{id:e,provider:n}),X(()=>{this._allKnownModels.delete(e),this._proxy.$unregisterEmbeddingProvider(o),this._provider.delete(o)})}async computeEmbeddings(t,e,n){n??=ye.None;let o=!1;typeof e=="string"&&(e=[e],o=!0);let r=await this._proxy.$computeEmbeddings(t,e,n);if(r.length!==e.length)throw new Error;if(o){if(r.length!==1)throw new Error;return r[0]}return r}async $provideEmbeddings(t,e,n){let o=this._provider.get(t);if(!o)return[];let r=await o.provider.provideEmbeddings(e,n);return r||[]}get embeddingsModels(){return Array.from(this._allKnownModels)}$acceptEmbeddingModels(t){this._allKnownModels=new Set(t),this._onDidChange.fire()}};var BS=class{constructor(t){this._AiEmbeddingVectorProviders=new Map;this._nextHandle=0;this._proxy=t.getProxy(L.MainThreadAiEmbeddingVector)}async $provideAiEmbeddingVector(t,e,n){if(this._AiEmbeddingVectorProviders.size===0)throw new Error("No embedding vector providers registered");let o=this._AiEmbeddingVectorProviders.get(t);if(!o)throw new Error("Embedding vector provider not found");let r=await o.provideEmbeddingVector(e,n);if(!r)throw new Error("Embedding vector provider returned undefined");return r}registerEmbeddingVectorProvider(t,e,n){let o=this._nextHandle;return this._nextHandle++,this._AiEmbeddingVectorProviders.set(o,n),this._proxy.$registerAiEmbeddingVectorProvider(e,o),new Ie(()=>{this._proxy.$unregisterAiEmbeddingVectorProvider(o),this._AiEmbeddingVectorProviders.delete(o)})}};var cA=class{constructor(t,e,n){let o=new Uint8Array(t*e);for(let r=0,s=t*e;r<s;r++)o[r]=n;this._data=o,this.rows=t,this.cols=e}get(t,e){return this._data[t*this.cols+e]}set(t,e,n){this._data[t*this.cols+e]=n}},Yh=class{constructor(t){let e=0,n=0;for(let r=0,s=t.length;r<s;r++){let[a,l,d]=t[r];l>e&&(e=l),a>n&&(n=a),d>n&&(n=d)}e++,n++;let o=new cA(n,e,0);for(let r=0,s=t.length;r<s;r++){let[a,l,d]=t[r];o.set(a,l,d)}this._states=o,this._maxCharCode=e}nextState(t,e){return e<0||e>=this._maxCharCode?0:this._states.get(t,e)}},dA=null;function u9(){return dA===null&&(dA=new Yh([[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]])),dA}var Xh=null;function p9(){if(Xh===null){Xh=new lm(0);let i=` 	<>'"\u3001\u3002\uFF61\uFF64\uFF0C\uFF0E\uFF1A\uFF1B\u2018\u3008\u300C\u300E\u3014\uFF08\uFF3B\uFF5B\uFF62\uFF63\uFF5D\uFF3D\uFF09\u3015\u300F\u300D\u3009\u2019\uFF40\uFF5E\u2026|`;for(let e=0;e<i.length;e++)Xh.set(i.charCodeAt(e),1);let t=".,;:";for(let e=0;e<t.length;e++)Xh.set(t.charCodeAt(e),2)}return Xh}var WS=class i{static _createLink(t,e,n,o,r){let s=r-1;do{let a=e.charCodeAt(s);if(t.get(a)!==2)break;s--}while(s>o);if(o>0){let a=e.charCodeAt(o-1),l=e.charCodeAt(s);(a===40&&l===41||a===91&&l===93||a===123&&l===125)&&s--}return{range:{startLineNumber:n,startColumn:o+1,endLineNumber:n,endColumn:s+2},url:e.substring(o,s+1)}}static computeLinks(t,e=u9()){let n=p9(),o=[];for(let r=1,s=t.getLineCount();r<=s;r++){let a=t.getLineContent(r),l=a.length,d=0,c=0,u=0,m=1,g=!1,v=!1,f=!1,x=!1;for(;d<l;){let C=!1,E=a.charCodeAt(d);if(m===13){let k;switch(E){case 40:g=!0,k=0;break;case 41:k=g?0:1;break;case 91:f=!0,v=!0,k=0;break;case 93:f=!1,k=v?0:1;break;case 123:x=!0,k=0;break;case 125:k=x?0:1;break;case 39:case 34:case 96:u===E?k=1:u===39||u===34||u===96?k=0:k=1;break;case 42:k=u===42?1:0;break;case 32:k=f?0:1;break;default:k=n.get(E)}k===1&&(o.push(i._createLink(n,a,r,c,d)),C=!0)}else if(m===12){let k;E===91?(v=!0,k=0):k=n.get(E),k===1?C=!0:m=13}else m=e.nextState(m,E),m===0&&(C=!0);C&&(m=1,g=!1,v=!1,x=!1,c=d+1,u=E),d++}m===13&&o.push(i._createLink(n,a,r,c,l))}return o}};var uA=class{constructor(){this._schemes=[]}add(t){this._stateMachine=void 0,this._schemes.push(t)}delete(t){let e=this._schemes.indexOf(t);e>=0&&(this._schemes.splice(e,1),this._stateMachine=void 0)}_initStateMachine(){if(!this._stateMachine){let t=this._schemes.sort(),e=[],n,o,r=14,s=14;for(let a of t){let l=n?z0(n,a):0;for(l===0?o=1:o=s;l<a.length;l++)l+1===a.length?(r=s,s=9):s+=1,e.push([o,a.toUpperCase().charCodeAt(l),s]),e.push([o,a.toLowerCase().charCodeAt(l),s]),o=s;n=a,s=r}e.push([9,58,10]),e.push([10,47,12]),this._stateMachine=new Yh(e)}}provideDocumentLinks(t){this._initStateMachine();let e=[],n=WS.computeLinks({getLineContent(o){return t.lineAt(o-1).text},getLineCount(){return t.lineCount}},this._stateMachine);for(let o of n){let r=na.to(o);r.target&&e.push(r)}return e}},$S=class i{constructor(t,e){this._extHostLanguageFeatures=e;this._linkProvider=new uA;this._fsProvider=new Map;this._registeredSchemes=new Set;this._watches=new Map;this._handlePool=0;this._proxy=t.getProxy(L.MainThreadFileSystem)}dispose(){this._linkProviderRegistration?.dispose()}registerFileSystemProvider(t,e,n,o={}){if(i._validateFileSystemProvider(n),this._registeredSchemes.has(e))throw new Error(`a provider for the scheme '${e}' is already registered`);this._linkProviderRegistration||(this._linkProviderRegistration=this._extHostLanguageFeatures.registerDocumentLinkProvider(t,"*",this._linkProvider));let r=this._handlePool++;this._linkProvider.add(e),this._registeredSchemes.add(e),this._fsProvider.set(r,n);let s=2;o.isCaseSensitive&&(s+=1024),o.isReadonly&&(s+=2048),typeof n.copy=="function"&&(s+=8),typeof n.open=="function"&&typeof n.close=="function"&&typeof n.read=="function"&&typeof n.write=="function"&&(D(t,"fsChunks"),s+=4);let a;o.isReadonly&&bo(o.isReadonly)&&o.isReadonly.value!==""&&(a={value:o.isReadonly.value,isTrusted:o.isReadonly.isTrusted,supportThemeIcons:o.isReadonly.supportThemeIcons,supportHtml:o.isReadonly.supportHtml,baseUri:o.isReadonly.baseUri,uris:o.isReadonly.uris}),this._proxy.$registerFileSystemProvider(r,e,s,a).catch(d=>{console.error(`FAILED to register filesystem provider of ${t.identifier.value}-extension for the scheme ${e}`),console.error(d)});let l=n.onDidChangeFile(d=>{let c=[];for(let u of d){let{uri:m,type:g}=u;if(m.scheme!==e)continue;let v;switch(g){case 1:v=0;break;case 2:v=1;break;case 3:v=2;break;default:throw new Error("Unknown FileChangeType")}c.push({resource:m,type:v})}this._proxy.$onFileSystemChange(r,c)});return X(()=>{l.dispose(),this._linkProvider.delete(e),this._registeredSchemes.delete(e),this._fsProvider.delete(r),this._proxy.$unregisterProvider(r)})}static _validateFileSystemProvider(t){if(!t)throw new Error("MISSING provider");if(typeof t.watch!="function")throw new Error("Provider does NOT implement watch");if(typeof t.stat!="function")throw new Error("Provider does NOT implement stat");if(typeof t.readDirectory!="function")throw new Error("Provider does NOT implement readDirectory");if(typeof t.createDirectory!="function")throw new Error("Provider does NOT implement createDirectory");if(typeof t.readFile!="function")throw new Error("Provider does NOT implement readFile");if(typeof t.writeFile!="function")throw new Error("Provider does NOT implement writeFile");if(typeof t.delete!="function")throw new Error("Provider does NOT implement delete");if(typeof t.rename!="function")throw new Error("Provider does NOT implement rename")}static _asIStat(t){let{type:e,ctime:n,mtime:o,size:r,permissions:s}=t;return{type:e,ctime:n,mtime:o,size:r,permissions:s}}$stat(t,e){return Promise.resolve(this._getFsProvider(t).stat(y.revive(e))).then(n=>i._asIStat(n))}$readdir(t,e){return Promise.resolve(this._getFsProvider(t).readDirectory(y.revive(e)))}$readFile(t,e){return Promise.resolve(this._getFsProvider(t).readFile(y.revive(e))).then(n=>te.wrap(n))}$writeFile(t,e,n,o){return Promise.resolve(this._getFsProvider(t).writeFile(y.revive(e),n.buffer,o))}$delete(t,e,n){return Promise.resolve(this._getFsProvider(t).delete(y.revive(e),n))}$rename(t,e,n,o){return Promise.resolve(this._getFsProvider(t).rename(y.revive(e),y.revive(n),o))}$copy(t,e,n,o){let r=this._getFsProvider(t);if(!r.copy)throw new Error('FileSystemProvider does not implement "copy"');return Promise.resolve(r.copy(y.revive(e),y.revive(n),o))}$mkdir(t,e){return Promise.resolve(this._getFsProvider(t).createDirectory(y.revive(e)))}$watch(t,e,n,o){let r=this._getFsProvider(t).watch(y.revive(n),o);this._watches.set(e,r)}$unwatch(t,e){let n=this._watches.get(e);n&&(n.dispose(),this._watches.delete(e))}$open(t,e,n){let o=this._getFsProvider(t);if(!o.open)throw new Error('FileSystemProvider does not implement "open"');return Promise.resolve(o.open(y.revive(e),n))}$close(t,e){let n=this._getFsProvider(t);if(!n.close)throw new Error('FileSystemProvider does not implement "close"');return Promise.resolve(n.close(e))}$read(t,e,n,o){let r=this._getFsProvider(t);if(!r.read)throw new Error('FileSystemProvider does not implement "read"');let s=te.alloc(o);return Promise.resolve(r.read(e,n,s.buffer,0,o)).then(a=>s.slice(0,a))}$write(t,e,n,o){let r=this._getFsProvider(t);if(!r.write)throw new Error('FileSystemProvider does not implement "write"');return Promise.resolve(r.write(e,n,o.buffer,0,o.byteLength))}_getFsProvider(t){let e=this._fsProvider.get(t);if(!e){let n=new Error;throw n.name="ENOPRO",n.message="no provider",n}return e}};var A2=class i extends V{constructor(e,n,o,r){super();this.onFileChanges=e;this.onLogMessage=n;this.verboseLogging=o;this.options=r;this.watcherDisposables=this._register(new ln);this.requests=void 0;this.restartCounter=0}static{this.MAX_RESTARTS=5}init(){let e=new J;this.watcherDisposables.value=e,this.watcher=this.createWatcher(e),this.watcher.setVerboseLogging(this.verboseLogging),e.add(this.watcher.onDidChangeFile(n=>this.onFileChanges(n))),e.add(this.watcher.onDidLogMessage(n=>this.onLogMessage(n))),e.add(this.watcher.onDidError(n=>this.onError(n.error,n.request)))}onError(e,n){this.canRestart(e,n)?this.restartCounter<i.MAX_RESTARTS&&this.requests?(this.error(`restarting watcher after unexpected error: ${e}`),this.restart(this.requests)):this.error(`gave up attempting to restart watcher after unexpected error: ${e}`):this.error(e)}canRestart(e,n){return!(!this.options.restartOnError||n||e.indexOf("No space left on device")!==-1||e.indexOf("EMFILE")!==-1)}restart(e){this.restartCounter++,this.init(),this.watch(e)}async watch(e){this.requests=e,await this.watcher?.watch(e)}async setVerboseLogging(e){this.verboseLogging=e,await this.watcher?.setVerboseLogging(e)}error(e){this.onLogMessage({type:"error",message:`[File Watcher (${this.options.type})] ${e}`})}trace(e){this.onLogMessage({type:"trace",message:`[File Watcher (${this.options.type})] ${e}`})}dispose(){return this.watcher=void 0,super.dispose()}};function M2(i,t){return typeof t=="string"&&!t.startsWith(Rs)&&!Ei(t)?{base:i,pattern:t}:t}var pA=class{constructor(t,e,n,o,r,s,a,l){this.session=Math.random();this._onDidCreate=new w;this._onDidChange=new w;this._onDidDelete=new w;this._config=0,l.ignoreCreateEvents&&(this._config+=1),l.ignoreChangeEvents&&(this._config+=2),l.ignoreDeleteEvents&&(this._config+=4);let d=typeof a=="string"?!((n.getCapabilities(K.file)??0)&1024):n.extUri.ignorePathCasing(y.revive(a.baseUri)),c=a;d&&(c=typeof a=="string"?a.toLowerCase():{base:a.base.toLowerCase(),pattern:a.pattern.toLowerCase()});let u=Zr(c,{ignoreCase:!1}),m=typeof a=="string",g=!1,v=s(f=>{if(!(typeof f.session=="number"&&f.session!==this.session)&&!(g&&typeof f.session>"u")){if(!l.ignoreCreateEvents)for(let{uri:x,lowerCaseFsPath:C}of f.created)u(d?C:x.fsPath)&&(!m||o.getWorkspaceFolder(x))&&this._onDidCreate.fire(x);if(!l.ignoreChangeEvents)for(let{uri:x,lowerCaseFsPath:C}of f.changed)u(d?C:x.fsPath)&&(!m||o.getWorkspaceFolder(x))&&this._onDidChange.fire(x);if(!l.ignoreDeleteEvents)for(let{uri:x,lowerCaseFsPath:C}of f.deleted)u(d?C:x.fsPath)&&(!m||o.getWorkspaceFolder(x))&&this._onDidDelete.fire(x)}});this._disposable=Ie.from(this.ensureWatching(t,o,e,r,a,l,!1),this._onDidCreate,this._onDidChange,this._onDidDelete,v)}get ignoreCreateEvents(){return!!(this._config&1)}get ignoreChangeEvents(){return!!(this._config&2)}get ignoreDeleteEvents(){return!!(this._config&4)}ensureWatching(t,e,n,o,r,s,a){let l=Ie.from();if(typeof r=="string"||s.ignoreChangeEvents&&s.ignoreCreateEvents&&s.ignoreDeleteEvents)return l;let d=t.getProxy(L.MainThreadFileSystemEventService),c=!1;(r.pattern.includes(Rs)||r.pattern.includes(Gy))&&(c=!0);let u=[],m,g;if(a)(s.ignoreChangeEvents||s.ignoreCreateEvents||s.ignoreDeleteEvents)&&(g=14,s.ignoreChangeEvents&&(g&=-3),s.ignoreCreateEvents&&(g&=-5),s.ignoreDeleteEvents&&(g&=-9));else if(c&&u.length===0){let v=e.getWorkspaceFolder(y.revive(r.baseUri)),f=n.getConfiguration("files",v).get("watcherExclude");if(f)for(let x in f)x&&f[x]===!0&&u.push(x)}else if(!c){let v=e.getWorkspaceFolder(y.revive(r.baseUri));if(v){let f=n.getConfiguration("files",v).get("watcherExclude");if(f){for(let x in f)if(x&&f[x]===!0){let C=`${ud(x,"/")}/${Rs}`;m||(m=[]),m.push(M2(v.uri.fsPath,C))}}if(!m||m.length===0)return l}}return d.$watch(o.identifier.value,this.session,r.baseUri,{recursive:c,excludes:u,includes:m,filter:g},!!a),Ie.from({dispose:()=>d.$unwatch(this.session)})}dispose(){this._disposable.dispose()}get onDidCreate(){return this._onDidCreate.event}get onDidChange(){return this._onDidChange.event}get onDidDelete(){return this._onDidDelete.event}},mA=class i{constructor(t){this._events=t;this._created=new bt(()=>this._events.created.map(i._revive));this._changed=new bt(()=>this._events.changed.map(i._revive));this._deleted=new bt(()=>this._events.deleted.map(i._revive));this.session=this._events.session}get created(){return this._created.value}get changed(){return this._changed.value}get deleted(){return this._deleted.value}static _revive(t){let e=y.revive(t);return{uri:e,lowerCaseFsPath:e.fsPath.toLowerCase()}}},zS=class{constructor(t,e,n){this._mainContext=t;this._logService=e;this._extHostDocumentsAndEditors=n;this._onFileSystemEvent=new w;this._onDidRenameFile=new w;this._onDidCreateFile=new w;this._onDidDeleteFile=new w;this._onWillRenameFile=new Ti;this._onWillCreateFile=new Ti;this._onWillDeleteFile=new Ti;this.onDidRenameFile=this._onDidRenameFile.event;this.onDidCreateFile=this._onDidCreateFile.event;this.onDidDeleteFile=this._onDidDeleteFile.event}createFileSystemWatcher(t,e,n,o,r,s){return new pA(this._mainContext,e,n,t,o,this._onFileSystemEvent.event,Co.from(r),s)}$onFileEvent(t){this._onFileSystemEvent.fire(new mA(t))}$onDidRunFileOperation(t,e){switch(t){case 2:this._onDidRenameFile.fire(Object.freeze({files:e.map(n=>({oldUri:y.revive(n.source),newUri:y.revive(n.target)}))}));break;case 1:this._onDidDeleteFile.fire(Object.freeze({files:e.map(n=>y.revive(n.target))}));break;case 0:case 3:this._onDidCreateFile.fire(Object.freeze({files:e.map(n=>y.revive(n.target))}));break;default:}}getOnWillRenameFileEvent(t){return this._createWillExecuteEvent(t,this._onWillRenameFile)}getOnWillCreateFileEvent(t){return this._createWillExecuteEvent(t,this._onWillCreateFile)}getOnWillDeleteFileEvent(t){return this._createWillExecuteEvent(t,this._onWillDeleteFile)}_createWillExecuteEvent(t,e){return(n,o,r)=>{let s=function(l){n.call(o,l)};return s.extension=t,e.event(s,void 0,r)}}async $onWillRunFileOperation(t,e,n,o){switch(t){case 2:return await this._fireWillEvent(this._onWillRenameFile,{files:e.map(r=>({oldUri:y.revive(r.source),newUri:y.revive(r.target)}))},n,o);case 1:return await this._fireWillEvent(this._onWillDeleteFile,{files:e.map(r=>y.revive(r.target))},n,o);case 0:case 3:return await this._fireWillEvent(this._onWillCreateFile,{files:e.map(r=>y.revive(r.target))},n,o)}}async _fireWillEvent(t,e,n,o){let r=new Set,s=[];if(await t.fireAsync(e,o,async(l,d)=>{let c=Date.now(),u=await Promise.resolve(l);u instanceof jo&&(s.push([d.extension,u]),r.add(d.extension.displayName??d.extension.identifier.value)),Date.now()-c>n&&this._logService.warn("SLOW file-participant",d.extension.identifier)}),o.isCancellationRequested||s.length===0)return;let a={edits:[]};for(let[,l]of s){let{edits:d}=Zn.from(l,{getTextDocumentVersion:c=>this._extHostDocumentsAndEditors.getDocument(c)?.version,getNotebookDocumentVersion:()=>{}});a.edits=a.edits.concat(d)}return{edit:a,extensionNames:Array.from(r)}}};var qS=class{constructor(t,e,n,o,r){this._extHostNotebooks=e;this._textDocumentsAndEditors=n;this._commands=o;let s=new _e("interactive.open","_interactive.open","Open interactive window and return notebook editor and input URI",[new Y("showOptions","Show Options",a=>!0,a=>a),new Y("resource","Interactive resource Uri",a=>!0,a=>a),new Y("controllerId","Notebook controller Id",a=>!0,a=>a),new Y("title","Interactive editor title",a=>!0,a=>a)],new ke("Notebook and input URI",a=>{if(r.debug("[ExtHostInteractive] open iw with notebook editor id",a.notebookEditorId),a.notebookEditorId!==void 0){let l=this._extHostNotebooks.getEditorById(a.notebookEditorId);return r.debug("[ExtHostInteractive] notebook editor found",l.id),{notebookUri:y.revive(a.notebookUri),inputUri:y.revive(a.inputUri),notebookEditor:l.apiEditor}}return r.debug("[ExtHostInteractive] notebook editor not found, uris for the interactive document",a.notebookUri,a.inputUri),{notebookUri:y.revive(a.notebookUri),inputUri:y.revive(a.inputUri)}}));this._commands.registerApiCommand(s)}$willAddInteractiveDocument(t,e,n,o){this._textDocumentsAndEditors.acceptDocumentsAndEditorsDelta({addedDocuments:[{EOL:e,lines:[""],languageId:n,uri:t,isDirty:!1,versionId:1,encoding:"utf8"}]})}$willRemoveInteractiveDocument(t,e){this._textDocumentsAndEditors.acceptDocumentsAndEditorsDelta({removedDocuments:[t]})}};var KS=class{constructor(t){this._handlePool=0;this._proxy=t.getProxy(L.MainThreadLabelService)}$registerResourceLabelFormatter(t){let e=this._handlePool++;return this._proxy.$registerResourceLabelFormatter(e,t),X(()=>{this._proxy.$unregisterResourceLabelFormatter(e)})}};var GS=class i extends Ne{constructor(t,e,n,o){super(t,e,n,o),this.selectionStartLineNumber=t,this.selectionStartColumn=e,this.positionLineNumber=n,this.positionColumn=o}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(t){return i.selectionsEqual(this,t)}static selectionsEqual(t,e){return t.selectionStartLineNumber===e.selectionStartLineNumber&&t.selectionStartColumn===e.selectionStartColumn&&t.positionLineNumber===e.positionLineNumber&&t.positionColumn===e.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(t,e){return this.getDirection()===0?new i(this.startLineNumber,this.startColumn,t,e):new i(t,e,this.startLineNumber,this.startColumn)}getPosition(){return new vn(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new vn(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(t,e){return this.getDirection()===0?new i(t,e,this.endLineNumber,this.endColumn):new i(this.endLineNumber,this.endColumn,t,e)}static fromPositions(t,e=t){return new i(t.lineNumber,t.column,e.lineNumber,e.column)}static fromRange(t,e){return e===0?new i(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):new i(t.endLineNumber,t.endColumn,t.startLineNumber,t.startColumn)}static liftSelection(t){return new i(t.selectionStartLineNumber,t.selectionStartColumn,t.positionLineNumber,t.positionColumn)}static selectionsArrEqual(t,e){if(t&&!e||!t&&e)return!1;if(!t&&!e)return!0;if(t.length!==e.length)return!1;for(let n=0,o=t.length;n<o;n++)if(!this.selectionsEqual(t[n],e[n]))return!1;return!0}static isISelection(t){return!!t&&typeof t.selectionStartLineNumber=="number"&&typeof t.selectionStartColumn=="number"&&typeof t.positionLineNumber=="number"&&typeof t.positionColumn=="number"}static createWithDirection(t,e,n,o,r){return r===0?new i(t,e,n,o):new i(n,o,t,e)}};var jS=class i{constructor(t,e){this._documents=t;this._provider=e}async provideDocumentSymbols(t,e){let n=this._documents.getDocument(t),o=await this._provider.provideDocumentSymbols(n,e);if(!_g(o))return o[0]instanceof vr?o.map(RD.from):i._asDocumentSymbolTree(o)}static _asDocumentSymbolTree(t){t=t.slice(0).sort((o,r)=>{let s=o.location.range.start.compareTo(r.location.range.start);return s===0&&(s=r.location.range.end.compareTo(o.location.range.end)),s});let e=[],n=[];for(let o of t){let r={name:o.name||"!!MISSING: name!!",kind:br.from(o.kind),tags:o.tags?.map(Ys.from)||[],detail:"",containerName:o.containerName,range:W.from(o.location.range),selectionRange:W.from(o.location.range),children:[]};for(;;){if(n.length===0){n.push(r),e.push(r);break}let s=n[n.length-1];if(Ne.containsRange(s.range,r.range)&&!Ne.equalsRange(s.range,r.range)){s.children?.push(r),n.push(r);break}n.pop()}}return e}},Bm=class{constructor(t,e,n,o,r,s){this._documents=t;this._commands=e;this._provider=n;this._extension=o;this._extTelemetry=r;this._logService=s;this._cache=new Eo("CodeLens");this._disposables=new Map}async provideCodeLenses(t,e){let n=this._documents.getDocument(t),o=await this._provider.provideCodeLenses(n,e);if(!o||e.isCancellationRequested)return;let r=this._cache.add(o),s=new J;this._disposables.set(r,s);let a={cacheId:r,lenses:[]};for(let l=0;l<o.length;l++){if(!ve.isRange(o[l].range)){console.warn("INVALID code lens, range is not defined",this._extension.identifier.value);continue}a.lenses.push({cacheId:[r,l],range:W.from(o[l].range),command:this._commands.toInternal(o[l].command,s)})}return a}async resolveCodeLens(t,e){let n=t.cacheId&&this._cache.get(...t.cacheId);if(!n)return;let o;if(typeof this._provider.resolveCodeLens!="function"||n.isResolved?o=n:o=await this._provider.resolveCodeLens(n,e),o||(o=n),e.isCancellationRequested)return;let r=t.cacheId&&this._disposables.get(t.cacheId[0]);if(r){if(!o.command){let s=new Error("INVALID code lens resolved, lacks command: "+this._extension.identifier.value);this._extTelemetry.onExtensionError(this._extension.identifier,s),this._logService.error(s);return}return t.command=this._commands.toInternal(o.command,r),t}}releaseCodeLenses(t){this._disposables.get(t)?.dispose(),this._disposables.delete(t),this._cache.delete(t)}};function uT(i){return Array.isArray(i)?i.map(wp.from):i?[wp.from(i)]:[]}var QS=class{constructor(t,e){this._documents=t;this._provider=e}async provideDefinition(t,e,n){let o=this._documents.getDocument(t),r=et.to(e),s=await this._provider.provideDefinition(o,r,n);return uT(s)}},JS=class{constructor(t,e){this._documents=t;this._provider=e}async provideDeclaration(t,e,n){let o=this._documents.getDocument(t),r=et.to(e),s=await this._provider.provideDeclaration(o,r,n);return uT(s)}},XS=class{constructor(t,e){this._documents=t;this._provider=e}async provideImplementation(t,e,n){let o=this._documents.getDocument(t),r=et.to(e),s=await this._provider.provideImplementation(o,r,n);return uT(s)}},YS=class{constructor(t,e){this._documents=t;this._provider=e}async provideTypeDefinition(t,e,n){let o=this._documents.getDocument(t),r=et.to(e),s=await this._provider.provideTypeDefinition(o,r,n);return uT(s)}},Zh=class i{constructor(t,e){this._documents=t;this._provider=e;this._hoverCounter=0;this._hoverMap=new Map}static{this.HOVER_MAP_MAX_SIZE=10}async provideHover(t,e,n,o){let r=this._documents.getDocument(t),s=et.to(e),a;if(n&&n.verbosityRequest){let u=n.verbosityRequest.previousHover.id,m=this._hoverMap.get(u);if(!m)throw new Error(`Hover with id ${u} not found`);let g={verbosityDelta:n.verbosityRequest.verbosityDelta,previousHover:m};a=await this._provider.provideHover(r,s,o,g)}else a=await this._provider.provideHover(r,s,o);if(!a||_g(a.contents))return;a.range||(a.range=r.getWordRangeAtPosition(s)),a.range||(a.range=new ve(s,s));let l=kp.from(a),d=this._hoverCounter;if(this._hoverMap.size===i.HOVER_MAP_MAX_SIZE){let u=Math.min(...this._hoverMap.keys());this._hoverMap.delete(u)}return this._hoverMap.set(d,a),this._hoverCounter+=1,{...l,id:d}}releaseHover(t){this._hoverMap.delete(t)}},ZS=class{constructor(t,e){this._documents=t;this._provider=e}async provideEvaluatableExpression(t,e,n){let o=this._documents.getDocument(t),r=et.to(e),s=await this._provider.provideEvaluatableExpression(o,r,n);if(s)return OD.from(s)}},eT=class{constructor(t,e){this._documents=t;this._provider=e}async provideInlineValues(t,e,n,o){let r=this._documents.getDocument(t),s=await this._provider.provideInlineValues(r,W.to(e),uh.to(n),o);if(Array.isArray(s))return s.map(a=>ch.from(a))}},tT=class{constructor(t,e){this._documents=t;this._provider=e}async provideDocumentHighlights(t,e,n){let o=this._documents.getDocument(t),r=et.to(e),s=await this._provider.provideDocumentHighlights(o,r,n);if(Array.isArray(s))return s.map(ac.from)}},nT=class{constructor(t,e,n){this._documents=t;this._provider=e;this._logService=n}async provideMultiDocumentHighlights(t,e,n,o){let r=this._documents.getDocument(t),s=n.map(d=>{try{return this._documents.getDocument(d)}catch(c){this._logService.error("Error: Unable to retrieve document from URI: "+d+". Error message: "+c);return}}).filter(d=>d!==void 0),a=et.to(e),l=await this._provider.provideMultiDocumentHighlights(r,a,s,o);if(Array.isArray(l))return l.map(LD.from)}},oT=class{constructor(t,e){this._documents=t;this._provider=e}async provideLinkedEditingRanges(t,e,n){let o=this._documents.getDocument(t),r=et.to(e),s=await this._provider.provideLinkedEditingRanges(o,r,n);if(s&&Array.isArray(s.ranges))return{ranges:it(s.ranges.map(W.from)),wordPattern:s.wordPattern}}},rT=class{constructor(t,e){this._documents=t;this._provider=e}async provideReferences(t,e,n,o){let r=this._documents.getDocument(t),s=et.to(e),a=await this._provider.provideReferences(r,s,n,o);if(Array.isArray(a))return a.map(Yn.from)}},Wm=class i{constructor(t,e,n,o,r,s,a){this._documents=t;this._commands=e;this._diagnostics=n;this._provider=o;this._logService=r;this._extension=s;this._apiDeprecation=a;this._cache=new Eo("CodeAction");this._disposables=new Map}static{this._maxCodeActionsPerFile=1e3}async provideCodeActions(t,e,n,o){let r=this._documents.getDocument(t),s=GS.isISelection(e)?co.to(e):W.to(e),a=[];for(let g of this._diagnostics.getDiagnostics(t))if(s.intersection(g.range)&&a.push(g)>i._maxCodeActionsPerFile)break;let l={diagnostics:a,only:n.only?new ft(n.only):void 0,triggerKind:GD.to(n.trigger)},d=await this._provider.provideCodeActions(r,s,l,o);if(!va(d)||o.isCancellationRequested)return;let c=this._cache.add(d),u=new J;this._disposables.set(c,u);let m=[];for(let g=0;g<d.length;g++){let v=d[g];if(v)if(i._isCommand(v)&&!(v instanceof Bi))this._apiDeprecation.report("CodeActionProvider.provideCodeActions - return commands",this._extension,"Return 'CodeAction' instances instead."),m.push({_isSynthetic:!0,title:v.title,command:this._commands.toInternal(v,u)});else{let f=v;l.only&&(f.kind?l.only.contains(f.kind)||this._logService.warn(`${this._extension.identifier.value} - Code actions of kind '${l.only.value}' requested but returned code action is of kind '${f.kind.value}'. Code action will be dropped. Please check 'CodeActionContext.only' to only return requested code actions.`):this._logService.warn(`${this._extension.identifier.value} - Code actions of kind '${l.only.value}' requested but returned code action does not have a 'kind'. Code action will be dropped. Please set 'CodeAction.kind'.`));let x=f.ranges??[];m.push({cacheId:[c,g],title:f.title,command:f.command&&this._commands.toInternal(f.command,u),diagnostics:f.diagnostics&&f.diagnostics.map(ea.from),edit:f.edit&&Zn.from(f.edit,void 0),kind:f.kind&&f.kind.value,isPreferred:f.isPreferred,isAI:De(this._extension,"codeActionAI")?f.isAI:!1,ranges:De(this._extension,"codeActionRanges")?it(x.map(W.from)):void 0,disabled:f.disabled?.reason})}}return{cacheId:c,actions:m}}async resolveCodeAction(t,e){let[n,o]=t,r=this._cache.get(n,o);if(!r||i._isCommand(r))return{};if(!this._provider.resolveCodeAction)return{};let s=await this._provider.resolveCodeAction(r,e)??r,a;s.edit&&(a=Zn.from(s.edit,void 0));let l;if(s.command){let d=this._disposables.get(n);d&&(l=this._commands.toInternal(s.command,d))}return{edit:a,command:l}}releaseCodeActions(t){this._disposables.get(t)?.dispose(),this._disposables.delete(t),this._cache.delete(t)}static _isCommand(t){return typeof t.command=="string"&&typeof t.title=="string"}},Dc=class{constructor(t,e,n,o,r){this._proxy=t;this._documents=e;this._provider=n;this._handle=o;this._extension=r;this._editsCache=new Eo("DocumentPasteEdit.edits")}async prepareDocumentPaste(t,e,n,o){if(!this._provider.prepareDocumentPaste)return;this._cachedPrepare=void 0;let r=this._documents.getDocument(t),s=e.map(u=>W.to(u)),a=gc.toDataTransfer(n,()=>{throw new Rv});if(await this._provider.prepareDocumentPaste(r,s,a,o),o.isCancellationRequested)return;let l=Array.from(a).filter(([,u])=>!(u instanceof gl)),d=new Map,c=await Promise.all(Array.from(l,async([u,m])=>{let g=We();return d.set(g,m),[u,await sc.from(u,m,g)]}));return this._cachedPrepare=d,{items:c}}async providePasteEdits(t,e,n,o,r,s){if(!this._provider.provideDocumentPasteEdits)return[];let a=this._documents.getDocument(e),l=n.map(g=>W.to(g)),d=o.items.map(([g,v])=>{let f=this._cachedPrepare?.get(v.id);return f?[g,f]:[g,sc.to(g,v,async x=>(await this._proxy.$resolvePasteFileData(this._handle,t,x)).buffer)]}),c=new Ar(d),u=await this._provider.provideDocumentPasteEdits(a,l,c,{only:r.only?new Mr(r.only):void 0,triggerKind:r.triggerKind},s);if(!u||s.isCancellationRequested)return[];let m=this._editsCache.add(u);return u.map((g,v)=>({_cacheId:[m,v],title:g.title??p(4373,null,this._extension.displayName||this._extension.name),kind:g.kind,yieldTo:g.yieldTo?.map(f=>f.value),insertText:typeof g.insertText=="string"?g.insertText:{snippet:g.insertText.value},additionalEdit:g.additionalEdit?Zn.from(g.additionalEdit,void 0):void 0}))}async resolvePasteEdit(t,e){let[n,o]=t,r=this._editsCache.get(n,o);if(!r||!this._provider.resolveDocumentPasteEdit)return{};let s=await this._provider.resolveDocumentPasteEdit(r,e)??r;return{insertText:s.insertText,additionalEdit:s.additionalEdit?Zn.from(s.additionalEdit,void 0):void 0}}releasePasteEdits(t){this._editsCache.delete(t)}},iT=class{constructor(t,e){this._documents=t;this._provider=e}async provideDocumentFormattingEdits(t,e,n){let o=this._documents.getDocument(t),r=await this._provider.provideDocumentFormattingEdits(o,e,n);if(Array.isArray(r))return r.map(pn.from)}},ev=class{constructor(t,e){this._documents=t;this._provider=e}async provideDocumentRangeFormattingEdits(t,e,n,o){let r=this._documents.getDocument(t),s=W.to(e),a=await this._provider.provideDocumentRangeFormattingEdits(r,s,n,o);if(Array.isArray(a))return a.map(pn.from)}async provideDocumentRangesFormattingEdits(t,e,n,o){Mv(typeof this._provider.provideDocumentRangesFormattingEdits=="function","INVALID invocation of `provideDocumentRangesFormattingEdits`");let r=this._documents.getDocument(t),s=e.map(W.to),a=await this._provider.provideDocumentRangesFormattingEdits(r,s,n,o);if(Array.isArray(a))return a.map(pn.from)}},sT=class{constructor(t,e){this._documents=t;this._provider=e;this.autoFormatTriggerCharacters=[]}async provideOnTypeFormattingEdits(t,e,n,o,r){let s=this._documents.getDocument(t),a=et.to(e),l=await this._provider.provideOnTypeFormattingEdits(s,a,n,o,r);if(Array.isArray(l))return l.map(pn.from)}},$m=class{constructor(t,e){this._provider=t;this._logService=e;this._cache=new Eo("WorkspaceSymbols")}async provideWorkspaceSymbols(t,e){let n=await this._provider.provideWorkspaceSymbols(t,e);if(!va(n))return{symbols:[]};let o=this._cache.add(n),r={cacheId:o,symbols:[]};for(let s=0;s<n.length;s++){let a=n[s];if(!a||!a.name){this._logService.warn("INVALID SymbolInformation",a);continue}r.symbols.push({...kl.from(a),cacheId:[o,s]})}return r}async resolveWorkspaceSymbol(t,e){if(typeof this._provider.resolveWorkspaceSymbol!="function"||!t.cacheId)return t;let n=this._cache.get(...t.cacheId);if(n){let o=await this._provider.resolveWorkspaceSymbol(n,e);return o&&wr(t,kl.from(o),!0)}}releaseWorkspaceSymbols(t){this._cache.delete(t)}},zm=class i{constructor(t,e,n){this._documents=t;this._provider=e;this._logService=n}static supportsResolving(t){return typeof t.prepareRename=="function"}async provideRenameEdits(t,e,n,o){let r=this._documents.getDocument(t),s=et.to(e);try{let a=await this._provider.provideRenameEdits(r,s,n,o);return a?Zn.from(a):void 0}catch(a){let l=i._asMessage(a);return l?{rejectReason:l,edits:void 0}:Promise.reject(a)}}async resolveRenameLocation(t,e,n){if(typeof this._provider.prepareRename!="function")return Promise.resolve(void 0);let o=this._documents.getDocument(t),r=et.to(e);try{let s=await this._provider.prepareRename(o,r,n),a,l;if(ve.isRange(s)?(a=s,l=o.getText(s)):st(s)&&(a=s.range,l=s.placeholder),!a||!l)return;if(a.start.line>r.line||a.end.line<r.line){this._logService.warn("INVALID rename location: position line must be within range start/end lines");return}return{range:W.from(a),text:l}}catch(s){let a=i._asMessage(s);return a?{rejectReason:a,range:void 0,text:void 0}:Promise.reject(s)}}static _asMessage(t){return typeof t=="string"?t:t instanceof Error&&typeof t.message=="string"?t.message:void 0}},tv=class i{constructor(t,e,n){this._documents=t;this._provider=e;this._logService=n}static{this.languageTriggerKindToVSCodeTriggerKind={0:0,1:1}}async supportsAutomaticNewSymbolNamesTriggerKind(){return this._provider.supportsAutomaticTriggerKind}async provideNewSymbolNames(t,e,n,o){let r=this._documents.getDocument(t),s=W.to(e);try{let a=i.languageTriggerKindToVSCodeTriggerKind[n],l=await this._provider.provideNewSymbolNames(r,s,a,o);return l?l.map(d=>typeof d=="string"?{newSymbolName:d}:{newSymbolName:d.newSymbolName,tags:d.tags}):void 0}catch(a){this._logService.error(i._asMessage(a)??JSON.stringify(a,null,"	"));return}}static _asMessage(t){return typeof t=="string"?t:t instanceof Error&&typeof t.message=="string"?t.message:void 0}},nv=class{constructor(t,e){this.resultId=t;this.tokens=e}},ov=class i{constructor(t,e){this._documents=t;this._provider=e;this._nextResultId=1;this._previousResults=new Map}async provideDocumentSemanticTokens(t,e,n){let o=this._documents.getDocument(t),r=e!==0?this._previousResults.get(e):null,s=typeof r?.resultId=="string"&&typeof this._provider.provideDocumentSemanticTokensEdits=="function"?await this._provider.provideDocumentSemanticTokensEdits(o,r.resultId,n):await this._provider.provideDocumentSemanticTokens(o,n);return r&&this._previousResults.delete(e),s?(s=i._fixProvidedSemanticTokens(s),this._send(i._convertToEdits(r,s),s)):null}async releaseDocumentSemanticColoring(t){this._previousResults.delete(t)}static _fixProvidedSemanticTokens(t){return i._isSemanticTokens(t)?i._isCorrectSemanticTokens(t)?t:new ii(new Uint32Array(t.data),t.resultId):i._isSemanticTokensEdits(t)?i._isCorrectSemanticTokensEdits(t)?t:new fl(t.edits.map(e=>new Qu(e.start,e.deleteCount,e.data?new Uint32Array(e.data):e.data)),t.resultId):t}static _isSemanticTokens(t){return t&&!!t.data}static _isCorrectSemanticTokens(t){return t.data instanceof Uint32Array}static _isSemanticTokensEdits(t){return t&&Array.isArray(t.edits)}static _isCorrectSemanticTokensEdits(t){for(let e of t.edits)if(!(e.data instanceof Uint32Array))return!1;return!0}static _convertToEdits(t,e){if(!i._isSemanticTokens(e)||!t||!t.tokens)return e;let n=t.tokens,o=n.length,r=e.data,s=r.length,a=0,l=Math.min(o,s);for(;a<l&&n[a]===r[a];)a++;if(a===o&&a===s)return new fl([],e.resultId);let d=0,c=l-a;for(;d<c&&n[o-d-1]===r[s-d-1];)d++;return new fl([{start:a,deleteCount:o-a-d,data:r.subarray(a,s-d)}],e.resultId)}_send(t,e){if(i._isSemanticTokens(t)){let n=this._nextResultId++;return this._previousResults.set(n,new nv(t.resultId,t.data)),yS({id:n,type:"full",data:t.data})}if(i._isSemanticTokensEdits(t)){let n=this._nextResultId++;return i._isSemanticTokens(e)?this._previousResults.set(n,new nv(e.resultId,e.data)):this._previousResults.set(n,new nv(t.resultId)),yS({id:n,type:"delta",deltas:(t.edits||[]).map(o=>({start:o.start,deleteCount:o.deleteCount,data:o.data}))})}return null}},aT=class{constructor(t,e){this._documents=t;this._provider=e}async provideDocumentRangeSemanticTokens(t,e,n){let o=this._documents.getDocument(t),r=await this._provider.provideDocumentRangeSemanticTokens(o,W.to(e),n);return r?this._send(r):null}_send(t){return yS({id:0,type:"full",data:t.data})}},Rc=class i{constructor(t,e,n,o,r){this._documents=t;this._commands=e;this._provider=n;this._apiDeprecation=o;this._extension=r;this._cache=new Eo("CompletionItem");this._disposables=new Map}static supportsResolving(t){return typeof t.resolveCompletionItem=="function"}async provideCompletionItems(t,e,n,o){let r=this._documents.getDocument(t),s=et.to(e),a=r.getWordRangeAtPosition(s)||new ve(s,s),l=a.with({end:s}),d=new Hn,c=await this._provider.provideCompletionItems(r,s,o,ND.to(n));if(!c||o.isCancellationRequested)return;let u=Array.isArray(c)?new ei(c):c,m=i.supportsResolving(this._provider)?this._cache.add(u.items):this._cache.add([]),g=new J;this._disposables.set(m,g);let v=[],f={x:m,b:v,a:{replace:W.from(a),insert:W.from(l)},c:u.isIncomplete||void 0,d:d.elapsed()};for(let x=0;x<u.items.length;x++){let C=u.items[x],E=this._convertCompletionItem(C,[m,x],l,a);v.push(E)}return f}async resolveCompletionItem(t,e){if(typeof this._provider.resolveCompletionItem!="function")return;let n=this._cache.get(...t);if(!n)return;let o=this._convertCompletionItem(n,t),r=await this._provider.resolveCompletionItem(n,e);if(!r)return;let s=this._convertCompletionItem(r,t);return(o.h!==s.h||o.i!==s.i)&&this._apiDeprecation.report("CompletionItem.insertText",this._extension,"extension MAY NOT change 'insertText' of a CompletionItem during resolve"),(o.n!==s.n||o.o!==s.o||!Rt(o.p,s.p))&&this._apiDeprecation.report("CompletionItem.command",this._extension,"extension MAY NOT change 'command' of a CompletionItem during resolve"),{...o,d:s.d,c:s.c,l:s.l,h:s.h,i:s.i,n:s.n,o:s.o,p:s.p}}releaseCompletionItems(t){this._disposables.get(t)?.dispose(),this._disposables.delete(t),this._cache.delete(t)}_convertCompletionItem(t,e,n,o){let r=this._disposables.get(e[0]);if(!r)throw Error("DisposableStore is missing...");let s=this._commands.toInternal(t.command,r),a={x:e,a:t.label,b:t.kind!==void 0?Vx.from(t.kind):void 0,m:t.tags&&t.tags.map(Hx.from),c:t.detail,d:typeof t.documentation>"u"?void 0:pe.fromStrict(t.documentation),e:t.sortText!==t.label?t.sortText:void 0,f:t.filterText!==t.label?t.filterText:void 0,g:t.preselect||void 0,i:t.keepWhitespace?1:0,k:t.commitCharacters?.join(""),l:t.additionalTextEdits&&t.additionalTextEdits.map(pn.from),n:s?.$ident,o:s?.id,p:s?.$ident?void 0:s?.arguments};t.textEdit?(this._apiDeprecation.report("CompletionItem.textEdit",this._extension,"Use 'CompletionItem.insertText' and 'CompletionItem.range' instead."),a.h=t.textEdit.newText):typeof t.insertText=="string"?a.h=t.insertText:t.insertText instanceof Ln&&(a.h=t.insertText.value,a.i|=4);let l;return t.textEdit?l=t.textEdit.range:t.range&&(l=t.range),ve.isRange(l)?a.j=W.from(l):l&&(!n?.isEqual(l.inserting)||!o?.isEqual(l.replacing))&&(a.j={insert:W.from(l.inserting),replace:W.from(l.replacing)}),a}},mi=class{constructor(t,e,n,o){this._extension=t;this._documents=e;this._provider=n;this._commands=o;this._references=new gA;this.languageTriggerKindToVSCodeTriggerKind={0:1,1:0};this._isAdditionsProposedApiEnabled=De(this._extension,"inlineCompletionsAdditions")}get supportsHandleEvents(){return De(this._extension,"inlineCompletionsAdditions")&&(typeof this._provider.handleDidShowCompletionItem=="function"||typeof this._provider.handleDidPartiallyAcceptCompletionItem=="function"||typeof this._provider.handleDidRejectCompletionItem=="function"||typeof this._provider.handleEndOfLifetime=="function")}get supportsSetModelId(){return De(this._extension,"inlineCompletionsAdditions")&&typeof this._provider.setCurrentModelId=="function"}get supportsSetProviderOption(){return De(this._extension,"inlineCompletionsAdditions")&&typeof this._provider.setProviderOptionValue=="function"}get modelInfo(){if(this._isAdditionsProposedApiEnabled)return this._provider.modelInfo?{models:this._provider.modelInfo.models,currentModelId:this._provider.modelInfo.currentModelId}:void 0}setCurrentModelId(t){this._isAdditionsProposedApiEnabled&&this._provider.setCurrentModelId?.(t)}get providerOptions(){if(this._isAdditionsProposedApiEnabled)return this._provider.providerOptions?.map(t=>({id:t.id,label:t.label,values:t.values.map(e=>({id:e.id,label:e.label})),currentValueId:t.currentValueId}))}setProviderOption(t,e){this._isAdditionsProposedApiEnabled&&this._provider.setProviderOptionValue?.(t,e)}async provideInlineCompletions(t,e,n,o){let r=this._documents.getDocument(t),s=et.to(e),a=await this._provider.provideInlineCompletionItems(r,s,{selectedCompletionInfo:n.selectedSuggestionInfo?{range:W.to(n.selectedSuggestionInfo.range),text:n.selectedSuggestionInfo.text}:void 0,triggerKind:this.languageTriggerKindToVSCodeTriggerKind[n.triggerKind],requestUuid:n.requestUuid,requestIssuedDateTime:n.requestIssuedDateTime,earliestShownDateTime:n.earliestShownDateTime,changeHint:n.changeHint},o);if(!a)return;let{resultItems:l,list:d}=Array.isArray(a)?{resultItems:a,list:void 0}:{resultItems:a.items,list:a},c=this._isAdditionsProposedApiEnabled?Array.isArray(a)?[]:a.commands||[]:[],u=this._isAdditionsProposedApiEnabled&&!Array.isArray(a)?a.enableForwardStability:void 0,m;return{pid:this._references.createReferenceId({dispose(){m?.dispose()},items:l,list:d}),languageId:r.languageId,items:l.map((f,x)=>{let C;f.command&&(m||(m=new J),C=this._commands.toInternal(f.command,m));let E;f.action&&(m||(m=new J),E=this._commands.toInternal(f.action,m));let k=f.insertText;return{insertText:k===void 0?void 0:typeof k=="string"?k:{snippet:k.value},range:f.range?W.from(f.range):void 0,showRange:this._isAdditionsProposedApiEnabled&&f.showRange?W.from(f.showRange):void 0,command:C,gutterMenuLinkAction:E,idx:x,completeBracketPairs:this._isAdditionsProposedApiEnabled?f.completeBracketPairs:!1,isInlineEdit:this._isAdditionsProposedApiEnabled?f.isInlineEdit:!1,showInlineEditMenu:this._isAdditionsProposedApiEnabled?f.showInlineEditMenu:!1,hint:f.displayLocation&&this._isAdditionsProposedApiEnabled?{range:W.from(f.displayLocation.range),content:f.displayLocation.label,style:f.displayLocation.kind?tR.from(f.displayLocation.kind):1}:void 0,warning:f.warning&&this._isAdditionsProposedApiEnabled?{message:pe.from(f.warning.message),icon:f.warning.icon?di.fromThemeIcon(f.warning.icon):void 0}:void 0,correlationId:this._isAdditionsProposedApiEnabled?f.correlationId:void 0,suggestionId:void 0,uri:this._isAdditionsProposedApiEnabled&&f.uri?f.uri:void 0,supportsRename:this._isAdditionsProposedApiEnabled?f.supportsRename:!1,jumpToPosition:this._isAdditionsProposedApiEnabled&&f.jumpToPosition?et.from(f.jumpToPosition):void 0}}),commands:c.map(f=>(m||(m=new J),UD.from(f,this._commands,m))),suppressSuggestions:!1,enableForwardStability:u}}disposeCompletions(t,e){let n=this._references.get(t);if(this._provider.handleListEndOfLifetime&&this._isAdditionsProposedApiEnabled&&n?.list){let r=function(s){switch(s.kind){case"lostRace":return{kind:3};case"tokenCancellation":return{kind:2};case"other":return{kind:0};case"empty":return{kind:1};case"notTaken":return{kind:4};default:return{kind:0}}};this._provider.handleListEndOfLifetime(n.list,r(e))}this._references.disposeReferenceId(t)?.dispose()}handleDidShowCompletionItem(t,e,n){let o=this._references.get(t)?.items[e];o&&this._provider.handleDidShowCompletionItem&&this._isAdditionsProposedApiEnabled&&this._provider.handleDidShowCompletionItem(o,n)}handlePartialAccept(t,e,n,o){let r=this._references.get(t)?.items[e];r&&this._provider.handleDidPartiallyAcceptCompletionItem&&this._isAdditionsProposedApiEnabled&&(this._provider.handleDidPartiallyAcceptCompletionItem(r,n),this._provider.handleDidPartiallyAcceptCompletionItem(r,ZD.to(o)))}handleEndOfLifetime(t,e,n){let o=this._references.get(t)?.items[e];if(o&&this._provider.handleEndOfLifetime&&this._isAdditionsProposedApiEnabled){let r=eR.to(n,s=>this._references.get(s.pid)?.items[s.idx]);this._provider.handleEndOfLifetime(o,r)}}handleRejection(t,e){let n=this._references.get(t)?.items[e];n&&this._provider.handleDidRejectCompletionItem&&this._isAdditionsProposedApiEnabled&&this._provider.handleDidRejectCompletionItem(n)}},gA=class{constructor(){this._references=new Map;this._idPool=1}createReferenceId(t){let e=this._idPool++;return this._references.set(e,t),e}disposeReferenceId(t){let e=this._references.get(t);return this._references.delete(t),e}get(t){return this._references.get(t)}},rv=class{constructor(t,e){this._documents=t;this._provider=e;this._cache=new Eo("SignatureHelp")}async provideSignatureHelp(t,e,n,o){let r=this._documents.getDocument(t),s=et.to(e),a=this.reviveContext(n),l=await this._provider.provideSignatureHelp(r,s,o,a);if(l){let d=this._cache.add([l]);return{...Pp.from(l),id:d}}}reviveContext(t){let e;if(t.activeSignatureHelp){let n=Pp.to(t.activeSignatureHelp),o=this._cache.get(t.activeSignatureHelp.id,0);o?(e=o,e.activeSignature=n.activeSignature,e.activeParameter=n.activeParameter):e=n}return{...t,activeSignatureHelp:e}}releaseSignatureHelp(t){this._cache.delete(t)}},qm=class{constructor(t,e,n,o,r){this._documents=t;this._commands=e;this._provider=n;this._logService=o;this._extension=r;this._cache=new Eo("InlayHints");this._disposables=new Map}async provideInlayHints(t,e,n){let o=this._documents.getDocument(t),r=W.to(e),s=await this._provider.provideInlayHints(o,r,n);if(!Array.isArray(s)||s.length===0){this._logService.trace(`[InlayHints] NO inlay hints from '${this._extension.identifier.value}' for range ${JSON.stringify(e)}`);return}if(n.isCancellationRequested)return;let a=this._cache.add(s);this._disposables.set(a,new J);let l={hints:[],cacheId:a};for(let d=0;d<s.length;d++)this._isValidInlayHint(s[d],r)&&l.hints.push(this._convertInlayHint(s[d],[a,d]));return this._logService.trace(`[InlayHints] ${l.hints.length} inlay hints from '${this._extension.identifier.value}' for range ${JSON.stringify(e)}`),l}async resolveInlayHint(t,e){if(typeof this._provider.resolveInlayHint!="function")return;let n=this._cache.get(...t);if(!n)return;let o=await this._provider.resolveInlayHint(n,e);if(o&&this._isValidInlayHint(o))return this._convertInlayHint(o,t)}releaseHints(t){this._disposables.get(t)?.dispose(),this._disposables.delete(t),this._cache.delete(t)}_isValidInlayHint(t,e){return t.label.length===0||Array.isArray(t.label)&&t.label.every(n=>n.value.length===0)?(console.log("INVALID inlay hint, empty label",t),!1):!(e&&!e.contains(t.position))}_convertInlayHint(t,e){let n=this._disposables.get(e[0]);if(!n)throw Error("DisposableStore is missing...");let o={label:"",cacheId:e,tooltip:pe.fromStrict(t.tooltip),position:et.from(t.position),textEdits:t.textEdits&&t.textEdits.map(pn.from),kind:t.kind&&Bx.from(t.kind),paddingLeft:t.paddingLeft,paddingRight:t.paddingRight};if(typeof t.label=="string")o.label=t.label;else{let r=[];o.label=r;for(let s of t.label){if(!s.value){console.warn("INVALID inlay hint, empty label part",this._extension.identifier.value);continue}let a={label:s.value,tooltip:pe.fromStrict(s.tooltip)};Wt.isLocation(s.location)&&(a.location=Yn.from(s.location)),s.command&&(a.command=this._commands.toInternal(s.command,n)),r.push(a)}}return o}},Km=class i{constructor(t,e){this._documents=t;this._provider=e;this._cache=new Eo("DocumentLink")}async provideLinks(t,e){let n=this._documents.getDocument(t),o=await this._provider.provideDocumentLinks(n,e);if(!(!Array.isArray(o)||o.length===0)&&!e.isCancellationRequested){if(typeof this._provider.resolveDocumentLink!="function")return{links:o.filter(i._validateLink).map(na.from)};{let r=this._cache.add(o),s={links:[],cacheId:r};for(let a=0;a<o.length;a++){if(!i._validateLink(o[a]))continue;let l=na.from(o[a]);l.cacheId=[r,a],s.links.push(l)}return s}}}static _validateLink(t){return t.target&&t.target.path.length>5e4?(console.warn("DROPPING link because it is too long"),!1):!0}async resolveLink(t,e){if(typeof this._provider.resolveDocumentLink!="function")return;let n=this._cache.get(...t);if(!n)return;let o=await this._provider.resolveDocumentLink(n,e);if(!(!o||!i._validateLink(o)))return na.from(o)}releaseLinks(t){this._cache.delete(t)}},iv=class{constructor(t,e){this._documents=t;this._provider=e}async provideColors(t,e){let n=this._documents.getDocument(t),o=await this._provider.provideDocumentColors(n,e);return Array.isArray(o)?o.map(s=>({color:pc.from(s.color),range:W.from(s.range)})):[]}async provideColorPresentations(t,e,n){let o=this._documents.getDocument(t),r=W.to(e.range),s=pc.to(e.color),a=await this._provider.provideColorPresentations(s,{document:o,range:r},n);if(Array.isArray(a))return a.map(ph.from)}},lT=class{constructor(t,e){this._documents=t;this._provider=e}async provideFoldingRanges(t,e,n){let o=this._documents.getDocument(t),r=await this._provider.provideFoldingRanges(o,e,n);if(Array.isArray(r))return r.map(gh.from)}},dT=class{constructor(t,e,n){this._documents=t;this._provider=e;this._logService=n}async provideSelectionRanges(t,e,n){let o=this._documents.getDocument(t),r=e.map(et.to),s=await this._provider.provideSelectionRanges(o,r,n);if(!va(s))return[];if(s.length!==r.length)return this._logService.warn("BAD selection ranges, provider must return ranges for each position"),[];let a=[];for(let l=0;l<r.length;l++){let d=[];a.push(d);let c=r[l],u=s[l];for(;;){if(!u.range.contains(c))throw new Error("INVALID selection range, must contain the previous range");if(d.push(VD.from(u)),!u.parent)break;c=u.range,u=u.parent}}return a}},Ac=class{constructor(t,e){this._documents=t;this._provider=e;this._idPool=new Bl("");this._cache=new Map}async prepareSession(t,e,n){let o=this._documents.getDocument(t),r=et.to(e),s=await this._provider.prepareCallHierarchy(o,r,n);if(!s)return;let a=this._idPool.nextId();return this._cache.set(a,new Map),Array.isArray(s)?s.map(l=>this._cacheAndConvertItem(a,l)):[this._cacheAndConvertItem(a,s)]}async provideCallsTo(t,e,n){let o=this._itemFromCache(t,e);if(!o)throw new Error("missing call hierarchy item");let r=await this._provider.provideCallHierarchyIncomingCalls(o,n);if(r)return r.map(s=>({from:this._cacheAndConvertItem(t,s.from),fromRanges:s.fromRanges.map(a=>W.from(a))}))}async provideCallsFrom(t,e,n){let o=this._itemFromCache(t,e);if(!o)throw new Error("missing call hierarchy item");let r=await this._provider.provideCallHierarchyOutgoingCalls(o,n);if(r)return r.map(s=>({to:this._cacheAndConvertItem(t,s.to),fromRanges:s.fromRanges.map(a=>W.from(a))}))}releaseSession(t){this._cache.delete(t)}_cacheAndConvertItem(t,e){let n=this._cache.get(t),o=ta.from(e,t,n.size.toString(36));return n.set(o._itemId,e),o}_itemFromCache(t,e){return this._cache.get(t)?.get(e)}},Mc=class{constructor(t,e){this._documents=t;this._provider=e;this._idPool=new Bl("");this._cache=new Map}async prepareSession(t,e,n){let o=this._documents.getDocument(t),r=et.to(e),s=await this._provider.prepareTypeHierarchy(o,r,n);if(!s)return;let a=this._idPool.nextId();return this._cache.set(a,new Map),Array.isArray(s)?s.map(l=>this._cacheAndConvertItem(a,l)):[this._cacheAndConvertItem(a,s)]}async provideSupertypes(t,e,n){let o=this._itemFromCache(t,e);if(!o)throw new Error("missing type hierarchy item");let r=await this._provider.provideTypeHierarchySupertypes(o,n);if(r)return r.map(s=>this._cacheAndConvertItem(t,s))}async provideSubtypes(t,e,n){let o=this._itemFromCache(t,e);if(!o)throw new Error("missing type hierarchy item");let r=await this._provider.provideTypeHierarchySubtypes(o,n);if(r)return r.map(s=>this._cacheAndConvertItem(t,s))}releaseSession(t){this._cache.delete(t)}_cacheAndConvertItem(t,e){let n=this._cache.get(t),o=oa.from(e,t,n.size.toString(36));return n.set(o._itemId,e),o}_itemFromCache(t,e){return this._cache.get(t)?.get(e)}},Gm=class{constructor(t,e,n,o,r){this._proxy=t;this._documents=e;this._provider=n;this._handle=o;this._extension=r;this._cache=new Eo("DocumentDropEdit")}async provideDocumentOnDropEdits(t,e,n,o,r){let s=this._documents.getDocument(e),a=et.to(n),l=gc.toDataTransfer(o,async m=>(await this._proxy.$resolveDocumentOnDropFileData(this._handle,t,m)).buffer),d=await this._provider.provideDocumentDropEdits(s,a,l,r);if(!d)return;let c=gn(d),u=this._cache.add(c);return c.map((m,g)=>({_cacheId:[u,g],title:m.title??p(4372,null,this._extension.displayName||this._extension.name),kind:m.kind?.value,yieldTo:m.yieldTo?.map(v=>v.value),insertText:typeof m.insertText=="string"?m.insertText:{snippet:m.insertText.value},additionalEdit:m.additionalEdit?Zn.from(m.additionalEdit,void 0):void 0}))}async resolveDropEdit(t,e){let[n,o]=t,r=this._cache.get(n,o);if(!r||!this._provider.resolveDocumentDropEdit)return{};let s=await this._provider.resolveDocumentDropEdit(r,e)??r;return{additionalEdit:s.additionalEdit?Zn.from(s.additionalEdit,void 0):void 0}}releaseDropEdits(t){this._cache.delete(t)}},Oc=class{constructor(t,e){this.adapter=t;this.extension=e}},cT=class i extends V{constructor(e,n,o,r,s,a,l,d){super();this._uriTransformer=n;this._documents=o;this._commands=r;this._diagnostics=s;this._logService=a;this._apiDeprecation=l;this._extensionTelemetry=d;this._adapter=new Map;this._onDidChangeInlineCompletionsUnificationState=this._register(new w);this.onDidChangeInlineCompletionsUnificationState=this._onDidChangeInlineCompletionsUnificationState.event;this._proxy=e.getProxy(L.MainThreadLanguageFeatures),this._inlineCompletionsUnificationState={codeUnification:!1,modelUnification:!1,extensionUnification:!1,expAssignments:[]}}static{this._handlePool=0}get inlineCompletionsUnificationState(){return this._inlineCompletionsUnificationState}_transformDocumentSelector(e,n){return li.from(e,this._uriTransformer,n)}_createDisposable(e){return new Ie(()=>{this._adapter.delete(e),this._proxy.$unregister(e)})}_nextHandle(){return i._handlePool++}async _withAdapter(e,n,o,r,s,a=!1){let l=this._adapter.get(e);if(!l||!(l.adapter instanceof n))return r;let d=Date.now();a||this._logService.trace(`[${l.extension.identifier.value}] INVOKE provider '${o.toString().replace(/[\r\n]/g,"")}'`);let c=o(l.adapter,l.extension);return Promise.resolve(c).catch(u=>{xn(u)||(this._logService.error(`[${l.extension.identifier.value}] provider FAILED`),this._logService.error(u),this._extensionTelemetry.onExtensionError(l.extension.identifier,u))}).finally(()=>{a||this._logService.trace(`[${l.extension.identifier.value}] provider DONE after ${Date.now()-d}ms`)}),ye.isCancellationToken(s)?Da(c,s):c}_addNewAdapter(e,n){let o=this._nextHandle();return this._adapter.set(o,new Oc(e,n)),o}static _extLabel(e){return e.displayName||e.name}static _extId(e){return e.identifier.value}registerDocumentSymbolProvider(e,n,o,r){let s=this._addNewAdapter(new jS(this._documents,o),e),a=r&&r.label||i._extLabel(e);return this._proxy.$registerDocumentSymbolProvider(s,this._transformDocumentSelector(n,e),a),this._createDisposable(s)}$provideDocumentSymbols(e,n,o){return this._withAdapter(e,jS,r=>r.provideDocumentSymbols(y.revive(n),o),void 0,o)}registerCodeLensProvider(e,n,o){let r=this._nextHandle(),s=typeof o.onDidChangeCodeLenses=="function"?this._nextHandle():void 0;this._adapter.set(r,new Oc(new Bm(this._documents,this._commands.converter,o,e,this._extensionTelemetry,this._logService),e)),this._proxy.$registerCodeLensSupport(r,this._transformDocumentSelector(n,e),s);let a=this._createDisposable(r);if(s!==void 0){let l=o.onDidChangeCodeLenses(d=>this._proxy.$emitCodeLensEvent(s));a=Ie.from(a,l)}return a}$provideCodeLenses(e,n,o){return this._withAdapter(e,Bm,r=>r.provideCodeLenses(y.revive(n),o),void 0,o,n.scheme==="output")}$resolveCodeLens(e,n,o){return this._withAdapter(e,Bm,r=>r.resolveCodeLens(n,o),void 0,void 0,!0)}$releaseCodeLenses(e,n){this._withAdapter(e,Bm,o=>Promise.resolve(o.releaseCodeLenses(n)),void 0,void 0,!0)}registerDefinitionProvider(e,n,o){let r=this._addNewAdapter(new QS(this._documents,o),e);return this._proxy.$registerDefinitionSupport(r,this._transformDocumentSelector(n,e)),this._createDisposable(r)}$provideDefinition(e,n,o,r){return this._withAdapter(e,QS,s=>s.provideDefinition(y.revive(n),o,r),[],r)}registerDeclarationProvider(e,n,o){let r=this._addNewAdapter(new JS(this._documents,o),e);return this._proxy.$registerDeclarationSupport(r,this._transformDocumentSelector(n,e)),this._createDisposable(r)}$provideDeclaration(e,n,o,r){return this._withAdapter(e,JS,s=>s.provideDeclaration(y.revive(n),o,r),[],r)}registerImplementationProvider(e,n,o){let r=this._addNewAdapter(new XS(this._documents,o),e);return this._proxy.$registerImplementationSupport(r,this._transformDocumentSelector(n,e)),this._createDisposable(r)}$provideImplementation(e,n,o,r){return this._withAdapter(e,XS,s=>s.provideImplementation(y.revive(n),o,r),[],r)}registerTypeDefinitionProvider(e,n,o){let r=this._addNewAdapter(new YS(this._documents,o),e);return this._proxy.$registerTypeDefinitionSupport(r,this._transformDocumentSelector(n,e)),this._createDisposable(r)}$provideTypeDefinition(e,n,o,r){return this._withAdapter(e,YS,s=>s.provideTypeDefinition(y.revive(n),o,r),[],r)}registerHoverProvider(e,n,o,r){let s=this._addNewAdapter(new Zh(this._documents,o),e);return this._proxy.$registerHoverProvider(s,this._transformDocumentSelector(n,e)),this._createDisposable(s)}$provideHover(e,n,o,r,s){return this._withAdapter(e,Zh,a=>a.provideHover(y.revive(n),o,r,s),void 0,s)}$releaseHover(e,n){this._withAdapter(e,Zh,o=>Promise.resolve(o.releaseHover(n)),void 0,void 0)}registerEvaluatableExpressionProvider(e,n,o,r){let s=this._addNewAdapter(new ZS(this._documents,o),e);return this._proxy.$registerEvaluatableExpressionProvider(s,this._transformDocumentSelector(n,e)),this._createDisposable(s)}$provideEvaluatableExpression(e,n,o,r){return this._withAdapter(e,ZS,s=>s.provideEvaluatableExpression(y.revive(n),o,r),void 0,r)}registerInlineValuesProvider(e,n,o,r){let s=typeof o.onDidChangeInlineValues=="function"?this._nextHandle():void 0,a=this._addNewAdapter(new eT(this._documents,o),e);this._proxy.$registerInlineValuesProvider(a,this._transformDocumentSelector(n,e),s);let l=this._createDisposable(a);if(s!==void 0){let d=o.onDidChangeInlineValues(c=>this._proxy.$emitInlineValuesEvent(s));l=Ie.from(l,d)}return l}$provideInlineValues(e,n,o,r,s){return this._withAdapter(e,eT,a=>a.provideInlineValues(y.revive(n),o,r,s),void 0,s)}registerDocumentHighlightProvider(e,n,o){let r=this._addNewAdapter(new tT(this._documents,o),e);return this._proxy.$registerDocumentHighlightProvider(r,this._transformDocumentSelector(n,e)),this._createDisposable(r)}registerMultiDocumentHighlightProvider(e,n,o){let r=this._addNewAdapter(new nT(this._documents,o,this._logService),e);return this._proxy.$registerMultiDocumentHighlightProvider(r,this._transformDocumentSelector(n,e)),this._createDisposable(r)}$provideDocumentHighlights(e,n,o,r){return this._withAdapter(e,tT,s=>s.provideDocumentHighlights(y.revive(n),o,r),void 0,r)}$provideMultiDocumentHighlights(e,n,o,r,s){return this._withAdapter(e,nT,a=>a.provideMultiDocumentHighlights(y.revive(n),o,r.map(l=>y.revive(l)),s),void 0,s)}registerLinkedEditingRangeProvider(e,n,o){let r=this._addNewAdapter(new oT(this._documents,o),e);return this._proxy.$registerLinkedEditingRangeProvider(r,this._transformDocumentSelector(n,e)),this._createDisposable(r)}$provideLinkedEditingRanges(e,n,o,r){return this._withAdapter(e,oT,async s=>{let a=await s.provideLinkedEditingRanges(y.revive(n),o,r);if(a)return{ranges:a.ranges,wordPattern:a.wordPattern?i._serializeRegExp(a.wordPattern):void 0}},void 0,r)}registerReferenceProvider(e,n,o){let r=this._addNewAdapter(new rT(this._documents,o),e);return this._proxy.$registerReferenceSupport(r,this._transformDocumentSelector(n,e)),this._createDisposable(r)}$provideReferences(e,n,o,r,s){return this._withAdapter(e,rT,a=>a.provideReferences(y.revive(n),o,r,s),void 0,s)}registerCodeActionProvider(e,n,o,r){let s=new J,a=this._addNewAdapter(new Wm(this._documents,this._commands.converter,this._diagnostics,o,this._logService,e,this._apiDeprecation),e);return this._proxy.$registerCodeActionSupport(a,this._transformDocumentSelector(n,e),{providedKinds:r?.providedCodeActionKinds?.map(l=>l.value),documentation:r?.documentation?.map(l=>({kind:l.kind.value,command:this._commands.converter.toInternal(l.command,s)}))},i._extLabel(e),i._extId(e),!!o.resolveCodeAction),s.add(this._createDisposable(a)),s}$provideCodeActions(e,n,o,r,s){return this._withAdapter(e,Wm,a=>a.provideCodeActions(y.revive(n),o,r,s),void 0,s)}$resolveCodeAction(e,n,o){return this._withAdapter(e,Wm,r=>r.resolveCodeAction(n,o),{},void 0)}$releaseCodeActions(e,n){this._withAdapter(e,Wm,o=>Promise.resolve(o.releaseCodeActions(n)),void 0,void 0)}registerDocumentFormattingEditProvider(e,n,o){let r=this._addNewAdapter(new iT(this._documents,o),e);return this._proxy.$registerDocumentFormattingSupport(r,this._transformDocumentSelector(n,e),e.identifier,e.displayName||e.name),this._createDisposable(r)}$provideDocumentFormattingEdits(e,n,o,r){return this._withAdapter(e,iT,s=>s.provideDocumentFormattingEdits(y.revive(n),o,r),void 0,r)}registerDocumentRangeFormattingEditProvider(e,n,o){let r=typeof o.provideDocumentRangesFormattingEdits=="function",s=this._addNewAdapter(new ev(this._documents,o),e);return this._proxy.$registerRangeFormattingSupport(s,this._transformDocumentSelector(n,e),e.identifier,e.displayName||e.name,r),this._createDisposable(s)}$provideDocumentRangeFormattingEdits(e,n,o,r,s){return this._withAdapter(e,ev,a=>a.provideDocumentRangeFormattingEdits(y.revive(n),o,r,s),void 0,s)}$provideDocumentRangesFormattingEdits(e,n,o,r,s){return this._withAdapter(e,ev,a=>a.provideDocumentRangesFormattingEdits(y.revive(n),o,r,s),void 0,s)}registerOnTypeFormattingEditProvider(e,n,o,r){let s=this._addNewAdapter(new sT(this._documents,o),e);return this._proxy.$registerOnTypeFormattingSupport(s,this._transformDocumentSelector(n,e),r,e.identifier),this._createDisposable(s)}$provideOnTypeFormattingEdits(e,n,o,r,s,a){return this._withAdapter(e,sT,l=>l.provideOnTypeFormattingEdits(y.revive(n),o,r,s,a),void 0,a)}registerWorkspaceSymbolProvider(e,n){let o=this._addNewAdapter(new $m(n,this._logService),e);return this._proxy.$registerNavigateTypeSupport(o,typeof n.resolveWorkspaceSymbol=="function"),this._createDisposable(o)}$provideWorkspaceSymbols(e,n,o){return this._withAdapter(e,$m,r=>r.provideWorkspaceSymbols(n,o),{symbols:[]},o)}$resolveWorkspaceSymbol(e,n,o){return this._withAdapter(e,$m,r=>r.resolveWorkspaceSymbol(n,o),void 0,void 0)}$releaseWorkspaceSymbols(e,n){this._withAdapter(e,$m,o=>o.releaseWorkspaceSymbols(n),void 0,void 0)}registerRenameProvider(e,n,o){let r=this._addNewAdapter(new zm(this._documents,o,this._logService),e);return this._proxy.$registerRenameSupport(r,this._transformDocumentSelector(n,e),zm.supportsResolving(o)),this._createDisposable(r)}$provideRenameEdits(e,n,o,r,s){return this._withAdapter(e,zm,a=>a.provideRenameEdits(y.revive(n),o,r,s),void 0,s)}$resolveRenameLocation(e,n,o,r){return this._withAdapter(e,zm,s=>s.resolveRenameLocation(y.revive(n),o,r),void 0,r)}registerNewSymbolNamesProvider(e,n,o){let r=this._addNewAdapter(new tv(this._documents,o,this._logService),e);return this._proxy.$registerNewSymbolNamesProvider(r,this._transformDocumentSelector(n,e)),this._createDisposable(r)}$supportsAutomaticNewSymbolNamesTriggerKind(e){return this._withAdapter(e,tv,n=>n.supportsAutomaticNewSymbolNamesTriggerKind(),!1,void 0)}$provideNewSymbolNames(e,n,o,r,s){return this._withAdapter(e,tv,a=>a.provideNewSymbolNames(y.revive(n),o,r,s),void 0,s)}registerDocumentSemanticTokensProvider(e,n,o,r){let s=this._addNewAdapter(new ov(this._documents,o),e),a=typeof o.onDidChangeSemanticTokens=="function"?this._nextHandle():void 0;this._proxy.$registerDocumentSemanticTokensProvider(s,this._transformDocumentSelector(n,e),r,a);let l=this._createDisposable(s);if(a){let d=o.onDidChangeSemanticTokens(c=>this._proxy.$emitDocumentSemanticTokensEvent(a));l=Ie.from(l,d)}return l}$provideDocumentSemanticTokens(e,n,o,r){return this._withAdapter(e,ov,s=>s.provideDocumentSemanticTokens(y.revive(n),o,r),null,r)}$releaseDocumentSemanticTokens(e,n){this._withAdapter(e,ov,o=>o.releaseDocumentSemanticColoring(n),void 0,void 0)}registerDocumentRangeSemanticTokensProvider(e,n,o,r){let s=this._addNewAdapter(new aT(this._documents,o),e),a=typeof o.onDidChangeSemanticTokens=="function"?this._nextHandle():void 0;this._proxy.$registerDocumentRangeSemanticTokensProvider(s,this._transformDocumentSelector(n,e),r,a);let l=this._createDisposable(s);if(a){let d=o.onDidChangeSemanticTokens(c=>this._proxy.$emitDocumentRangeSemanticTokensEvent(a));l=Ie.from(l,d)}return l}$provideDocumentRangeSemanticTokens(e,n,o,r){return this._withAdapter(e,aT,s=>s.provideDocumentRangeSemanticTokens(y.revive(n),o,r),null,r)}registerCompletionItemProvider(e,n,o,r){let s=this._addNewAdapter(new Rc(this._documents,this._commands.converter,o,this._apiDeprecation,e),e);return this._proxy.$registerCompletionsProvider(s,this._transformDocumentSelector(n,e),r,Rc.supportsResolving(o),e.identifier),this._createDisposable(s)}$provideCompletionItems(e,n,o,r,s){return this._withAdapter(e,Rc,a=>a.provideCompletionItems(y.revive(n),o,r,s),void 0,s)}$resolveCompletionItem(e,n,o){return this._withAdapter(e,Rc,r=>r.resolveCompletionItem(n,o),void 0,o)}$releaseCompletionItems(e,n){this._withAdapter(e,Rc,o=>o.releaseCompletionItems(n),void 0,void 0)}registerInlineCompletionsProvider(e,n,o,r){let s=new mi(e,this._documents,o,this._commands.converter),a=this._addNewAdapter(s,e),l=this._createDisposable(a),d=De(e,"inlineCompletionsAdditions")&&typeof o.onDidChange=="function";if(d){let m=o.onDidChange(g=>this._proxy.$emitInlineCompletionsChange(a,g?{data:g.data}:void 0));l=Ie.from(l,m)}let c=De(e,"inlineCompletionsAdditions")&&typeof o.onDidChangeModelInfo=="function";if(c){let m=o.onDidChangeModelInfo(g=>this._proxy.$emitInlineCompletionModelInfoChange(a,s.modelInfo));l=Ie.from(l,m)}let u=De(e,"inlineCompletionsAdditions")&&typeof o.onDidChangeProviderOptions=="function";if(u){let m=o.onDidChangeProviderOptions(g=>this._proxy.$emitInlineCompletionProviderOptionsChange(a,s.providerOptions));l=Ie.from(l,m)}return this._proxy.$registerInlineCompletionsSupport(a,this._transformDocumentSelector(n,e),s.supportsHandleEvents,Se.toKey(e.identifier.value),e.version,r?.groupId?Se.toKey(r.groupId):void 0,r?.yieldTo?.map(m=>Se.toKey(m))||[],r?.displayName,r?.debounceDelayMs,r?.excludes?.map(m=>Se.toKey(m))||[],d,s.supportsSetModelId,s.modelInfo,c,s.supportsSetProviderOption,s.providerOptions,u),l}$provideInlineCompletions(e,n,o,r,s){return this._withAdapter(e,mi,a=>a.provideInlineCompletions(y.revive(n),o,r,s),void 0,void 0)}$handleInlineCompletionDidShow(e,n,o,r){this._withAdapter(e,mi,async s=>{s.handleDidShowCompletionItem(n,o,r)},void 0,void 0)}$handleInlineCompletionPartialAccept(e,n,o,r,s){this._withAdapter(e,mi,async a=>{a.handlePartialAccept(n,o,r,s)},void 0,void 0)}$handleInlineCompletionEndOfLifetime(e,n,o,r){this._withAdapter(e,mi,async s=>{s.handleEndOfLifetime(n,o,r)},void 0,void 0)}$handleInlineCompletionRejection(e,n,o){this._withAdapter(e,mi,async r=>{r.handleRejection(n,o)},void 0,void 0)}$freeInlineCompletionsList(e,n,o){this._withAdapter(e,mi,async r=>{r.disposeCompletions(n,o)},void 0,void 0)}$acceptInlineCompletionsUnificationState(e){this._inlineCompletionsUnificationState=e,this._onDidChangeInlineCompletionsUnificationState.fire()}$handleInlineCompletionSetCurrentModelId(e,n){this._withAdapter(e,mi,async o=>{o.setCurrentModelId(n)},void 0,void 0)}$handleInlineCompletionSetProviderOption(e,n,o){this._withAdapter(e,mi,async r=>{r.setProviderOption(n,o)},void 0,void 0)}registerSignatureHelpProvider(e,n,o,r){let s=Array.isArray(r)?{triggerCharacters:r,retriggerCharacters:[]}:r,a=this._addNewAdapter(new rv(this._documents,o),e);return this._proxy.$registerSignatureHelpProvider(a,this._transformDocumentSelector(n,e),s),this._createDisposable(a)}$provideSignatureHelp(e,n,o,r,s){return this._withAdapter(e,rv,a=>a.provideSignatureHelp(y.revive(n),o,r,s),void 0,s)}$releaseSignatureHelp(e,n){this._withAdapter(e,rv,o=>o.releaseSignatureHelp(n),void 0,void 0)}registerInlayHintsProvider(e,n,o){let r=typeof o.onDidChangeInlayHints=="function"?this._nextHandle():void 0,s=this._addNewAdapter(new qm(this._documents,this._commands.converter,o,this._logService,e),e);this._proxy.$registerInlayHintsProvider(s,this._transformDocumentSelector(n,e),typeof o.resolveInlayHint=="function",r,i._extLabel(e));let a=this._createDisposable(s);if(r!==void 0){let l=o.onDidChangeInlayHints(d=>this._proxy.$emitInlayHintsEvent(r));a=Ie.from(a,l)}return a}$provideInlayHints(e,n,o,r){return this._withAdapter(e,qm,s=>s.provideInlayHints(y.revive(n),o,r),void 0,r)}$resolveInlayHint(e,n,o){return this._withAdapter(e,qm,r=>r.resolveInlayHint(n,o),void 0,o)}$releaseInlayHints(e,n){this._withAdapter(e,qm,o=>o.releaseHints(n),void 0,void 0)}registerDocumentLinkProvider(e,n,o){let r=this._addNewAdapter(new Km(this._documents,o),e);return this._proxy.$registerDocumentLinkProvider(r,this._transformDocumentSelector(n,e),typeof o.resolveDocumentLink=="function"),this._createDisposable(r)}$provideDocumentLinks(e,n,o){return this._withAdapter(e,Km,r=>r.provideLinks(y.revive(n),o),void 0,o,n.scheme==="output")}$resolveDocumentLink(e,n,o){return this._withAdapter(e,Km,r=>r.resolveLink(n,o),void 0,void 0,!0)}$releaseDocumentLinks(e,n){this._withAdapter(e,Km,o=>o.releaseLinks(n),void 0,void 0,!0)}registerColorProvider(e,n,o){let r=this._addNewAdapter(new iv(this._documents,o),e);return this._proxy.$registerDocumentColorProvider(r,this._transformDocumentSelector(n,e)),this._createDisposable(r)}$provideDocumentColors(e,n,o){return this._withAdapter(e,iv,r=>r.provideColors(y.revive(n),o),[],o)}$provideColorPresentations(e,n,o,r){return this._withAdapter(e,iv,s=>s.provideColorPresentations(y.revive(n),o,r),void 0,r)}registerFoldingRangeProvider(e,n,o){let r=this._nextHandle(),s=typeof o.onDidChangeFoldingRanges=="function"?this._nextHandle():void 0;this._adapter.set(r,new Oc(new lT(this._documents,o),e)),this._proxy.$registerFoldingRangeProvider(r,this._transformDocumentSelector(n,e),e.identifier,s);let a=this._createDisposable(r);if(s!==void 0){let l=o.onDidChangeFoldingRanges(()=>this._proxy.$emitFoldingRangeEvent(s));a=Ie.from(a,l)}return a}$provideFoldingRanges(e,n,o,r){return this._withAdapter(e,lT,s=>s.provideFoldingRanges(y.revive(n),o,r),void 0,r)}registerSelectionRangeProvider(e,n,o){let r=this._addNewAdapter(new dT(this._documents,o,this._logService),e);return this._proxy.$registerSelectionRangeProvider(r,this._transformDocumentSelector(n,e)),this._createDisposable(r)}$provideSelectionRanges(e,n,o,r){return this._withAdapter(e,dT,s=>s.provideSelectionRanges(y.revive(n),o,r),[],r)}registerCallHierarchyProvider(e,n,o){let r=this._addNewAdapter(new Ac(this._documents,o),e);return this._proxy.$registerCallHierarchyProvider(r,this._transformDocumentSelector(n,e)),this._createDisposable(r)}$prepareCallHierarchy(e,n,o,r){return this._withAdapter(e,Ac,s=>Promise.resolve(s.prepareSession(y.revive(n),o,r)),void 0,r)}$provideCallHierarchyIncomingCalls(e,n,o,r){return this._withAdapter(e,Ac,s=>s.provideCallsTo(n,o,r),void 0,r)}$provideCallHierarchyOutgoingCalls(e,n,o,r){return this._withAdapter(e,Ac,s=>s.provideCallsFrom(n,o,r),void 0,r)}$releaseCallHierarchy(e,n){this._withAdapter(e,Ac,o=>Promise.resolve(o.releaseSession(n)),void 0,void 0)}registerTypeHierarchyProvider(e,n,o){let r=this._addNewAdapter(new Mc(this._documents,o),e);return this._proxy.$registerTypeHierarchyProvider(r,this._transformDocumentSelector(n,e)),this._createDisposable(r)}$prepareTypeHierarchy(e,n,o,r){return this._withAdapter(e,Mc,s=>Promise.resolve(s.prepareSession(y.revive(n),o,r)),void 0,r)}$provideTypeHierarchySupertypes(e,n,o,r){return this._withAdapter(e,Mc,s=>s.provideSupertypes(n,o,r),void 0,r)}$provideTypeHierarchySubtypes(e,n,o,r){return this._withAdapter(e,Mc,s=>s.provideSubtypes(n,o,r),void 0,r)}$releaseTypeHierarchy(e,n){this._withAdapter(e,Mc,o=>Promise.resolve(o.releaseSession(n)),void 0,void 0)}registerDocumentOnDropEditProvider(e,n,o,r){let s=this._nextHandle();return this._adapter.set(s,new Oc(new Gm(this._proxy,this._documents,o,s,e),e)),this._proxy.$registerDocumentOnDropEditProvider(s,this._transformDocumentSelector(n,e),r?{supportsResolve:!!o.resolveDocumentDropEdit,dropMimeTypes:r.dropMimeTypes,providedDropKinds:r.providedDropEditKinds?.map(a=>a.value)}:void 0),this._createDisposable(s)}$provideDocumentOnDropEdits(e,n,o,r,s,a){return this._withAdapter(e,Gm,l=>Promise.resolve(l.provideDocumentOnDropEdits(n,y.revive(o),r,s,a)),void 0,void 0)}$resolveDropEdit(e,n,o){return this._withAdapter(e,Gm,r=>r.resolveDropEdit(n,o),{},void 0)}$releaseDocumentOnDropEdits(e,n){this._withAdapter(e,Gm,o=>Promise.resolve(o.releaseDropEdits(n)),void 0,void 0)}registerDocumentPasteEditProvider(e,n,o,r){let s=this._nextHandle();return this._adapter.set(s,new Oc(new Dc(this._proxy,this._documents,o,s,e),e)),this._proxy.$registerPasteEditProvider(s,this._transformDocumentSelector(n,e),{supportsCopy:!!o.prepareDocumentPaste,supportsPaste:!!o.provideDocumentPasteEdits,supportsResolve:!!o.resolveDocumentPasteEdit,providedPasteEditKinds:r.providedPasteEditKinds?.map(a=>a.value),copyMimeTypes:r.copyMimeTypes,pasteMimeTypes:r.pasteMimeTypes}),this._createDisposable(s)}$prepareDocumentPaste(e,n,o,r,s){return this._withAdapter(e,Dc,a=>a.prepareDocumentPaste(y.revive(n),o,r,s),void 0,s)}$providePasteEdits(e,n,o,r,s,a,l){return this._withAdapter(e,Dc,d=>d.providePasteEdits(n,y.revive(o),r,s,a,l),void 0,l)}$resolvePasteEdit(e,n,o){return this._withAdapter(e,Dc,r=>r.resolvePasteEdit(n,o),{},void 0)}$releasePasteEdits(e,n){this._withAdapter(e,Dc,o=>Promise.resolve(o.releasePasteEdits(n)),void 0,void 0)}static _serializeRegExp(e){return{pattern:e.source,flags:e.flags}}static _serializeIndentationRule(e){return{decreaseIndentPattern:i._serializeRegExp(e.decreaseIndentPattern),increaseIndentPattern:i._serializeRegExp(e.increaseIndentPattern),indentNextLinePattern:e.indentNextLinePattern?i._serializeRegExp(e.indentNextLinePattern):void 0,unIndentedLinePattern:e.unIndentedLinePattern?i._serializeRegExp(e.unIndentedLinePattern):void 0}}static _serializeOnEnterRule(e){return{beforeText:i._serializeRegExp(e.beforeText),afterText:e.afterText?i._serializeRegExp(e.afterText):void 0,previousLineText:e.previousLineText?i._serializeRegExp(e.previousLineText):void 0,action:e.action}}static _serializeOnEnterRules(e){return e.map(i._serializeOnEnterRule)}static _serializeAutoClosingPair(e){return{open:e.open,close:e.close,notIn:e.notIn?e.notIn.map(n=>ic.toString(n)):void 0}}static _serializeAutoClosingPairs(e){return e.map(i._serializeAutoClosingPair)}setLanguageConfiguration(e,n,o){let{wordPattern:r}=o;if(r&&eb(r))throw new Error(`Invalid language configuration: wordPattern '${r}' is not allowed to match the empty string.`);r?this._documents.setWordDefinitionFor(n,r):this._documents.setWordDefinitionFor(n,void 0),o.__electricCharacterSupport&&this._apiDeprecation.report("LanguageConfiguration.__electricCharacterSupport",e,"Do not use."),o.__characterPairSupport&&this._apiDeprecation.report("LanguageConfiguration.__characterPairSupport",e,"Do not use.");let s=this._nextHandle(),a={comments:o.comments,brackets:o.brackets,wordPattern:o.wordPattern?i._serializeRegExp(o.wordPattern):void 0,indentationRules:o.indentationRules?i._serializeIndentationRule(o.indentationRules):void 0,onEnterRules:o.onEnterRules?i._serializeOnEnterRules(o.onEnterRules):void 0,__electricCharacterSupport:o.__electricCharacterSupport,__characterPairSupport:o.__characterPairSupport,autoClosingPairs:o.autoClosingPairs?i._serializeAutoClosingPairs(o.autoClosingPairs):void 0};return this._proxy.$setLanguageConfiguration(s,n,a),this._createDisposable(s)}$setWordDefinitions(e){for(let n of e)this._documents.setWordDefinitionFor(n.languageId,new RegExp(n.regexSource,n.regexFlags))}};async function O2(i,t){let e=i+":"+JSON.stringify(t),n=new TextEncoder().encode(e),o=await crypto.subtle.digest("SHA-256",n),r=Array.from(new Uint8Array(o)).map(s=>s.toString(16).padStart(2,"0")).join("");return i+":combination:"+r}var i9e=A("ILanguageModelToolsConfirmationService");var L2=A("notebookService");var N2=A("codeMapperService");var fA="vscode_editFile",pT="vscode_editFile_internal",U2={id:pT,displayName:"",modelDescription:"",source:jt.Internal},jm=class{constructor(t,e,n){this.chatService=t;this.codeMapperService=e;this.notebookService=n}async invoke(t,e,n,o){if(!t.context)throw new Error("toolInvocationToken is required for this tool");let r=t.parameters,s=y.revive(r.uri),a=zf.parse(s)?.notebook||s,l=this.chatService.getSession(t.context.sessionResource),d=l.getRequests().at(-1);l.acceptResponseProgress(d,{kind:"markdownContent",content:new xt("\n````\n")}),l.acceptResponseProgress(d,{kind:"codeblockUri",uri:a,isEdit:!0}),l.acceptResponseProgress(d,{kind:"markdownContent",content:new xt("\n````\n")}),this.notebookService.hasSupportedNotebooks(a)&&this.notebookService.getNotebookTextModel(a)?l.acceptResponseProgress(d,{kind:"notebookEdit",edits:[],uri:a}):l.acceptResponseProgress(d,{kind:"textEdit",edits:[],uri:a});let c=l.editingSession;if(!c)throw new Error("This tool must be called from within an editing session");let u=await this.codeMapperService.mapCode({codeBlocks:[{code:r.code,resource:a,markdownBeforeBlock:r.explanation}],location:"tool",chatRequestId:t.chatRequestId,chatRequestModel:t.modelId,chatSessionResource:t.context.sessionResource},{textEdit:(g,v)=>{l.acceptResponseProgress(d,{kind:"textEdit",uri:g,edits:v})},notebookEdit(g,v){l.acceptResponseProgress(d,{kind:"notebookEdit",uri:g,edits:v})}},o);if(this.notebookService.hasSupportedNotebooks(a)&&this.notebookService.getNotebookTextModel(a)?l.acceptResponseProgress(d,{kind:"notebookEdit",uri:a,edits:[],done:!0}):l.acceptResponseProgress(d,{kind:"textEdit",uri:a,edits:[],done:!0}),u?.errorMessage)throw new Error(u.errorMessage);let m;return await new Promise(g=>{let v=!1;m=so(f=>{let C=c.entries.read(f)?.find(E=>Cn(E.modifiedURI,a));C&&(C.isCurrentlyBeingModifiedBy.read(f)?v=!0:v&&g(!0))})}).finally(()=>{m.dispose()}),{content:[{kind:"text",value:"The file was edited successfully"}]}}async prepareToolInvocation(t,e){return{presentation:"hidden"}}};jm=R([S(0,Yo),S(1,N2),S(2,L2)],jm);var Qm=class{constructor(t,e,n,o,r,s,a,l){this.questions=t;this.allowSkip=e;this.resolveId=n;this.data=o;this.isUsed=r;this.message=s;this.source=a;this.terminalId=l;this.kind="questionCarousel";this.completion=new cn}dismiss(t){this.isUsed||(this.data=t??{},this.isUsed=!0,this.draftAnswers=void 0,this.draftCurrentIndex=void 0,this.draftCollapsed=void 0,this.completion.complete({answers:t}))}toJSON(){return{kind:this.kind,questions:this.questions,allowSkip:this.allowSkip,resolveId:this.resolveId,data:this.data,isUsed:this.isUsed,message:this.message,source:this.source,terminalId:this.terminalId}}};var mT="The user is not available to respond and will review your work later. Work autonomously and make good decisions.",F2="vscode_askQuestions",gT={header:50,question:200},f9={header:75};function h9(i,t){if(i!==void 0)return i.length>t?i.slice(0,t-3)+"...":i}function v9(){let t={type:"object",properties:{questions:{type:"array",description:"List of questions to ask the user. Order is preserved.",items:{type:"object",properties:{header:{type:"string",description:`Short identifier for the question. Must be unique so answers can be mapped back to the question. Maximum ${gT.header} characters.`,maxLength:gT.header},question:{type:"string",description:`The question text to display to the user. Keep it concise, ideally one sentence. Maximum ${gT.question} characters.`,maxLength:gT.question},multiSelect:{type:"boolean",description:"Allow selecting multiple options when options are provided."},allowFreeformInput:{type:"boolean",description:"Allow freeform text answers in addition to option selection. Defaults to true; set to false to restrict to predefined options only."},message:{type:"string",description:"Optional markdown message to display below the question text, providing additional context or details."},options:{type:"array",description:"Optional list of selectable answers. If omitted, the question is free text.",items:{type:"object",properties:{label:{type:"string",description:"Display label and value for the option."},description:{type:"string",description:"Optional secondary text shown with the option."},recommended:{type:"boolean",description:"Mark this option as the recommended default."}},required:["label"]}}},required:["header","question"]},minItems:1}},required:["questions"]};return{id:F2,toolReferenceName:"askQuestions",legacyToolReferenceFullNames:[F2,"vscode/askQuestions"],canBeReferencedInPrompt:!1,icon:Je.fromId(le.question.id),displayName:p(10196,null),userDescription:p(10197,null),modelDescription:"Use this tool to ask the user a small number of clarifying questions before proceeding. Provide the questions array with concise headers and prompts. Use options for fixed choices, set multiSelect when multiple selections are allowed. Users can always provide a freeform text answer alongside options unless you set allowFreeformInput to false.",source:jt.Internal,inputSchema:t}}var hA=v9(),Jm=class extends V{constructor(e,n,o,r){super();this.chatService=e;this.telemetryService=n;this.logService=o;this.configService=r}async invoke(e,n,o,r){let s=Hn.create(!0),a=e.parameters,{questions:l}=a;if(this.logService.trace(`[AskQuestionsTool] Invoking with ${l?.length??0} question(s)`),!l||l.length===0)throw new Error(p(10194,null));let d=e.context?.sessionResource,c=e.chatRequestId,{request:u,sessionResource:m}=this.getRequest(d,c);if(!m||!u)return this.logService.warn("[AskQuestionsTool] Missing chat context; marking all questions as skipped."),this.createSkippedResult(l);let g=e.chatStreamToolCallId??e.callId;if(u.modeInfo?.permissionLevel==="autopilot"||this.configService.getValue("chat.autoReply")){let z=u.modeInfo?.permissionLevel==="autopilot"?"Autopilot mode":"Auto-reply enabled";this.logService.info(`[AskQuestionsTool] ${z}: auto-responding to questions`);let{carousel:$,idToHeaderMap:oe}=this.toQuestionCarousel(l,g);return $.terminalId=this.extractTerminalId(u),$.data=this.buildAutopilotCarouselAnswers(l,$,oe),$.isUsed=!0,this.chatService.appendProgress(u,$),this.createAutopilotResult(l)}let{carousel:v,idToHeaderMap:f}=this.toQuestionCarousel(l,g);v.terminalId=this.extractTerminalId(u),this.logService.trace(`[AskQuestionsTool] request=${u.id} terminalExecutionId=${u.terminalExecutionId??"undefined"} carousel.terminalId=${v.terminalId??"undefined"}`),this.chatService.appendProgress(u,v);let x=this.chatService.onDidReceiveQuestionCarouselAnswer(z=>{z.resolveId!==v.resolveId||v.isUsed||v.dismiss(z.answers)}),C;try{C=await ys(v.completion.p,r)}catch(z){throw z instanceof rt&&v.dismiss(void 0),z}finally{x.dispose()}if(!C)throw v.dismiss(void 0),new rt;if(r.isCancellationRequested)throw new rt;if(v.dismissedByTerminalInput&&v.terminalId)return this.logService.info(`[AskQuestionsTool] Carousel dismissed because user typed directly in terminal ${v.terminalId}`),{content:[{kind:"text",value:`The user is replying to the terminal prompts directly. Do not ask more questions or send input to the terminal. You will be automatically notified when the command in terminal ${v.terminalId} completes.`}]};o.report({message:p(10195,null)});let E=this.convertCarouselAnswers(l,C?.answers,f),{answeredCount:k,skippedCount:O,freeTextCount:N,recommendedAvailableCount:H,recommendedSelectedCount:q}=this.collectMetrics(l,E);this.sendTelemetry(e.chatRequestId,l.length,k,O,N,H,q,s.elapsed());let Q=JSON.stringify(E);return this.logService.trace(`[AskQuestionsTool] Returning tool result with metrics: questions=${l.length}, answered=${k}, skipped=${O}, freeText=${N}, recommendedAvailable=${H}, recommendedSelected=${q}`),{content:[{kind:"text",value:Q}]}}async prepareToolInvocation(e,n){let o=e.parameters,{questions:r}=o;if(!r||r.length===0)throw new Error(p(10194,null));for(let c of r)if(c.options&&c.options.length===1)throw new Error(p(10189,null,c.header));let s=r.length,a=r.map(c=>c.header).join(", "),l=s===1?p(10192,null,a):p(10190,null,s,a),d=s===1?p(10193,null,a):p(10191,null,s,a);return{invocationMessage:new xt(l),pastTenseMessage:new xt(d)}}getRequest(e,n){if(!e)return{request:void 0,sessionResource:void 0};let o=this.chatService.getSession(e),r;return o&&(n&&(r=o.getRequests().find(s=>s.id===n)),r||(r=o.getRequests().at(-1))),r?{request:r,sessionResource:e}:{request:void 0,sessionResource:e}}extractTerminalId(e){if(e.terminalExecutionId)return e.terminalExecutionId;let n=e.message.text.match(/\[Terminal (?<termId>\S+) notification:/);if(n?.groups?.termId)return n.groups.termId;let o=e.response;if(o){let r=o.response.value;for(let s=r.length-1;s>=0;s--){let a=r[s];if(a.kind==="toolInvocation"&&a.toolId==="run_in_terminal"){let l=a.state.get();if(l.type===pt.StateKind.Completed&&l.contentForModel){for(let d of l.contentForModel)if(d.kind==="text"){let c=d.value.match(/(?:running in terminal ID|may still be running in terminal ID) ([0-9a-fA-F-]+)/);if(c)return c[1]}}}}}}toQuestionCarousel(e,n){let o=new Map,r=n??We(),s=e.map((a,l)=>this.toChatQuestion(a,o,r,l));return{carousel:new Qm(s,!0,r),idToHeaderMap:o}}toChatQuestion(e,n,o,r){let s;!e.options||e.options.length===0?s="text":e.multiSelect?s="multiSelect":s="singleSelect";let a;if(e.options){let c=e.options.filter(u=>u.recommended);c.length>0&&(a=e.multiSelect?c.map(u=>u.label):c[0].label)}let l=`${o}:${r}`;n.set(l,e.header);let d=h9(e.header,f9.header)??e.header;return{id:l,type:s,title:d,message:e.question,detailedMessage:e.message,options:e.options?.map(c=>({id:c.label,label:c.description?`${c.label} - ${c.description}`:c.label,value:c.label})),defaultValue:a,allowFreeformInput:e.allowFreeformInput??!0}}convertCarouselAnswers(e,n,o){let r={answers:{}};n&&(this.logService.trace(`[AskQuestionsTool] Carousel answer keys: ${Object.keys(n).join(", ")}`),this.logService.trace(`[AskQuestionsTool] Question headers: ${e.map(a=>a.header).join(", ")}`));let s=new Map;for(let[a,l]of o)s.set(l,a);for(let a of e){if(!n){r.answers[a.header]={selected:[],freeText:null,skipped:!0};continue}let l=s.get(a.header),d=l?n[l]:void 0;if(this.logService.trace(`[AskQuestionsTool] Processing question "${a.header}" (internal ID: ${l}), raw answer: ${JSON.stringify(d)}, type: ${typeof d}`),d===void 0)r.answers[a.header]={selected:[],freeText:null,skipped:!0};else if(typeof d=="string")a.options?.some(c=>c.label===d)?r.answers[a.header]={selected:[d],freeText:null,skipped:!1}:r.answers[a.header]={selected:[],freeText:d,skipped:!1};else if(Array.isArray(d))r.answers[a.header]={selected:d.map(c=>String(c)),freeText:null,skipped:!1};else if(typeof d=="object"&&Rn(d,{selectedValues:!0})){let{selectedValues:c,freeformValue:u}=d;r.answers[a.header]={selected:c,freeText:u??null,skipped:!1}}else if(typeof d=="object"&&(Rn(d,{selectedValue:!0})||Rn(d,{freeformValue:!0}))){let{selectedValue:c,freeformValue:u}=d;u?r.answers[a.header]={selected:[],freeText:u,skipped:!1}:c!==void 0?a.options?.some(m=>m.label===c)?r.answers[a.header]={selected:[c],freeText:null,skipped:!1}:r.answers[a.header]={selected:[],freeText:c,skipped:!1}:r.answers[a.header]={selected:[],freeText:null,skipped:!0}}else this.logService.warn(`[AskQuestionsTool] Unknown answer format for "${a.header}": ${JSON.stringify(d)}`),r.answers[a.header]={selected:[],freeText:null,skipped:!0}}return r}collectMetrics(e,n){let o=Object.values(n.answers),r=o.filter(c=>!c.skipped).length,s=o.filter(c=>c.skipped).length,a=o.filter(c=>c.freeText!==null).length,l=e.filter(c=>c.options?.some(u=>u.recommended)).length,d=e.filter(c=>{let u=n.answers[c.header],m=c.options?.find(g=>g.recommended);return u&&!u.skipped&&m&&u.selected.includes(m.label)}).length;return{answeredCount:r,skippedCount:s,freeTextCount:a,recommendedAvailableCount:l,recommendedSelectedCount:d}}createSkippedResult(e){let n={};for(let o of e)n[o.header]={selected:[],freeText:null,skipped:!0};return{content:[{kind:"text",value:JSON.stringify({answers:n})}]}}createAutopilotResult(e){let n={};for(let o of e)n[o.header]={selected:[],freeText:mT,skipped:!1};return{content:[{kind:"text",value:JSON.stringify({answers:n})}]}}buildAutopilotCarouselAnswers(e,n,o){let r={},s=new Map;for(let[a,l]of o)s.set(l,a);for(let a of e){let l=s.get(a.header);if(!l)continue;let d=n.questions.find(c=>c.id===l);d&&(d.type==="multiSelect"?r[l]={selectedValues:[],freeformValue:mT}:d.type==="singleSelect"?r[l]={freeformValue:mT}:r[l]=mT)}return r}sendTelemetry(e,n,o,r,s,a,l,d){this.telemetryService.publicLog2("askQuestionsToolInvoked",{requestId:e,questionCount:n,answeredCount:o,skippedCount:r,freeTextCount:s,recommendedAvailableCount:a,recommendedSelectedCount:l,duration:d})}};Jm=R([S(0,Yo),S(1,Oi),S(2,ae),S(3,bn)],Jm);var b9="vscode_get_confirmation",y9="vscode_get_confirmation_with_options",I9="vscode_get_modified_files_confirmation",H2={id:b9,displayName:"Confirmation Tool",modelDescription:"A tool that demonstrates different types of confirmations. Takes a title, message, and confirmation type (basic or terminal).",source:jt.Internal,inputSchema:{type:"object",properties:{title:{type:"string",description:"Title for the confirmation dialog"},message:{type:"string",description:"Message to show in the confirmation dialog"},confirmationType:{type:"string",enum:["basic","terminal"],description:"Type of confirmation to show - basic for simple confirmation, terminal for terminal command confirmation"},terminalCommand:{type:"string",description:'Terminal command to show (only used when confirmationType is "terminal")'}},required:["title","message","confirmationType"],additionalProperties:!1}},V2={id:y9,displayName:"Confirmation Tool with Options",modelDescription:"A tool that demonstrates different types of confirmations. Takes a title, message, and buttons.",source:jt.Internal,inputSchema:{type:"object",properties:{title:{type:"string",description:"Title for the confirmation dialog"},message:{type:"string",description:"Message to show in the confirmation dialog"},buttons:{type:"array",items:{type:"string"},description:"Custom button labels to display."}},required:["title","message","buttons"],additionalProperties:!1}},B2={id:I9,displayName:"Modified Files Confirmation Tool",modelDescription:"A tool that shows a modified-files confirmation UI with a split primary button and a hardcoded cancel action.",source:jt.Internal,inputSchema:{type:"object",properties:{title:{type:"string",description:"Title for the confirmation dialog"},message:{type:"string",description:"Message to show in the confirmation dialog"},options:{type:"array",items:{type:"string"},minItems:1,description:"Selectable option labels. The first option is used for the primary split button and the remaining options are placed in the dropdown menu."},modifiedFiles:{type:"array",items:{type:"object",properties:{uri:{type:"string",description:"URI of the modified file."},originalUri:{type:"string",description:"Optional original URI used when opening a diff."},insertions:{type:"number",description:"Optional number of lines added."},deletions:{type:"number",description:"Optional number of lines removed."},title:{type:"string",description:"Optional title shown in the file tooltip."},description:{type:"string",description:"Optional secondary label shown for the file entry."}},required:["uri"],additionalProperties:!1},description:"Modified files to show in the confirmation UI."}},required:["title","message","options","modifiedFiles"],additionalProperties:!1}},fT=class{async prepareToolInvocation(t,e){let n=t.parameters;if(!n.title||!n.message)throw new Error("Missing required parameters for ConfirmationTool");let o=n.confirmationType??"basic",r;return o==="terminal"?r={kind:"terminal",commandLine:{original:n.terminalCommand??""},language:"bash"}:r=void 0,{confirmationMessages:{title:n.title,message:new xt(n.message),allowAutoConfirm:!(n.buttons||[]).length,customOptions:n.buttons?.map((s,a)=>({id:s,label:s,kind:a===0?"approve":"deny"}))},toolSpecificData:r,presentation:"hiddenAfterComplete"}}async invoke(t,e,n,o){return t.selectedCustomButton?{content:[{kind:"text",value:t.selectedCustomButton}]}:{content:[{kind:"text",value:"yes"}]}}},hT=class{async prepareToolInvocation(t,e){let n=t.parameters;if(!n.title||!n.message)throw new Error("Missing required parameters for ModifiedFilesConfirmationTool");if(!n.options?.length)throw new Error("ModifiedFilesConfirmationTool requires at least one option");let o={kind:"modifiedFilesConfirmation",options:n.options,modifiedFiles:n.modifiedFiles.map(r=>({uri:y.parse(r.uri).toJSON(),originalUri:r.originalUri?y.parse(r.originalUri).toJSON():void 0,insertions:r.insertions,deletions:r.deletions,title:r.title,description:r.description}))};return{confirmationMessages:{title:n.title,message:new xt(n.message),allowAutoConfirm:!1},toolSpecificData:o,presentation:"hiddenAfterComplete"}}async invoke(t,e,n,o){return t.selectedCustomButton?{content:[{kind:"text",value:t.selectedCustomButton}]}:{content:[{kind:"text",value:"yes"}]}}};var Ym=class i{constructor(t,e){this.storageService=e;this.id=i.COMMON_PREFIX+t}static{this.applicationMementos=new Map}static{this.applicationSharedMementos=new Map}static{this.profileMementos=new Map}static{this.workspaceMementos=new Map}static{this.COMMON_PREFIX="memento/"}getMemento(t,e){switch(t){case 1:{let n=i.workspaceMementos.get(this.id);return n||(n=new Xm(this.id,t,e,this.storageService),i.workspaceMementos.set(this.id,n)),n.getMemento()}case 0:{let n=i.profileMementos.get(this.id);return n||(n=new Xm(this.id,t,e,this.storageService),i.profileMementos.set(this.id,n)),n.getMemento()}case-1:{let n=i.applicationMementos.get(this.id);return n||(n=new Xm(this.id,t,e,this.storageService),i.applicationMementos.set(this.id,n)),n.getMemento()}case-2:{let n=i.applicationSharedMementos.get(this.id);return n||(n=new Xm(this.id,t,e,this.storageService),i.applicationSharedMementos.set(this.id,n)),n.getMemento()}}}onDidChangeValue(t,e){return this.storageService.onDidChangeValue(t,this.id,e)}saveMemento(){i.workspaceMementos.get(this.id)?.save(),i.profileMementos.get(this.id)?.save(),i.applicationMementos.get(this.id)?.save(),i.applicationSharedMementos.get(this.id)?.save()}reloadMemento(t){let e;switch(t){case-2:e=i.applicationSharedMementos.get(this.id);break;case-1:e=i.applicationMementos.get(this.id);break;case 0:e=i.profileMementos.get(this.id);break;case 1:e=i.workspaceMementos.get(this.id);break}e?.reload()}static clear(t){switch(t){case 1:i.workspaceMementos.clear();break;case 0:i.profileMementos.clear();break;case-1:i.applicationMementos.clear();break;case-2:i.applicationSharedMementos.clear();break}}},Xm=class{constructor(t,e,n,o){this.id=t;this.scope=e;this.target=n;this.storageService=o;this.mementoObj=this.doLoad()}doLoad(){try{return this.storageService.getObject(this.id,this.scope,{})}catch(t){Pt(`[memento]: failed to parse contents: ${t} (id: ${this.id}, scope: ${this.scope}, contents: ${this.storageService.get(this.id,this.scope)})`)}return{}}getMemento(){return this.mementoObj}reload(){for(let t of Object.getOwnPropertyNames(this.mementoObj))delete this.mementoObj[t];Object.assign(this.mementoObj,this.doLoad())}save(){Gc(this.mementoObj)?this.storageService.remove(this.id,this.scope):this.storageService.store(this.id,this.mementoObj,this.scope,this.target)}};var W2=A("chatTodoListService"),av=class{constructor(t){this.memento=new Ym("chat-todo-list",t)}getSessionData(t){return this.memento.getMemento(1,1)[this.toKey(t)]||[]}setSessionData(t,e){let n=this.memento.getMemento(1,1);n[this.toKey(t)]=e,this.memento.saveMemento()}getTodoList(t){return this.getSessionData(t)}setTodoList(t,e){this.setSessionData(t,e)}migrateTodoList(t,e){let n=this.getSessionData(t);if(n.length>0){this.setSessionData(e,n);let o=this.memento.getMemento(1,1);delete o[this.toKey(t)],this.memento.saveMemento()}}toKey(t){return Fa(t)}};av=R([S(0,pr)],av);var vT=class extends V{constructor(e){super();this._onDidUpdateTodos=this._register(new w);this.onDidUpdateTodos=this._onDidUpdateTodos.event;this.todoListStorage=new av(e)}getTodos(e){return this.todoListStorage.getTodoList(e)}setTodos(e,n){this.todoListStorage.setTodoList(e,n),this._onDidUpdateTodos.fire(e)}migrateTodos(e,n){this.todoListStorage.migrateTodoList(e,n),this._onDidUpdateTodos.fire(n)}};vT=R([S(0,pr)],vT);var vA="manage_todo_list";function bA(){let i={type:"object",properties:{todoList:{type:"array",description:"Complete array of all todo items. Must include ALL items - both existing and new.",items:{type:"object",properties:{id:{type:"number",description:"Unique identifier for the todo. Use sequential numbers starting from 1."},title:{type:"string",description:"Concise action-oriented todo label (3-7 words). Displayed in UI."},status:{type:"string",enum:["not-started","in-progress","completed"],description:"not-started: Not begun | in-progress: Currently working (max 1) | completed: Fully finished with no blockers"}},required:["id","title","status"]}}},required:["todoList"]};return{id:vA,toolReferenceName:"todo",legacyToolReferenceFullNames:["todos"],canBeReferencedInPrompt:!0,icon:Je.fromId(le.checklist.id),displayName:p(10233,null),userDescription:p(10234,null),modelDescription:`Manage a structured todo list to track progress and plan tasks throughout your coding session. Use this tool VERY frequently to ensure task visibility and proper planning.

When to use this tool:
- Complex multi-step work requiring planning and tracking
- When user provides multiple tasks or requests (numbered/comma-separated)
- After receiving new instructions that require multiple steps
- BEFORE starting work on any todo (mark as in-progress)
- IMMEDIATELY after completing each todo (mark completed individually)
- When breaking down larger tasks into smaller actionable steps
- To give users visibility into your progress and planning

When NOT to use:
- Single, trivial tasks that can be completed in one step
- Purely conversational/informational requests
- When just reading files or performing simple searches

CRITICAL workflow:
1. Plan tasks by writing todo list with specific, actionable items
2. Mark ONE todo as in-progress before starting work
3. Complete the work for that specific todo
4. Mark that todo as completed IMMEDIATELY
5. Move to next todo and repeat

Todo states:
- not-started: Todo not yet begun
- in-progress: Currently working (limit ONE at a time)
- completed: Finished successfully

IMPORTANT: Mark todos completed as soon as they are done. Do not batch completions.`,source:jt.Internal,inputSchema:i}}var a6e=bA(),Zm=class extends V{constructor(e,n,o){super();this.chatTodoListService=e;this.logService=n;this.telemetryService=o}async invoke(e,n,o,r){let s=e.parameters,a=e.context?.sessionResource;if(!a&&s.operation==="read"&&s.chatSessionResource)try{a=y.parse(s.chatSessionResource)}catch(l){this.logService.error("ManageTodoListTool: Invalid chatSessionResource URI",l)}if(!a)return{content:[{kind:"text",value:"Error: No session resource available"}]};this.logService.debug(`ManageTodoListTool: Invoking with options ${JSON.stringify(s)}`);try{return s.operation==="read"?this.handleReadOperation(a):this.handleWriteOperation(s,a)}catch(l){return{content:[{kind:"text",value:`Error: ${l instanceof Error?l.message:"Unknown error"}`}]}}}async prepareToolInvocation(e,n){let o=e.parameters,r=e.chatSessionResource;if(!r)return;let s=this.chatTodoListService.getTodos(r),a;o.operation==="read"?a=p(10228,null):o.todoList&&(a=this.generatePastTenseMessage(s,o.todoList));let l=o.todoList??s,d=l.map(m=>({id:m.id.toString(),title:m.title,status:m.status})),c=a?.replace(/^(Starting|Completed): /i,"")??p(10232,null);return{invocationMessage:new xt(c),presentation:l.length?void 0:"hidden",pastTenseMessage:new xt(a??p(10231,null)),toolSpecificData:{kind:"todoList",todoList:d}}}generatePastTenseMessage(e,n){if(e.length===0&&n.length>0)return n.length===1?p(10227,null):p(10226,null,n.length);let o=new Map(e.map(l=>[l.id,l])),r=n.filter(l=>{let d=o.get(l.id);return d&&d.status!=="in-progress"&&l.status==="in-progress"});if(r.length>0){let l=r[0],d=n.length,c=n.findIndex(u=>u.id===l.id)+1;return p(10229,null,l.title,c,d)}let s=n.filter(l=>{let d=o.get(l.id);return d&&d.status!=="completed"&&l.status==="completed"});if(s.length>0){let l=s[0],d=n.length,c=n.findIndex(u=>u.id===l.id)+1;return p(10225,null,l.title,c,d)}let a=n.filter(l=>!o.has(l.id));return a.length>0?a.length===1?p(10224,null):p(10223,null,a.length):p(10230,null)}handleRead(e,n){return e.length===0?"No todo list found.":`# Todo List

${this.formatTodoListAsMarkdownTaskList(e)}`}handleReadOperation(e){let n=this.chatTodoListService.getTodos(e),o=this.handleRead(n,e),r=this.calculateStatusCounts(n);return this.telemetryService.publicLog2("todoListToolInvoked",{operation:"read",notStartedCount:r.notStartedCount,inProgressCount:r.inProgressCount,completedCount:r.completedCount}),{content:[{kind:"text",value:o}]}}handleWriteOperation(e,n){if(!e.todoList)return{content:[{kind:"text",value:"Error: todoList is required for write operation"}]};let o=e.todoList.map(d=>({id:d.id,title:d.title,status:d.status})),r=this.chatTodoListService.getTodos(n),s=this.calculateTodoChanges(r,o);this.chatTodoListService.setTodos(n,o);let a=this.calculateStatusCounts(o),l=[];return o.length<3?l.push("Warning: Small todo list (<3 items). This task might not need a todo list."):o.length>10&&l.push("Warning: Large todo list (>10 items). Consider keeping the list focused and actionable."),s>3&&l.push("Warning: Did you mean to update so many todos at the same time? Consider working on them one by one."),this.telemetryService.publicLog2("todoListToolInvoked",{operation:"write",notStartedCount:a.notStartedCount,inProgressCount:a.inProgressCount,completedCount:a.completedCount}),{content:[{kind:"text",value:`Successfully wrote todo list${l.length?`

`+l.join(`
`):""}`}],toolMetadata:{warnings:l}}}calculateStatusCounts(e){let n=e.filter(s=>s.status==="not-started").length,o=e.filter(s=>s.status==="in-progress").length,r=e.filter(s=>s.status==="completed").length;return{notStartedCount:n,inProgressCount:o,completedCount:r}}formatTodoListAsMarkdownTaskList(e){return e.length===0?"":e.map(n=>{let o;switch(n.status){case"completed":o="[x]";break;case"in-progress":o="[-]";break;default:o="[ ]";break}return[`- ${o} ${n.title}`].join(`
`)}).join(`
`)}calculateTodoChanges(e,n){let o=0,r=Math.min(e.length,n.length);for(let d=0;d<r;d++){let c=e[d],u=n[d];(c.title!==u.title||c.status!==u.status)&&o++}let s=Math.max(0,n.length-e.length),a=Math.max(0,e.length-n.length);return s+a+o}};Zm=R([S(0,W2),S(1,ae),S(2,Oi)],Zm);var eg=class{constructor(t,e,n,o,r,s,a,l,d){this.title=t;this.content=e;this.actions=n;this.canProvideFeedback=o;this.planUri=r;this.resolveId=s;this.data=a;this.isUsed=l;this.source=d;this.kind="planReview";this.completion=new cn}dismiss(){this.isUsed||(this.isUsed=!0,this.draftFeedback=void 0,this.draftCollapsed=void 0,this.completion.complete(void 0))}toJSON(){return{kind:this.kind,title:this.title,content:this.content,actions:this.actions,canProvideFeedback:this.canProvideFeedback,planUri:this.planUri,resolveId:this.resolveId,data:this.data,isUsed:this.isUsed,source:this.source}}};var x9="vscode_reviewPlan";function C9(){let t={type:"object",properties:{title:{type:"string",description:'Title displayed in the widget header. Defaults to "Review plan" if omitted.'},plan:{type:"string",description:"Optional URI of an editable plan file. An Edit button in the widget header opens it in the editor."},content:{type:"string",description:"Markdown content rendered in the body of the widget. May be the plan summary or full plan text."},actions:{type:"array",description:"List of approval actions offered in the primary dropdown button. Order is preserved.",items:{type:"object",properties:{label:{type:"string",description:"Short action label shown in the dropdown button."},description:{type:"string",description:"Optional detail shown below the label in the dropdown list."},default:{type:"boolean",description:"Whether this action should be selected by default."},permissionLevel:{type:"string",enum:["autopilot"],description:'When set to "autopilot", a confirmation dialog is shown before proceeding.'}},required:["label"]},minItems:1},canProvideFeedback:{type:"boolean",description:"When true, an additional feedback textarea is shown below the plan content."}},required:["content","actions","canProvideFeedback"]};return{id:x9,toolReferenceName:"reviewPlan",canBeReferencedInPrompt:!1,icon:Je.fromId(le.checklist.id),displayName:p(10239,null),userDescription:p(10240,null),modelDescription:"Use this tool to present a plan to the user for review. Provide the plan content as markdown, a list of approval actions (with optional default), and whether the user can provide freeform feedback. Optionally provide a URI to the backing plan file so the user can edit it. The tool returns the chosen action, whether the plan was rejected, and any feedback.",source:jt.Internal,inputSchema:t}}var $2=C9(),tg=class extends V{constructor(e,n){super();this.chatService=e;this.logService=n}async invoke(e,n,o,r){let s=e.parameters,{title:a,plan:l,content:d,actions:c,canProvideFeedback:u}=s;if(!c||c.length===0)throw new Error(p(10238,null));let{request:m}=this.getRequest(e.context?.sessionResource,e.chatRequestId);if(!m)return this.logService.warn("[ReviewPlanTool] Missing chat context; returning rejected result."),this.toResult({rejected:!0});let g;if(l)try{g=y.parse(l)}catch{try{g=y.file(l)}catch{g=void 0}}let v=new eg(a??p(10235,null),d,c,u,g?.toJSON(),We());this.chatService.appendProgress(m,v);let f=await ys(v.completion.p,r);if(r.isCancellationRequested)throw new rt;return this.toResult(f??{rejected:!0})}async prepareToolInvocation(e,n){let o=e.parameters;if(!o.actions||o.actions.length===0)throw new Error(p(10238,null));return{invocationMessage:new xt(p(10236,null)),pastTenseMessage:new xt(p(10237,null))}}toResult(e){return{content:[{kind:"text",value:JSON.stringify(e)}]}}getRequest(e,n){if(!e)return{request:void 0};let o=this.chatService.getSession(e);if(!o)return{request:void 0};let r;return n&&(r=o.getRequests().find(s=>s.id===n)),r||(r=o.getRequests().at(-1)),{request:r}}};tg=R([S(0,Yo),S(1,ae)],tg);var S9="code/chat/",z2=new Map,lv={RequestStart:"request/start",RequestUiUpdated:"request/uiUpdated",WillCollectInstructions:"request/willCollectInstructions",DidCollectInstructions:"request/didCollectInstructions",FirstToken:"request/firstToken",RequestComplete:"request/complete",AgentWillInvoke:"agent/willInvoke",AgentDidInvoke:"agent/didInvoke"};function dv(i,t){let e=Fa(i),n=`${S9}${e}/${t}`,o=z2.get(e);o||(o=new Set,z2.set(e,o)),o.add(n),fn(n)}var IT=A("chatAgentService"),bT=class extends V{constructor(e,n){super();this.contextKeyService=e;this.configurationService=n;this._agents=new Map;this._onDidChangeAgents=this._register(new w);this.onDidChangeAgents=this._onDidChangeAgents.event;this._onWillInvokeAgent=this._register(new w);this.onWillInvokeAgent=this._onWillInvokeAgent.event;this._agentsContextKeys=new Set;this._hasToolsAgent=!1;this._chatParticipantDetectionProviders=new Map;this._agentCompletionProviders=new Map;this._hasDefaultAgent=Ko.enabled.bindTo(this.contextKeyService),this._extensionAgentRegistered=Ko.extensionParticipantRegistered.bindTo(this.contextKeyService),this._defaultAgentRegistered=Ko.panelParticipantRegistered.bindTo(this.contextKeyService),this._register(e.onDidChangeContext(o=>{o.affectsSome(this._agentsContextKeys)&&this._updateContextKeys()}))}static{this.AGENT_LEADER="@"}registerAgent(e,n){if(this.getAgent(e))throw new Error(`Agent already registered: ${JSON.stringify(e)}`);let r=this,s=n.slashCommands;n={...n,get slashCommands(){return s.filter(l=>!l.when||r.contextKeyService.contextMatchesRules(at.deserialize(l.when)))}};let a={data:n};return this._agents.set(e,a),this._updateAgentsContextKeys(),this._updateContextKeys(),this._onDidChangeAgents.fire(void 0),X(()=>{this._agents.delete(e),this._updateAgentsContextKeys(),this._updateContextKeys(),this._onDidChangeAgents.fire(void 0)})}_updateAgentsContextKeys(){this._agentsContextKeys.clear();for(let e of this._agents.values())if(e.data.when){let n=at.deserialize(e.data.when);for(let o of n?.keys()||[])this._agentsContextKeys.add(o)}}_updateContextKeys(){let e=!1,n=!1,o=!1;for(let r of this.getAgents())r.isDefault&&(r.isCore||(e=!0),r.id==="chat.setup"||r.id==="github.copilot.editsAgent"?o=!0:n=!0);this._defaultAgentRegistered.set(n),this._extensionAgentRegistered.set(e),o!==this._hasToolsAgent&&(this._hasToolsAgent=o,this._onDidChangeAgents.fire(this.getDefaultAgent("panel","agent")))}registerAgentImplementation(e,n){let o=this._agents.get(e);if(!o)throw new Error(`Unknown agent: ${JSON.stringify(e)}`);if(o.impl)throw new Error(`Agent already has implementation: ${JSON.stringify(e)}`);return o.data.isDefault&&this._hasDefaultAgent.set(!0),o.impl=n,this._onDidChangeAgents.fire(new ng(o.data,n)),X(()=>{o.impl=void 0,this._onDidChangeAgents.fire(void 0),o.data.isDefault&&this._hasDefaultAgent.set(yt.some(this._agents.values(),r=>r.data.isDefault&&!!r.impl))})}registerDynamicAgent(e,n){e.isDynamic=!0;let o={data:e,impl:n};return this._agents.set(e.id,o),this._onDidChangeAgents.fire(new ng(e,n)),X(()=>{this._agents.delete(e.id),this._onDidChangeAgents.fire(void 0)})}registerAgentCompletionProvider(e,n){return this._agentCompletionProviders.set(e,n),{dispose:()=>{this._agentCompletionProviders.delete(e)}}}async getAgentCompletionItems(e,n,o){return await this._agentCompletionProviders.get(e)?.(n,o)??[]}updateAgent(e,n){let o=this._agents.get(e);if(!o?.impl)throw new Error(`No activated agent with id ${JSON.stringify(e)} registered`);o.data.metadata={...o.data.metadata,...n},this._onDidChangeAgents.fire(new ng(o.data,o.impl))}getDefaultAgent(e,n="ask"){return this._preferExtensionAgent(this.getActivatedAgents().filter(o=>n&&!o.modes.includes(n)?!1:!!o.isDefault&&o.locations.includes(e)))}get hasToolsAgent(){return!!this.configurationService.getValue("chat.agent.enabled")}getContributedDefaultAgent(e){return this._preferExtensionAgent(this.getAgents().filter(n=>!!n.isDefault&&n.locations.includes(e)))}_preferExtensionAgent(e){return PM(e,n=>!n.isCore)??e.at(-1)}getAgent(e,n=!1){if(!(!this._agentIsEnabled(e)&&!n))return this._agents.get(e)?.data}_agentIsEnabled(e){let n=typeof e=="string"?this._agents.get(e):e;return!n?.data.when||this.contextKeyService.contextMatchesRules(at.deserialize(n.data.when))}getAgentByFullyQualifiedId(e){let n=yt.find(this._agents.values(),o=>T9(o.data)===e)?.data;if(!(n&&!this._agentIsEnabled(n.id)))return n}getAgents(){return Array.from(this._agents.values()).map(e=>e.data).filter(e=>this._agentIsEnabled(e.id))}getActivatedAgents(){return Array.from(this._agents.values()).filter(e=>!!e.impl).filter(e=>this._agentIsEnabled(e.data.id)).map(e=>new ng(e.data,e.impl))}getAgentsByName(e){return this._preferExtensionAgents(this.getAgents().filter(n=>n.name===e))}_preferExtensionAgents(e){let n=e.filter(o=>!o.isCore);return n.length>0?n:e}agentHasDupeName(e){let n=this.getAgent(e);return n?this.getAgentsByName(n.name).filter(o=>o.extensionId.value!==n.extensionId.value).length>0:!1}async invokeAgent(e,n,o,r,s){dv(n.sessionResource,lv.AgentWillInvoke);let a=this._agents.get(e);if(!a?.impl)throw new Error(`No activated agent with id "${e}"`);this._onWillInvokeAgent.fire({agentId:e,request:n});let l=await a.impl.invoke(n,o,r,s);return dv(n.sessionResource,lv.AgentDidInvoke),l}setRequestTools(e,n,o){let r=this._agents.get(e);r?.impl&&r.impl.setRequestTools?.(n,o)}setYieldRequested(e,n,o){let r=this._agents.get(e);r?.impl&&r.impl.setYieldRequested?.(n,o)}async getFollowups(e,n,o,r,s){let a=this._agents.get(e);return a?.impl?.provideFollowups?a.impl.provideFollowups(n,o,r,s):[]}async getChatTitle(e,n,o){let r=this._agents.get(e);if(r?.impl?.provideChatTitle)return r.impl.provideChatTitle(n,o)}async getChatSummary(e,n,o){let r=this._agents.get(e);if(r?.impl?.provideChatSummary)return r.impl.provideChatSummary(n,o)}registerChatParticipantDetectionProvider(e,n){return this._chatParticipantDetectionProviders.set(e,n),X(()=>{this._chatParticipantDetectionProviders.delete(e)})}hasChatParticipantDetectionProviders(){return this._chatParticipantDetectionProviders.size>0}async detectAgentOrCommand(e,n,o,r){let s=yt.first(this._chatParticipantDetectionProviders.values());if(!s)return;let a=this.getAgents().reduce((u,m)=>{if(m.locations.includes(o.location)){u.push({participant:m.id,disambiguation:m.disambiguation??[]});for(let g of m.slashCommands)u.push({participant:m.id,command:g.name,disambiguation:g.disambiguation??[]})}return u},[]),l=await s.provideParticipantDetection(e,n,{...o,participants:a},r);if(!l)return;let d=this.getAgent(l.participant);if(!d)return;if(!l.command)return{agent:d};let c=d?.slashCommands.find(u=>u.name===l.command);if(c)return{agent:d,command:c}}};bT=R([S(0,Er),S(1,bn)],bT);var ng=class{constructor(t,e){this.data=t;this.impl=e}get id(){return this.data.id}get name(){return this.data.name??""}get fullName(){return this.data.fullName??""}get description(){return this.data.description??""}get extensionId(){return this.data.extensionId}get extensionVersion(){return this.data.extensionVersion}get extensionPublisherId(){return this.data.extensionPublisherId}get extensionPublisherDisplayName(){return this.data.publisherDisplayName}get extensionDisplayName(){return this.data.extensionDisplayName}get isDefault(){return this.data.isDefault}get isCore(){return this.data.isCore}get metadata(){return this.data.metadata}get slashCommands(){return this.data.slashCommands}get locations(){return this.data.locations}get modes(){return this.data.modes}get disambiguation(){return this.data.disambiguation}async invoke(t,e,n,o){return this.impl.invoke(t,e,n,o)}setRequestTools(t,e){this.impl.setRequestTools?.(t,e)}setYieldRequested(t,e){this.impl.setYieldRequested?.(t,e)}async provideFollowups(t,e,n,o){return this.impl.provideFollowups?this.impl.provideFollowups(t,e,n,o):[]}toJSON(){return this.data}},i3e=A("chatAgentNameService"),yT=class{constructor(t){this.languageModelsService=t}getAgentNameRestriction(t){if(t.isCore)return!0;let e=this.checkAgentNameRestriction(t.name,t).get(),n=!t.fullName||this.checkAgentNameRestriction(t.fullName.replace(/\s/g,""),t).get();return e&&n}checkAgentNameRestriction(t,e){return this.languageModelsService.restrictedChatParticipants.map(o=>o[t.toLowerCase()]).map(o=>o?o.some(r=>Qn(r,r.includes(".")?e.extensionId.value:e.extensionPublisherId)):!0)}};yT=R([S(0,$y)],yT);function T9(i){return`${i.extensionId.value}.${i.id}`}function E9(i){return i.name!==void 0}function xT(i){let t=E9(i)?i:{...i,name:i.id};return t.extensionPublisherId||(t.extensionPublisherId=i.extensionPublisher??""),t.extensionDisplayName||(t.extensionDisplayName=""),t.extensionId||(t.extensionId=new Se("")),_t(t)}var q2=A("labelService");function yA(){return{applyingInstructionsCount:0,referencedInstructionsCount:0,agentInstructionsCount:0,listedInstructionsCount:0,totalInstructionsCount:0,claudeRulesCount:0,claudeMdCount:0,claudeAgentsCount:0}}function IA(){return{debugDetails:[],durationInMillis:0}}function og(i,t){return i===void 0||t===void 0||i.includes(t)}var CT=A("IPromptsService");var w9;(e=>{function i(n){return n.storage==="extension"?{storage:"extension",extensionId:n.extension.identifier}:n.storage==="plugin"?{storage:"plugin",pluginUri:n.pluginUri}:{storage:n.storage}}e.fromPromptPath=i;function t(n,o){return n===o?!0:!n||!o||n.storage!==o.storage?!1:n.storage==="extension"&&o.storage==="extension"?Se.equals(n.extensionId,o.extensionId):n.storage==="plugin"&&o.storage==="plugin"?Cn(n.pluginUri,o.pluginUri):!0}e.isEquals=t})(w9||={});var P9=".prompt.md",_9=".instructions.md",D9=".chatmode.md",R9=".agent.md",A9="SKILL.md";function M9(i){return pd(i,A9)===0}var O9="copilot-instructions.md";var L9=".github/prompts",N9=".github/instructions";var G2=".github/agents",ST=".claude/agents",j2="~/.copilot/agents",xA=".claude/rules";var U9=[{path:".agents/skills",source:"agents-workspace",storage:"local"},{path:".github/skills",source:"github-workspace",storage:"local"},{path:".claude/skills",source:"claude-workspace",storage:"local"},{path:"~/.agents/skills",source:"agents-personal",storage:"user"},{path:"~/.copilot/skills",source:"copilot-personal",storage:"user"},{path:"~/.claude/skills",source:"claude-personal",storage:"user"}],F9=[{path:N9,source:"github-workspace",storage:"local"},{path:xA,source:"claude-workspace",storage:"local"},{path:"~/.copilot/instructions",source:"copilot-personal",storage:"user"},{path:"~/"+xA,source:"claude-personal",storage:"user"}],H9=[{path:L9,source:"github-workspace",storage:"local"}],V9=[{path:G2,source:"github-workspace",storage:"local"},{path:ST,source:"claude-workspace",storage:"local"},{path:j2,source:"copilot-personal",storage:"user"},{path:"~/"+ST,source:"claude-personal",storage:"user"}],B9=[{path:".github/hooks",source:"github-workspace",storage:"local"},{path:".claude/settings.local.json",source:"claude-workspace-local",storage:"local"},{path:".claude/settings.json",source:"claude-workspace",storage:"local"},{path:"~/.copilot/hooks",source:"copilot-personal",storage:"user"},{path:"~/.claude/settings.json",source:"claude-personal",storage:"user"}];function W9(i){let t=sr(i).path;return t.endsWith("/"+G2)||t.endsWith("/"+ST)||$9(i)}function Q2(i){return sr(i).path.endsWith("/"+ST)}function $9(i){return sr(i).path.endsWith(j2.substring(1))}function CA(i){return i.path.includes("/"+xA+"/")}function z9(i){let t=tt(i);if(t.endsWith(P9))return"prompt";if(t.endsWith(_9)||t===O9)return"instructions";if(t.endsWith(D9)||t.endsWith(R9))return"agent";if(M9(t))return"skill";if(t.endsWith(".md")&&t!=="README.md"&&W9(i))return"agent";if(t.endsWith(".md")&&t!=="README.md"&&CA(i))return"instructions";if(t.toLowerCase().endsWith(".json"))return"hook"}function SA(i){return z9(i)!==void 0}function J2(i){switch(i){case"instructions":return F9;case"prompt":return H9;case"agent":return V9;case"skill":return U9;case"hook":return B9;default:throw new Error("Unknown prompt type")}}var gi;(N=>{N.PROMPT_LOCATIONS_KEY="chat.promptFilesLocations",N.INSTRUCTIONS_LOCATION_KEY="chat.instructionsFilesLocations",N.MODE_LOCATION_KEY="chat.modeFilesLocations",N.AGENTS_LOCATION_KEY="chat.agentFilesLocations",N.SKILLS_LOCATION_KEY="chat.agentSkillsLocations",N.HOOKS_LOCATION_KEY="chat.hookFilesLocations",N.PROMPT_FILES_SUGGEST_KEY="chat.promptFilesRecommendations",N.USE_COPILOT_INSTRUCTION_FILES="github.copilot.chat.codeGeneration.useInstructionFiles",N.USE_AGENT_MD="chat.useAgentsMdFile",N.USE_NESTED_AGENT_MD="chat.useNestedAgentsMdFiles",N.USE_CLAUDE_MD="chat.useClaudeMdFile",N.USE_AGENT_SKILLS="chat.useAgentSkills",N.USE_CHAT_HOOKS="chat.useHooks",N.USE_CLAUDE_HOOKS="chat.useClaudeHooks",N.USE_SKILL_ADHERENCE_PROMPT="chat.experimental.useSkillAdherencePrompt",N.INCLUDE_APPLYING_INSTRUCTIONS="chat.includeApplyingInstructions",N.INCLUDE_REFERENCED_INSTRUCTIONS="chat.includeReferencedInstructions",N.USE_CUSTOMIZATIONS_IN_PARENT_REPOS="chat.useCustomizationsInParentRepositories";function E(H,q){let Q=q9(q),z=H.getValue(Q);if(!(z==null||Array.isArray(z))&&typeof z=="object"){let $={};for(let[oe,he]of Object.entries(z)){let lt=oe.trim(),Fe=X2(he);Fe!==void 0&&lt&&($[lt]=Fe)}return $}}N.getLocationsValue=E;function k(H,q){let Q=E(H,q),z=J2(q);if(Q&&typeof Q=="object"){let $=[],oe=new Set(z.map(he=>he.path));for(let he of z)Q[he.path]!==!1&&$.push(he);for(let[he,lt]of Object.entries(Q)){if(lt===!1||oe.has(he))continue;let Fe=K9(he)?"user":"local";$.push({path:he,source:Fe==="local"?"config-workspace":"config-personal",storage:Fe})}return $}return[]}N.promptSourceFolders=k;function O(H,q){let Q=H.getValue(N.PROMPT_FILES_SUGGEST_KEY,{resource:q});if(!Q||typeof Q!="object"||Array.isArray(Q))return;let z={};for(let[$,oe]of Object.entries(Q)){let he=$.trim();if(!he)continue;if(typeof oe=="boolean"){z[he]=oe;continue}if(typeof oe=="string"){let Fe=oe.trim();Fe&&(z[he]=Fe);continue}let lt=X2(oe);lt!==void 0&&(z[he]=lt)}return Object.keys(z).length>0?z:void 0}N.getPromptFilesRecommendationsValue=O})(gi||={});function q9(i){switch(i){case"instructions":return gi.INSTRUCTIONS_LOCATION_KEY;case"prompt":return gi.PROMPT_LOCATIONS_KEY;case"agent":return gi.AGENTS_LOCATION_KEY;case"skill":return gi.SKILLS_LOCATION_KEY;case"hook":return gi.HOOKS_LOCATION_KEY;default:throw new Error("Unknown prompt type")}}function X2(i){if(typeof i=="boolean")return i;if(typeof i=="string"){let t=i.trim().toLowerCase();return t==="true"?!0:t==="false"?!1:void 0}}function K9(i){return i.startsWith("~/")}var uo=class i{constructor(t,e){this.start=t;this.endExclusive=e;if(t>e)throw new kt(`Invalid range: ${this.toString()}`)}static fromTo(t,e){return new i(t,e)}static equals(t,e){return t.start===e.start&&t.endExclusive===e.endExclusive}static addRange(t,e){let n=0;for(;n<e.length&&e[n].endExclusive<t.start;)n++;let o=n;for(;o<e.length&&e[o].start<=t.endExclusive;)o++;if(n===o)e.splice(n,0,t);else{let r=Math.min(t.start,e[n].start),s=Math.max(t.endExclusive,e[o-1].endExclusive);e.splice(n,o-n,new i(r,s))}}static tryCreate(t,e){if(!(t>e))return new i(t,e)}static ofLength(t){return new i(0,t)}static ofStartAndLength(t,e){return new i(t,t+e)}static emptyAt(t){return new i(t,t)}get isEmpty(){return this.start===this.endExclusive}delta(t){return new i(this.start+t,this.endExclusive+t)}deltaStart(t){return new i(this.start+t,this.endExclusive)}deltaEnd(t){return new i(this.start,this.endExclusive+t)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}equals(t){return this.start===t.start&&this.endExclusive===t.endExclusive}containsRange(t){return this.start<=t.start&&t.endExclusive<=this.endExclusive}contains(t){return this.start<=t&&t<this.endExclusive}join(t){return new i(Math.min(this.start,t.start),Math.max(this.endExclusive,t.endExclusive))}intersect(t){let e=Math.max(this.start,t.start),n=Math.min(this.endExclusive,t.endExclusive);if(e<=n)return new i(e,n)}intersectionLength(t){let e=Math.max(this.start,t.start),n=Math.min(this.endExclusive,t.endExclusive);return Math.max(0,n-e)}intersects(t){let e=Math.max(this.start,t.start),n=Math.min(this.endExclusive,t.endExclusive);return e<n}intersectsOrTouches(t){let e=Math.max(this.start,t.start),n=Math.min(this.endExclusive,t.endExclusive);return e<=n}isBefore(t){return this.endExclusive<=t.start}isAfter(t){return this.start>=t.endExclusive}slice(t){return t.slice(this.start,this.endExclusive)}substring(t){return t.substring(this.start,this.endExclusive)}clip(t){if(this.isEmpty)throw new kt(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,t))}clipCyclic(t){if(this.isEmpty)throw new kt(`Invalid clipping range: ${this.toString()}`);return t<this.start?this.endExclusive-(this.start-t)%this.length:t>=this.endExclusive?this.start+(t-this.start)%this.length:t}map(t){let e=[];for(let n=this.start;n<this.endExclusive;n++)e.push(t(n));return e}forEach(t){for(let e=this.start;e<this.endExclusive;e++)t(e)}joinRightTouching(t){if(this.endExclusive!==t.start)throw new kt(`Invalid join: ${this.toString()} and ${t.toString()}`);return new i(this.start,t.endExclusive)}withMargin(t,e){return e===void 0&&(e=t),new i(this.start-t,this.endExclusive+e)}};var Y2=A("agentPluginService");var TA=class{constructor(){this._discovery=[]}register(t){this._discovery.push(t)}getAll(){return this._discovery}},_3e=new TA;var G9,rg=class{constructor(t,e,n,o,r,s,a,l,d,c,u,m,g,v){this._modeKind=t;this._enabledTools=e;this._enabledSubagents=n;this._currentSessionType=o;this._promptsService=r;this._logService=s;this._labelService=a;this._configurationService=l;this._workspaceService=d;this._fileService=c;this._remoteAgentService=u;this._telemetryService=m;this._languageModelToolsService=g;this._agentPluginService=v;this._parseResults=new $e}async _parseInstructionsFile(t,e){if(this._parseResults.has(t))return this._parseResults.get(t);try{let n=await this._promptsService.parseNew(t,e);return this._parseResults.set(t,n),n}catch(n){this._logService.error(`[InstructionsContextComputer] Failed to parse instruction file: ${t}`,n);return}}async collect(t,e){let n=performance.now(),o=await this._promptsService.getInstructionFiles(e);this._logService.trace(`[InstructionsContextComputer] ${o.length} instruction files available.`);let r=yA(),s=IA(),a=this._getContext(t);await this.addApplyingInstructions(o,a,t,r,s,e),await this._addReferencedInstructions(t,r,s,e),await this._addAgentInstructions(t,r,s,e);let l=await this._getCustomizationsIndex(o,t,r,s,e);l&&(t.add(l),r.listedInstructionsCount++),s.durationInMillis=performance.now()-n,this.sendTelemetry(r),G9={telemetryEvent:r,debugInfo:s}}sendTelemetry(t){t.totalInstructionsCount=t.agentInstructionsCount+t.referencedInstructionsCount+t.applyingInstructionsCount+t.listedInstructionsCount,this._telemetryService.publicLog2("instructionsCollected",t)}async _logSkillLoadedTelemetry(t){try{let e=new $e,n=this._agentPluginService.plugins.get();for(let r of n)e.set(r.uri,r);let o=r=>r!==void 0?String(ar(r)):"";for(let r of t){let s=r.pluginUri?e.get(r.pluginUri):void 0;this._telemetryService.publicLog2("skillLoadedIntoContext",{skillNameHash:o(r.name),skillStorage:r.storage,extensionIdHash:o(r.extension?.identifier.value),extensionVersion:r.extension?.version??"",pluginNameHash:o(s?.label),pluginVersion:s?.fromMarketplace?.version??""})}}catch(e){this._logService.error("[InstructionsContextComputer] Failed to log skill telemetry",e)}}async addApplyingInstructions(t,e,n,o,r,s){if(!this._configurationService.getValue(gi.INCLUDE_APPLYING_INSTRUCTIONS)&&this._modeKind!=="edit"){this._logService.trace("[InstructionsContextComputer] includeApplyingInstructions is disabled and agent kind is not Edit. No applying instructions will be added.");return}let l=this._currentSessionType;for(let d of t){if(s.isCancellationRequested)return;let{uri:c,pattern:u}=d;if(!og(d.sessionTypes,l))continue;if(!u){this._logService.trace(`[InstructionsContextComputer] No pattern (applyTo / paths) found: ${c}`),r.debugDetails.push({category:"skipped",name:tt(c).toString(),uri:c,reason:p(9848,null)});continue}let m=CA(c);if(e.instructions.has(c)){this._logService.trace(`[InstructionsContextComputer] Skipping already processed instruction file: ${c}`),r.debugDetails.push({category:"skipped",name:tt(c).toString(),uri:c,reason:p(9846,null)});continue}let g=this._matches(e.files,u);if(g){this._logService.trace(`[InstructionsContextComputer] Match for ${c} with ${g.pattern}${g.file?` for file ${g.file}`:""}`);let v=g.file?p(9857,null,u,this._labelService.getUriLabel(g.file,{relative:!0})):p(9855,null);n.add(Va(c,"vscode.instructions.file.root",v,!0)),o.applyingInstructionsCount++,r.debugDetails.push({category:"applying",name:tt(c).toString(),uri:c,reason:v}),m&&o.claudeRulesCount++}else this._logService.trace(`[InstructionsContextComputer] No match for ${c} with ${u}`),r.debugDetails.push({category:"skipped",name:tt(c).toString(),uri:c,reason:p(9847,null,u)})}}_getContext(t){let e=new er,n=new er;for(let o of t.asArray())if(Cf(o))n.add(o.value);else{let r=Ha.toUri(o);r&&e.add(r)}return{files:e,instructions:n}}async _addAgentInstructions(t,e,n,o){let r={logInfo:d=>this._logService.trace(`[InstructionsContextComputer] ${d}`)},s=await this._promptsService.listAgentInstructions(o,r),a=new Pd,l=new Pd;for(let{uri:d,type:c}of s){let u=Va(d,"vscode.instructions.file.root",void 0,!0);a.add(u),c==="copilotInstructionsMd"&&l.add(u),e.agentInstructionsCount++,c==="claudeMd"&&e.claudeMdCount++,n.debugDetails.push({category:"applying",name:tt(d).toString(),uri:d,reason:p(9844,null)}),r.logInfo(`Agent instruction file added: ${d.toString()}`)}if(l.length>0){await this._addReferencedInstructions(l,e,n,o);for(let d of l.asArray())t.add(d)}for(let d of a.asArray())t.add(d)}_matches(t,e){let n=Au(e,","),o=r=>{if(r=r.trim(),r.length!==0){if(r==="**"||r==="**/*"||r==="*")return{pattern:r};!r.startsWith("/")&&!r.startsWith("**/")&&(r="**/"+r);for(let s of t)if(Go(r,s.path,{ignoreCase:!0}))return{pattern:r,file:s}}};for(let r of n){let s=o(r);if(s)return s}}_getTool(t){if(!this._enabledTools)return;let e=this._languageModelToolsService.getToolByName(t);if(e&&this._enabledTools[e.id])return{tool:e,variable:`#tool:${this._languageModelToolsService.getFullReferenceName(e)}`}}async _getCustomizationsIndex(t,e,n,o,r){let s=this._getTool("readFile"),a=this._getTool("runInTerminal"),l=s??a,d=this._getTool(Of.runSubagent),c=this._getTool("skill"),u=this._currentSessionType,g=(await this._remoteAgentService.getEnvironment())?.os,v=k=>j9(k,g),f=[];if(l){let O=this._configurationService.getValue(gi.USE_NESTED_AGENT_MD)?this._promptsService.listNestedAgentMDs(r):Promise.resolve([]);f.push("<instructions>"),f.push("Here is a list of instruction files that contain rules for working with this codebase."),f.push("These files are important for understanding the codebase structure, conventions, and best practices."),f.push("When an instruction file applies to your task (based on its description or applyTo pattern), follow the rules specified in it."),f.push(`If the file content is not already included in the context, use the ${l.variable} tool to read it before proceeding. Use the exact value from the <file> element as-is with the tool; do not add or remove prefixes or otherwise modify it.`),f.push("Only load instruction files when they are relevant to the current task. Do not eagerly load all instructions upfront."),f.push("When modifying or creating files, check for instructions whose applyTo pattern matches the file path and follow them.");let N=!1;for(let $ of t)og($.sessionTypes,u)&&(f.push("<instruction>"),f.push(`<file>${v($.uri)}</file>`),$.description&&f.push(`<description>${$.description}</description>`),$.pattern&&f.push(`<applyTo>${$.pattern}</applyTo>`),f.push("</instruction>"),N=!0);let H=await O;for(let{uri:$}of H){let oe=this._labelService.getUriLabel(sr($),{relative:!0}),he=oe.trim().length===0?p(9854,null):p(9853,null,oe);f.push("<instruction>"),f.push(`<file>${v($)}</file>`),f.push(`<description>${he}</description>`),f.push("</instruction>"),N=!0}N?f.push("</instructions>","",""):f.length=0;let q=await this._promptsService.findAgentSkills(r),Q=this._configurationService.getValue(PN),z=q?.filter($=>$.description?$.disableModelInvocation?(o.debugDetails.push({category:"skipped",name:$.name,uri:$.uri,reason:p(9851,null)}),!1):og($.sessionTypes,u)?!Q&&$.uri.path.includes(_N)?(o.debugDetails.push({category:"skipped",name:$.name,uri:$.uri,reason:p(9849,null)}),!1):!0:(o.debugDetails.push({category:"skipped",name:$.name,uri:$.uri,reason:p(9852,null)}),!1):(o.debugDetails.push({category:"skipped",name:$.name,uri:$.uri,reason:p(9850,null)}),!1));if(z&&z.length>0){this._logSkillLoadedTelemetry(z);for(let j of z)o.debugDetails.push({category:"skill",name:j.name,uri:j.uri,reason:j.storage});let $=this._configurationService.getValue(gi.USE_SKILL_ADHERENCE_PROMPT),oe=c??l;f.push("<skills>"),$?(f.push("Skills provide specialized capabilities, domain knowledge, and refined workflows for producing high-quality outputs. Each skill folder contains tested instructions for specific domains like testing strategies, API design, or performance optimization. Multiple skills can be combined when a task spans different domains."),c?f.push(`BLOCKING REQUIREMENT: When a skill applies to the user's request, you MUST invoke it IMMEDIATELY as your first action, BEFORE generating any other response or taking action on the task. Use ${c.variable} with the skill name to load the relevant skill(s).`):f.push(`BLOCKING REQUIREMENT: When a skill applies to the user's request, you MUST load and read the SKILL.md file IMMEDIATELY as your first action, BEFORE generating any other response or taking action on the task. Use ${l.variable} to load the relevant skill(s).`),f.push("NEVER just mention or reference a skill in your response without actually loading it first. If a skill is relevant, load it before proceeding."),f.push("How to determine if a skill applies:"),f.push("1. Review the available skills below and match their descriptions against the user's request"),f.push("2. If any skill's domain overlaps with the task, load that skill immediately"),f.push("3. When multiple skills apply (e.g., a flowchart in documentation), load all relevant skills"),f.push("Examples:"),f.push(`- "Help me write unit tests for this module" -> Load the testing skill via ${oe.variable} FIRST, then proceed`),f.push(`- "Optimize this slow function" -> Load the performance-profiling skill via ${oe.variable} FIRST, then proceed`),f.push('- "Add a discount code field to checkout" -> Load both the checkout-flow and form-validation skills FIRST'),f.push("Available skills:")):c?(f.push("Here is a list of skills that contain domain specific knowledge on a variety of topics."),f.push(`When a user asks you to perform a task that falls within the domain of a skill, use the ${c.variable} tool with the skill name to load it.`)):(f.push("Here is a list of skills that contain domain specific knowledge on a variety of topics."),f.push("Each skill comes with a description of the topic and a file path that contains the detailed instructions."),f.push(`When a user asks you to perform a task that falls within the domain of a skill, use the ${l.variable} tool to acquire the full instructions from the file URI.`));let he=15e3,lt=5e3,Fe=0,ee=z.length;for(let j=0;j<z.length;j++){let re=z[j],Z=["<skill>",`<name>${re.name}</name>`];re.description&&Z.push(`<description>${re.description}</description>`),Z.push(`<file>${v(re.uri)}</file>`),Z.push("</skill>");let se=Z.join(`
`).length+1;if(c&&Fe+se>he){ee=j;break}Fe+=se,f.push(...Z)}if(ee<z.length){let j=z.slice(ee),re=[],Z=0;for(let ue of j){let Ke=(re.length>0?2:0)+ue.name.length;if(Z+Ke>lt)break;Z+=Ke,re.push(ue.name)}let se=j.length-re.length,ne=re.join(", ");f.push(se>0?`Additional skills available (invoke by name): ${ne}... and ${se} more`:`Additional skills available (invoke by name): ${ne}`)}f.push("</skills>","","")}}if(d){let k=!!this._configurationService.getValue("chat.generalPurposeAgent.enabled"),O=(()=>{if(!this._enabledSubagents||this._enabledSubagents.includes("*"))return H=>H.visibility.agentInvocable&&og(H.sessionTypes,u);{let H=this._enabledSubagents;return q=>H.includes(q.name)&&og(q.sessionTypes,u)}})(),N=(await this._promptsService.getCustomAgents(r)).filter(H=>H.enabled);if(k||N.length>0){f.push("<agents>"),f.push("Here is a list of agents that can be used when running a subagent."),f.push("Each agent has optionally a description with the agent's purpose and expertise. When asked to run a subagent, choose the most appropriate agent from this list."),f.push(`Use the ${d.variable} tool with the agent name to run the subagent.`),k&&(f.push("<agent>"),f.push(`<name>${Ka}</name>`),f.push("<description>Full-capability agent for complex multi-step tasks requiring high-quality reasoning. Has access to the same tools and capabilities as the current agent and inherits the parent agent's model and system prompt. Use for tasks that don't fit a more specialized agent.</description>"),f.push("</agent>"));for(let H of N)O(H)?(f.push("<agent>"),f.push(`<name>${H.name}</name>`),H.description&&f.push(`<description>${H.description}</description>`),H.argumentHint&&f.push(`<argumentHint>${H.argumentHint}</argumentHint>`),f.push("</agent>"),o.debugDetails.push({category:"custom-agent",name:H.name,uri:H.uri}),Q2(H.uri)&&n.claudeAgentsCount++):o.debugDetails.push({category:"skipped",name:H.name,uri:H.uri,reason:p(9845,null)});f.push("</agents>","","")}}if(f.length===0)return;let x=f.join(`
`),C=[],E=k=>{if(k){let O=x.indexOf(k.variable);for(;O>=0;)C.push(DL(k.tool,new uo(O,O+k.variable.length))),O=x.indexOf(k.variable,O+1)}};return E(l),E(d),E(c),_L(x,!0,C)}async _addReferencedInstructions(t,e,n,o){if(!this._configurationService.getValue(gi.INCLUDE_REFERENCED_INSTRUCTIONS)&&this._modeKind!=="edit"){this._logService.trace("[InstructionsContextComputer] includeReferencedInstructions is disabled and agent kind is not Edit. No referenced instructions will be added.");return}let s=new er,a=[];for(let d of t.asArray())Cf(d)&&(s.has(d.value)||(a.push(d.value),s.add(d.value)));let l=a.pop();for(;l;){let d=await this._parseInstructionsFile(l,o);if(d&&d.body){let c=[];for(let u of d.body.fileReferences){let m=d.body.resolveFilePath(u.content);m&&!s.has(m)&&(SA(m)||this._workspaceService.getWorkspaceFolder(m)!==void 0)&&(c.push({resource:m}),s.add(m))}if(c.length>0){let u=await this._fileService.resolveAll(c);for(let m=0;m<u.length;m++){let g=u[m],v=c[m].resource;if(g.success&&g.stat?.isFile){SA(v)&&a.push(v);let f=p(9856,null,tt(l));t.add(Va(v,"vscode.instructions.file.reference",f,!0)),e.referencedInstructionsCount++,n.debugDetails.push({category:"referenced",name:tt(v).toString(),uri:v,reason:f}),this._logService.trace(`[InstructionsContextComputer] ${v.toString()} added, referenced by ${l.toString()}`)}}}}l=a.pop()}}};rg=R([S(4,CT),S(5,ae),S(6,q2),S(7,bn),S(8,La),S(9,Cs),S(10,dm),S(11,Oi),S(12,Du),S(13,Y2)],rg);function j9(i,t){if(i.scheme===K.file||i.scheme===K.vscodeRemote){let e=i.fsPath;return t!==void 0?t===1?e.replace(/\//g,"\\"):e.replace(/\\/g,"/"):e}return i.toString()}function Q9(i,t,e){let n=e.defaultChatAgent?.chatExtensionId;if(!n)return!1;let o=Se.equals(t,n),r=i.path.includes("/github/");return o&&r}function Z2(i,t,e){if(i.storage!=="extension")return!1;let n=e.defaultChatAgent?.chatExtensionId;return!n||!Se.equals(i.extensionId,n)?!1:!Q9(t,i.extensionId,e)}function TT(i){return{content:[{kind:"text",value:i}]}}var J9=`Launch a new agent to handle complex, multi-step tasks autonomously. This tool is good at researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries, use this agent to perform the search for you.

- Agents do not run async or in the background, you will wait for the agent's result.
- When the agent is done, it will return a single message back to you. The result returned by the agent is not visible to the user. To show the user the result, you should send a text message back to the user with a concise summary of the result.
- Each agent invocation is stateless. You will not be able to send additional messages to the agent, nor will the agent be able to communicate with you outside of its final report. Therefore, your prompt should contain a highly detailed task description for the agent to perform autonomously and you should specify exactly what information the agent should return back to you in its final and only message to you.
- The agent's outputs should generally be trusted
- Clearly tell the agent whether you expect it to write code or just to do research (search, file reads, web fetches, etc.), since it is not aware of the user's intent
- If the user asks for a certain agent, you MUST provide that EXACT agent name (case-sensitive) to invoke that specific agent.`,X9=5,fi=class extends V{constructor(e,n,o,r,s,a,l,d,c){super();this.chatAgentService=e;this.chatService=n;this.languageModelToolsService=o;this.languageModelsService=r;this.logService=s;this.configurationService=a;this.promptsService=l;this.instantiationService=d;this.productService=c;this._onDidUpdateToolData=this._register(new w);this.onDidUpdateToolData=this._onDidUpdateToolData.event;this._resolvedModels=new Map;this._sessionDepth=new Map;this._register(Le.filter(this.configurationService.onDidChangeConfiguration,u=>u.affectsConfiguration("chat.generalPurposeAgent.enabled"))(()=>this._onDidUpdateToolData.fire()))}static{this.Id="runSubagent"}getToolData(){let e=J9,n=this.configurationService.getValue("chat.generalPurposeAgent.enabled"),o={prompt:{type:"string",description:"A detailed description of the task for the agent to perform"},description:{type:"string",description:"A short (3-5 word) description of the task"}};o.agentName={type:"string",description:n?"Name of the agent to invoke.":"Optional name of a specific agent to invoke. If not provided, uses the current agent."},o.model={type:"string",description:'Optional model for the subagent. Format: "Model Name (Vendor)", vendor is usually "copilot". Only use to enforce a specific model.'};let r=["prompt","description"];n&&r.push("agentName");let s={type:"object",properties:o,required:r};return{id:fi.Id,toolReferenceName:Of.runSubagent,icon:Je.fromId(le.organization.id),displayName:p(10241,null),userDescription:p(10242,null),modelDescription:e,source:jt.Internal,inputSchema:s}}async invoke(e,n,o,r){let s=e.parameters;if(this.logService.debug(`RunSubagentTool: Invoking with prompt: ${s.prompt.substring(0,100)}...`),!e.context)throw new Error("toolInvocationToken is required for this tool");let a=this.chatService.getSession(e.context.sessionResource);if(!a)throw new Error("Chat model not found for session");let l=a.getRequests().at(-1),d=new J;try{let c=this.chatAgentService.getDefaultAgent("panel","agent");if(!c)return TT("Error: No default agent available");let u=e.modelId,m=e.userSelectedTools,g,v,f,x=s.agentName,C=this.configurationService.getValue("chat.generalPurposeAgent.enabled"),E=C&&(!x||x===Ka),k=E?Ka:x;if(x&&!E)if(v=await this.getSubAgentByName(x),v){let ne=this._resolvedModels.get(e.callId);if(ne)this._resolvedModels.delete(e.callId),u=ne.modeModelId,f=ne.resolvedModelName;else{let Re=this.resolveSubagentModel(v,e.modelId,s.model);u=Re.modeModelId,f=Re.resolvedModelName}let ue=v.tools;if(ue){let Re=this.languageModelToolsService.toToolAndToolSetEnablementMap(ue,void 0);m={};for(let[dt,wt]of Re)FN(dt)||(m[dt.id]=wt)}let Ke=v.agentInstructions;g=Ke&&{name:x,content:Ke.content,toolReferences:this.languageModelToolsService.toToolReferences(Ke.toolReferences),metadata:Ke.metadata,isBuiltin:Z2(v.source,v.uri,this.productService)}}else{this._resolvedModels.delete(e.callId);let ne=" Try again with the correct agent name, or omit agentName to use the current agent.",ue=C?` Additionally, you can use '${Ka}' for a full-capability agent.`:"";throw new Error(`Requested agent '${x}' not found.${ne}${ue}`)}else{let ne=this._resolvedModels.get(e.callId);if(ne)this._resolvedModels.delete(e.callId),u=ne.modeModelId,f=ne.resolvedModelName;else{let ue=this.resolveSubagentModel(void 0,e.modelId,s.model);u=ue.modeModelId,f=ue.resolvedModelName}}let O=[],N=e.chatStreamToolCallId??e.callId??`subagent-${We()}`,H=!1,q=ne=>{for(let ue of ne)ue.kind==="textEdit"||ue.kind==="notebookEdit"||ue.kind==="codeblockUri"?(ue.kind==="codeblockUri"&&!H&&(H=!0,a.acceptResponseProgress(l,{kind:"markdownContent",content:new xt("```\n")})),ue.kind==="codeblockUri"?a.acceptResponseProgress(l,{...ue,subAgentInvocationId:N}):a.acceptResponseProgress(l,ue)):ue.kind==="hook"?a.acceptResponseProgress(l,{...ue,subAgentInvocationId:N}):ue.kind==="markdownContent"&&(H&&(a.acceptResponseProgress(l,{kind:"markdownContent",content:new xt("\n```\n\n")}),H=!1),O.push(ue.content.value))},Q=this.configurationService.getValue("chat.subagents.allowInvocationsFromSubagents")??!1,z=Q?X9:0,$=e.context.sessionResource.toString(),oe=this._sessionDepth.get($)??0,he=oe+1<=z;m||(m={}),m[fi.Id]!==!1&&(m[fi.Id]=he),m[vA]=!1,m.copilot_askQuestions=!1,z>0&&this.logService.debug(`RunSubagentTool: Nested subagents enabling ${m[fi.Id]}: session ${$}, currentDepth: ${oe}, maxDepth: ${z}, allowInvocationsFromSubagents: ${Q}`);let Fe=new Pd;await this.instantiationService.createInstance(rg,"agent",m,void 0,wd(e.context.sessionResource)).collect(Fe,r);let j;try{j=(await this.promptsService.getHooks(r))?.hooks}catch(ne){this.logService.warn("[ChatService] Failed to collect hooks:",ne)}if(v?.hooks){let ne={...v.hooks};if(ne.Stop){let ue=ne.Stop;ne.SubagentStop=ne.SubagentStop?[...ne.SubagentStop,...ue]:ue,ne.Stop=void 0}j=AN(j,ne)}let re={sessionResource:e.context.sessionResource,requestId:e.callId??`subagent-${Date.now()}`,agentId:c.id,message:s.prompt,variables:{variables:Fe.asArray()},location:"panel",subAgentInvocationId:N,subAgentName:k,userSelectedModelId:u,modelConfiguration:u?this.languageModelsService.getModelConfiguration(u):void 0,userSelectedTools:m,modeInstructions:g,parentRequestId:e.chatRequestId,hooks:j,hasHooksEnabled:!!j&&Object.values(j).some(ne=>ne&&ne.length>0)};d.add(this.languageModelToolsService.onDidInvokeTool(ne=>{ne.subagentInvocationId===N&&(O.length=0)})),this._sessionDepth.set($,oe+1);let Z;try{Z=await this.chatAgentService.invokeAgent(c.id,re,q,[],r)}finally{let ne=(this._sessionDepth.get($)??1)-1;ne<=0?this._sessionDepth.delete($):this._sessionDepth.set($,ne)}if(Z?.errorDetails)return TT(`Agent error: ${Z.errorDetails.message}`);let se=O.join("").replace(/^\n*```\n+```\n*/g,"").trim()||"Agent completed with no output";return e.toolSpecificData?.kind==="subagent"&&(e.toolSpecificData.result=se,e.toolSpecificData.modelName=f),{content:[{kind:"text",value:se}],toolMetadata:{subAgentInvocationId:N,description:s.description,agentName:re.subAgentName,modelName:f}}}catch(c){let u=`Error invoking subagent: ${c instanceof Error?c.message:"Unknown error"}`;return this.logService.error(u,c),TT(u)}finally{d.dispose()}}async getSubAgentByName(e){return(await this.promptsService.getCustomAgents(ye.None)).find(o=>o.name===e&&o.enabled)}checkMultiplierConstraint(e,n){if(!n||e===n)return{exceeds:!1};let o=this.languageModelsService.lookupLanguageModel(n),r=this.languageModelsService.lookupLanguageModel(e),s=o?.multiplierNumeric,a=r?.multiplierNumeric;return s!==void 0&&a!==void 0&&a>s?{exceeds:!0,reason:`exceeds the current model's cost tier (${a}x vs ${s}x)`}:{exceeds:!1}}getAvailableModelsInfo(e){let n=this.languageModelsService.getLanguageModelIds().map(a=>({id:a,metadata:this.languageModelsService.lookupLanguageModel(a)})).filter(a=>!!a.metadata&&Vf.suitableForAgentMode(a.metadata)&&a.metadata.isUserSelectable!==!1&&!a.metadata.targetChatSessionType);if(n.length===0)return"No models available.";let o=[],r=[];for(let{id:a,metadata:l}of n){let d=Vf.asQualifiedName(l);this.checkMultiplierConstraint(a,e).exceeds?r.push(d):o.push(d)}let s=[];return o.length>0&&s.push(`Available models: ${o.join(", ")}`),r.length>0&&s.push(`Unavailable (exceeds current model's cost tier): ${r.join(", ")}`),s.join(". ")||"No models available."}resolveSubagentModel(e,n,o){let r=n,s=!1;if(o){let l=this.languageModelsService.lookupLanguageModelByQualifiedName(o);if(l?.identifier)r=l.identifier,s=!0;else throw new Error(`Requested model '${o}' not found. ${this.getAvailableModelsInfo(n)}`)}if(e&&!s){let l=e.model;if(l)for(let d of l){let c=this.languageModelsService.lookupLanguageModelByQualifiedName(d);if(c?.identifier){r=c.identifier;break}}}if(r){let l=this.checkMultiplierConstraint(r,n);if(l.exceeds){let d=this.languageModelsService.lookupLanguageModel(r);throw new Error(`Requested model '${d?.name}' ${l.reason}. ${this.getAvailableModelsInfo(n)}`)}}let a=r?this.languageModelsService.lookupLanguageModel(r):void 0;return{modeModelId:r,resolvedModelName:a?.name}}async prepareToolInvocation(e,n){let o=e.parameters,s=this.configurationService.getValue("chat.generalPurposeAgent.enabled")&&(!o.agentName||o.agentName===Ka),a=o.agentName&&!s?await this.getSubAgentByName(o.agentName):void 0,l=this.resolveSubagentModel(a,e.modelId,o.model);return this._resolvedModels.set(e.toolCallId,l),{invocationMessage:o.description,toolSpecificData:{kind:"subagent",description:o.description,agentName:s?Ka:a?.name??o.agentName,prompt:o.prompt,modelName:l.resolvedModelName}}}};fi=R([S(0,IT),S(1,Yo),S(2,Du),S(3,$y),S(4,ae),S(5,bn),S(6,CT),S(7,Po),S(8,xu)],fi);var eH=A("chatEditingService");var mKe=new T("chatEditingWidgetFileState",void 0,p(9773,null)),gKe=new T("chatEditingAgentSupportsReadonlyReferences",void 0,p(9772,null)),fKe=new T("decidedChatEditingResource",[]),hKe=new T("chatEditingResource",void 0),vKe=new T("inChatEditingSession",void 0),bKe=new T("hasUndecidedChatEditingResource",!1),yKe=new T("hasAppliedChatEdits",!1),IKe=new T("applyingChatEditsFailed",!1);function EA(i){return I2(i)&&(i={kind:"terminal",commandLine:{original:i.command,toolEdited:void 0,userEdited:void 0},language:i.language}),i}var cv=class i{constructor(t,e,n,o,r,s={},a){this.toolCallId=n;this.kind="toolInvocation";this.isAttachedToThinking=!1;this._toolSpecificDataKind=un(this,void 0);this.toolSpecificDataKind=this._toolSpecificDataKind;this._progress=un(this,{progress:0});this._partialInput=un(this,void 0);this._streamingMessage=un(this,void 0);let l="";s.startInStreaming?l=e.displayName:s.startInCancelled&&(l=s.cancelReasonMessage??p(9805,null,e.displayName)),this.invocationMessage=t?.invocationMessage??l,this.pastTenseMessage=t?.pastTenseMessage,this.originMessage=t?.originMessage,this.confirmationMessages=t?.confirmationMessages,this.presentation=t?.presentation,this.toolSpecificData=t?.toolSpecificData,this.toolId=e.id,this.icon=t?.icon??(e.icon&&Je.isThemeIcon(e.icon)?e.icon:void 0),this.source=e.source,this.subAgentInvocationId=o,this.parameters=r,this.chatRequestId=a,s.startInCancelled?this._state=un(this,{type:pt.StateKind.Cancelled,reason:s.cancelReason??0,reasonMessage:s.cancelReasonMessage,parameters:this.parameters,confirmationMessages:this.confirmationMessages}):s.startInStreaming?this._state=un(this,{type:pt.StateKind.Streaming,partialInput:this._partialInput,streamingMessage:this._streamingMessage}):this.confirmationMessages?.title?this._state=un(this,{type:pt.StateKind.WaitingForConfirmation,parameters:this.parameters,confirmationMessages:this.confirmationMessages,confirm:d=>{d.type===0||d.type===5?this._state.set({type:pt.StateKind.Cancelled,reason:d.type,parameters:this.parameters,confirmationMessages:this.confirmationMessages},void 0):this._state.set({type:pt.StateKind.Executing,confirmed:d,progress:this._progress,parameters:this.parameters,confirmationMessages:this.confirmationMessages},void 0)}}):this._state=un(this,{type:pt.StateKind.Executing,confirmed:{type:1,reason:this.confirmationMessages?.confirmationNotNeededReason},progress:this._progress,parameters:this.parameters,confirmationMessages:this.confirmationMessages})}get toolSpecificData(){return this._toolSpecificData}set toolSpecificData(t){this._toolSpecificData=t,this._toolSpecificDataKind.set(t?.kind,void 0)}get state(){return this._state}static createStreaming(t){return new i(void 0,t.toolData,t.toolCallId,t.subagentInvocationId,void 0,{startInStreaming:!0},t.chatRequestId)}static createCancelled(t,e,n,o){return new i(void 0,t.toolData,t.toolCallId,t.subagentInvocationId,e,{startInCancelled:!0,cancelReason:n,cancelReasonMessage:o},t.chatRequestId)}updatePartialInput(t){this._state.get().type===pt.StateKind.Streaming&&this._partialInput.set(t,void 0)}updateStreamingMessage(t){this._state.get().type===pt.StateKind.Streaming&&this._streamingMessage.set(t,void 0)}notifyToolSpecificDataChanged(){let t=this._state.get();this._state.set({...t},void 0)}cancelFromStreaming(t,e){return this._state.get().type!==pt.StateKind.Streaming?!1:(this._state.set({type:pt.StateKind.Cancelled,reason:t,reasonMessage:e,parameters:this.parameters,confirmationMessages:this.confirmationMessages},void 0),!0)}transitionFromStreaming(t,e,n){if(this._state.get().type!==pt.StateKind.Streaming)return;let r=this._streamingMessage.get();r&&!t?.invocationMessage&&(this.invocationMessage=r),this.parameters=e,t&&(t.invocationMessage&&(this.invocationMessage=t.invocationMessage),this.pastTenseMessage=t.pastTenseMessage,this.confirmationMessages=t.confirmationMessages,this.presentation=t.presentation,this.toolSpecificData=t.toolSpecificData);let s=a=>{a.type===0||a.type===5?this._state.set({type:pt.StateKind.Cancelled,reason:a.type,parameters:this.parameters,confirmationMessages:this.confirmationMessages},void 0):this._state.set({type:pt.StateKind.Executing,confirmed:a,progress:this._progress,parameters:this.parameters,confirmationMessages:this.confirmationMessages},void 0)};n?s(n):this.confirmationMessages?.title?this._state.set({type:pt.StateKind.WaitingForConfirmation,parameters:this.parameters,confirmationMessages:this.confirmationMessages,confirm:s},void 0):this._state.set({type:pt.StateKind.Executing,confirmed:{type:1,reason:this.confirmationMessages?.confirmationNotNeededReason},progress:this._progress,parameters:this.parameters,confirmationMessages:this.confirmationMessages},void 0)}_setCompleted(t,e){if(e&&(e.type===0||e.type===5)){this._state.set({type:pt.StateKind.Cancelled,reason:e.type,parameters:this.parameters,confirmationMessages:this.confirmationMessages},void 0);return}this._state.set({type:pt.StateKind.Completed,confirmed:pt.executionConfirmedOrDenied(this)||{type:1},resultDetails:t?.toolResultDetails,postConfirmed:e,contentForModel:t?.content||[],parameters:this.parameters,confirmationMessages:this.confirmationMessages},void 0)}async didExecuteTool(t,e,n){if(t?.toolResultMessage?this.pastTenseMessage=t.toolResultMessage:this._progress.get().message&&(this.pastTenseMessage=this._progress.get().message),this.confirmationMessages?.confirmResults&&!t?.toolResultError&&t?.confirmResults!==!1&&!e){let o=await n?.();o?this._setCompleted(t,o):this._state.set({type:pt.StateKind.WaitingForPostApproval,confirmed:pt.executionConfirmedOrDenied(this)||{type:1},resultDetails:t?.toolResultDetails,contentForModel:t?.content||[],confirm:r=>this._setCompleted(t,r),parameters:this.parameters,confirmationMessages:this.confirmationMessages},void 0)}else this._setCompleted(t);return this._state.get()}acceptProgress(t){let e=this._progress.get();this._progress.set({progress:t.progress||e.progress||0,message:t.message},void 0)}toJSON(){let t=this.state.get().type===pt.StateKind.WaitingForPostApproval,e=t?void 0:pt.resultDetails(this);return{kind:"toolInvocationSerialized",presentation:this.presentation,invocationMessage:this.invocationMessage,pastTenseMessage:this.pastTenseMessage,originMessage:this.originMessage,isConfirmed:t?{type:5}:pt.executionConfirmedOrDenied(this),isComplete:!0,source:this.source,resultDetails:UN(e)?{output:{type:"data",mimeType:e.output.mimeType,base64Data:oo(e.output.value)}}:e,toolSpecificData:this.toolSpecificData,toolCallId:this.toolCallId,toolId:this.toolId,subAgentInvocationId:this.subAgentInvocationId,generatedTitle:this.generatedTitle}}};var Z9;(t=>{function i(e,n){return e.text===n.text&&MP(e.parts,n.parts,(o,r)=>o.kind===r.kind&&uo.equals(o.range,r.range)&&Ne.equalsRange(o.editorRange,r.editorRange)&&o.text===r.text)}t.equals=i})(Z9||={});var ig=class i{constructor(t,e,n){this.range=t;this.editorRange=e;this.text=n;this.kind=i.Kind}static{this.Kind="text"}get promptText(){return this.text}},MT="#",ez="@",uv="/",ET=class i{constructor(t,e,n,o,r){this.range=t;this.editorRange=e;this.variableName=n;this.variableArg=o;this.variableId=r;this.kind=i.Kind}static{this.Kind="var"}get text(){let t=this.variableArg?`:${this.variableArg}`:"";return`${MT}${this.variableName}${t}`}get promptText(){return this.text}},wT=class i{constructor(t,e,n,o,r,s){this.range=t;this.editorRange=e;this.toolName=n;this.toolId=o;this.displayName=r;this.icon=s;this.kind=i.Kind}static{this.Kind="tool"}get text(){return`${MT}${this.toolName}`}get promptText(){return this.text}toVariableEntry(){return{kind:"tool",id:this.toolId,name:this.toolName,range:this.range,value:void 0,icon:Je.isThemeIcon(this.icon)?this.icon:void 0,fullName:this.displayName}}},kT=class i{constructor(t,e,n,o,r,s){this.range=t;this.editorRange=e;this.id=n;this.name=o;this.icon=r;this.tools=s;this.kind=i.Kind}static{this.Kind="toolset"}get text(){return`${MT}${this.name}`}get promptText(){return this.text}toVariableEntry(){return{kind:"toolset",id:this.id,name:this.name,range:this.range,icon:this.icon,value:this.tools}}},PT=class i{constructor(t,e,n){this.range=t;this.editorRange=e;this.agent=n;this.kind=i.Kind}static{this.Kind="agent"}get text(){return`${ez}${this.agent.name}`}get promptText(){return""}},_T=class i{constructor(t,e,n){this.range=t;this.editorRange=e;this.command=n;this.kind=i.Kind}static{this.Kind="subcommand"}get text(){return`${uv}${this.command.name}`}get promptText(){return""}},DT=class i{constructor(t,e,n){this.range=t;this.editorRange=e;this.slashCommand=n;this.kind=i.Kind}static{this.Kind="slash"}get text(){return`${uv}${this.slashCommand.command}`}get promptText(){return`${uv}${this.slashCommand.command}`}},RT=class i{constructor(t,e,n,o){this.range=t;this.editorRange=e;this.name=n;this.kind=i.Kind;o!==void 0&&(this.displayText=o)}static{this.Kind="prompt"}get text(){return this.displayText??`${uv}${this.name}`}get promptText(){return this.displayText??`${uv}${this.name}`}},AT=class i{constructor(t,e,n,o,r,s,a,l,d,c,u){this.range=t;this.editorRange=e;this.text=n;this.id=o;this.modelDescription=r;this.data=s;this.fullName=a;this.icon=l;this.isFile=d;this.isDirectory=c;this._meta=u;this.kind=i.Kind}static{this.Kind="dynamic"}get referenceText(){return this.text.replace(MT,"")}get promptText(){return this.text}toVariableEntry(){return this.id==="vscode.problems"?xf.toEntry(this.data.filter):{kind:this.isDirectory?"directory":this.isFile?"file":"generic",id:this.id,name:this.referenceText,range:this.range,value:this.data,fullName:this.fullName,icon:this.icon,_meta:this._meta}}};function tH(i){return{text:i.text,parts:i.parts.map(t=>{if(t.kind===ig.Kind)return new ig(new uo(t.range.start,t.range.endExclusive),t.editorRange,t.text);if(t.kind===ET.Kind)return new ET(new uo(t.range.start,t.range.endExclusive),t.editorRange,t.variableName,t.variableArg,t.variableId||"");if(t.kind===wT.Kind)return new wT(new uo(t.range.start,t.range.endExclusive),t.editorRange,t.toolName,t.toolId,t.displayName,t.icon);if(t.kind===kT.Kind)return new kT(new uo(t.range.start,t.range.endExclusive),t.editorRange,t.id,t.name,t.icon,t.tools??[]);if(t.kind===PT.Kind){let e=t.agent;return e=xT(e),new PT(new uo(t.range.start,t.range.endExclusive),t.editorRange,e)}else{if(t.kind===_T.Kind)return new _T(new uo(t.range.start,t.range.endExclusive),t.editorRange,t.command);if(t.kind===DT.Kind)return new DT(new uo(t.range.start,t.range.endExclusive),t.editorRange,t.slashCommand);if(t.kind===RT.Kind)return new RT(new uo(t.range.start,t.range.endExclusive),t.editorRange,t.name,t.displayText);if(t.kind===AT.Kind)return new AT(new uo(t.range.start,t.range.endExclusive),t.editorRange,t.text,t.id,t.modelDescription,_t(t.data),t.fullName,t.icon,t.isFile,t.isDirectory,t._meta);throw new Error(`Unknown chat request part: ${t.kind}`)}})}}var rH;(t=>{function i(e){return{variables:e.variables.map(Ha.toExport)}}t.toExport=i})(rH||={});var hi={reason:"other"},OT=class{constructor(t){this._shouldBeBlocked=un(this,!1);this._version=0;this._session=t.session,this.message=t.message,this._variableData=t.variableData,this.timestamp=t.timestamp,this._attempt=t.attempt??0,this.modeInfo=t.modeInfo,this._confirmation=t.confirmation,this._locationData=t.locationData,this._attachedContext=t.attachedContext,this.isCompleteAddedRequest=t.isCompleteAddedRequest??!1,this.modelId=t.modelId,this.id=t.restoredId??"request_"+We(),this._editedFileEvents=t.editedFileEvents,this.userSelectedTools=t.userSelectedTools,this.isSystemInitiated=t.isSystemInitiated,this.systemInitiatedLabel=t.systemInitiatedLabel,this.terminalExecutionId=t.terminalExecutionId}get shouldBeBlocked(){return this._shouldBeBlocked}setShouldBeBlocked(t){this._shouldBeBlocked.set(t,void 0)}get session(){return this._session}get attempt(){return this._attempt}get variableData(){return this._variableData}set variableData(t){this._version++,this._variableData=t}get confirmation(){return this._confirmation}get locationData(){return this._locationData}get attachedContext(){return this._attachedContext}get editedFileEvents(){return this._editedFileEvents}get version(){return this._version}adoptTo(t){this._session=t}},LT=class{get value(){return this._responseParts}constructor(t){this._responseParts=t}toString(){return this._responseRepr===void 0&&(this._responseRepr=this.computeRepr()),this._responseRepr}getMarkdown(){return this._markdownContent===void 0&&(this._markdownContent=this.computeMarkdownContent()),this._markdownContent}getFinalResponse(){let t=this._responseParts,e=t.length-1;for(;e>=0;){let s=t[e];if(s.kind==="markdownContent"||s.kind==="markdownVuln"){if(s.content.value.length>0)break}else if(s.kind==="inlineReference")break;e--}if(e<0)return"";let n=e;for(;e>=0;){let s=t[e];if(s.kind==="markdownContent"||s.kind==="markdownVuln"||s.kind==="inlineReference")e--;else break}let o=e+1,r=[];for(let s=o;s<=n;s++){let a=t[s];a.kind==="inlineReference"?r.push(this.inlineRefToRepr(a)):(a.kind==="markdownContent"||a.kind==="markdownVuln")&&a.content.value.length>0&&r.push(a.content.value)}return r.join("")}_invalidateRepr(){this._responseRepr=void 0,this._markdownContent=void 0}computeMarkdownContent(){let t=[];for(let e of this._responseParts)e.kind==="inlineReference"?t.push(this.inlineRefToRepr(e)):(e.kind==="markdownContent"||e.kind==="markdownVuln")&&e.content.value.length>0&&t.push(e.content.value);return t.join("")}computeRepr(){return this.partsToRepr(this._responseParts)}partsToRepr(t){let e=[],n=[],o=!1;for(let r of t){let s;switch(r.kind){case"clearToPreviousToolInvocation":n=[],e.length=0,o=!1;continue;case"treeData":case"progressMessage":case"codeblockUri":case"extensions":case"pullRequest":case"undoStop":case"workspaceEdit":case"externalEdit":case"elicitation2":case"elicitationSerialized":case"thinking":case"hook":case"multiDiffData":case"mcpServersStarting":case"questionCarousel":case"planReview":case"disabledClaudeHooks":continue;case"toolInvocation":case"toolInvocationSerialized":s=this.getToolInvocationText(r);break;case"inlineReference":s={text:this.inlineRefToRepr(r)};break;case"command":s={text:r.command.title,isBlock:!0};break;case"textEditGroup":case"notebookEditGroup":o=!0;continue;case"confirmation":if(r.message instanceof xt){s={text:`${r.title}
${r.message.value}`,isBlock:!0};break}s={text:`${r.title}
${r.message}`,isBlock:!0};break;case"markdownContent":case"markdownVuln":case"progressTask":case"progressTaskSerialized":case"warning":case"info":s={text:r.content.value};break;default:continue}s.isBlock?(n.length&&(e.push(n.join("")),n=[]),e.push(s.text)):n.push(s.text)}return n.length&&e.push(n.join("")),o&&e.push(p(9800,null)),e.join(`

`)}inlineRefToRepr(t){return"uri"in t.inlineReference?this.uriToRepr(t.inlineReference.uri):"name"in t.inlineReference?"`"+t.inlineReference.name+"`":this.uriToRepr(t.inlineReference)}getToolInvocationText(t){let e=s=>s.presentationOverrides?.commandLine??s.commandLine.forDisplay??s.commandLine.userEdited??s.commandLine.toolEdited??s.commandLine.original,n="",o="";if(t.pastTenseMessage?n=typeof t.pastTenseMessage=="string"?t.pastTenseMessage:t.pastTenseMessage.value:n=typeof t.invocationMessage=="string"?t.invocationMessage:t.invocationMessage.value,t.toolSpecificData&&t.toolSpecificData.kind==="terminal"){n="Ran terminal command";let s=EA(t.toolSpecificData);o=e(s)}let r=n;if(o&&(r+=`: ${o}`),t.kind==="toolInvocationSerialized"||t.kind==="toolInvocation"&&pt.isComplete(t)){let s=pt.resultDetails(t);if(s&&"input"in s){let a=t.kind==="toolInvocationSerialized"||pt.isComplete(t)?"Completed":"Errored",l=t.toolSpecificData?.kind==="terminal"?e(EA(t.toolSpecificData)):s.input;r+=`
${a} with input: ${l}`}}return{text:r,isBlock:!0}}uriToRepr(t){return t.scheme===K.http||t.scheme===K.https?t.toString(!1):tt(t)}},wA=class extends LT{constructor(e,n){let o=e.value.findIndex(r=>r.kind==="undoStop"&&r.id===n);e.value[o+1]?.kind==="codeblockUri"&&e.value[o-1]?.kind==="markdownContent"&&o--;super(o===-1?e.value.slice():e.value.slice(0,o));this.undoStop=n}},kA=class extends LT{constructor(e){super(gn(e).map(n=>"kind"in n?n:bo(n)?{content:n,kind:"markdownContent"}:{kind:"treeData",treeData:n}));this._store=new J;this._onDidChangeValue=this._store.add(new w);this._citations=[]}get onDidChangeValue(){return this._onDidChangeValue.event}dispose(){this._store.dispose()}clear(){this._responseParts=[],this._contentChanged(!0)}clearToPreviousToolInvocation(e){let n=-1;for(let o=this._responseParts.length-1;o>=0;o--){let r=this._responseParts[o];if(r.kind==="toolInvocation"||r.kind==="toolInvocationSerialized"){n=o;break}}n!==-1?this._responseParts=this._responseParts.slice(0,n+1):this._responseParts=[],e&&this._responseParts.push({kind:"warning",content:new xt(e)}),this._contentChanged(!0)}updateContent(e,n){if(e.kind==="clearToPreviousToolInvocation"){e.reason===2?this.clearToPreviousToolInvocation(p(9799,null)):e.reason===1?this.clearToPreviousToolInvocation(p(9801,null)):this.clearToPreviousToolInvocation();return}else if(e.kind==="markdownContent"){let o=this._responseParts.filter(r=>r.kind!=="textEditGroup").at(-1);if(!o||o.kind!=="markdownContent"||!nH(o.content,e.content))this._responseParts.push(e);else{let r=this._responseParts.indexOf(o);this._responseParts[r]={...o,content:oH(o.content,e.content)}}this._contentChanged(n)}else if(e.kind==="thinking"){let o=this._responseParts.filter(l=>l.kind!=="textEditGroup").at(-1),r=o&&o.kind==="thinking"?Array.isArray(o.value)?o.value.join(""):o.value||"":"",s=Array.isArray(e.value)?e.value.join(""):e.value||"",a=l=>l.length===0;if(!o||o.kind!=="thinking"||a(s)||a(r)||!nH(new xt(r),new xt(s)))this._responseParts.push(e);else{let l=this._responseParts.indexOf(o);this._responseParts[l]={...o,value:oH(new xt(r),new xt(s)).value}}this._contentChanged(n)}else if(e.kind==="textEdit"||e.kind==="notebookEdit"){let o=zf.parse(e.uri)?.notebook,r=o??e.uri,s=e.isExternalEdit;if(e.kind==="textEdit"&&!o)this._mergeOrPushTextEditGroup(r,e.edits,e.done,s);else if(e.kind==="textEdit"){let a=e.edits.map(l=>({uri:e.uri,edit:l}));this._mergeOrPushNotebookEditGroup(r,a,e.done,s)}else this._mergeOrPushNotebookEditGroup(r,e.edits,e.done,s);this._contentChanged(n)}else if(e.kind==="progressTask"){let o=this._responseParts.push(e)-1;this._contentChanged(n);let r=e.onDidAddProgress(()=>{this._contentChanged(!1)});e.task?.().then(s=>{r.dispose(),typeof s=="string"&&(this._responseParts[o].content=new xt(s)),this._contentChanged(!1)})}else e.kind==="toolInvocation"?(BP(this._store,o=>{e.state.read(o),this._contentChanged(!1),pt.isComplete(e,o)&&o.dispose()}),this._responseParts.push(e),this._contentChanged(n)):e.kind==="externalToolInvocationUpdate"?(this._handleExternalToolInvocationUpdate(e),this._contentChanged(n)):(this._responseParts.push(e),this._contentChanged(n))}addCitation(e){this._citations.push(e),this._contentChanged()}resolveInlineReference(e,n){for(let o=0;o<this._responseParts.length;o++){let r=this._responseParts[o];if(!(r.kind!=="inlineReference"||r.resolveId!==e))return this._responseParts[o]={...r,inlineReference:n.inlineReference,name:n.name??r.name},this._contentChanged(),!0}return!1}_mergeOrPushTextEditGroup(e,n,o,r){for(let s of this._responseParts)if(s.kind==="textEditGroup"&&!s.done&&Cn(s.uri,e)){s.edits.push(n),s.done=o;return}this._responseParts.push({kind:"textEditGroup",uri:e,edits:[n],done:o,isExternalEdit:r})}_mergeOrPushNotebookEditGroup(e,n,o,r){for(let s of this._responseParts)if(s.kind==="notebookEditGroup"&&!s.done&&Cn(s.uri,e)){s.edits.push(n),s.done=o;return}this._responseParts.push({kind:"notebookEditGroup",uri:e,edits:[n],done:o,isExternalEdit:r})}_handleExternalToolInvocationUpdate(e){let n=this._responseParts.findLast(s=>s.kind==="toolInvocation"&&s.toolCallId===e.toolCallId);if(n){e.toolSpecificData!==void 0&&(n.toolSpecificData=e.toolSpecificData),e.isComplete&&n.didExecuteTool({content:[],toolResultMessage:e.pastTenseMessage,toolResultError:e.errorMessage,toolResultDetails:e.resultDetails});return}let o={id:e.toolName,source:jt.External,displayName:e.toolName,modelDescription:e.toolName},r=new cv({invocationMessage:e.invocationMessage,pastTenseMessage:e.pastTenseMessage,toolSpecificData:e.toolSpecificData},o,e.toolCallId,e.subagentInvocationId,void 0,{},void 0);e.isComplete&&(e.toolSpecificData!==void 0&&(r.toolSpecificData=e.toolSpecificData),r.didExecuteTool({content:[],toolResultMessage:e.pastTenseMessage,toolResultError:e.errorMessage,toolResultDetails:e.resultDetails})),this._responseParts.push(r)}computeRepr(){let e=super.computeRepr();return this._citations.length&&(e+=`

`+nz(this._citations)),e}_contentChanged(e){this._invalidateRepr(),e||this._onDidChangeValue.fire()}},sg=class extends V{constructor(e){super();this._onDidChange=this._register(new w);this.onDidChange=this._onDidChange.event;this._modelState=un(this,{value:0});this._usageObs=un(this,void 0);this._completionTokenCountObs=un(this,void 0);this._shouldBeBlocked=un(this,!1);this._contentReferences=[];this._codeCitations=[];this._progressMessages=[];this._isStale=!1;this._session=e.session,this._agent=e.agent,this._slashCommand=e.slashCommand,this.requestId=e.requestId,this._timestamp=e.timestamp||Date.now(),e.modelState&&this._modelState.set(e.modelState,void 0),this._timeSpentWaitingAccumulator=e.timeSpentWaiting||0,this._elapsedMs=e.elapsedMs,this._vote=e.vote,this._result=e.result,this._followups=e.followups?[...e.followups]:void 0,this.isCompleteAddedRequest=e.isCompleteAddedRequest??!1,this._shouldBeRemovedOnSend=e.shouldBeRemovedOnSend,this._shouldBeBlocked.set(e.shouldBeBlocked??!1,void 0),this._isStale=Array.isArray(e.responseContent)&&(e.responseContent.length!==0||bo(e.responseContent)&&e.responseContent.value.length!==0),this._response=this._register(new kA(e.responseContent)),this._codeBlockInfos=e.codeBlockInfos?[...e.codeBlockInfos]:void 0;let n=Rf(this,this.onDidChange),o=n.map((a,l)=>{n.read(l);for(let d of this._response.value){if(d.kind==="toolInvocation"){let c=d.state.read(l);if(c.type===pt.StateKind.WaitingForConfirmation){let u=c.confirmationMessages?.title;return u?bo(u)?u.value:u:void 0}if(c.type===pt.StateKind.WaitingForPostApproval)return p(9803,null)}if(d.kind==="confirmation"&&!d.isUsed)return d.title;if(d.kind==="questionCarousel"&&!d.isUsed)return p(9802,null);if(d.kind==="planReview"&&!d.isUsed)return p(9804,null);if(d.kind==="elicitation2"&&d.state.read(l)==="pending"){let c=d.title;return bo(c)?c.value:c}}}),r=o.map(a=>!!a).map(a=>a?Date.now():void 0);this.isPendingConfirmation=r.map((a,l)=>a?{startedWaitingAt:a,detail:o.read(l)}:void 0),this.isInProgress=n.map((a,l)=>(n.read(l),!o.read(l)&&!this.shouldBeRemovedOnSend&&(this._modelState.read(l).value===0||this._modelState.read(l).value===4))),this.isIncomplete=this._modelState.map(a=>a.value===0||a.value===4),this._register(this._response.onDidChangeValue(()=>this._onDidChange.fire(hi))),this.id=e.restoredId??"response_"+We();let s;this.confirmationAdjustedTimestamp=_s(a=>{let l=this.isPendingConfirmation.read(a);return l?(this._modelState.set({value:4},void 0),s||(s=l.startedWaitingAt)):s&&(this._modelState.read(a).value===4&&this._modelState.set({value:0},void 0),this._timeSpentWaitingAccumulator+=Date.now()-s,s=void 0),this._timestamp+this._timeSpentWaitingAccumulator}).recomputeInitiallyAndOnChange(this._store)}get shouldBeBlocked(){return this._shouldBeBlocked}get request(){return this.session.getRequests().find(e=>e.id===this.requestId)}get session(){return this._session}get shouldBeRemovedOnSend(){return this._shouldBeRemovedOnSend}get isComplete(){return this._modelState.get().value!==0&&this._modelState.get().value!==4}get timestamp(){return this._timestamp}set shouldBeRemovedOnSend(e){this._shouldBeRemovedOnSend!==e&&(this._shouldBeRemovedOnSend=e,this._onDidChange.fire(hi))}get isCanceled(){return this._modelState.get().value===2}get completedAt(){let e=this._modelState.get();if(e.value===1||e.value===2||e.value===3)return e.completedAt}get state(){let e=this._modelState.get().value;return e===1&&this._result?.errorDetails&&this.result?.errorDetails?.code!=="canceled"?3:e}get stateT(){return this._modelState.get()}get vote(){return this._vote}get followups(){return this._followups}get entireResponse(){return this._finalizedResponse||this._response}get result(){return this._result}get usage(){return this._usageObs.get()}get usageObs(){return this._usageObs}get completionTokenCount(){return this._completionTokenCountObs.get()}get completionTokenCountObs(){return this._completionTokenCountObs}get elapsedMs(){return this._elapsedMs}get username(){return this.session.responderUsername}get agent(){return this._agent}get slashCommand(){return this._slashCommand}get agentOrSlashCommandDetected(){return this._agentOrSlashCommandDetected??!1}get usedContext(){return this._usedContext}get contentReferences(){return Array.from(this._contentReferences)}get codeCitations(){return this._codeCitations}get progressMessages(){return this._progressMessages}get isStale(){return this._isStale}get response(){let e=this._shouldBeRemovedOnSend?.afterUndoStop;return e?(this._responseView?.undoStop!==e&&(this._responseView=new wA(this._response,e)),this._responseView):this._finalizedResponse||this._response}get codeBlockInfos(){return this._codeBlockInfos}initializeCodeBlockInfos(e){if(this._codeBlockInfos)throw new kt("Code block infos have already been initialized");this._codeBlockInfos=[...e]}setBlockedState(e){this._shouldBeBlocked.set(e,void 0)}updateContent(e,n){this._response.updateContent(e,n)}resolveInlineReference(e,n){return this._response.resolveInlineReference(e,n)}addUndoStop(e){this._onDidChange.fire({reason:"undoStop",id:e.id}),this._response.updateContent(e,!0)}applyReference(e){e.kind==="usedContext"?this._usedContext=e:e.kind==="reference"&&(this._contentReferences.push(e),this._onDidChange.fire(hi))}applyCodeCitation(e){this._codeCitations.push(e),this._response.addCitation(e),this._onDidChange.fire(hi)}setAgent(e,n){this._agent=e,this._slashCommand=n,this._agentOrSlashCommandDetected=!e.isDefault||!!n,this._onDidChange.fire(hi)}setResult(e){this._result=e,this._onDidChange.fire(hi)}setUsage(e){if(this.isSameUsage(e))return;this._usageObs.set(e,void 0);let n=this._completionTokenCountObs.get()??0;this._completionTokenCountObs.set(n+e.completionTokens,void 0),this._onDidChange.fire(hi)}isSameUsage(e){let n=this._usageObs.get();return!!n&&n.promptTokens===e.promptTokens&&n.completionTokens===e.completionTokens&&n.outputBuffer===e.outputBuffer&&Rt(n.promptTokenDetails,e.promptTokenDetails)}complete(){if(this.isComplete)return;this._result?.errorDetails?.responseIsRedacted&&this._response.clear(),this._elapsedMs=Math.max(0,Date.now()-this.confirmationAdjustedTimestamp.get());let e=this._result?.errorDetails&&this._result.errorDetails.code!=="canceled"?3:1;this._modelState.set({value:e,completedAt:Date.now()},void 0),this._onDidChange.fire({reason:"completedRequest"})}cancel(){for(let e of this._response.value)e.kind==="toolInvocation"&&e instanceof cv?e.cancelFromStreaming(5):e instanceof eg?e.dismiss():e instanceof Qm&&e.dismiss(void 0);this._modelState.set({value:2,completedAt:Date.now()},void 0),this._onDidChange.fire({reason:"completedRequest"})}setFollowups(e){this._followups=e,this._onDidChange.fire(hi)}setVote(e){this._vote=e,this._onDidChange.fire(hi)}setEditApplied(e,n){return!this.response.value.includes(e)||!e.state?!1:(e.state.applied=n,this._onDidChange.fire(hi),!0)}adoptTo(e){this._session=e,this._onDidChange.fire(hi)}finalizeUndoState(){this._finalizedResponse=this.response,this._responseView=void 0,this._shouldBeRemovedOnSend=void 0}dispose(){super.dispose(),this._response.clear(),this._codeBlockInfos&&(this._codeBlockInfos.length=0)}toJSON(){let e=this._modelState.get(),n=this.isPendingConfirmation.get();return{responseId:this.id,result:this.result,responseMarkdownInfo:this.codeBlockInfos?.map(o=>({suggestionId:o.suggestionId})),followups:this.followups,modelState:e.value===0||e.value===4?{value:2,completedAt:Date.now()}:e,vote:this.vote,slashCommand:this.slashCommand,usedContext:this.usedContext,contentReferences:this.contentReferences,codeCitations:this.codeCitations,timestamp:this._timestamp,timeSpentWaiting:(n?Date.now()-n.startedWaitingAt:0)+this._timeSpentWaitingAccumulator,completionTokens:this.completionTokenCount,elapsedMs:this.elapsedMs??(this.completedAt?Math.max(0,this.completedAt-this.confirmationAdjustedTimestamp.get()):void 0)}}};function iH(i){return!!i&&Array.isArray(i.requests)&&typeof i.responderUsername=="string"}function tz(i){let t=i;return iH(i)&&typeof t.creationDate=="number"&&typeof t.sessionId=="string"&&i.requests.every(e=>!e.usedContext||y2(e.usedContext))}var PA=class{constructor(t,e,n){this.logger=e;this.sessionId=n;this._state=ks({debugName:"inputModelState",equalsFn:Rt},t),this.state=this._state}setState(t){let e=this._state.get();oz(t,e,this.logger,this.sessionId),this._state.set({attachments:[],mode:{id:"agent",kind:"agent"},selectedModel:void 0,inputText:"",selections:[],contrib:{},...e,...t},void 0)}clearState(){this._state.set(void 0,void 0)}toJSON(){let t=this.state.get();if(!t)return;let e=t.attachments.filter(n=>!(EL(n)||TL(n)&&PL(n.value)));return{contrib:t.contrib,attachments:e.map(Ha.toExport),mode:t.mode,selectedModel:t.selectedModel?{identifier:t.selectedModel.identifier,metadata:t.selectedModel.metadata}:void 0,inputText:t.inputText,selections:t.selections,permissionLevel:t.permissionLevel}}},ag=class extends V{constructor(e,n,o,r,s,a){super();this.logService=o;this.chatAgentService=r;this.chatEditingService=s;this.chatService=a;this._onDidDispose=this._register(new w);this.onDidDispose=this._onDidDispose.event;this._onDidChange=this._register(new w);this.onDidChange=this._onDidChange.event;this._pendingRequests=[];this._onDidChangePendingRequests=this._register(new w);this.onDidChangePendingRequests=this._onDidChangePendingRequests.event;this._isImported=!1;this._isDeleted=!1;this._canUseTools=!0;this.currentEditedFileEvents=new $e;this._checkpoint=void 0;let l=e?.value,d=iH(l),c=d&&tz(l);l&&!d&&this.logService.warn(`ChatModel#constructor: Loaded malformed session data: ${JSON.stringify(l)}`),this._isImported=!!l&&d&&!c,n.resource?(this._sessionId=Fa(n.resource),this._sessionResource=n.resource):c?(this._sessionId=l.sessionId,this._sessionResource=cr.forSession(l.sessionId)):(this._sessionId=We(),this._sessionResource=cr.forSession(this._sessionId)),this._disableBackgroundKeepAlive=n.disableBackgroundKeepAlive??!1,this._requests=l?this._deserialize(l):[],this._timestamp=c&&l.creationDate||Date.now(),this._customTitle=c?l.customTitle:void 0;let u=n.inputState||(c&&l.inputState?l.inputState:void 0);if(this.inputModel=new PA(u&&{attachments:(u.attachments??[]).map(Ha.fromExport),mode:u.mode,selectedModel:u.selectedModel&&{identifier:u.selectedModel.identifier,metadata:u.selectedModel.metadata},contrib:u.contrib,inputText:u.inputText,selections:u.selections,permissionLevel:u.permissionLevel},this.logService,this._sessionId),this.dataSerializer=e?.serializer,this._initialResponderUsername=l?.responderUsername,this._repoData=c&&l.repoData?l.repoData:void 0,this._workingDirectory=c&&l.workingDirectory?y.parse(l.workingDirectory):void 0,c&&l.pendingRequests&&(this._pendingRequests=this._deserializePendingRequests(l.pendingRequests)),this._initialLocation=l?.initialLocation??n.initialLocation,this._canUseTools=n.canUseTools,this.lastRequestObs=ao(this,this.onDidChange,()=>this._requests.at(-1)),this._register(so(m=>{let g=this.lastRequestObs.read(m);g?.response&&m.store.add(g.response.onDidChange(async v=>{!this._editingSession||v.reason!=="completedRequest"||this._onDidChange.fire({kind:"completedRequest",request:g})}))})),this.requestInProgress=this.lastRequestObs.map((m,g)=>m?.response?.isInProgress.read(g)??!1),this.hasActiveRequest=this.lastRequestObs.map((m,g)=>m?.response?.isIncomplete.read(g)??!1),this.requestNeedsInput=this.lastRequestObs.map((m,g)=>{let v=m?.response?.isPendingConfirmation.read(g);if(v)return{title:this.title,detail:v.detail}}),this.initialLocation==="panel"&&!n.disableBackgroundKeepAlive){let m=this._register(new ln);this._register(so(g=>{let v=this.requestInProgress.read(g),f=this.requestNeedsInput.read(g),x=v||!!f;x&&!m.value?m.value=a.acquireExistingSession(this._sessionResource,"ChatModel#requestInProgressKeepAlive"):!x&&m.value&&m.clear()}))}}static getDefaultTitle(e){let n=e.at(0)?.message??"";return(typeof n=="string"?n:n.text).split(`
`)[0].substring(0,200)}get repoData(){return this._repoData}setRepoData(e){this._repoData=e}get workingDirectory(){return this._workingDirectory}setWorkingDirectory(e){this._workingDirectory=e}getPendingRequests(){return this._pendingRequests}setPendingRequests(e){let n=new Map(this._pendingRequests.map(r=>[r.request.id,r])),o=[];for(let{requestId:r,kind:s}of e){let a=n.get(r);a&&o.push(a.kind===s?a:{request:a.request,kind:s,sendOptions:a.sendOptions})}this._pendingRequests.length=0,this._pendingRequests.push(...o),this._onDidChangePendingRequests.fire()}addPendingRequest(e,n,o){let r={request:e,kind:n,sendOptions:o};if(n==="steering"){let s=0;for(let a=0;a<this._pendingRequests.length&&this._pendingRequests[a].kind==="steering";a++)s=a+1;this._pendingRequests.splice(s,0,r)}else this._pendingRequests.push(r);return this._onDidChangePendingRequests.fire(),r}removePendingRequest(e){let n=this._pendingRequests.findIndex(o=>o.request.id===e);n!==-1&&(this._pendingRequests.splice(n,1),this._onDidChangePendingRequests.fire())}dequeuePendingRequest(){let e=this._pendingRequests.shift();return e&&this._onDidChangePendingRequests.fire(),e}dequeueAllSteeringRequests(){let e=[];for(;this._pendingRequests.at(0)?.kind==="steering";)e.push(this._pendingRequests.shift());return e.length>0&&this._onDidChangePendingRequests.fire(),e}clearPendingRequests(){this._pendingRequests.length>0&&(this._pendingRequests.length=0,this._onDidChangePendingRequests.fire())}get sessionId(){return this._sessionId}get sessionResource(){return this._sessionResource}get hasRequests(){return this._requests.length>0}get lastRequest(){return this._requests.at(-1)}get timestamp(){return this._timestamp}get timing(){let e=this._requests.at(-1),n=e?.response,o=e?.timestamp,r=n?.completedAt??n?.timestamp;return{created:this._timestamp,lastRequestStarted:o,lastRequestEnded:r}}get lastMessageDate(){return this._requests.at(-1)?.timestamp??this._timestamp}get _defaultAgent(){return this.chatAgentService.getDefaultAgent("panel","ask")}get responderUsername(){return this._defaultAgent?.fullName??this._initialResponderUsername??""}get isImported(){return this._isImported}get isDeleted(){return this._isDeleted}markDeleted(){this._isDeleted=!0}get customTitle(){return this._customTitle}get title(){return this._customTitle||ag.getDefaultTitle(this._requests)}get hasCustomTitle(){return this._customTitle!==void 0}get editingSession(){return this._editingSession}get initialLocation(){return this._initialLocation}get canUseTools(){return this._canUseTools}get willKeepAlive(){return!this._disableBackgroundKeepAlive}startEditingSession(e,n){let o=this._editingSession??=this._register(n?this.chatEditingService.transferEditingSession(this,n):e?this.chatEditingService.startOrContinueGlobalEditingSession(this):this.chatEditingService.createEditingSession(this));if(!this._disableBackgroundKeepAlive){let r=this._register(new ln);this._register(so(s=>{let a=o.entries.read(s).some(l=>l.state.read(s)===0);a&&!r.value?r.value=this.chatService.acquireExistingSession(this._sessionResource,"ChatModel#modifiedEditsKeepAlive"):!a&&r.value&&r.clear()}))}this._register(so(r=>{this._setDisabledRequests(o.requestDisablement.read(r))}))}notifyEditingAction(e){let n=e.outcome==="accepted"?1:e.outcome==="rejected"?2:e.outcome==="userModified"?3:null;n!==null&&(!this.currentEditedFileEvents.has(e.uri)||this.currentEditedFileEvents.get(e.uri)?.eventKind===1)&&this.currentEditedFileEvents.set(e.uri,{eventKind:n,uri:e.uri})}_deserialize(e){let n=Rn(e,{serializer:!0})?e.value.requests:e.requests;if(!Array.isArray(n))return this.logService.error(`Ignoring malformed session data: ${JSON.stringify(e)}`),[];try{return n.map(o=>this._deserializeRequest(o))}catch(o){return this.logService.error("Failed to parse chat data",o),[]}}_deserializeRequest(e){let n=typeof e.message=="string"?this.getParsedRequestFromString(e.message):tH(e.message),o=this.reviveVariableData(e.variableData),r=new OT({session:this,message:n,variableData:o,timestamp:e.timestamp??-1,restoredId:e.requestId,confirmation:e.confirmation,editedFileEvents:e.editedFileEvents,modelId:e.modelId,modeInfo:e.modeInfo,isSystemInitiated:e.isSystemInitiated,systemInitiatedLabel:e.systemInitiatedLabel,terminalExecutionId:e.terminalExecutionId});if(r.shouldBeRemovedOnSend=e.isHidden?{requestId:e.requestId}:e.shouldBeRemovedOnSend,e.response||e.result||e.responseErrorDetails){let s=e.agent&&"metadata"in e.agent?xT(e.agent):void 0,a="responseErrorDetails"in e?{errorDetails:e.responseErrorDetails}:e.result,l=e.modelState||{value:e.isCanceled?2:1,completedAt:Date.now()};if((l.value===0||l.value===4)&&(l={value:2,completedAt:Date.now()}),e.response)for(let d of e.response)Rn(d,{kind:!0})&&(d.kind==="questionCarousel"||d.kind==="planReview")&&(d.isUsed=!0);r.response=new sg({responseContent:e.response??[new xt(e.response)],session:this,agent:s,slashCommand:e.slashCommand,requestId:r.id,modelState:l,vote:e.vote,timestamp:e.timestamp,result:a,followups:e.followups,restoredId:e.responseId,timeSpentWaiting:e.timeSpentWaiting,elapsedMs:e.elapsedMs,shouldBeBlocked:r.shouldBeBlocked.get(),codeBlockInfos:e.responseMarkdownInfo?.map(d=>({suggestionId:d.suggestionId}))}),r.response.shouldBeRemovedOnSend=e.isHidden?{requestId:e.requestId}:e.shouldBeRemovedOnSend,typeof e.completionTokens=="number"&&r.response.setUsage({kind:"usage",promptTokens:0,completionTokens:e.completionTokens}),e.usedContext&&r.response.applyReference(_t(e.usedContext)),e.contentReferences?.forEach(d=>r.response.applyReference(_t(d))),e.codeCitations?.forEach(d=>r.response.applyCodeCitation(_t(d)))}return r}reviveVariableData(e){let n=e&&Array.isArray(e.variables)?e:{variables:[]};return n.variables=n.variables.map(Ha.fromExport),n}getParsedRequestFromString(e){let n=[new ig(new uo(0,e.length),{startColumn:1,startLineNumber:1,endColumn:1,endLineNumber:1},e)];return{text:e,parts:n}}_deserializePendingRequests(e){try{return e.map(n=>({id:n.id,request:this._deserializeRequest(n.request),kind:n.kind,sendOptions:{...n.sendOptions,userSelectedTools:n.sendOptions.userSelectedTools?$P(n.sendOptions.userSelectedTools):void 0}}))}catch(n){return this.logService.error("Failed to parse pending chat requests",n),[]}}getRequests(){return this._requests}resetCheckpoint(){for(let e of this._requests)e.setShouldBeBlocked(!1),e.response&&e.response.setBlockedState(!1)}setCheckpoint(e){let n,o=-1;if(!(e!==void 0&&(this._requests.forEach((r,s)=>{r.id===e&&(o=s,n=r,r.setShouldBeBlocked(!0))}),!n))){for(let r=this._requests.length-1;r>=0;r-=1){let s=this._requests[r];this._checkpoint&&!n?(s.setShouldBeBlocked(!1),s.response&&s.response.setBlockedState(!1)):n&&r>=o?(s.setShouldBeBlocked(!0),s.response&&s.response.setBlockedState(!0)):n&&r<o&&(s.setShouldBeBlocked(!1),s.response&&s.response.setBlockedState(!1))}this._checkpoint=n}}get checkpoint(){return this._checkpoint}_setDisabledRequests(e){this._requests.forEach(n=>{let o=e.find(r=>r.requestId===n.id);n.shouldBeRemovedOnSend=o,n.response&&(n.response.shouldBeRemovedOnSend=o)}),this._onDidChange.fire({kind:"setHidden"})}addRequest(e,n,o,r,s,a,l,d,c,u,m,g,v,f,x,C){let E=[...this.currentEditedFileEvents.values()];this.currentEditedFileEvents.clear();let k=new OT({restoredId:v,session:this,message:e,variableData:n,timestamp:Date.now(),attempt:o,modeInfo:r,confirmation:l,locationData:d,attachedContext:c,isCompleteAddedRequest:u,modelId:m,editedFileEvents:E.length?E:void 0,userSelectedTools:g,isSystemInitiated:f,systemInitiatedLabel:x,terminalExecutionId:C});return k.response=new sg({responseContent:[],session:this,agent:s,slashCommand:a,requestId:k.id,isCompleteAddedRequest:u,codeBlockInfos:void 0}),this._requests.push(k),dv(this.sessionResource,lv.RequestUiUpdated),this._onDidChange.fire({kind:"addRequest",request:k}),k}setCustomTitle(e){this._customTitle=e,this._onDidChange.fire({kind:"setCustomTitle",title:e})}updateRequest(e,n){e.variableData=n,this._onDidChange.fire({kind:"changedRequest",request:e})}adoptRequest(e){let n=e.session,o=n._requests.findIndex(r=>r.id===e.id);o!==-1&&(n._requests.splice(o,1),e.adoptTo(this),e.response?.adoptTo(this),this._requests.push(e),n._onDidChange.fire({kind:"removeRequest",requestId:e.id,responseId:e.response?.id,reason:2}),this._onDidChange.fire({kind:"addRequest",request:e}))}acceptResponseProgress(e,n,o){if(e.response||(e.response=new sg({responseContent:[],session:this,requestId:e.id,codeBlockInfos:void 0})),e.response.isComplete)throw new Error("acceptResponseProgress: Adding progress to a completed response");n.kind==="usage"?e.response.setUsage(n):n.kind==="usedContext"||n.kind==="reference"?e.response.applyReference(n):n.kind==="codeCitation"?e.response.applyCodeCitation(n):n.kind==="move"?this._onDidChange.fire({kind:"move",target:n.uri,range:n.range}):n.kind==="codeblockUri"&&n.isEdit?(e.response.addUndoStop({id:n.undoStopId??We(),kind:"undoStop"}),e.response.updateContent(n,o)):n.kind==="progressTaskResult"?this.logService.error(`Couldn't handle progress: ${JSON.stringify(n)}`):e.response.updateContent(n,o)}removeRequest(e,n=0){let o=this._requests.findIndex(s=>s.id===e),r=this._requests[o];o!==-1&&(this._onDidChange.fire({kind:"removeRequest",requestId:r.id,responseId:r.response?.id,reason:n}),this._requests.splice(o,1),r.response?.dispose())}cancelRequest(e){e.response&&e.response.cancel()}setResponse(e,n){e.response||(e.response=new sg({responseContent:[],session:this,requestId:e.id,codeBlockInfos:void 0})),e.response.setResult(n)}setFollowups(e,n){e.response&&e.response.setFollowups(n)}setResponseModel(e,n){e.response=n,this._onDidChange.fire({kind:"addResponse",response:n})}toExport(){return{responderUsername:this.responderUsername,initialLocation:this.initialLocation,requests:this._requests.map(e=>{let n={...e.message,parts:e.message.parts.map(s=>s&&"toJSON"in s?s.toJSON():s)},o=e.response?.agent,r=o&&"toJSON"in o?o.toJSON():o?{...o}:void 0;return{requestId:e.id,message:n,variableData:rH.toExport(e.variableData),response:e.response?e.response.entireResponse.value.map(s=>s.kind==="treeData"?s.treeData:s.kind==="markdownContent"?s.content:s):void 0,shouldBeRemovedOnSend:e.shouldBeRemovedOnSend,agent:r,timestamp:e.timestamp,confirmation:e.confirmation,editedFileEvents:e.editedFileEvents,modelId:e.modelId,modeInfo:e.modeInfo,isSystemInitiated:e.isSystemInitiated||void 0,systemInitiatedLabel:e.systemInitiatedLabel,terminalExecutionId:e.terminalExecutionId,...e.response?.toJSON()}})}}toJSON(){return{version:3,...this.toExport(),sessionId:this.sessionId,creationDate:this._timestamp,customTitle:this._customTitle,inputState:this.inputModel.toJSON(),workingDirectory:this._workingDirectory?.toString()}}dispose(){this._requests.forEach(e=>e.response?.dispose()),this._onDidDispose.fire(),super.dispose(),this._requests.length=0,this.dataSerializer=void 0,this._editingSession=void 0}};ag=R([S(2,ae),S(3,IT),S(4,eH),S(5,Yo)],ag);function nH(i,t){if(i.baseUri&&t.baseUri){if(!(i.baseUri.scheme===t.baseUri.scheme&&i.baseUri.authority===t.baseUri.authority&&i.baseUri.path===t.baseUri.path&&i.baseUri.query===t.baseUri.query&&i.baseUri.fragment===t.baseUri.fragment))return!1}else if(i.baseUri||t.baseUri)return!1;return Rt(i.isTrusted,t.isTrusted)&&i.supportHtml===t.supportHtml&&i.supportThemeIcons===t.supportThemeIcons}function oH(i,t){let e=typeof t=="string"?t:t.value;return{value:i.value+e,isTrusted:i.isTrusted,supportThemeIcons:i.supportThemeIcons,supportHtml:i.supportHtml,baseUri:i.baseUri}}function nz(i){if(i.length===0)return"";let t=i.reduce((n,o)=>n.add(o.license),new Set);return t.size===1?p(9797,null,t.size):p(9798,null,t.size)}var NT;(n=>{n.scheme="vscode-chat-response-resource";function t(o,r,s,a){return y.from({scheme:n.scheme,authority:xa(te.fromString(o.toString())),path:`/tool/${r}/${s}`+(a?`/${a}`:"")})}n.createUri=t;function e(o){if(o.scheme!==n.scheme)return;let r=o.path.split("/");if(r.length<4)return;let[,s,a,l]=r;if(s!=="tool")return;let d;try{d=y.parse(Ng(o.authority).toString())}catch(c){if(c instanceof SyntaxError)d=cr.forSession(o.authority);else throw c}return{sessionResource:d,toolCallId:a,index:Number(l)}}n.parseUri=e})(NT||={});function oz(i,t,e,n){if(!au(e.getLevel(),2)||i?.selectedModel?.identifier===t?.selectedModel?.identifier)return;let o=new Error().stack,r=`[ChatModelChanged] ChatModel Input State model changed: ${i?.selectedModel?.identifier} (was: ${t?.selectedModel?.identifier}) in session ${n} ${o}`;e.debug(r)}var sH="chat-memory-file",rz="copilot_memory",lH;(n=>{function i(o,r){return y.from({scheme:sH,path:o,query:r.toString()})}n.createUri=i;function t(o){return o.scheme===sH}n.isChatMemoryFileUri=t;function e(o){return{memoryPath:o.path,sessionResource:o.query}}n.parse=e})(lH||={});function iz(i,t){if(i===t)return!0;let[e,n]=i.split("/"),[o]=t.split("/");return n==="*"&&e===o}function pv(i,t){let e=rn(i);for(let[n,o]of Object.entries(t))if(Go(n,i)||Go(n,e))return o}function aH(i,t){for(let[e,n]of Object.entries(t))if(iz(e,i))return n}function sz(i){return typeof i=="object"&&i!==null&&"output"in i&&typeof i.output=="object"&&i.output?.type==="data"&&typeof i.output?.mimeType=="string"}function az(i){if(typeof i!="object"||i===null)return;let t=i.path;return typeof t=="string"?t:void 0}var lz=new Set(["create","str_replace","insert"]);function dz(i){if(typeof i!="object"||i===null)return!1;let t=i.command;return typeof t=="string"&&lz.has(t)}function dH(i,t,e,n,o={}){let r=[],s=new Set;for(let a of i.value){if(a.kind==="codeblockUri"){let l=a.uri,d=l.toString();if(s.has(d))continue;let c=pv(l.path,n);c&&(s.add(d),r.push({label:tt(l),uri:d,type:"plan",groupName:c.groupName,onlyShowGroup:c.onlyShowGroup}))}if(a.kind==="textEditGroup"){let l=a.uri,d=l.toString();if(s.has(d))continue;let c=pv(l.path,n);c&&(s.add(d),r.push({label:tt(l),uri:d,type:"plan",groupName:c.groupName,onlyShowGroup:c.onlyShowGroup}))}if(a.kind==="workspaceEdit")for(let l of a.edits){let d=l.newResource??l.oldResource;if(!d)continue;let c=d.toString();if(s.has(c))continue;let u=pv(d.path,n);u&&(s.add(c),r.push({label:tt(d),uri:c,type:"plan",groupName:u.groupName,onlyShowGroup:u.onlyShowGroup}))}if(a.kind==="externalEdit"){let l=a.uri,d=l.toString();if(s.has(d))continue;let c=pv(l.path,n);c&&(s.add(d),r.push({label:tt(l),uri:d,type:"plan",groupName:c.groupName,onlyShowGroup:c.onlyShowGroup}))}if((a.kind==="toolInvocation"||a.kind==="toolInvocationSerialized")&&a.toolId===rz){let l=pt.getParameters(a),d=az(l);if(d&&dz(l)){let c=pv(d,o);if(c){let u=`memory:${a.toolCallId}:${d}`;s.has(u)||(s.add(u),r.push({label:rn(d),uri:lH.createUri(d,t).toString(),type:"plan",groupName:c.groupName,onlyShowGroup:c.onlyShowGroup}))}}}if(a.kind==="toolInvocation"||a.kind==="toolInvocationSerialized"){let l=pt.resultDetails(a);if(!l)continue;if(NN(l))for(let d=0;d<l.output.length;d++){let c=l.output[d];if(c.type==="embed"&&!c.isText&&c.mimeType){let u=aH(c.mimeType,e);if(u){let m=`${a.toolCallId}:${d}`;if(!s.has(m)){s.add(m);let g=dk(c.mimeType),v=g?`file${g}`:"file.bin",f=NT.createUri(t,a.toolCallId,d,v);r.push({label:c.uri?.path.split("/").pop()??`${u.groupName} ${d+1}`,uri:f.toString(),toolCallId:a.toolCallId,dataPartIndex:d,type:"screenshot",groupName:u.groupName,onlyShowGroup:u.onlyShowGroup})}}}}if(sz(l)){let d=aH(l.output.mimeType,e);if(d){let c=`${a.toolCallId}:0`;if(!s.has(c)){s.add(c);let u=dk(l.output.mimeType),m=u?`file${u}`:"file.bin",g=NT.createUri(t,a.toolCallId,0,m);r.push({label:`${d.groupName}`,uri:g.toString(),toolCallId:a.toolCallId,dataPartIndex:0,type:"screenshot",groupName:d.groupName,onlyShowGroup:d.onlyShowGroup})}}}}}return r}var FT=A("chatArtifactsService"),mv=class{constructor(t){this._memento=new Ym("chat-artifacts",t)}get(t){return this._memento.getMemento(1,1)[t]||[]}set(t,e){let n=this._memento.getMemento(1,1);n[t]=e,this._memento.saveMemento()}delete(t){let e=this._memento.getMemento(1,1);delete e[t],this._memento.saveMemento()}};mv=R([S(0,pr)],mv);var _A=class extends V{constructor(e,n,o,r,s){super();this._storageKey=n;this._storage=o;this._responseCache=new Map;this._ruleOverrides=ks({owner:this,equalsFn:()=>!1},void 0);this._agentArtifacts=ks({owner:this,equalsFn:()=>!1},[]);this._subagentArtifacts=ks({owner:this,equalsFn:()=>!1},new Map);this._nextSequence=1;this._sourceSequences=new Map;let a=this._storage.get(this._storageKey);this._agentArtifacts.set(a,void 0),this._sourceSequences.set("rules",0),a.length>0&&this._sourceSequences.set("agent",this._nextSequence++);let l=ao(this,s.onDidChangeConfiguration,()=>s.getValue("chat.artifacts.rules.byMimeType")??{}),d=ao(this,s.onDidChangeConfiguration,()=>s.getValue("chat.artifacts.rules.byFilePath")??{}),c=ao(this,s.onDidChangeConfiguration,()=>s.getValue("chat.artifacts.rules.byMemoryFilePath")??{}),u=ao(this,r.onDidCreateModel,()=>r.getSession(e)),m=_s(g=>{let v=this._ruleOverrides.read(g),f=v?.byMimeType??l.read(g),x=v?.byFilePath??d.read(g),C=v?.byMemoryFilePath??c.read(g),E=u.read(g);if(!E)return[];Rf(this,E.onDidChange).read(g);let O=E.getRequests(),N=[],H=new Set,q=new Set;for(let Q of O){let z=Q.response;if(!z)continue;H.add(z.id);let $=z.response,oe=$.value.length,he=0;for(let ee of $.value)(ee.kind==="toolInvocation"||ee.kind==="toolInvocationSerialized")&&pt.resultDetails(ee)!==void 0&&he++;let lt=this._responseCache.get(z.id),Fe;lt&&lt.partsLength===oe&&lt.completedToolCount===he&&lt.byMimeType===f&&lt.byFilePath===x&&lt.byMemoryFilePath===C?Fe=lt.artifacts:(Fe=dH($,e,f,x,C),this._responseCache.set(z.id,{partsLength:oe,completedToolCount:he,byMimeType:f,byFilePath:x,byMemoryFilePath:C,artifacts:Fe}));for(let ee of Fe){let j=ee.toolCallId?`${ee.toolCallId}:${ee.dataPartIndex}`:ee.uri;if(q.has(j)){let re=N.findIndex(Z=>Z.toolCallId?`${Z.toolCallId}:${Z.dataPartIndex}`===j:Z.uri===j);re!==-1&&N.splice(re,1)}q.add(j),N.push(ee)}}for(let Q of this._responseCache.keys())H.has(Q)||this._responseCache.delete(Q);return N});this.artifactGroups=_s(g=>{let v=[],f=m.read(g);f.length>0&&v.push({key:"rules",seq:this._sourceSequences.get("rules")??0,group:{source:{kind:"rules"},artifacts:f}});let x=this._agentArtifacts.read(g);x.length>0&&v.push({key:"agent",seq:this._sourceSequences.get("agent")??1/0,group:{source:{kind:"agent"},artifacts:x}});let C=this._subagentArtifacts.read(g);for(let[O,N]of C)if(N.artifacts.length>0){let H=`subagent:${O}`;v.push({key:H,seq:this._sourceSequences.get(H)??1/0,group:{source:{kind:"subagent",invocationId:O,name:N.name},artifacts:N.artifacts}})}v.sort((O,N)=>O.seq-N.seq);let E=new Set,k=[];for(let O of v){let N=O.group.artifacts.filter(H=>{let q=H.toolCallId?`${H.toolCallId}:${H.dataPartIndex}`:H.uri;if(!q)return!1;let Q=q.toLowerCase();return E.has(Q)?!1:(E.add(Q),!0)});N.length>0&&k.push({source:O.group.source,artifacts:N})}return k})}setAgentArtifacts(e){this._sourceSequences.has("agent")||this._sourceSequences.set("agent",this._nextSequence++),this._agentArtifacts.set(e,void 0),this._storage.set(this._storageKey,e)}setSubagentArtifacts(e,n,o){let r=`subagent:${e}`;this._sourceSequences.has(r)||this._sourceSequences.set(r,this._nextSequence++);let s=new Map(this._subagentArtifacts.get());o.length===0?s.delete(e):s.set(e,{name:n,artifacts:o}),this._subagentArtifacts.set(s,void 0)}setRuleOverrides(e){this._ruleOverrides.set(e,void 0)}clearAgentArtifacts(){this._agentArtifacts.set([],void 0),this._storage.set(this._storageKey,[])}clearSubagentArtifacts(e){let n=new Map(this._subagentArtifacts.get());n.delete(e),this._subagentArtifacts.set(n,void 0)}migrate(e){let n=this._agentArtifacts.get();n.length>0&&e.setAgentArtifacts([...n]),this._agentArtifacts.set([],void 0),this._storage.delete(this._storageKey)}},UT=class extends V{constructor(e,n,o){super();this._chatService=n;this._configurationService=o;this._instances=this._register(new Un);this._storage=new mv(e)}getArtifacts(e){let n=Fa(e),o=this._instances.get(n);return o||(o=new _A(e,n,this._storage,this._chatService,this._configurationService),this._instances.set(n,o)),o}};UT=R([S(0,pr),S(1,Yo),S(2,bn)],UT);var cz="setArtifacts",uz={type:"object",properties:{artifacts:{type:"array",description:"The complete list of artifacts for this session. Overwrites any existing artifacts.",items:{type:"object",properties:{label:{type:"string",description:"Display label for the artifact."},uri:{type:"string",description:"Fully qualified URI of the artifact (e.g. https://localhost:3000 or file:///path/to/file). Must include the scheme."},type:{type:"string",enum:["devServer","screenshot","plan"],description:"The type of artifact."}},required:["label"]}}},required:["artifacts"]},cH={id:cz,toolReferenceName:"artifacts",legacyToolReferenceFullNames:["Set Session Artifacts"],displayName:p(10246,null),modelDescription:`Set the list of artifacts for the current session. Each artifact has a label and either a uri or a toolCallId+dataPartIndex reference, plus an optional type (devServer, screenshot, plan). This overwrites the entire artifact list. URIs must be fully qualified with a scheme (e.g. https://localhost:3000, file:///tmp/plan.md). To reference a screenshot or image from a previous tool result, use toolCallId and dataPartIndex instead of uri.

When to use this tool:
- When creating or updating a plan saved to session memory \u2014 set a plan artifact so the user can view it in the artifact panel
- When taking screenshots or producing visual output \u2014 set a screenshot artifact to surface the image
- When starting a dev server \u2014 set a devServer artifact with the URL so the user can access it
- When producing important documents, drafts, or temporary markdown files \u2014 set an artifact to make them easily accessible
- After verification steps that produce visual results \u2014 update artifacts with screenshots showing the outcome

Workflow:
- Prefer artifacts over printing long content inline in chat. Save content to a file or memory, then set an artifact pointing to it.
- When updating plans or documents, update both the underlying file AND the artifact list.
- Keep artifact labels concise and descriptive.`,canBeReferencedInPrompt:!0,source:jt.Internal,inputSchema:uz},lg=class{constructor(t,e,n){this._chatArtifactsService=t;this._fileService=e;this._chatService=n}async prepareToolInvocation(t,e){return{pastTenseMessage:new xt(p(10247,null)),presentation:"hidden"}}async invoke(t,e,n,o){let r=t.parameters,s=t.context?.sessionResource;if(!s)return{content:[{kind:"text",value:"Error: No session resource available"}]};let a=[];for(let c of r.artifacts??[]){let u=c.uri;if(u||(u=""),u){let m=y.parse(u);if(m.scheme!=="http"&&m.scheme!=="https"&&!await this._fileService.exists(m))throw new Error(p(10249,null,u))}a.push({label:c.label,uri:u,type:c.type})}let l=this._chatArtifactsService.getArtifacts(s),d=t.subAgentInvocationId;if(d){let c=this._resolveSubagentName(s,d);l.setSubagentArtifacts(d,c,a)}else l.setAgentArtifacts(a);return{content:[{kind:"text",value:p(10248,null,a.length)}]}}_resolveSubagentName(t,e){let n=this._chatService.getSession(t);if(n)for(let o of n.getRequests()){let r=o.response;if(r){for(let s of r.response.value)if((s.kind==="toolInvocation"||s.kind==="toolInvocationSerialized")&&s.toolCallId===e&&s.toolSpecificData?.kind==="subagent")return s.toolSpecificData.agentName}}}};lg=R([S(0,FT),S(1,Cs),S(2,Yo)],lg);var pz="setArtifactRules",DA={type:"object",properties:{groupName:{type:"string",description:"Display name for the artifact group."},onlyShowGroup:{type:"boolean",description:"When true, show only the group header instead of individual items."}},required:["groupName"]},mz={type:"object",properties:{byMimeType:{type:"object",description:"Rules for extracting artifacts from tool results by MIME type. Maps MIME type patterns (e.g. 'image/*') to group configuration.",additionalProperties:DA},byFilePath:{type:"object",description:"Rules for extracting artifacts from written files by file path glob pattern. Maps glob patterns (e.g. '**/*plan*.md') to group configuration.",additionalProperties:DA},byMemoryFilePath:{type:"object",description:"Rules for extracting artifacts from memory tool writes by memory file path glob pattern. Maps glob patterns to group configuration.",additionalProperties:DA}}},uH={id:pz,toolReferenceName:"artifactRules",legacyToolReferenceFullNames:[],displayName:p(10243,null),modelDescription:`Override the artifact extraction rules for this session. Rules control which tool results, files, and memory writes are automatically surfaced as artifacts.

Provide rules as MIME type patterns, file path globs, or memory file path globs, each mapped to a group configuration with a groupName and optional onlyShowGroup flag.

Examples:
- byMimeType: { "image/*": { "groupName": "Screenshots", "onlyShowGroup": true } }
- byFilePath: { "**/*plan*.md": { "groupName": "Plans" } }
- byMemoryFilePath: { "**/*plan*.md": { "groupName": "Plans" } }

This fully replaces any settings-based rules for the duration of this session.`,canBeReferencedInPrompt:!0,source:jt.Internal,inputSchema:mz},dg=class{constructor(t){this._chatArtifactsService=t}async prepareToolInvocation(t,e){return{pastTenseMessage:new xt(p(10244,null)),presentation:"hidden"}}async invoke(t,e,n,o){let r=t.parameters,s=t.context?.sessionResource;if(!s)return{content:[{kind:"text",value:"Error: No session resource available"}]};let a={byMimeType:r.byMimeType,byFilePath:r.byFilePath,byMemoryFilePath:r.byMemoryFilePath};return this._chatArtifactsService.getArtifacts(s).setRuleOverrides(a),{content:[{kind:"text",value:p(10245,null)}]}}};dg=R([S(0,FT)],dg);var gz="task_complete";var pH={id:gz,displayName:"Task Complete",modelDescription:`Signal that the user's task is fully done. You MUST call this tool when your work is complete \u2014 whether you made code changes, answered a question, or completed any other kind of task. Provide a brief summary of what was accomplished. Do not restate the summary in your message text \u2014 it is shown to the user directly.

IMPORTANT: Before calling this tool, you MUST output a brief text message summarizing what was done. The task is not complete until both your summary message AND this tool call are present.

When to call:
- After answering the user's question or completing a conversational request
- After you have completed ALL requested changes
- After verifying results: tests pass, terminal commands succeeded, tool calls returned expected output

When NOT to call:
- If a terminal command failed or produced unexpected output
- If an MCP or external tool call returned an error
- If you encountered errors you have not resolved
- If there are remaining steps to complete
- If you have not verified your changes work`,source:jt.Internal,inputSchema:{type:"object",properties:{summary:{type:"string",description:"Brief summary of what was accomplished. Omit for trivial interactions."}}}},HT=class{async prepareToolInvocation(t,e){return{presentation:"hidden"}}async invoke(t,e,n,o){return{content:[{kind:"text",value:t.parameters?.summary??"All done!"}]}}};var VT=class extends V{static{this.ID="chat.builtinTools"}constructor(t,e,n){super();let o=e.createInstance(jm);this._register(t.registerTool(U2,o));let r=this._register(e.createInstance(Jm));this._register(t.registerTool(hA,r)),this._register(t.vscodeToolSet.addTool(hA));let s=this._register(e.createInstance(tg));this._register(t.registerTool($2,s));let a=bA(),l=this._register(e.createInstance(Zm));this._register(t.registerTool(a,l));let d=e.createInstance(fT);this._register(t.registerTool(H2,d)),this._register(t.registerTool(V2,d));let c=e.createInstance(hT);this._register(t.registerTool(B2,c));let u=e.createInstance(HT);this._register(t.registerTool(pH,u));let m=e.createInstance(lg),g=e.createInstance(dg),v=this._register(new ln),f=this._register(new ln),x=()=>{n.getValue("chat.artifacts.enabled")?(v.value||(v.value=t.registerTool(cH,m)),f.value||(f.value=t.registerTool(uH,g))):(v.clear(),f.clear())};x(),this._register(n.onDidChangeConfiguration(N=>{N.affectsConfiguration("chat.artifacts.enabled")&&x()}));let C=this._register(e.createInstance(fi)),E,k,O=()=>{E?.dispose(),k?.dispose(),t.flushToolUpdates();let N=C.getToolData();E=t.registerTool(N,C),k=t.agentToolSet.addTool(N)};O(),this._register(C.onDidUpdateToolData(O)),this._register({dispose:()=>{E?.dispose(),k?.dispose()}})}};VT=R([S(0,Du),S(1,Po),S(2,bn)],VT);var mH="vscode_fetchWebPage_internal";var RA=A("commandService"),gv=new class{constructor(){this._commands=new Map;this._onDidRegisterCommand=new w;this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(i,t){if(!i)throw new Error("invalid command");if(typeof i=="string"){if(!t)throw new Error("invalid command");return this.registerCommand({id:i,handler:t})}if(i.metadata&&Array.isArray(i.metadata.args)){let s=[];for(let l of i.metadata.args)s.push(l.constraint);let a=i.handler;i.handler=function(l,...d){return GM(d,s),a(l,...d)}}let{id:e}=i,n=this._commands.get(e);n||(n=new zn,this._commands.set(e,n));let o=n.unshift(i),r=X(()=>{o(),this._commands.get(e)?.isEmpty()&&this._commands.delete(e)});return this._onDidRegisterCommand.fire(e),Ag(r)}registerCommandAlias(i,t){return gv.registerCommand(i,(e,...n)=>e.get(RA).executeCommand(t,...n))}getCommand(i){let t=this._commands.get(i);if(!(!t||t.isEmpty()))return yt.first(t)}getCommands(){let i=new Map;for(let t of this._commands.keys()){let e=this.getCommand(t);e&&i.set(t,e)}return i}};gv.registerCommand("noop",()=>{});var fv=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(t,e){this._keyCodeToStr[t]=e,this._strToKeyCode[e.toLowerCase()]=t}keyCodeToStr(t){return this._keyCodeToStr[t]}strToKeyCode(t){return this._strToKeyCode[t.toLowerCase()]||0}},BT=new fv,AA=new fv,MA=new fv,fz=new Array(230),hz={},vz={},bz=[],yz=Object.create(null),Iz=Object.create(null);var gH=[],OA=[];for(let i=0;i<=193;i++)gH[i]=-1;for(let i=0;i<=132;i++)OA[i]=-1;(function(){let t=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN","",""],[1,1,"Hyper",0,"",0,"","",""],[1,2,"Super",0,"",0,"","",""],[1,3,"Fn",0,"",0,"","",""],[1,4,"FnLock",0,"",0,"","",""],[1,5,"Suspend",0,"",0,"","",""],[1,6,"Resume",0,"",0,"","",""],[1,7,"Turbo",0,"",0,"","",""],[1,8,"Sleep",0,"",0,"VK_SLEEP","",""],[1,9,"WakeUp",0,"",0,"","",""],[0,10,"KeyA",31,"A",65,"VK_A","",""],[0,11,"KeyB",32,"B",66,"VK_B","",""],[0,12,"KeyC",33,"C",67,"VK_C","",""],[0,13,"KeyD",34,"D",68,"VK_D","",""],[0,14,"KeyE",35,"E",69,"VK_E","",""],[0,15,"KeyF",36,"F",70,"VK_F","",""],[0,16,"KeyG",37,"G",71,"VK_G","",""],[0,17,"KeyH",38,"H",72,"VK_H","",""],[0,18,"KeyI",39,"I",73,"VK_I","",""],[0,19,"KeyJ",40,"J",74,"VK_J","",""],[0,20,"KeyK",41,"K",75,"VK_K","",""],[0,21,"KeyL",42,"L",76,"VK_L","",""],[0,22,"KeyM",43,"M",77,"VK_M","",""],[0,23,"KeyN",44,"N",78,"VK_N","",""],[0,24,"KeyO",45,"O",79,"VK_O","",""],[0,25,"KeyP",46,"P",80,"VK_P","",""],[0,26,"KeyQ",47,"Q",81,"VK_Q","",""],[0,27,"KeyR",48,"R",82,"VK_R","",""],[0,28,"KeyS",49,"S",83,"VK_S","",""],[0,29,"KeyT",50,"T",84,"VK_T","",""],[0,30,"KeyU",51,"U",85,"VK_U","",""],[0,31,"KeyV",52,"V",86,"VK_V","",""],[0,32,"KeyW",53,"W",87,"VK_W","",""],[0,33,"KeyX",54,"X",88,"VK_X","",""],[0,34,"KeyY",55,"Y",89,"VK_Y","",""],[0,35,"KeyZ",56,"Z",90,"VK_Z","",""],[0,36,"Digit1",22,"1",49,"VK_1","",""],[0,37,"Digit2",23,"2",50,"VK_2","",""],[0,38,"Digit3",24,"3",51,"VK_3","",""],[0,39,"Digit4",25,"4",52,"VK_4","",""],[0,40,"Digit5",26,"5",53,"VK_5","",""],[0,41,"Digit6",27,"6",54,"VK_6","",""],[0,42,"Digit7",28,"7",55,"VK_7","",""],[0,43,"Digit8",29,"8",56,"VK_8","",""],[0,44,"Digit9",30,"9",57,"VK_9","",""],[0,45,"Digit0",21,"0",48,"VK_0","",""],[1,46,"Enter",3,"Enter",13,"VK_RETURN","",""],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE","",""],[1,48,"Backspace",1,"Backspace",8,"VK_BACK","",""],[1,49,"Tab",2,"Tab",9,"VK_TAB","",""],[1,50,"Space",10,"Space",32,"VK_SPACE","",""],[0,51,"Minus",88,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[0,52,"Equal",86,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[0,53,"BracketLeft",92,"[",219,"VK_OEM_4","[","OEM_4"],[0,54,"BracketRight",94,"]",221,"VK_OEM_6","]","OEM_6"],[0,55,"Backslash",93,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,56,"IntlHash",0,"",0,"","",""],[0,57,"Semicolon",85,";",186,"VK_OEM_1",";","OEM_1"],[0,58,"Quote",95,"'",222,"VK_OEM_7","'","OEM_7"],[0,59,"Backquote",91,"`",192,"VK_OEM_3","`","OEM_3"],[0,60,"Comma",87,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[0,61,"Period",89,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[0,62,"Slash",90,"/",191,"VK_OEM_2","/","OEM_2"],[1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL","",""],[1,64,"F1",59,"F1",112,"VK_F1","",""],[1,65,"F2",60,"F2",113,"VK_F2","",""],[1,66,"F3",61,"F3",114,"VK_F3","",""],[1,67,"F4",62,"F4",115,"VK_F4","",""],[1,68,"F5",63,"F5",116,"VK_F5","",""],[1,69,"F6",64,"F6",117,"VK_F6","",""],[1,70,"F7",65,"F7",118,"VK_F7","",""],[1,71,"F8",66,"F8",119,"VK_F8","",""],[1,72,"F9",67,"F9",120,"VK_F9","",""],[1,73,"F10",68,"F10",121,"VK_F10","",""],[1,74,"F11",69,"F11",122,"VK_F11","",""],[1,75,"F12",70,"F12",123,"VK_F12","",""],[1,76,"PrintScreen",0,"",0,"","",""],[1,77,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL","",""],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE","",""],[1,79,"Insert",19,"Insert",45,"VK_INSERT","",""],[1,80,"Home",14,"Home",36,"VK_HOME","",""],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR","",""],[1,82,"Delete",20,"Del",46,"VK_DELETE","Delete",""],[1,83,"End",13,"End",35,"VK_END","",""],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT","",""],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",""],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",""],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",""],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",""],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK","",""],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE","",""],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY","",""],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT","",""],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD","",""],[1,94,"NumpadEnter",3,"",0,"","",""],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1","",""],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2","",""],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3","",""],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4","",""],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5","",""],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6","",""],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7","",""],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8","",""],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9","",""],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0","",""],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL","",""],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102","",""],[1,107,"ContextMenu",58,"ContextMenu",93,"","",""],[1,108,"Power",0,"",0,"","",""],[1,109,"NumpadEqual",0,"",0,"","",""],[1,110,"F13",71,"F13",124,"VK_F13","",""],[1,111,"F14",72,"F14",125,"VK_F14","",""],[1,112,"F15",73,"F15",126,"VK_F15","",""],[1,113,"F16",74,"F16",127,"VK_F16","",""],[1,114,"F17",75,"F17",128,"VK_F17","",""],[1,115,"F18",76,"F18",129,"VK_F18","",""],[1,116,"F19",77,"F19",130,"VK_F19","",""],[1,117,"F20",78,"F20",131,"VK_F20","",""],[1,118,"F21",79,"F21",132,"VK_F21","",""],[1,119,"F22",80,"F22",133,"VK_F22","",""],[1,120,"F23",81,"F23",134,"VK_F23","",""],[1,121,"F24",82,"F24",135,"VK_F24","",""],[1,122,"Open",0,"",0,"","",""],[1,123,"Help",0,"",0,"","",""],[1,124,"Select",0,"",0,"","",""],[1,125,"Again",0,"",0,"","",""],[1,126,"Undo",0,"",0,"","",""],[1,127,"Cut",0,"",0,"","",""],[1,128,"Copy",0,"",0,"","",""],[1,129,"Paste",0,"",0,"","",""],[1,130,"Find",0,"",0,"","",""],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE","",""],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP","",""],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN","",""],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR","",""],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1","",""],[1,136,"KanaMode",0,"",0,"","",""],[0,137,"IntlYen",0,"",0,"","",""],[1,138,"Convert",0,"",0,"","",""],[1,139,"NonConvert",0,"",0,"","",""],[1,140,"Lang1",0,"",0,"","",""],[1,141,"Lang2",0,"",0,"","",""],[1,142,"Lang3",0,"",0,"","",""],[1,143,"Lang4",0,"",0,"","",""],[1,144,"Lang5",0,"",0,"","",""],[1,145,"Abort",0,"",0,"","",""],[1,146,"Props",0,"",0,"","",""],[1,147,"NumpadParenLeft",0,"",0,"","",""],[1,148,"NumpadParenRight",0,"",0,"","",""],[1,149,"NumpadBackspace",0,"",0,"","",""],[1,150,"NumpadMemoryStore",0,"",0,"","",""],[1,151,"NumpadMemoryRecall",0,"",0,"","",""],[1,152,"NumpadMemoryClear",0,"",0,"","",""],[1,153,"NumpadMemoryAdd",0,"",0,"","",""],[1,154,"NumpadMemorySubtract",0,"",0,"","",""],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR","",""],[1,156,"NumpadClearEntry",0,"",0,"","",""],[1,0,"",5,"Ctrl",17,"VK_CONTROL","",""],[1,0,"",4,"Shift",16,"VK_SHIFT","",""],[1,0,"",6,"Alt",18,"VK_MENU","",""],[1,0,"",57,"Meta",91,"VK_COMMAND","",""],[1,157,"ControlLeft",5,"",0,"VK_LCONTROL","",""],[1,158,"ShiftLeft",4,"",0,"VK_LSHIFT","",""],[1,159,"AltLeft",6,"",0,"VK_LMENU","",""],[1,160,"MetaLeft",57,"",0,"VK_LWIN","",""],[1,161,"ControlRight",5,"",0,"VK_RCONTROL","",""],[1,162,"ShiftRight",4,"",0,"VK_RSHIFT","",""],[1,163,"AltRight",6,"",0,"VK_RMENU","",""],[1,164,"MetaRight",57,"",0,"VK_RWIN","",""],[1,165,"BrightnessUp",0,"",0,"","",""],[1,166,"BrightnessDown",0,"",0,"","",""],[1,167,"MediaPlay",0,"",0,"","",""],[1,168,"MediaRecord",0,"",0,"","",""],[1,169,"MediaFastForward",0,"",0,"","",""],[1,170,"MediaRewind",0,"",0,"","",""],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK","",""],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK","",""],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP","",""],[1,174,"Eject",0,"",0,"","",""],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE","",""],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT","",""],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL","",""],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2","",""],[1,179,"LaunchApp1",0,"",0,"VK_MEDIA_LAUNCH_APP1","",""],[1,180,"SelectTask",0,"",0,"","",""],[1,181,"LaunchScreenSaver",0,"",0,"","",""],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH","",""],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME","",""],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK","",""],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD","",""],[1,186,"BrowserStop",0,"",0,"VK_BROWSER_STOP","",""],[1,187,"BrowserRefresh",0,"",0,"VK_BROWSER_REFRESH","",""],[1,188,"BrowserFavorites",0,"",0,"VK_BROWSER_FAVORITES","",""],[1,189,"ZoomToggle",0,"",0,"","",""],[1,190,"MailReply",0,"",0,"","",""],[1,191,"MailForward",0,"",0,"","",""],[1,192,"MailSend",0,"",0,"","",""],[1,0,"",114,"KeyInComposition",229,"","",""],[1,0,"",116,"ABNT_C2",194,"VK_ABNT_C2","",""],[1,0,"",96,"OEM_8",223,"VK_OEM_8","",""],[1,0,"",0,"",0,"VK_KANA","",""],[1,0,"",0,"",0,"VK_HANGUL","",""],[1,0,"",0,"",0,"VK_JUNJA","",""],[1,0,"",0,"",0,"VK_FINAL","",""],[1,0,"",0,"",0,"VK_HANJA","",""],[1,0,"",0,"",0,"VK_KANJI","",""],[1,0,"",0,"",0,"VK_CONVERT","",""],[1,0,"",0,"",0,"VK_NONCONVERT","",""],[1,0,"",0,"",0,"VK_ACCEPT","",""],[1,0,"",0,"",0,"VK_MODECHANGE","",""],[1,0,"",0,"",0,"VK_SELECT","",""],[1,0,"",0,"",0,"VK_PRINT","",""],[1,0,"",0,"",0,"VK_EXECUTE","",""],[1,0,"",0,"",0,"VK_SNAPSHOT","",""],[1,0,"",0,"",0,"VK_HELP","",""],[1,0,"",0,"",0,"VK_APPS","",""],[1,0,"",0,"",0,"VK_PROCESSKEY","",""],[1,0,"",0,"",0,"VK_PACKET","",""],[1,0,"",0,"",0,"VK_DBE_SBCSCHAR","",""],[1,0,"",0,"",0,"VK_DBE_DBCSCHAR","",""],[1,0,"",0,"",0,"VK_ATTN","",""],[1,0,"",0,"",0,"VK_CRSEL","",""],[1,0,"",0,"",0,"VK_EXSEL","",""],[1,0,"",0,"",0,"VK_EREOF","",""],[1,0,"",0,"",0,"VK_PLAY","",""],[1,0,"",0,"",0,"VK_ZOOM","",""],[1,0,"",0,"",0,"VK_NONAME","",""],[1,0,"",0,"",0,"VK_PA1","",""],[1,0,"",0,"",0,"VK_OEM_CLEAR","",""]],e=[],n=[];for(let o of t){let[r,s,a,l,d,c,u,m,g]=o;if(n[s]||(n[s]=!0,bz[s]=a,yz[a]=s,Iz[a.toLowerCase()]=s,r&&(gH[s]=l,l!==0&&l!==3&&!Cz(l)&&(OA[l]=s))),!e[l]){if(e[l]=!0,!d)throw new Error(`String representation missing for key code ${l} around scan code ${a}`);BT.define(l,d),AA.define(l,m||d),MA.define(l,g||m||d)}c&&(fz[c]=l),a&&(vz[a]=c),u&&(hz[u]=l)}OA[3]=46})();var xz;(s=>{function i(a){return BT.keyCodeToStr(a)}s.toString=i;function t(a){return BT.strToKeyCode(a)}s.fromString=t;function e(a){return AA.keyCodeToStr(a)}s.toUserSettingsUS=e;function n(a){return MA.keyCodeToStr(a)}s.toUserSettingsGeneral=n;function o(a){return AA.strToKeyCode(a)||MA.strToKeyCode(a)}s.fromUserSettings=o;function r(a){if(a>=98&&a<=113)return null;switch(a){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right";case 20:return"Delete"}return BT.keyCodeToStr(a)}s.toElectronAccelerator=r})(xz||={});function Cz(i){return i===5||i===4||i===6||i===57}function hv(i,t){if(typeof i=="number"){if(i===0)return null;let e=(i&65535)>>>0,n=(i&4294901760)>>>16;return n!==0?new cg([WT(e,t),WT(n,t)]):new cg([WT(e,t)])}else{let e=[];for(let n=0;n<i.length;n++)e.push(WT(i[n],t));return new cg(e)}}function WT(i,t){let e=!!(i&2048),n=!!(i&256),o=t===2?n:e,r=!!(i&1024),s=!!(i&512),a=t===2?e:n,l=i&255;return new LA(o,r,s,a,l)}var LA=class i{constructor(t,e,n,o,r){this.ctrlKey=t;this.shiftKey=e;this.altKey=n;this.metaKey=o;this.keyCode=r}equals(t){return t instanceof i&&this.ctrlKey===t.ctrlKey&&this.shiftKey===t.shiftKey&&this.altKey===t.altKey&&this.metaKey===t.metaKey&&this.keyCode===t.keyCode}getHashCode(){let t=this.ctrlKey?"1":"0",e=this.shiftKey?"1":"0",n=this.altKey?"1":"0",o=this.metaKey?"1":"0";return`K${t}${e}${n}${o}${this.keyCode}`}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toKeybinding(){return new cg([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}};var cg=class{constructor(t){if(t.length===0)throw Oe("chords");this.chords=t}getHashCode(){let t="";for(let e=0,n=this.chords.length;e<n;e++)e!==0&&(t+=";"),t+=this.chords[e].getHashCode();return t}equals(t){if(t===null||this.chords.length!==t.chords.length)return!1;for(let e=0;e<this.chords.length;e++)if(!this.chords[e].equals(t.chords[e]))return!1;return!0}};var NA=class i{constructor(){this._coreKeybindings=new zn,this._coreKeybindingRules=new zn,this._extensionKeybindings=[],this._cachedMergedKeybindings=null}static bindToPlatform(t,e){if(e===1){if(t&&t.win)return t.win}else if(e===2){if(t&&t.mac)return t.mac}else if(t&&t.linux)return t.linux;return t}static bindToCurrentPlatform(t){return i.bindToPlatform(t,Si)}registerKeybindingRule(t){let e=i.bindToCurrentPlatform(t),n=new J;if(e&&e.primary){let r=hv(e.primary,Si);r&&n.add(this._registerDefaultKeybinding(r,t.id,t.args,t.weight,0,t.when))}if(e&&Array.isArray(e.secondary))for(let r=0,s=e.secondary.length;r<s;r++){let a=e.secondary[r],l=hv(a,Si);l&&n.add(this._registerDefaultKeybinding(l,t.id,t.args,t.weight,-r-1,t.when))}let o=this._coreKeybindingRules.push(t);return n.add(X(()=>{o()})),n}setExtensionKeybindings(t){let e=[],n=0;for(let o of t)o.keybinding&&(e[n++]={keybinding:o.keybinding,command:o.id,commandArgs:o.args,when:o.when,weight1:o.weight,weight2:0,extensionId:o.extensionId||null,isBuiltinExtension:o.isBuiltinExtension||!1});this._extensionKeybindings=e,this._cachedMergedKeybindings=null}registerCommandAndKeybindingRule(t){return jc(this.registerKeybindingRule(t),gv.registerCommand(t))}_registerDefaultKeybinding(t,e,n,o,r,s){let a=this._coreKeybindings.push({keybinding:t,command:e,commandArgs:n,when:s,weight1:o,weight2:r,extensionId:null,isBuiltinExtension:!1});return this._cachedMergedKeybindings=null,X(()=>{a(),this._cachedMergedKeybindings=null})}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=Array.from(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(fH)),this._cachedMergedKeybindings.slice(0)}getDefaultKeybindingsForOS(t){let e=[];for(let n of this._coreKeybindingRules){let o=i.bindToPlatform(n,t);if(o&&o.primary){let r=hv(o.primary,t);r&&e.push({keybinding:r,command:n.id,commandArgs:n.args,when:n.when,weight1:n.weight,weight2:0,extensionId:null,isBuiltinExtension:!1})}if(o&&Array.isArray(o.secondary))for(let r=0,s=o.secondary.length;r<s;r++){let a=o.secondary[r],l=hv(a,t);l&&e.push({keybinding:l,command:n.id,commandArgs:n.args,when:n.when,weight1:n.weight,weight2:-r-1,extensionId:null,isBuiltinExtension:!1})}}return e.sort(fH),e}},hH=new NA,Sz={EditorModes:"platform.keybindingsRegistry"};Et.add(Sz.EditorModes,hH);function fH(i,t){if(i.weight1!==t.weight1)return i.weight1-t.weight1;if(i.command&&t.command){if(i.command<t.command)return-1;if(i.command>t.command)return 1}return i.weight2-t.weight2}function Tz(i){return i.command!==void 0}var Gl=class i{static{this._instances=new Map}static{this.CommandPalette=new i("CommandPalette")}static{this.DebugBreakpointsContext=new i("DebugBreakpointsContext")}static{this.DebugCallStackContext=new i("DebugCallStackContext")}static{this.DebugConsoleContext=new i("DebugConsoleContext")}static{this.DebugVariablesContext=new i("DebugVariablesContext")}static{this.NotebookVariablesContext=new i("NotebookVariablesContext")}static{this.DebugHoverContext=new i("DebugHoverContext")}static{this.DebugWatchContext=new i("DebugWatchContext")}static{this.DebugToolBar=new i("DebugToolBar")}static{this.DebugToolBarStop=new i("DebugToolBarStop")}static{this.DebugDisassemblyContext=new i("DebugDisassemblyContext")}static{this.DebugCallStackToolbar=new i("DebugCallStackToolbar")}static{this.DebugCreateConfiguration=new i("DebugCreateConfiguration")}static{this.DebugScopesContext=new i("DebugScopesContext")}static{this.EditorContext=new i("EditorContext")}static{this.SimpleEditorContext=new i("SimpleEditorContext")}static{this.EditorContent=new i("EditorContent")}static{this.EditorLineNumberContext=new i("EditorLineNumberContext")}static{this.EditorContextCopy=new i("EditorContextCopy")}static{this.EditorContextPeek=new i("EditorContextPeek")}static{this.EditorContextShare=new i("EditorContextShare")}static{this.EditorTitle=new i("EditorTitle")}static{this.EditorTitleLayout=new i("EditorTitleLayout")}static{this.ModalEditorTitle=new i("ModalEditorTitle")}static{this.ModalEditorTitleContext=new i("ModalEditorTitleContext")}static{this.ModalEditorEditorTitle=new i("ModalEditorEditorTitle")}static{this.CompactWindowEditorTitle=new i("CompactWindowEditorTitle")}static{this.EditorTitleRun=new i("EditorTitleRun")}static{this.EditorTitleContext=new i("EditorTitleContext")}static{this.EditorTitleContextShare=new i("EditorTitleContextShare")}static{this.EmptyEditorGroup=new i("EmptyEditorGroup")}static{this.EmptyEditorGroupContext=new i("EmptyEditorGroupContext")}static{this.EditorTabsBarContext=new i("EditorTabsBarContext")}static{this.EditorTabsBarShowTabsSubmenu=new i("EditorTabsBarShowTabsSubmenu")}static{this.EditorTabsBarShowTabsZenModeSubmenu=new i("EditorTabsBarShowTabsZenModeSubmenu")}static{this.EditorActionsPositionSubmenu=new i("EditorActionsPositionSubmenu")}static{this.EditorRenderWhitespaceSubmenu=new i("EditorRenderWhitespaceSubmenu")}static{this.EditorSplitMoveSubmenu=new i("EditorSplitMoveSubmenu")}static{this.ExplorerContext=new i("ExplorerContext")}static{this.ExplorerContextShare=new i("ExplorerContextShare")}static{this.ExtensionContext=new i("ExtensionContext")}static{this.ExtensionEditorContextMenu=new i("ExtensionEditorContextMenu")}static{this.GlobalActivity=new i("GlobalActivity")}static{this.CommandCenter=new i("CommandCenter")}static{this.CommandCenterCenter=new i("CommandCenterCenter")}static{this.LayoutControlMenuSubmenu=new i("LayoutControlMenuSubmenu")}static{this.LayoutControlMenu=new i("LayoutControlMenu")}static{this.MenubarMainMenu=new i("MenubarMainMenu")}static{this.MenubarAppearanceMenu=new i("MenubarAppearanceMenu")}static{this.MenubarDebugMenu=new i("MenubarDebugMenu")}static{this.MenubarEditMenu=new i("MenubarEditMenu")}static{this.MenubarCopy=new i("MenubarCopy")}static{this.MenubarFileMenu=new i("MenubarFileMenu")}static{this.MenubarGoMenu=new i("MenubarGoMenu")}static{this.MenubarHelpMenu=new i("MenubarHelpMenu")}static{this.MenubarLayoutMenu=new i("MenubarLayoutMenu")}static{this.MenubarNewBreakpointMenu=new i("MenubarNewBreakpointMenu")}static{this.PanelAlignmentMenu=new i("PanelAlignmentMenu")}static{this.PanelPositionMenu=new i("PanelPositionMenu")}static{this.ActivityBarPositionMenu=new i("ActivityBarPositionMenu")}static{this.NotificationsCenterPositionMenu=new i("NotificationsCenterPositionMenu")}static{this.MenubarPreferencesMenu=new i("MenubarPreferencesMenu")}static{this.MenubarRecentMenu=new i("MenubarRecentMenu")}static{this.MenubarSelectionMenu=new i("MenubarSelectionMenu")}static{this.MenubarShare=new i("MenubarShare")}static{this.MenubarSwitchEditorMenu=new i("MenubarSwitchEditorMenu")}static{this.MenubarSwitchGroupMenu=new i("MenubarSwitchGroupMenu")}static{this.MenubarTerminalMenu=new i("MenubarTerminalMenu")}static{this.MenubarTerminalSuggestStatusMenu=new i("MenubarTerminalSuggestStatusMenu")}static{this.MenubarViewMenu=new i("MenubarViewMenu")}static{this.MenubarHomeMenu=new i("MenubarHomeMenu")}static{this.OpenEditorsContext=new i("OpenEditorsContext")}static{this.OpenEditorsContextShare=new i("OpenEditorsContextShare")}static{this.ProblemsPanelContext=new i("ProblemsPanelContext")}static{this.SCMInputBox=new i("SCMInputBox")}static{this.SCMChangeContext=new i("SCMChangeContext")}static{this.SCMResourceContext=new i("SCMResourceContext")}static{this.SCMResourceContextShare=new i("SCMResourceContextShare")}static{this.SCMResourceFolderContext=new i("SCMResourceFolderContext")}static{this.SCMResourceGroupContext=new i("SCMResourceGroupContext")}static{this.SCMSourceControl=new i("SCMSourceControl")}static{this.SCMSourceControlInline=new i("SCMSourceControlInline")}static{this.SCMSourceControlTitle=new i("SCMSourceControlTitle")}static{this.SCMHistoryTitle=new i("SCMHistoryTitle")}static{this.SCMHistoryItemContext=new i("SCMHistoryItemContext")}static{this.SCMHistoryItemChangeContext=new i("SCMHistoryItemChangeContext")}static{this.SCMHistoryItemRefContext=new i("SCMHistoryItemRefContext")}static{this.SCMArtifactGroupContext=new i("SCMArtifactGroupContext")}static{this.SCMArtifactContext=new i("SCMArtifactContext")}static{this.SCMQuickDiffDecorations=new i("SCMQuickDiffDecorations")}static{this.SCMTitle=new i("SCMTitle")}static{this.SearchContext=new i("SearchContext")}static{this.SearchActionMenu=new i("SearchActionContext")}static{this.StatusBarWindowIndicatorMenu=new i("StatusBarWindowIndicatorMenu")}static{this.StatusBarRemoteIndicatorMenu=new i("StatusBarRemoteIndicatorMenu")}static{this.StickyScrollContext=new i("StickyScrollContext")}static{this.TestItem=new i("TestItem")}static{this.TestItemGutter=new i("TestItemGutter")}static{this.TestProfilesContext=new i("TestProfilesContext")}static{this.TestMessageContext=new i("TestMessageContext")}static{this.TestMessageContent=new i("TestMessageContent")}static{this.TestPeekElement=new i("TestPeekElement")}static{this.TestPeekTitle=new i("TestPeekTitle")}static{this.TestCallStack=new i("TestCallStack")}static{this.TestCoverageFilterItem=new i("TestCoverageFilterItem")}static{this.TouchBarContext=new i("TouchBarContext")}static{this.TitleBar=new i("TitleBar")}static{this.TitleBarAdjacentCenter=new i("TitleBarAdjacentCenter")}static{this.TitleBarContext=new i("TitleBarContext")}static{this.TitleBarTitleContext=new i("TitleBarTitleContext")}static{this.TunnelContext=new i("TunnelContext")}static{this.TunnelPrivacy=new i("TunnelPrivacy")}static{this.TunnelProtocol=new i("TunnelProtocol")}static{this.TunnelPortInline=new i("TunnelInline")}static{this.TunnelTitle=new i("TunnelTitle")}static{this.TunnelLocalAddressInline=new i("TunnelLocalAddressInline")}static{this.TunnelOriginInline=new i("TunnelOriginInline")}static{this.ViewItemContext=new i("ViewItemContext")}static{this.ViewContainerTitle=new i("ViewContainerTitle")}static{this.ViewContainerTitleContext=new i("ViewContainerTitleContext")}static{this.ViewTitle=new i("ViewTitle")}static{this.ViewTitleContext=new i("ViewTitleContext")}static{this.CommentEditorActions=new i("CommentEditorActions")}static{this.CommentThreadTitle=new i("CommentThreadTitle")}static{this.CommentThreadActions=new i("CommentThreadActions")}static{this.CommentThreadAdditionalActions=new i("CommentThreadAdditionalActions")}static{this.CommentThreadTitleContext=new i("CommentThreadTitleContext")}static{this.CommentThreadCommentContext=new i("CommentThreadCommentContext")}static{this.CommentTitle=new i("CommentTitle")}static{this.CommentActions=new i("CommentActions")}static{this.CommentsViewThreadActions=new i("CommentsViewThreadActions")}static{this.InteractiveToolbar=new i("InteractiveToolbar")}static{this.InteractiveCellTitle=new i("InteractiveCellTitle")}static{this.InteractiveCellDelete=new i("InteractiveCellDelete")}static{this.InteractiveCellExecute=new i("InteractiveCellExecute")}static{this.InteractiveInputExecute=new i("InteractiveInputExecute")}static{this.InteractiveInputConfig=new i("InteractiveInputConfig")}static{this.ReplInputExecute=new i("ReplInputExecute")}static{this.IssueReporter=new i("IssueReporter")}static{this.NotebookToolbar=new i("NotebookToolbar")}static{this.NotebookToolbarContext=new i("NotebookToolbarContext")}static{this.NotebookStickyScrollContext=new i("NotebookStickyScrollContext")}static{this.NotebookCellTitle=new i("NotebookCellTitle")}static{this.NotebookCellDelete=new i("NotebookCellDelete")}static{this.NotebookCellInsert=new i("NotebookCellInsert")}static{this.NotebookCellBetween=new i("NotebookCellBetween")}static{this.NotebookCellListTop=new i("NotebookCellTop")}static{this.NotebookCellExecute=new i("NotebookCellExecute")}static{this.NotebookCellExecuteGoTo=new i("NotebookCellExecuteGoTo")}static{this.NotebookCellExecutePrimary=new i("NotebookCellExecutePrimary")}static{this.NotebookDiffCellInputTitle=new i("NotebookDiffCellInputTitle")}static{this.NotebookDiffDocumentMetadata=new i("NotebookDiffDocumentMetadata")}static{this.NotebookDiffCellMetadataTitle=new i("NotebookDiffCellMetadataTitle")}static{this.NotebookDiffCellOutputsTitle=new i("NotebookDiffCellOutputsTitle")}static{this.NotebookOutputToolbar=new i("NotebookOutputToolbar")}static{this.NotebookOutlineFilter=new i("NotebookOutlineFilter")}static{this.NotebookOutlineActionMenu=new i("NotebookOutlineActionMenu")}static{this.NotebookEditorLayoutConfigure=new i("NotebookEditorLayoutConfigure")}static{this.NotebookKernelSource=new i("NotebookKernelSource")}static{this.BulkEditTitle=new i("BulkEditTitle")}static{this.BulkEditContext=new i("BulkEditContext")}static{this.TimelineItemContext=new i("TimelineItemContext")}static{this.TimelineTitle=new i("TimelineTitle")}static{this.TimelineTitleContext=new i("TimelineTitleContext")}static{this.TimelineFilterSubMenu=new i("TimelineFilterSubMenu")}static{this.AccountsContext=new i("AccountsContext")}static{this.SidebarTitle=new i("SidebarTitle")}static{this.PanelTitle=new i("PanelTitle")}static{this.AuxiliaryBarTitle=new i("AuxiliaryBarTitle")}static{this.TerminalInstanceContext=new i("TerminalInstanceContext")}static{this.TerminalEditorInstanceContext=new i("TerminalEditorInstanceContext")}static{this.TerminalNewDropdownContext=new i("TerminalNewDropdownContext")}static{this.TerminalTabContext=new i("TerminalTabContext")}static{this.TerminalTabEmptyAreaContext=new i("TerminalTabEmptyAreaContext")}static{this.TerminalStickyScrollContext=new i("TerminalStickyScrollContext")}static{this.WebviewContext=new i("WebviewContext")}static{this.InlineCompletionsActions=new i("InlineCompletionsActions")}static{this.InlineEditsActions=new i("InlineEditsActions")}static{this.NewFile=new i("NewFile")}static{this.MergeInput1Toolbar=new i("MergeToolbar1Toolbar")}static{this.MergeInput2Toolbar=new i("MergeToolbar2Toolbar")}static{this.MergeBaseToolbar=new i("MergeBaseToolbar")}static{this.MergeInputResultToolbar=new i("MergeToolbarResultToolbar")}static{this.InlineSuggestionToolbar=new i("InlineSuggestionToolbar")}static{this.InlineEditToolbar=new i("InlineEditToolbar")}static{this.ChatContext=new i("ChatContext")}static{this.ChatCodeBlock=new i("ChatCodeblock")}static{this.ChatCompareBlock=new i("ChatCompareBlock")}static{this.ChatMessageTitle=new i("ChatMessageTitle")}static{this.ChatWelcomeContext=new i("ChatWelcomeContext")}static{this.ChatMessageFooter=new i("ChatMessageFooter")}static{this.ChatExecute=new i("ChatExecute")}static{this.ChatExecuteQueue=new i("ChatExecuteQueue")}static{this.ChatInput=new i("ChatInput")}static{this.ChatInputSecondary=new i("ChatInputSecondary")}static{this.ChatInputStatus=new i("ChatInputStatus")}static{this.ChatInputSide=new i("ChatInputSide")}static{this.ChatModePicker=new i("ChatModePicker")}static{this.ChatEditingWidgetToolbar=new i("ChatEditingWidgetToolbar")}static{this.ChatEditingSessionChangesToolbar=new i("ChatEditingSessionChangesToolbar")}static{this.ChatEditingSessionTitleToolbar=new i("ChatEditingSessionTitleToolbar")}static{this.ChatEditingSessionChangesVersionsSubmenu=new i("ChatEditingSessionChangesVersionsSubmenu")}static{this.ChatEditingSessionChangesFileHeaderToolbar=new i("ChatEditingSessionChangesFileHeaderToolbar")}static{this.ChatEditingSessionChangesFileHeaderRightToolbar=new i("ChatEditingSessionChangesFileHeaderRightToolbar")}static{this.ChatEditingEditorContent=new i("ChatEditingEditorContent")}static{this.ChatEditingEditorHunk=new i("ChatEditingEditorHunk")}static{this.ChatEditingDeletedNotebookCell=new i("ChatEditingDeletedNotebookCell")}static{this.ChatInputAttachmentToolbar=new i("ChatInputAttachmentToolbar")}static{this.ChatEditingWidgetModifiedFilesToolbar=new i("ChatEditingWidgetModifiedFilesToolbar")}static{this.ChatInputResourceAttachmentContext=new i("ChatInputResourceAttachmentContext")}static{this.ChatInputSymbolAttachmentContext=new i("ChatInputSymbolAttachmentContext")}static{this.ChatInlineResourceAnchorContext=new i("ChatInlineResourceAnchorContext")}static{this.ChatInlineSymbolAnchorContext=new i("ChatInlineSymbolAnchorContext")}static{this.ChatMessageCheckpoint=new i("ChatMessageCheckpoint")}static{this.ChatMessageRestoreCheckpoint=new i("ChatMessageRestoreCheckpoint")}static{this.ChatNewMenu=new i("ChatNewMenu")}static{this.ChatEditingCodeBlockContext=new i("ChatEditingCodeBlockContext")}static{this.ChatTitleBarMenu=new i("ChatTitleBarMenu")}static{this.ChatAttachmentsContext=new i("ChatAttachmentsContext")}static{this.ChatTipContext=new i("ChatTipContext")}static{this.ChatTipToolbar=new i("ChatTipToolbar")}static{this.ChatToolOutputResourceToolbar=new i("ChatToolOutputResourceToolbar")}static{this.ChatTextEditorMenu=new i("ChatTextEditorMenu")}static{this.ChatToolOutputResourceContext=new i("ChatToolOutputResourceContext")}static{this.ChatMultiDiffContext=new i("ChatMultiDiffContext")}static{this.ChatConfirmationMenu=new i("ChatConfirmationMenu")}static{this.ChatEditorInlineMenu=new i("ChatEditorInlineGutter")}static{this.ChatEditorInlineExecute=new i("ChatEditorInputExecute")}static{this.ChatEditorInlineInputSide=new i("ChatEditorInputSide")}static{this.InlineChatEditorAffordance=new i("InlineChatEditorAffordance")}static{this.AccessibleView=new i("AccessibleView")}static{this.MultiDiffEditorContent=new i("MultiDiffEditorContent")}static{this.MultiDiffEditorFileToolbar=new i("MultiDiffEditorFileToolbar")}static{this.DiffEditorHunkToolbar=new i("DiffEditorHunkToolbar")}static{this.DiffEditorSelectionToolbar=new i("DiffEditorSelectionToolbar")}static{this.BrowserNavigationToolbar=new i("BrowserNavigationToolbar")}static{this.BrowserActionsToolbar=new i("BrowserActionsToolbar")}static{this.BrowserChatActionsMenu=new i("BrowserChatActionsMenu")}static{this.BrowserEmulationToolbar=new i("BrowserEmulationToolbar")}static{this.AgentSessionsViewerFilterSubMenu=new i("AgentSessionsViewerFilterSubMenu")}static{this.AgentSessionsContext=new i("AgentSessionsContext")}static{this.AgentSessionSectionContext=new i("AgentSessionSectionContext")}static{this.AgentSessionsCreateSubMenu=new i("AgentSessionsCreateSubMenu")}static{this.AgentSessionsToolbar=new i("AgentSessionsToolbar")}static{this.AgentSessionItemToolbar=new i("AgentSessionItemToolbar")}static{this.AgentSessionSectionToolbar=new i("AgentSessionSectionToolbar")}static{this.SessionItemContextMenu=new i("SessionItemContextMenu")}static{this.SessionHeaderContext=new i("SessionsSessionHeaderContext")}static{this.AgentsTitleBarControlMenu=new i("AgentsTitleBarControlMenu")}static{this.AgentsChangesToolbar=new i("AgentsChangesToolbar")}static{this.AgentsChangesPrimaryActionSubMenu=new i("AgentsChangesPrimaryActionSubMenu")}static{this.AgentsChangeInlineToolbar=new i("AgentsChangeInlineToolbar")}static{this.ChatViewSessionTitleNavigationToolbar=new i("ChatViewSessionTitleNavigationToolbar")}static{this.ChatViewSessionTitleToolbar=new i("ChatViewSessionTitleToolbar")}static{this.ChatContextUsageActions=new i("ChatContextUsageActions")}static{this.MarkerHoverStatusBar=new i("MarkerHoverParticipant.StatusBar")}static for(t){return i._instances.get(t)??new i(t)}constructor(t){if(i._instances.has(t))throw new TypeError(`MenuId with identifier '${t}' already exists. Use MenuId.for(ident) or a unique identifier`);i._instances.set(t,this),this.id=t}},wXe=A("menuService"),Lc=class i{constructor(t){this.id=t;this.has=e=>e===t}static{this._all=new Map}static for(t){let e=this._all.get(t);return e||(e=new i(t),this._all.set(t,e)),e}static merge(t){let e=new Set;for(let n of t)n instanceof i&&e.add(n.id);return e}},kXe=new class{constructor(){this._commands=new Map;this._menuItems=new Map;this._onDidChangeMenu=new Kv({merge:Lc.merge});this.onDidChangeMenu=this._onDidChangeMenu.event}addCommand(i){return this._commands.set(i.id,i),this._onDidChangeMenu.fire(Lc.for(Gl.CommandPalette)),Ag(X(()=>{this._commands.delete(i.id)&&this._onDidChangeMenu.fire(Lc.for(Gl.CommandPalette))}))}getCommand(i){return this._commands.get(i)}getCommands(){let i=new Map;return this._commands.forEach((t,e)=>i.set(e,t)),i}appendMenuItem(i,t){let e=this._menuItems.get(i);e||(e=new zn,this._menuItems.set(i,e));let n=e.push(t);return this._onDidChangeMenu.fire(Lc.for(i)),Ag(X(()=>{n(),this._onDidChangeMenu.fire(Lc.for(i))}))}appendMenuItems(i){let t=new J;for(let{id:e,item:n}of i)t.add(this.appendMenuItem(e,n));return t}getMenuItems(i){let t;return this._menuItems.has(i)?t=[...this._menuItems.get(i)]:t=[],i===Gl.CommandPalette&&this._appendImplicitItems(t),t}_appendImplicitItems(i){let t=new Set;for(let e of i)Tz(e)&&(t.add(e.command.id),e.alt&&t.add(e.alt.id));this._commands.forEach((e,n)=>{t.has(n)||i.push({command:e})})}};var Nc=class{constructor(t,e,n,o,r,s,a){this.hideActions=o;this.menuKeybinding=r;this._commandService=a;this.id=t.id,this.label=Nc.label(t,n),this.tooltip=(typeof t.tooltip=="string"?t.tooltip:t.tooltip?.value)??"",this.enabled=!t.precondition||s.contextMatchesRules(t.precondition),this.checked=void 0;let l;if(t.toggled){let d=t.toggled.condition?t.toggled:{condition:t.toggled};this.checked=s.contextMatchesRules(d.condition),this.checked&&d.tooltip&&(this.tooltip=typeof d.tooltip=="string"?d.tooltip:d.tooltip.value),this.checked&&Je.isThemeIcon(d.icon)&&(l=d.icon),this.checked&&d.title&&(this.label=typeof d.title=="string"?d.title:d.title.value)}l||(l=Je.isThemeIcon(t.icon)?t.icon:void 0),this.item=t,this.alt=e?new Nc(e,void 0,n,o,void 0,s,a):void 0,this._options=n,this.class=l&&Je.asClassName(l)}static label(t,e){return e?.renderShortTitle&&t.shortTitle?typeof t.shortTitle=="string"?t.shortTitle:t.shortTitle.value:typeof t.title=="string"?t.title:t.title.value}run(...t){let e=[];return this._options?.args?e=[...e,...this._options.args]:this._options?.arg&&(e=[...e,this._options.arg]),this._options?.shouldForwardArgs&&(e=[...e,...t]),this._commandService.executeCommand(this.id,...e)}};Nc=R([S(5,Er),S(6,RA)],Nc);var AXe=A("IExtensionGalleryManifestService");var $Xe=sd(12336,"Extensions");var UA=A("extensionsWorkbenchService");var $T=class extends V{constructor(e,n){super();this.containers=e;this._register(n.onChange(this.update,this))}set extension(e){this.containers.forEach(n=>n.extension=e)}update(e){for(let n of this.containers)e&&n.extension?jN(n.extension.identifier,e.identifier)&&(n.extension.server&&e.server&&n.extension.server!==e.server?n.updateWhenCounterExtensionChanges&&n.update():n.extension=e):n.update()}};$T=R([S(1,UA)],$T);var zXe=new T("defaultExtensionViews",!0),qXe=new T("hasOutdatedExtensions",!1),KXe=new T("hasGallery",!1),GXe=new T("extensionsGalleryStatus","unavailable"),jXe=new T("extensionResultListFocused ",!0),QXe=new T("searchMcpServers",!1),JXe=new T("searchAgentPlugins",!1);var XXe=new Gl("extensionsSearchActionsMenu"),YXe=new Gl("extensionsFilterSubMenu");var FA="vscode_searchExtensions_internal",vYe={id:FA,toolReferenceName:"extensions",legacyToolReferenceFullNames:["extensions"],icon:Je.fromId(le.extensions.id),displayName:p(12349,null),modelDescription:"This is a tool for browsing Visual Studio Code Extensions Marketplace. It allows the model to search for extensions and retrieve detailed information about them. The model should use this tool whenever it needs to discover extensions or resolve information about known ones. To use the tool, the model has to provide the category of the extensions, relevant search keywords, or known extension IDs. Note that search results may include false positives, so reviewing and filtering is recommended.",userDescription:p(12351,null),source:jt.Internal,inputSchema:{type:"object",properties:{category:{type:"string",description:"The category of extensions to search for",enum:Cb},keywords:{type:"array",items:{type:"string"},description:"The keywords to search for"},ids:{type:"array",items:{type:"string"},description:"The ids of the extensions to search for"}}}},zT=class{constructor(t){this.extensionWorkbenchService=t}async invoke(t,e,n,o){let r=t.parameters;if(!r.keywords?.length&&!r.category&&!r.ids?.length)return{content:[{kind:"text",value:p(12350,null)}]};let s=new Map,a=c=>{for(let u of c)u.deprecationInfo||u.isMalicious||s.set(u.identifier.id.toLowerCase(),{id:u.identifier.id,name:u.displayName,description:u.description,installed:u.state===1,installCount:u.installCount??0,rating:u.rating??0,categories:u.categories??[],tags:u.gallery?.tags??[]})},l=async c=>{let u=await this.extensionWorkbenchService.queryGallery({text:c,pageSize:10,sortBy:"InstallCount"},o);u.firstPage.length&&a(u.firstPage)};if(r.ids?.length){let c=await this.extensionWorkbenchService.getExtensions(r.ids.map(u=>({id:u})),o);a(c)}if(r.keywords?.length)for(let c of r.keywords??[])if(c==="featured")await l("featured");else{let u=r.category?`category:"${r.category}"`:"";u=c?`${u} ${c}`.trim():u,await l(u)}else await l(`category:"${r.category}"`);let d=Array.from(s.values());return{content:[{kind:"text",value:`Here are the list of extensions:
${JSON.stringify(d)}
. Important: Use the following format to display extensions to the user because there is a renderer available to parse these extensions in this format and display them with all details. So, do not describe about the extensions to the user.
\`\`\`vscode-extensions
extensionId1,extensionId2
\`\`\`
.`}],toolResultDetails:{input:JSON.stringify(r),output:[{type:"embed",isText:!0,value:JSON.stringify(d.map(c=>c.id))}]}}}};zT=R([S(0,UA)],zT);var qT=class{constructor(t){this._data=t}update(t){this._data=t,this._apiObject=void 0,this._apiObjectWithChatParticipantAdditions=void 0}get data(){return this._data}get apiObject(){return this._apiObject||(this._apiObject=Object.freeze({name:this._data.id,description:this._data.modelDescription,inputSchema:this._data.inputSchema,tags:this._data.tags??[],source:void 0})),this._apiObject}get apiObjectWithChatParticipantAdditions(){return this._apiObjectWithChatParticipantAdditions||(this._apiObjectWithChatParticipantAdditions=Object.freeze({name:this._data.id,description:this._data.modelDescription,inputSchema:this._data.inputSchema,tags:this._data.tags??[],source:oR.to(this._data.source),fullReferenceName:this._data.fullReferenceName})),this._apiObjectWithChatParticipantAdditions}},KT=class{constructor(t,e){this._languageModels=e;this._registeredTools=new Map;this._tokenCountFuncs=new Map;this._allTools=new Map;this._proxy=t.getProxy(L.MainThreadLanguageModelTools),this._proxy.$getTools().then(n=>{for(let o of n)this._allTools.set(o.id,new qT(_t(o)))})}async $countTokensForInvocation(t,e,n){let o=this._tokenCountFuncs.get(t);if(!o)throw new Error(`Tool invocation call ${t} not found`);return await o(e,n)}async invokeTool(t,e,n,o){let r=typeof e=="string"?e:e.name,s=We();n.tokenizationOptions&&this._tokenCountFuncs.set(s,n.tokenizationOptions.countTokens);try{if(n.toolInvocationToken&&!LN(n.toolInvocationToken))throw new Error("Invalid tool invocation token");if((r===pT||r===fA)&&!De(t,"chatParticipantPrivate"))throw new Error(`Invalid tool: ${r}`);let a=await this._proxy.$invokeTool({toolId:r,callId:s,parameters:n.input,tokenBudget:n.tokenizationOptions?.tokenBudget,context:n.toolInvocationToken,chatRequestId:De(t,"chatParticipantPrivate")?n.chatRequestId:void 0,chatInteractionId:De(t,"chatParticipantPrivate")?n.chatInteractionId:void 0,subAgentInvocationId:De(t,"chatParticipantPrivate")?n.subAgentInvocationId:void 0,chatStreamToolCallId:De(t,"chatParticipantAdditions")?n.chatStreamToolCallId:void 0,preToolUseResult:De(t,"chatParticipantPrivate")?n.preToolUseResult:void 0,traceparent:De(t,"chatParticipantPrivate")?n.traceparent:void 0,tracestate:De(t,"chatParticipantPrivate")?n.tracestate:void 0},o),l=a instanceof Ft?a.value:a;return aC.to(_t(l))}finally{this._tokenCountFuncs.delete(s)}}$onDidChangeTools(t){let e=new Set(this._allTools.keys());for(let n of t){e.delete(n.id);let o=this._allTools.get(n.id);o?o.update(n):this._allTools.set(n.id,new qT(_t(n)))}for(let n of e)this._allTools.delete(n)}getTools(t){let e=De(t,"chatParticipantPrivate");return Array.from(this._allTools.values()).map(n=>e?n.apiObjectWithChatParticipantAdditions:n.apiObject).filter(n=>{switch(n.name){case pT:case fA:case mH:case FA:return De(t,"chatParticipantPrivate");default:return!0}})}async $invokeTool(t,e){let n=this._registeredTools.get(t.toolId);if(!n)throw new Error(`Unknown tool ${t.toolId}`);let o={input:t.parameters,toolInvocationToken:_t(t.context)};De(n.extension,"chatParticipantPrivate")&&(o.chatRequestId=t.chatRequestId,o.chatInteractionId=t.chatInteractionId,o.chatSessionResource=y.revive(t.context?.sessionResource),o.workingDirectory=y.revive(t.context?.workingDirectory),o.subAgentInvocationId=t.subAgentInvocationId,o.traceparent=t.traceparent,o.tracestate=t.tracestate),De(n.extension,"chatParticipantAdditions")&&t.modelId&&(o.model=await this.getModel(t.modelId,n.extension)),De(n.extension,"chatParticipantAdditions")&&t.chatStreamToolCallId&&(o.chatStreamToolCallId=t.chatStreamToolCallId),t.tokenBudget!==void 0&&(o.tokenizationOptions={tokenBudget:t.tokenBudget,countTokens:this._tokenCountFuncs.get(t.callId)||((a,l=ye.None)=>this._proxy.$countTokensForInvocation(t.callId,a,l))});let r;if(De(n.extension,"toolProgress")){let a;r={report:l=>{l.increment!==void 0&&(a=(a??0)+l.increment),this._proxy.$acceptToolProgress(t.callId,{message:pe.fromStrict(l.message),progress:a===void 0?void 0:a/100})}}}let s=await ys(Promise.resolve(n.tool.invoke(o,e,r)),e);if(!s)throw new rt;return aC.from(s,n.extension)}async getModel(t,e){let n;if(t&&(n=await this._languageModels.getLanguageModelByIdentifier(e,t)),!n&&(n=await this._languageModels.getDefaultLanguageModel(e),!n))throw new Error("Language model unavailable");return n}async $handleToolStream(t,e,n){let o=this._registeredTools.get(t);if(!o)throw new Error(`Unknown tool ${t}`);if(!o.tool.handleToolStream)return;D(o.extension,"chatParticipantAdditions");let r={rawInput:e.rawInput,chatRequestId:e.chatRequestId,chatSessionResource:e.chatSessionResource,chatInteractionId:e.chatInteractionId},s=await o.tool.handleToolStream(r,n);if(s)return{invocationMessage:pe.fromStrict(s.invocationMessage)}}async $prepareToolInvocation(t,e,n){let o=this._registeredTools.get(t);if(!o)throw new Error(`Unknown tool ${t}`);let r={input:e.parameters,chatRequestId:e.chatRequestId,chatSessionResource:e.chatSessionResource,chatInteractionId:e.chatInteractionId,workingDirectory:y.revive(e.workingDirectory),forceConfirmationReason:e.forceConfirmationReason};if(e.forceConfirmationReason&&D(o.extension,"chatParticipantPrivate"),o.tool.prepareInvocation){let s=await o.tool.prepareInvocation(r,n);if(!s)return;(s.pastTenseMessage||s.presentation)&&D(o.extension,"chatParticipantPrivate"),s.confirmationMessages?.approveCombination!==void 0&&D(o.extension,"toolInvocationApproveCombination");let a=s.confirmationMessages?.approveCombination,l=a?pe.fromStrict(a.message):void 0,d=l?await O2(t,e.parameters):void 0;return{confirmationMessages:s.confirmationMessages?{title:typeof s.confirmationMessages.title=="string"?s.confirmationMessages.title:pe.from(s.confirmationMessages.title),message:typeof s.confirmationMessages.message=="string"?s.confirmationMessages.message:pe.from(s.confirmationMessages.message),approveCombination:l&&d?{label:l,key:d,arguments:a.arguments}:void 0}:void 0,invocationMessage:pe.fromStrict(s.invocationMessage),pastTenseMessage:pe.fromStrict(s.pastTenseMessage),presentation:s.presentation}}}registerTool(t,e,n){return this._registeredTools.set(e,{extension:t,tool:n}),this._proxy.$registerTool(e,typeof n.handleToolStream=="function"),X(()=>{this._registeredTools.delete(e),this._proxy.$unregisterTool(e)})}registerToolDefinition(t,e,n){D(t,"languageModelToolSupportsModel");let o=e.name,r={id:o,displayName:e.displayName,toolReferenceName:e.toolReferenceName,userDescription:e.userDescription,modelDescription:e.description,inputSchema:e.inputSchema,source:{type:"extension",label:t.displayName??t.name,extensionId:t.identifier},icon:di.from(e.icon),models:e.models,toolSet:e.toolSet};return this._registeredTools.set(o,{extension:t,tool:n}),this._proxy.$registerToolWithDefinition(t.identifier,r,typeof n.handleToolStream=="function"),X(()=>{this._registeredTools.delete(o),this._proxy.$unregisterTool(o)})}};var GT=class{constructor(t,e,n,o){this._documents=e;this._commands=n;this._uriTransformer=o;this._languageIds=[];this._handlePool=0;this._ids=new Set;this._proxy=t.getProxy(L.MainThreadLanguages)}$acceptLanguageIds(t){this._languageIds=t}async getLanguages(){return this._languageIds.slice(0)}async changeLanguage(t,e){await this._proxy.$changeLanguage(t,e);let n=this._documents.getDocumentData(t);if(!n)throw new Error(`document '${t.toString()}' NOT found`);return n.document}async tokenAtPosition(t,e){let n=t.version,o=et.from(e),r=await this._proxy.$tokensAtPosition(t.uri,o),s={type:0,range:t.getWordRangeAtPosition(e)??new ve(e.line,e.character,e.line,e.character)};if(!r)return s;let a={range:W.to(r.range),type:PD.to(r.type)};return!a.range.contains(e)||n!==t.version?s:a}createLanguageStatusItem(t,e,n){let o=this._handlePool++,r=this._proxy,s=this._ids,a=`${t.identifier.value}/${e}`;if(s.has(a))throw new Error(`LanguageStatusItem with id '${e}' ALREADY exists`);s.add(a);let l={selector:n,id:e,name:t.displayName??t.name,severity:0,command:void 0,text:"",detail:"",busy:!1},d,c=new J,u=()=>{if(d?.dispose(),!s.has(a)){console.warn(`LanguageStatusItem (${e}) from ${t.identifier.value} has been disposed and CANNOT be updated anymore`);return}d=lO(()=>{c.clear(),this._proxy.$setLanguageStatus(o,{id:a,name:l.name??t.displayName??t.name,source:t.displayName??t.name,selector:li.from(l.selector,this._uriTransformer),label:l.text,detail:l.detail??"",severity:l.severity===2?je.Error:l.severity===1?je.Warning:je.Info,command:l.command&&this._commands.toInternal(l.command,c),accessibilityInfo:l.accessibilityInformation,busy:l.busy})},0)},m={dispose(){c.dispose(),d?.dispose(),r.$removeLanguageStatus(o),s.delete(a)},get id(){return l.id},get name(){return l.name},set name(g){l.name=g,u()},get selector(){return l.selector},set selector(g){l.selector=g,u()},get text(){return l.text},set text(g){l.text=g,u()},set text2(g){D(t,"languageStatusText"),l.text=g,u()},get text2(){return D(t,"languageStatusText"),l.text},get detail(){return l.detail},set detail(g){l.detail=g,u()},get severity(){return l.severity},set severity(g){l.severity=g,u()},get accessibilityInformation(){return l.accessibilityInformation},set accessibilityInformation(g){l.accessibilityInformation=g,u()},get command(){return l.command},set command(g){l.command=g,u()},get busy(){return l.busy},set busy(g){l.busy=g,u()}};return u(),m}};function Ez(i){return i&&i.title}var ug=class{constructor(t,e){this._logService=e;this._proxy=t.getProxy(L.MainThreadMessageService)}showMessage(t,e,n,o,r){let s={source:{identifier:t.identifier,label:t.displayName||t.name}},a;typeof o=="string"||Ez(o)?a=[o,...r]:(s.modal=o?.modal,s.useCustom=o?.useCustom,s.detail=o?.detail,a=r),s.useCustom&&D(t,"resolvers");let l=[],d=!1;for(let c=0;c<a.length;c++){let u=a[c];if(typeof u=="string")l.push({title:u,handle:c,isCloseAffordance:!1});else if(typeof u=="object"){let{title:m,isCloseAffordance:g}=u;l.push({title:m,isCloseAffordance:!!g,handle:c}),g&&(d?this._logService.warn(`[${t.identifier}] Only one message item can have 'isCloseAffordance':`,u):d=!0)}else this._logService.warn(`[${t.identifier}] Invalid message item:`,u)}return this._proxy.$showMessage(e,n,s,l).then(c=>{if(typeof c=="number")return a[c]})}};ug=R([S(1,ae)],ug);var vv=class{constructor(t,e,n,o){this.start=t;this.deletedCount=e;this.deletedItems=n;this.items=o}asApiEvent(){return{range:new Wn(this.start,this.start+this.deletedCount),addedCells:this.items.map(t=>t.apiCell),removedCells:this.deletedItems}}},pg=class{constructor(t,e,n){this.notebook=t;this._extHostDocument=e;this._cellData=n;this.handle=n.handle,this.uri=y.revive(n.uri),this.cellKind=n.cellKind,this._outputs=n.outputs.map(Zs.to),this._internalMetadata=n.internalMetadata??{},this._metadata=Object.freeze(n.metadata??{}),this._previousResult=Object.freeze(Sp.to(n.internalMetadata??{}))}static asModelAddData(t){return{EOL:t.eol,lines:t.source,languageId:t.language,uri:t.uri,isDirty:!1,versionId:1,encoding:"utf8"}}get internalMetadata(){return this._internalMetadata}get apiCell(){if(!this._apiCell){let t=this,e=this._extHostDocument.getDocument(this.uri);if(!e)throw new Error(`MISSING extHostDocument for notebook cell: ${this.uri}`);let n={get index(){return t.notebook.getCellIndex(t)},notebook:t.notebook.apiNotebook,kind:oh.to(this._cellData.cellKind),document:e.document,get mime(){return t._mime},set mime(o){t._mime=o},get outputs(){return t._outputs.slice(0)},get metadata(){return t._metadata},get executionSummary(){return t._previousResult}};this._apiCell=Object.freeze(n)}return this._apiCell}setOutputs(t){this._outputs=t.map(Zs.to)}setOutputItems(t,e,n){let o=n.map(dc.to),r=this._outputs.find(s=>s.id===t);if(r&&(e||(r.items.length=0),r.items.push(...o),r.items.length>1&&r.items.every(s=>Qb(s.mime)))){let s=new Map,a=[];r.items.forEach(l=>{let d;s.has(l.mime)?d=s.get(l.mime):(d=[],s.set(l.mime,d),a.push(l.mime)),d.push(l.data)}),r.items.length=0,a.forEach(l=>{let d=SU(s.get(l));r.items.push({mime:l,data:d.data.buffer})})}}setMetadata(t){this._metadata=Object.freeze(t)}setInternalMetadata(t){this._internalMetadata=t,this._previousResult=Object.freeze(Sp.to(t))}setMime(t){}},jT=class i{constructor(t,e,n,o,r){this._proxy=t;this._textDocumentsAndEditors=e;this._textDocuments=n;this.uri=o;this.handle=i._handlePool++;this._cells=[];this._versionId=0;this._isDirty=!1;this._disposed=!1;this._notebookType=r.viewType,this._metadata=Object.freeze(r.metadata??Object.create(null)),this._spliceNotebookCells([[0,0,r.cells]],!0,void 0),this._versionId=r.versionId}static{this._handlePool=0}dispose(){this._disposed=!0}get versionId(){return this._versionId}get apiNotebook(){if(!this._notebook){let t=this,e={get uri(){return t.uri},get version(){return t._versionId},get notebookType(){return t._notebookType},get isDirty(){return t._isDirty},get isUntitled(){return t.uri.scheme===K.untitled},get isClosed(){return t._disposed},get metadata(){return t._metadata},get cellCount(){return t._cells.length},cellAt(n){return n=t._validateIndex(n),t._cells[n].apiCell},getCells(n){return(n?t._getCells(n):t._cells).map(r=>r.apiCell)},save(){return t._save()},[Symbol.for("debug.description")](){return`NotebookDocument(${this.uri.toString()})`}};this._notebook=Object.freeze(e)}return this._notebook}acceptDocumentPropertiesChanged(t){t.metadata&&(this._metadata=Object.freeze({...this._metadata,...t.metadata}))}acceptDirty(t){this._isDirty=t}acceptModelChanged(t,e,n){this._versionId=t.versionId,this._isDirty=e,this.acceptDocumentPropertiesChanged({metadata:n});let o={notebook:this.apiNotebook,metadata:n,cellChanges:[],contentChanges:[]},r=[];for(let a of t.rawEvents)a.kind===1?this._spliceNotebookCells(a.changes,!1,o.contentChanges):a.kind===2?this._moveCells(a.index,a.length,a.newIdx,o.contentChanges):a.kind===8?(this._setCellOutputs(a.index,a.outputs),r.push({cell:this._cells[a.index].apiCell,outputs:this._cells[a.index].apiCell.outputs})):a.kind===9?(this._setCellOutputItems(a.index,a.outputId,a.append,a.outputItems),r.push({cell:this._cells[a.index].apiCell,outputs:this._cells[a.index].apiCell.outputs})):a.kind===5?(this._changeCellLanguage(a.index,a.language),r.push({cell:this._cells[a.index].apiCell,document:this._cells[a.index].apiCell.document})):a.kind===10?r.push({cell:this._cells[a.index].apiCell,document:this._cells[a.index].apiCell.document}):a.kind===13?this._changeCellMime(a.index,a.mime):a.kind===7?(this._changeCellMetadata(a.index,a.metadata),r.push({cell:this._cells[a.index].apiCell,metadata:this._cells[a.index].apiCell.metadata})):a.kind===12&&(this._changeCellInternalMetadata(a.index,a.internalMetadata),r.push({cell:this._cells[a.index].apiCell,executionSummary:this._cells[a.index].apiCell.executionSummary}));let s=new Map;for(let a=0;a<r.length;a++){let l=r[a],d=s.get(l.cell);if(d===void 0){let c=o.cellChanges.push({document:void 0,executionSummary:void 0,metadata:void 0,outputs:void 0,...l});s.set(l.cell,c-1)}else o.cellChanges[d]={...o.cellChanges[d],...l}}return Object.freeze(o),Object.freeze(o.cellChanges),Object.freeze(o.contentChanges),o}_validateIndex(t){return t=t|0,t<0?0:t>=this._cells.length?this._cells.length-1:t}_validateRange(t){let e=t.start|0,n=t.end|0;return e<0&&(e=0),n>this._cells.length&&(n=this._cells.length),t.with({start:e,end:n})}_getCells(t){t=this._validateRange(t);let e=[];for(let n=t.start;n<t.end;n++)e.push(this._cells[n]);return e}async _save(){return this._disposed?Promise.reject(new Error("Notebook has been closed")):this._proxy.$trySaveNotebook(this.uri)}_spliceNotebookCells(t,e,n){if(this._disposed)return;let o=[],r=[],s=[];if(t.reverse().forEach(a=>{let d=a[2].map(m=>{let g=new pg(this,this._textDocumentsAndEditors,m);return e||r.push(pg.asModelAddData(m)),g}),c=new vv(a[0],a[1],[],d),u=this._cells.splice(a[0],a[1],...d);for(let m of u)s.push(m.uri),c.deletedItems.push(m.apiCell);o.push(c)}),this._textDocumentsAndEditors.acceptDocumentsAndEditorsDelta({addedDocuments:r,removedDocuments:s}),n)for(let a of o)n.push(a.asApiEvent())}_moveCells(t,e,n,o){let r=this._cells.splice(t,e);this._cells.splice(n,0,...r);let s=[new vv(t,e,r.map(a=>a.apiCell),[]),new vv(n,0,[],r)];for(let a of s)o.push(a.asApiEvent())}_setCellOutputs(t,e){this._cells[t].setOutputs(e)}_setCellOutputItems(t,e,n,o){this._cells[t].setOutputItems(e,n,o)}_changeCellLanguage(t,e){let n=this._cells[t];n.apiCell.document.languageId!==e&&this._textDocuments.$acceptModelLanguageChanged(n.uri,e)}_changeCellMime(t,e){let n=this._cells[t];n.apiCell.mime=e}_changeCellMetadata(t,e){this._cells[t].setMetadata(e)}_changeCellInternalMetadata(t,e){this._cells[t].setInternalMetadata(e)}getCellFromApiCell(t){return this._cells.find(e=>e.apiCell===t)}getCellFromIndex(t){return this._cells[t]}getCell(t){return this._cells.find(e=>e.handle===t)}getCellIndex(t){return this._cells.indexOf(t)}};var Uc=class i{constructor(t,e,n,o,r,s,a){this.id=t;this._proxy=e;this.notebookData=n;this._visibleRanges=o;this._selections=r;this._viewColumn=s;this.viewType=a;this._visible=!1}static{this.apiEditorsToExtHost=new WeakMap}get apiEditor(){if(!this._editor){let t=this;this._editor={get notebook(){return t.notebookData.apiNotebook},get selection(){return t._selections[0]},set selection(e){this.selections=[e]},get selections(){return t._selections},set selections(e){if(!Array.isArray(e)||!e.every(Wn.isNotebookRange))throw Oe("selections");t._selections=e.length===0?[new Wn(0,0)]:e,t._trySetSelections(t._selections)},get visibleRanges(){return t._visibleRanges},revealRange(e,n){t._proxy.$tryRevealRange(t.id,yr.from(e),n??0)},get viewColumn(){return t._viewColumn},get replOptions(){if(t.viewType==="repl")return{appendIndex:this.notebook.cellCount-1}},[Symbol.for("debug.description")](){return`NotebookEditor(${this.notebook.uri.toString()})`}},i.apiEditorsToExtHost.set(this._editor,this)}return this._editor}get visible(){return this._visible}_acceptVisibility(t){this._visible=t}_acceptVisibleRanges(t){this._visibleRanges=t}_acceptSelections(t){this._selections=t}_trySetSelections(t){this._proxy.$trySetSelections(this.id,t.map(yr.from))}_acceptViewColumn(t){this._viewColumn=t}};var mg=class{constructor(t,e){this.piece=t,this.color=e,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==Te)return QT(this.right);let t=this;for(;t.parent!==Te&&t.parent.left!==t;)t=t.parent;return t.parent===Te?Te:t.parent}prev(){if(this.left!==Te)return VA(this.left);let t=this;for(;t.parent!==Te&&t.parent.right!==t;)t=t.parent;return t.parent===Te?Te:t.parent}detach(){this.parent=null,this.left=null,this.right=null}};var Te=new mg(null,0);Te.parent=Te;Te.left=Te;Te.right=Te;Te.color=0;function QT(i){for(;i.left!==Te;)i=i.left;return i}function VA(i){for(;i.right!==Te;)i=i.right;return i}function BA(i){return i===Te?0:i.size_left+i.piece.length+BA(i.right)}function WA(i){return i===Te?0:i.lf_left+i.piece.lineFeedCnt+WA(i.right)}function HA(){Te.parent=Te}function yv(i,t){let e=t.right;e.size_left+=t.size_left+(t.piece?t.piece.length:0),e.lf_left+=t.lf_left+(t.piece?t.piece.lineFeedCnt:0),t.right=e.left,e.left!==Te&&(e.left.parent=t),e.parent=t.parent,t.parent===Te?i.root=e:t.parent.left===t?t.parent.left=e:t.parent.right=e,e.left=t,t.parent=e}function Iv(i,t){let e=t.left;t.left=e.right,e.right!==Te&&(e.right.parent=t),e.parent=t.parent,t.size_left-=e.size_left+(e.piece?e.piece.length:0),t.lf_left-=e.lf_left+(e.piece?e.piece.lineFeedCnt:0),t.parent===Te?i.root=e:t===t.parent.right?t.parent.right=e:t.parent.left=e,e.right=t,t.parent=e}function xv(i,t){let e,n;if(t.left===Te?(n=t,e=n.right):t.right===Te?(n=t,e=n.left):(n=QT(t.right),e=n.right),n===i.root){i.root=e,e.color=0,t.detach(),HA(),i.root.parent=Te;return}let o=n.color===1;if(n===n.parent.left?n.parent.left=e:n.parent.right=e,n===t?(e.parent=n.parent,bv(i,e)):(n.parent===t?e.parent=n:e.parent=n.parent,bv(i,e),n.left=t.left,n.right=t.right,n.parent=t.parent,n.color=t.color,t===i.root?i.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left!==Te&&(n.left.parent=n),n.right!==Te&&(n.right.parent=n),n.size_left=t.size_left,n.lf_left=t.lf_left,bv(i,n)),t.detach(),e.parent.left===e){let s=BA(e),a=WA(e);if(s!==e.parent.size_left||a!==e.parent.lf_left){let l=s-e.parent.size_left,d=a-e.parent.lf_left;e.parent.size_left=s,e.parent.lf_left=a,os(i,e.parent,l,d)}}if(bv(i,e.parent),o){HA();return}let r;for(;e!==i.root&&e.color===0;)e===e.parent.left?(r=e.parent.right,r.color===1&&(r.color=0,e.parent.color=1,yv(i,e.parent),r=e.parent.right),r.left.color===0&&r.right.color===0?(r.color=1,e=e.parent):(r.right.color===0&&(r.left.color=0,r.color=1,Iv(i,r),r=e.parent.right),r.color=e.parent.color,e.parent.color=0,r.right.color=0,yv(i,e.parent),e=i.root)):(r=e.parent.left,r.color===1&&(r.color=0,e.parent.color=1,Iv(i,e.parent),r=e.parent.left),r.left.color===0&&r.right.color===0?(r.color=1,e=e.parent):(r.left.color===0&&(r.right.color=0,r.color=1,yv(i,r),r=e.parent.left),r.color=e.parent.color,e.parent.color=0,r.left.color=0,Iv(i,e.parent),e=i.root));e.color=0,HA()}function $A(i,t){for(bv(i,t);t!==i.root&&t.parent.color===1;)if(t.parent===t.parent.parent.left){let e=t.parent.parent.right;e.color===1?(t.parent.color=0,e.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.right&&(t=t.parent,yv(i,t)),t.parent.color=0,t.parent.parent.color=1,Iv(i,t.parent.parent))}else{let e=t.parent.parent.left;e.color===1?(t.parent.color=0,e.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.left&&(t=t.parent,Iv(i,t)),t.parent.color=0,t.parent.parent.color=1,yv(i,t.parent.parent))}i.root.color=0}function os(i,t,e,n){for(;t!==i.root&&t!==Te;)t.parent.left===t&&(t.parent.size_left+=e,t.parent.lf_left+=n),t=t.parent}function bv(i,t){let e=0,n=0;if(t!==i.root){for(;t!==i.root&&t===t.parent.right;)t=t.parent;if(t!==i.root)for(t=t.parent,e=BA(t.left)-t.size_left,n=WA(t.left)-t.lf_left,t.size_left+=e,t.lf_left+=n;t!==i.root&&(e!==0||n!==0);)t.parent.left===t&&(t.parent.size_left+=e,t.parent.lf_left+=n),t=t.parent}}var ua=65535;function vH(i){let t;return i[i.length-1]<65536?t=new Uint16Array(i.length):t=new Uint32Array(i.length),t.set(i,0),t}var zA=class{constructor(t,e,n,o,r){this.lineStarts=t;this.cr=e;this.lf=n;this.crlf=o;this.isBasicASCII=r}};function rs(i,t=!0){let e=[0],n=1;for(let o=0,r=i.length;o<r;o++){let s=i.charCodeAt(o);s===13?o+1<r&&i.charCodeAt(o+1)===10?(e[n++]=o+2,o++):e[n++]=o+1:s===10&&(e[n++]=o+1)}return t?vH(e):e}function bH(i,t){i.length=0,i[0]=0;let e=1,n=0,o=0,r=0,s=!0;for(let l=0,d=t.length;l<d;l++){let c=t.charCodeAt(l);c===13?l+1<d&&t.charCodeAt(l+1)===10?(r++,i[e++]=l+2,l++):(n++,i[e++]=l+1):c===10?(o++,i[e++]=l+1):s&&c!==9&&(c<32||c>126)&&(s=!1)}let a=new zA(vH(i),n,o,r,s);return i.length=0,a}var po=class{constructor(t,e,n,o,r){this.bufferIndex=t,this.start=e,this.end=n,this.lineFeedCnt=o,this.length=r}},is=class{constructor(t,e){this.buffer=t,this.lineStarts=e}},qA=class{constructor(t,e){this._pieces=[],this._tree=t,this._BOM=e,this._index=0,t.root!==Te&&t.iterate(t.root,n=>(n!==Te&&this._pieces.push(n.piece),!0))}read(){return this._pieces.length===0?this._index===0?(this._index++,this._BOM):null:this._index>this._pieces.length-1?null:this._index===0?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}},KA=class{constructor(t){this._limit=t,this._cache=[]}get(t){for(let e=this._cache.length-1;e>=0;e--){let n=this._cache[e];if(n.nodeStartOffset<=t&&n.nodeStartOffset+n.node.piece.length>=t)return n}return null}get2(t){for(let e=this._cache.length-1;e>=0;e--){let n=this._cache[e];if(n.nodeStartLineNumber&&n.nodeStartLineNumber<t&&n.nodeStartLineNumber+n.node.piece.lineFeedCnt>=t)return n}return null}set(t){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(t)}validate(t){let e=!1,n=this._cache;for(let o=0;o<n.length;o++){let r=n[o];if(r.node.parent===null||r.nodeStartOffset>=t){n[o]=null,e=!0;continue}}if(e){let o=[];for(let r of n)r!==null&&o.push(r);this._cache=o}}},JT=class{constructor(t,e,n){this.create(t,e,n)}create(t,e,n){this._buffers=[new is("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=Te,this._lineCnt=1,this._length=0,this._EOL=e,this._EOLLength=e.length,this._EOLNormalized=n;let o=null;for(let r=0,s=t.length;r<s;r++)if(t[r].buffer.length>0){t[r].lineStarts||(t[r].lineStarts=rs(t[r].buffer));let a=new po(r+1,{line:0,column:0},{line:t[r].lineStarts.length-1,column:t[r].buffer.length-t[r].lineStarts[t[r].lineStarts.length-1]},t[r].lineStarts.length-1,t[r].buffer.length);this._buffers.push(t[r]),o=this.rbInsertRight(o,a)}this._searchCache=new KA(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(t){let e=ua,n=e-Math.floor(e/3),o=n*2,r="",s=0,a=[];if(this.iterate(this.root,l=>{let d=this.getNodeContent(l),c=d.length;if(s<=n||s+c<o)return r+=d,s+=c,!0;let u=r.replace(/\r\n|\r|\n/g,t);return a.push(new is(u,rs(u))),r=d,s=c,!0}),s>0){let l=r.replace(/\r\n|\r|\n/g,t);a.push(new is(l,rs(l)))}this.create(a,t,!0)}getEOL(){return this._EOL}setEOL(t){this._EOL=t,this._EOLLength=this._EOL.length,this.normalizeEOL(t)}createSnapshot(t){return new qA(this,t)}equal(t){if(this.getLength()!==t.getLength()||this.getLineCount()!==t.getLineCount())return!1;let e=0;return this.iterate(this.root,o=>{if(o===Te)return!0;let r=this.getNodeContent(o),s=r.length,a=t.nodeAt(e),l=t.nodeAt(e+s),d=t.getValueInRange2(a,l);return e+=s,r===d})}getOffsetAt(t,e){let n=0,o=this.root;for(;o!==Te;)if(o.left!==Te&&o.lf_left+1>=t)o=o.left;else if(o.lf_left+o.piece.lineFeedCnt+1>=t){n+=o.size_left;let r=this.getAccumulatedValue(o,t-o.lf_left-2);return n+=r+e-1}else t-=o.lf_left+o.piece.lineFeedCnt,n+=o.size_left+o.piece.length,o=o.right;return n}getPositionAt(t){t=Math.floor(t),t=Math.max(0,t);let e=this.root,n=0,o=t;for(;e!==Te;)if(e.size_left!==0&&e.size_left>=t)e=e.left;else if(e.size_left+e.piece.length>=t){let r=this.getIndexOf(e,t-e.size_left);if(n+=e.lf_left+r.index,r.index===0){let s=this.getOffsetAt(n+1,1),a=o-s;return new vn(n+1,a+1)}return new vn(n+1,r.remainder+1)}else if(t-=e.size_left+e.piece.length,n+=e.lf_left+e.piece.lineFeedCnt,e.right===Te){let r=this.getOffsetAt(n+1,1),s=o-t-r;return new vn(n+1,s+1)}else e=e.right;return new vn(1,1)}getValueInRange(t,e){if(t.startLineNumber===t.endLineNumber&&t.startColumn===t.endColumn)return"";let n=this.nodeAt2(t.startLineNumber,t.startColumn),o=this.nodeAt2(t.endLineNumber,t.endColumn),r=this.getValueInRange2(n,o);return e?e!==this._EOL||!this._EOLNormalized?r.replace(/\r\n|\r|\n/g,e):e===this.getEOL()&&this._EOLNormalized?r:r.replace(/\r\n|\r|\n/g,e):r}getValueInRange2(t,e){if(t.node===e.node){let a=t.node,l=this._buffers[a.piece.bufferIndex].buffer,d=this.offsetInBuffer(a.piece.bufferIndex,a.piece.start);return l.substring(d+t.remainder,d+e.remainder)}let n=t.node,o=this._buffers[n.piece.bufferIndex].buffer,r=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start),s=o.substring(r+t.remainder,r+n.piece.length);for(n=n.next();n!==Te;){let a=this._buffers[n.piece.bufferIndex].buffer,l=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);if(n===e.node){s+=a.substring(l,l+e.remainder);break}else s+=a.substr(l,n.piece.length);n=n.next()}return s}getLinesContent(){let t=[],e=0,n="",o=!1;return this.iterate(this.root,r=>{if(r===Te)return!0;let s=r.piece,a=s.length;if(a===0)return!0;let l=this._buffers[s.bufferIndex].buffer,d=this._buffers[s.bufferIndex].lineStarts,c=s.start.line,u=s.end.line,m=d[c]+s.start.column;if(o&&(l.charCodeAt(m)===10&&(m++,a--),t[e++]=n,n="",o=!1,a===0))return!0;if(c===u)return!this._EOLNormalized&&l.charCodeAt(m+a-1)===13?(o=!0,n+=l.substr(m,a-1)):n+=l.substr(m,a),!0;n+=this._EOLNormalized?l.substring(m,Math.max(m,d[c+1]-this._EOLLength)):l.substring(m,d[c+1]).replace(/(\r\n|\r|\n)$/,""),t[e++]=n;for(let g=c+1;g<u;g++)n=this._EOLNormalized?l.substring(d[g],d[g+1]-this._EOLLength):l.substring(d[g],d[g+1]).replace(/(\r\n|\r|\n)$/,""),t[e++]=n;return!this._EOLNormalized&&l.charCodeAt(d[u]+s.end.column-1)===13?(o=!0,s.end.column===0?e--:n=l.substr(d[u],s.end.column-1)):n=l.substr(d[u],s.end.column),!0}),o&&(t[e++]=n,n=""),t[e++]=n,t}getLength(){return this._length}getLineCount(){return this._lineCnt}getLineContent(t){return this._lastVisitedLine.lineNumber===t?this._lastVisitedLine.value:(this._lastVisitedLine.lineNumber=t,t===this._lineCnt?this._lastVisitedLine.value=this.getLineRawContent(t):this._EOLNormalized?this._lastVisitedLine.value=this.getLineRawContent(t,this._EOLLength):this._lastVisitedLine.value=this.getLineRawContent(t).replace(/(\r\n|\r|\n)$/,""),this._lastVisitedLine.value)}_getCharCode(t){if(t.remainder===t.node.piece.length){let e=t.node.next();if(!e)return 0;let n=this._buffers[e.piece.bufferIndex],o=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start);return n.buffer.charCodeAt(o)}else{let e=this._buffers[t.node.piece.bufferIndex],o=this.offsetInBuffer(t.node.piece.bufferIndex,t.node.piece.start)+t.remainder;return e.buffer.charCodeAt(o)}}getLineCharCode(t,e){let n=this.nodeAt2(t,e+1);return this._getCharCode(n)}getLineLength(t){if(t===this.getLineCount()){let e=this.getOffsetAt(t,1);return this.getLength()-e}return this.getOffsetAt(t+1,1)-this.getOffsetAt(t,1)-this._EOLLength}getCharCode(t){let e=this.nodeAt(t);return this._getCharCode(e)}getNearestChunk(t){let e=this.nodeAt(t);if(e.remainder===e.node.piece.length){let n=e.node.next();if(!n||n===Te)return"";let o=this._buffers[n.piece.bufferIndex],r=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return o.buffer.substring(r,r+n.piece.length)}else{let n=this._buffers[e.node.piece.bufferIndex],o=this.offsetInBuffer(e.node.piece.bufferIndex,e.node.piece.start),r=o+e.remainder,s=o+e.node.piece.length;return n.buffer.substring(r,s)}}findMatchesInNode(t,e,n,o,r,s,a,l,d,c,u){let m=this._buffers[t.piece.bufferIndex],g=this.offsetInBuffer(t.piece.bufferIndex,t.piece.start),v=this.offsetInBuffer(t.piece.bufferIndex,r),f=this.offsetInBuffer(t.piece.bufferIndex,s),x,C={line:0,column:0},E,k;e._wordSeparators?(E=m.buffer.substring(v,f),k=O=>O+v,e.reset(0)):(E=m.buffer,k=O=>O,e.reset(v));do if(x=e.next(E),x){if(k(x.index)>=f)return c;this.positionInBuffer(t,k(x.index)-g,C);let O=this.getLineFeedCnt(t.piece.bufferIndex,r,C),N=C.line===r.line?C.column-r.column+o:C.column+1,H=N+x[0].length;if(u[c++]=$R(new Ne(n+O,N,n+O,H),x,l),k(x.index)+x[0].length>=f||c>=d)return c}while(x);return c}findMatchesLineByLine(t,e,n,o){let r=[],s=0,a=new AC(e.wordSeparators,e.regex),l=this.nodeAt2(t.startLineNumber,t.startColumn);if(l===null)return[];let d=this.nodeAt2(t.endLineNumber,t.endColumn);if(d===null)return[];let c=this.positionInBuffer(l.node,l.remainder),u=this.positionInBuffer(d.node,d.remainder);if(l.node===d.node)return this.findMatchesInNode(l.node,a,t.startLineNumber,t.startColumn,c,u,e,n,o,s,r),r;let m=t.startLineNumber,g=l.node;for(;g!==d.node;){let f=this.getLineFeedCnt(g.piece.bufferIndex,c,g.piece.end);if(f>=1){let C=this._buffers[g.piece.bufferIndex].lineStarts,E=this.offsetInBuffer(g.piece.bufferIndex,g.piece.start),k=C[c.line+f],O=m===t.startLineNumber?t.startColumn:1;if(s=this.findMatchesInNode(g,a,m,O,c,this.positionInBuffer(g,k-E),e,n,o,s,r),s>=o)return r;m+=f}let x=m===t.startLineNumber?t.startColumn-1:0;if(m===t.endLineNumber){let C=this.getLineContent(m).substring(x,t.endColumn-1);return s=this._findMatchesInLine(e,a,C,t.endLineNumber,x,s,r,n,o),r}if(s=this._findMatchesInLine(e,a,this.getLineContent(m).substr(x),m,x,s,r,n,o),s>=o)return r;m++,l=this.nodeAt2(m,1),g=l.node,c=this.positionInBuffer(l.node,l.remainder)}if(m===t.endLineNumber){let f=m===t.startLineNumber?t.startColumn-1:0,x=this.getLineContent(m).substring(f,t.endColumn-1);return s=this._findMatchesInLine(e,a,x,t.endLineNumber,f,s,r,n,o),r}let v=m===t.startLineNumber?t.startColumn:1;return s=this.findMatchesInNode(d.node,a,m,v,c,u,e,n,o,s,r),r}_findMatchesInLine(t,e,n,o,r,s,a,l,d){let c=t.wordSeparators;if(!l&&t.simpleSearch){let m=t.simpleSearch,g=m.length,v=n.length,f=-g;for(;(f=n.indexOf(m,f+g))!==-1;)if((!c||zR(c,n,v,f,g))&&(a[s++]=new Ed(new Ne(o,f+1+r,o,f+1+g+r),null),s>=d))return s;return s}let u;e.reset(0);do if(u=e.next(n),u&&(a[s++]=$R(new Ne(o,u.index+1+r,o,u.index+1+u[0].length+r),u,l),s>=d))return s;while(u);return s}insert(t,e,n=!1){if(this._EOLNormalized=this._EOLNormalized&&n,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==Te){let{node:o,remainder:r,nodeStartOffset:s}=this.nodeAt(t),a=o.piece,l=a.bufferIndex,d=this.positionInBuffer(o,r);if(o.piece.bufferIndex===0&&a.end.line===this._lastChangeBufferPos.line&&a.end.column===this._lastChangeBufferPos.column&&s+a.length===t&&e.length<ua){this.appendToNode(o,e),this.computeBufferMetadata();return}if(s===t)this.insertContentToNodeLeft(e,o),this._searchCache.validate(t);else if(s+o.piece.length>t){let c=[],u=new po(a.bufferIndex,d,a.end,this.getLineFeedCnt(a.bufferIndex,d,a.end),this.offsetInBuffer(l,a.end)-this.offsetInBuffer(l,d));if(this.shouldCheckCRLF()&&this.endWithCR(e)&&this.nodeCharCodeAt(o,r)===10){let f={line:u.start.line+1,column:0};u=new po(u.bufferIndex,f,u.end,this.getLineFeedCnt(u.bufferIndex,f,u.end),u.length-1),e+=`
`}if(this.shouldCheckCRLF()&&this.startWithLF(e))if(this.nodeCharCodeAt(o,r-1)===13){let f=this.positionInBuffer(o,r-1);this.deleteNodeTail(o,f),e="\r"+e,o.piece.length===0&&c.push(o)}else this.deleteNodeTail(o,d);else this.deleteNodeTail(o,d);let m=this.createNewPieces(e);u.length>0&&this.rbInsertRight(o,u);let g=o;for(let v=0;v<m.length;v++)g=this.rbInsertRight(g,m[v]);this.deleteNodes(c)}else this.insertContentToNodeRight(e,o)}else{let o=this.createNewPieces(e),r=this.rbInsertLeft(null,o[0]);for(let s=1;s<o.length;s++)r=this.rbInsertRight(r,o[s])}this.computeBufferMetadata()}delete(t,e){if(this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",e<=0||this.root===Te)return;let n=this.nodeAt(t),o=this.nodeAt(t+e),r=n.node,s=o.node;if(r===s){let m=this.positionInBuffer(r,n.remainder),g=this.positionInBuffer(r,o.remainder);if(n.nodeStartOffset===t){if(e===r.piece.length){let v=r.next();xv(this,r),this.validateCRLFWithPrevNode(v),this.computeBufferMetadata();return}this.deleteNodeHead(r,g),this._searchCache.validate(t),this.validateCRLFWithPrevNode(r),this.computeBufferMetadata();return}if(n.nodeStartOffset+r.piece.length===t+e){this.deleteNodeTail(r,m),this.validateCRLFWithNextNode(r),this.computeBufferMetadata();return}this.shrinkNode(r,m,g),this.computeBufferMetadata();return}let a=[],l=this.positionInBuffer(r,n.remainder);this.deleteNodeTail(r,l),this._searchCache.validate(t),r.piece.length===0&&a.push(r);let d=this.positionInBuffer(s,o.remainder);this.deleteNodeHead(s,d),s.piece.length===0&&a.push(s);let c=r.next();for(let m=c;m!==Te&&m!==s;m=m.next())a.push(m);let u=r.piece.length===0?r.prev():r;this.deleteNodes(a),this.validateCRLFWithNextNode(u),this.computeBufferMetadata()}insertContentToNodeLeft(t,e){let n=[];if(this.shouldCheckCRLF()&&this.endWithCR(t)&&this.startWithLF(e)){let s=e.piece,a={line:s.start.line+1,column:0},l=new po(s.bufferIndex,a,s.end,this.getLineFeedCnt(s.bufferIndex,a,s.end),s.length-1);e.piece=l,t+=`
`,os(this,e,-1,-1),e.piece.length===0&&n.push(e)}let o=this.createNewPieces(t),r=this.rbInsertLeft(e,o[o.length-1]);for(let s=o.length-2;s>=0;s--)r=this.rbInsertLeft(r,o[s]);this.validateCRLFWithPrevNode(r),this.deleteNodes(n)}insertContentToNodeRight(t,e){this.adjustCarriageReturnFromNext(t,e)&&(t+=`
`);let n=this.createNewPieces(t),o=this.rbInsertRight(e,n[0]),r=o;for(let s=1;s<n.length;s++)r=this.rbInsertRight(r,n[s]);this.validateCRLFWithPrevNode(o)}positionInBuffer(t,e,n){let o=t.piece,r=t.piece.bufferIndex,s=this._buffers[r].lineStarts,l=s[o.start.line]+o.start.column+e,d=o.start.line,c=o.end.line,u=0,m=0,g=0;for(;d<=c&&(u=d+(c-d)/2|0,g=s[u],u!==c);)if(m=s[u+1],l<g)c=u-1;else if(l>=m)d=u+1;else break;return n?(n.line=u,n.column=l-g,null):{line:u,column:l-g}}getLineFeedCnt(t,e,n){if(n.column===0)return n.line-e.line;let o=this._buffers[t].lineStarts;if(n.line===o.length-1)return n.line-e.line;let r=o[n.line+1],s=o[n.line]+n.column;if(r>s+1)return n.line-e.line;let a=s-1;return this._buffers[t].buffer.charCodeAt(a)===13?n.line-e.line+1:n.line-e.line}offsetInBuffer(t,e){return this._buffers[t].lineStarts[e.line]+e.column}deleteNodes(t){for(let e=0;e<t.length;e++)xv(this,t[e])}createNewPieces(t){if(t.length>ua){let c=[];for(;t.length>ua;){let m=t.charCodeAt(ua-1),g;m===13||m>=55296&&m<=56319?(g=t.substring(0,ua-1),t=t.substring(ua-1)):(g=t.substring(0,ua),t=t.substring(ua));let v=rs(g);c.push(new po(this._buffers.length,{line:0,column:0},{line:v.length-1,column:g.length-v[v.length-1]},v.length-1,g.length)),this._buffers.push(new is(g,v))}let u=rs(t);return c.push(new po(this._buffers.length,{line:0,column:0},{line:u.length-1,column:t.length-u[u.length-1]},u.length-1,t.length)),this._buffers.push(new is(t,u)),c}let e=this._buffers[0].buffer.length,n=rs(t,!1),o=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===e&&e!==0&&this.startWithLF(t)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},o=this._lastChangeBufferPos;for(let c=0;c<n.length;c++)n[c]+=e+1;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(n.slice(1)),this._buffers[0].buffer+="_"+t,e+=1}else{if(e!==0)for(let c=0;c<n.length;c++)n[c]+=e;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(n.slice(1)),this._buffers[0].buffer+=t}let r=this._buffers[0].buffer.length,s=this._buffers[0].lineStarts.length-1,a=r-this._buffers[0].lineStarts[s],l={line:s,column:a},d=new po(0,o,l,this.getLineFeedCnt(0,o,l),r-e);return this._lastChangeBufferPos=l,[d]}getLinesRawContent(){return this.getContentOfSubTree(this.root)}getLineRawContent(t,e=0){let n=this.root,o="",r=this._searchCache.get2(t);if(r){n=r.node;let s=this.getAccumulatedValue(n,t-r.nodeStartLineNumber-1),a=this._buffers[n.piece.bufferIndex].buffer,l=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);if(r.nodeStartLineNumber+n.piece.lineFeedCnt===t)o=a.substring(l+s,l+n.piece.length);else{let d=this.getAccumulatedValue(n,t-r.nodeStartLineNumber);return a.substring(l+s,l+d-e)}}else{let s=0,a=t;for(;n!==Te;)if(n.left!==Te&&n.lf_left>=t-1)n=n.left;else if(n.lf_left+n.piece.lineFeedCnt>t-1){let l=this.getAccumulatedValue(n,t-n.lf_left-2),d=this.getAccumulatedValue(n,t-n.lf_left-1),c=this._buffers[n.piece.bufferIndex].buffer,u=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return s+=n.size_left,this._searchCache.set({node:n,nodeStartOffset:s,nodeStartLineNumber:a-(t-1-n.lf_left)}),c.substring(u+l,u+d-e)}else if(n.lf_left+n.piece.lineFeedCnt===t-1){let l=this.getAccumulatedValue(n,t-n.lf_left-2),d=this._buffers[n.piece.bufferIndex].buffer,c=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);o=d.substring(c+l,c+n.piece.length);break}else t-=n.lf_left+n.piece.lineFeedCnt,s+=n.size_left+n.piece.length,n=n.right}for(n=n.next();n!==Te;){let s=this._buffers[n.piece.bufferIndex].buffer;if(n.piece.lineFeedCnt>0){let a=this.getAccumulatedValue(n,0),l=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return o+=s.substring(l,l+a-e),o}else{let a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);o+=s.substr(a,n.piece.length)}n=n.next()}return o}computeBufferMetadata(){let t=this.root,e=1,n=0;for(;t!==Te;)e+=t.lf_left+t.piece.lineFeedCnt,n+=t.size_left+t.piece.length,t=t.right;this._lineCnt=e,this._length=n,this._searchCache.validate(this._length)}getIndexOf(t,e){let n=t.piece,o=this.positionInBuffer(t,e),r=o.line-n.start.line;if(this.offsetInBuffer(n.bufferIndex,n.end)-this.offsetInBuffer(n.bufferIndex,n.start)===e){let s=this.getLineFeedCnt(t.piece.bufferIndex,n.start,o);if(s!==r)return{index:s,remainder:0}}return{index:r,remainder:o.column}}getAccumulatedValue(t,e){if(e<0)return 0;let n=t.piece,o=this._buffers[n.bufferIndex].lineStarts,r=n.start.line+e+1;return r>n.end.line?o[n.end.line]+n.end.column-o[n.start.line]-n.start.column:o[r]-o[n.start.line]-n.start.column}deleteNodeTail(t,e){let n=t.piece,o=n.lineFeedCnt,r=this.offsetInBuffer(n.bufferIndex,n.end),s=e,a=this.offsetInBuffer(n.bufferIndex,s),l=this.getLineFeedCnt(n.bufferIndex,n.start,s),d=l-o,c=a-r,u=n.length+c;t.piece=new po(n.bufferIndex,n.start,s,l,u),os(this,t,c,d)}deleteNodeHead(t,e){let n=t.piece,o=n.lineFeedCnt,r=this.offsetInBuffer(n.bufferIndex,n.start),s=e,a=this.getLineFeedCnt(n.bufferIndex,s,n.end),l=this.offsetInBuffer(n.bufferIndex,s),d=a-o,c=r-l,u=n.length+c;t.piece=new po(n.bufferIndex,s,n.end,a,u),os(this,t,c,d)}shrinkNode(t,e,n){let o=t.piece,r=o.start,s=o.end,a=o.length,l=o.lineFeedCnt,d=e,c=this.getLineFeedCnt(o.bufferIndex,o.start,d),u=this.offsetInBuffer(o.bufferIndex,e)-this.offsetInBuffer(o.bufferIndex,r);t.piece=new po(o.bufferIndex,o.start,d,c,u),os(this,t,u-a,c-l);let m=new po(o.bufferIndex,n,s,this.getLineFeedCnt(o.bufferIndex,n,s),this.offsetInBuffer(o.bufferIndex,s)-this.offsetInBuffer(o.bufferIndex,n)),g=this.rbInsertRight(t,m);this.validateCRLFWithPrevNode(g)}appendToNode(t,e){this.adjustCarriageReturnFromNext(e,t)&&(e+=`
`);let n=this.shouldCheckCRLF()&&this.startWithLF(e)&&this.endWithCR(t),o=this._buffers[0].buffer.length;this._buffers[0].buffer+=e;let r=rs(e,!1);for(let g=0;g<r.length;g++)r[g]+=o;if(n){let g=this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-2];this._buffers[0].lineStarts.pop(),this._lastChangeBufferPos={line:this._lastChangeBufferPos.line-1,column:o-g}}this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(r.slice(1));let s=this._buffers[0].lineStarts.length-1,a=this._buffers[0].buffer.length-this._buffers[0].lineStarts[s],l={line:s,column:a},d=t.piece.length+e.length,c=t.piece.lineFeedCnt,u=this.getLineFeedCnt(0,t.piece.start,l),m=u-c;t.piece=new po(t.piece.bufferIndex,t.piece.start,l,u,d),this._lastChangeBufferPos=l,os(this,t,e.length,m)}nodeAt(t){let e=this.root,n=this._searchCache.get(t);if(n)return{node:n.node,nodeStartOffset:n.nodeStartOffset,remainder:t-n.nodeStartOffset};let o=0;for(;e!==Te;)if(e.size_left>t)e=e.left;else if(e.size_left+e.piece.length>=t){o+=e.size_left;let r={node:e,remainder:t-e.size_left,nodeStartOffset:o};return this._searchCache.set(r),r}else t-=e.size_left+e.piece.length,o+=e.size_left+e.piece.length,e=e.right;return null}nodeAt2(t,e){let n=this.root,o=0;for(;n!==Te;)if(n.left!==Te&&n.lf_left>=t-1)n=n.left;else if(n.lf_left+n.piece.lineFeedCnt>t-1){let r=this.getAccumulatedValue(n,t-n.lf_left-2),s=this.getAccumulatedValue(n,t-n.lf_left-1);return o+=n.size_left,{node:n,remainder:Math.min(r+e-1,s),nodeStartOffset:o}}else if(n.lf_left+n.piece.lineFeedCnt===t-1){let r=this.getAccumulatedValue(n,t-n.lf_left-2);if(r+e-1<=n.piece.length)return{node:n,remainder:r+e-1,nodeStartOffset:o};e-=n.piece.length-r;break}else t-=n.lf_left+n.piece.lineFeedCnt,o+=n.size_left+n.piece.length,n=n.right;for(n=n.next();n!==Te;){if(n.piece.lineFeedCnt>0){let r=this.getAccumulatedValue(n,0),s=this.offsetOfNode(n);return{node:n,remainder:Math.min(e-1,r),nodeStartOffset:s}}else if(n.piece.length>=e-1){let r=this.offsetOfNode(n);return{node:n,remainder:e-1,nodeStartOffset:r}}else e-=n.piece.length;n=n.next()}return null}nodeCharCodeAt(t,e){if(t.piece.lineFeedCnt<1)return-1;let n=this._buffers[t.piece.bufferIndex],o=this.offsetInBuffer(t.piece.bufferIndex,t.piece.start)+e;return n.buffer.charCodeAt(o)}offsetOfNode(t){if(!t)return 0;let e=t.size_left;for(;t!==this.root;)t.parent.right===t&&(e+=t.parent.size_left+t.parent.piece.length),t=t.parent;return e}shouldCheckCRLF(){return!(this._EOLNormalized&&this._EOL===`
`)}startWithLF(t){if(typeof t=="string")return t.charCodeAt(0)===10;if(t===Te||t.piece.lineFeedCnt===0)return!1;let e=t.piece,n=this._buffers[e.bufferIndex].lineStarts,o=e.start.line,r=n[o]+e.start.column;return o===n.length-1||n[o+1]>r+1?!1:this._buffers[e.bufferIndex].buffer.charCodeAt(r)===10}endWithCR(t){return typeof t=="string"?t.charCodeAt(t.length-1)===13:t===Te||t.piece.lineFeedCnt===0?!1:this.nodeCharCodeAt(t,t.piece.length-1)===13}validateCRLFWithPrevNode(t){if(this.shouldCheckCRLF()&&this.startWithLF(t)){let e=t.prev();this.endWithCR(e)&&this.fixCRLF(e,t)}}validateCRLFWithNextNode(t){if(this.shouldCheckCRLF()&&this.endWithCR(t)){let e=t.next();this.startWithLF(e)&&this.fixCRLF(t,e)}}fixCRLF(t,e){let n=[],o=this._buffers[t.piece.bufferIndex].lineStarts,r;t.piece.end.column===0?r={line:t.piece.end.line-1,column:o[t.piece.end.line]-o[t.piece.end.line-1]-1}:r={line:t.piece.end.line,column:t.piece.end.column-1};let s=t.piece.length-1,a=t.piece.lineFeedCnt-1;t.piece=new po(t.piece.bufferIndex,t.piece.start,r,a,s),os(this,t,-1,-1),t.piece.length===0&&n.push(t);let l={line:e.piece.start.line+1,column:0},d=e.piece.length-1,c=this.getLineFeedCnt(e.piece.bufferIndex,l,e.piece.end);e.piece=new po(e.piece.bufferIndex,l,e.piece.end,c,d),os(this,e,-1,-1),e.piece.length===0&&n.push(e);let u=this.createNewPieces(`\r
`);this.rbInsertRight(t,u[0]);for(let m=0;m<n.length;m++)xv(this,n[m])}adjustCarriageReturnFromNext(t,e){if(this.shouldCheckCRLF()&&this.endWithCR(t)){let n=e.next();if(this.startWithLF(n)){if(t+=`
`,n.piece.length===1)xv(this,n);else{let o=n.piece,r={line:o.start.line+1,column:0},s=o.length-1,a=this.getLineFeedCnt(o.bufferIndex,r,o.end);n.piece=new po(o.bufferIndex,r,o.end,a,s),os(this,n,-1,-1)}return!0}}return!1}iterate(t,e){if(t===Te)return e(Te);let n=this.iterate(t.left,e);return n&&e(t)&&this.iterate(t.right,e)}getNodeContent(t){if(t===Te)return"";let e=this._buffers[t.piece.bufferIndex],n=t.piece,o=this.offsetInBuffer(n.bufferIndex,n.start),r=this.offsetInBuffer(n.bufferIndex,n.end);return e.buffer.substring(o,r)}getPieceContent(t){let e=this._buffers[t.bufferIndex],n=this.offsetInBuffer(t.bufferIndex,t.start),o=this.offsetInBuffer(t.bufferIndex,t.end);return e.buffer.substring(n,o)}rbInsertRight(t,e){let n=new mg(e,1);if(n.left=Te,n.right=Te,n.parent=Te,n.size_left=0,n.lf_left=0,this.root===Te)this.root=n,n.color=0;else if(t.right===Te)t.right=n,n.parent=t;else{let r=QT(t.right);r.left=n,n.parent=r}return $A(this,n),n}rbInsertLeft(t,e){let n=new mg(e,1);if(n.left=Te,n.right=Te,n.parent=Te,n.size_left=0,n.lf_left=0,this.root===Te)this.root=n,n.color=0;else if(t.left===Te)t.left=n,n.parent=t;else{let o=VA(t.left);o.right=n,n.parent=o}return $A(this,n),n}getContentOfSubTree(t){let e="";return this.iterate(t,n=>(e+=this.getNodeContent(n),!0)),e}};function XT(i){let t=0,e=0,n=0,o=0;for(let r=0,s=i.length;r<s;r++){let a=i.charCodeAt(r);a===13?(t===0&&(e=r),t++,r+1<s&&i.charCodeAt(r+1)===10?(o|=2,r++):o|=3,n=r+1):a===10&&(o|=1,t===0&&(e=r),t++,n=r+1)}return t===0&&(e=i.length),[t,e,i.length-n,o]}var GA;function wz(){return GA||(GA=new TextDecoder("UTF-16LE")),GA}function yH(i,t,e){let n=new Uint16Array(i.buffer,t,e);return e>0&&(n[0]===65279||n[0]===65534)?kz(i,t,e):wz().decode(n)}function kz(i,t,e){let n=[],o=0;for(let r=0;r<e;r++){let s=ZM(i,t);t+=2,n[o++]=String.fromCharCode(s)}return n.join("")}function YT(i){return i.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}var ZT=class i{constructor(t,e,n,o){this.oldPosition=t;this.oldText=e;this.newPosition=n;this.newText=o}get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}toString(){return this.oldText.length===0?`(insert@${this.oldPosition} "${YT(this.newText)}")`:this.newText.length===0?`(delete@${this.oldPosition} "${YT(this.oldText)}")`:`(replace@${this.oldPosition} "${YT(this.oldText)}" with "${YT(this.newText)}")`}static _writeStringSize(t){return 4+2*t.length}static _writeString(t,e,n){let o=e.length;Lg(t,o,n),n+=4;for(let r=0;r<o;r++)e0(t,e.charCodeAt(r),n),n+=2;return n}static _readString(t,e){let n=Og(t,e);return e+=4,yH(t,e,n)}writeSize(){return 8+i._writeStringSize(this.oldText)+i._writeStringSize(this.newText)}write(t,e){return Lg(t,this.oldPosition,e),e+=4,Lg(t,this.newPosition,e),e+=4,e=i._writeString(t,this.oldText,e),e=i._writeString(t,this.newText,e),e}static read(t,e,n){let o=Og(t,e);e+=4;let r=Og(t,e);e+=4;let s=i._readString(t,e);e+=i._writeStringSize(s);let a=i._readString(t,e);return e+=i._writeStringSize(a),n.push(new i(o,s,r,a)),e}};var eE=class i extends V{constructor(e,n,o,r,s,a,l){super();this._onDidChangeContent=this._register(new w);this._BOM=n,this._mightContainNonBasicASCII=!a,this._mightContainRTL=r,this._mightContainUnusualLineTerminators=s,this._pieceTree=new JT(e,o,l)}get onDidChangeContent(){return this._onDidChangeContent.event}equals(e){return!(e instanceof i)||this._BOM!==e._BOM||this.getEOL()!==e.getEOL()?!1:this._pieceTree.equal(e._pieceTree)}mightContainRTL(){return this._mightContainRTL}mightContainUnusualLineTerminators(){return this._mightContainUnusualLineTerminators}resetMightContainUnusualLineTerminators(){this._mightContainUnusualLineTerminators=!1}mightContainNonBasicASCII(){return this._mightContainNonBasicASCII}getBOM(){return this._BOM}getEOL(){return this._pieceTree.getEOL()}createSnapshot(e){return this._pieceTree.createSnapshot(e?this._BOM:"")}getOffsetAt(e,n){return this._pieceTree.getOffsetAt(e,n)}getPositionAt(e){return this._pieceTree.getPositionAt(e)}getRangeAt(e,n){let o=e+n,r=this.getPositionAt(e),s=this.getPositionAt(o);return new Ne(r.lineNumber,r.column,s.lineNumber,s.column)}getValueInRange(e,n=0){if(e.isEmpty())return"";let o=this._getEndOfLine(n);return this._pieceTree.getValueInRange(e,o)}getValueLengthInRange(e,n=0){if(e.isEmpty())return 0;if(e.startLineNumber===e.endLineNumber)return e.endColumn-e.startColumn;let o=this.getOffsetAt(e.startLineNumber,e.startColumn),r=this.getOffsetAt(e.endLineNumber,e.endColumn),s=0,a=this._getEndOfLine(n),l=this.getEOL();if(a.length!==l.length){let d=a.length-l.length,c=e.endLineNumber-e.startLineNumber;s=d*c}return r-o+s}getCharacterCountInRange(e,n=0){if(this._mightContainNonBasicASCII){let o=0,r=e.startLineNumber,s=e.endLineNumber;for(let a=r;a<=s;a++){let l=this.getLineContent(a),d=a===r?e.startColumn-1:0,c=a===s?e.endColumn-1:l.length;for(let u=d;u<c;u++)gd(l.charCodeAt(u))?(o=o+1,u=u+1):o=o+1}return o+=this._getEndOfLine(n).length*(s-r),o}return this.getValueLengthInRange(e,n)}getNearestChunk(e){return this._pieceTree.getNearestChunk(e)}getLength(){return this._pieceTree.getLength()}getLineCount(){return this._pieceTree.getLineCount()}getLinesContent(){return this._pieceTree.getLinesContent()}getLineContent(e){return this._pieceTree.getLineContent(e)}getLineCharCode(e,n){return this._pieceTree.getLineCharCode(e,n)}getCharCode(e){return this._pieceTree.getCharCode(e)}getLineLength(e){return this._pieceTree.getLineLength(e)}getLineMinColumn(e){return 1}getLineMaxColumn(e){return this.getLineLength(e)+1}getLineFirstNonWhitespaceColumn(e){let n=nb(this.getLineContent(e));return n===-1?0:n+1}getLineLastNonWhitespaceColumn(e){let n=W0(this.getLineContent(e));return n===-1?0:n+2}_getEndOfLine(e){switch(e){case 1:return`
`;case 2:return`\r
`;case 0:return this.getEOL();default:throw new Error("Unknown EOL preference")}}setEOL(e){this._pieceTree.setEOL(e)}applyEdits(e,n,o){let r=this._mightContainRTL,s=this._mightContainUnusualLineTerminators,a=this._mightContainNonBasicASCII,l=!0,d=[];for(let x=0;x<e.length;x++){let C=e[x];l&&C._isTracked&&(l=!1);let E=C.range;if(C.text){let q=!0;a||(q=!q0(C.text),a=q),!r&&q&&(r=sb(C.text)),!s&&q&&(s=ab(C.text))}let k="",O=0,N=0,H=0;if(C.text){let q;[O,N,H,q]=XT(C.text);let Q=this.getEOL(),z=Q===`\r
`?2:1;q===0||q===z?k=C.text:k=C.text.replace(/\r\n|\r|\n/g,Q)}d[x]={sortIndex:x,identifier:C.identifier||null,range:E,rangeOffset:this.getOffsetAt(E.startLineNumber,E.startColumn),rangeLength:this.getValueLengthInRange(E),text:k,eolCount:O,firstLineLength:N,lastLineLength:H,forceMoveMarkers:!!C.forceMoveMarkers,isAutoWhitespaceEdit:C.isAutoWhitespaceEdit||!1}}d.sort(i._sortOpsAscending);let c=!1;for(let x=0,C=d.length-1;x<C;x++){let E=d[x].range.getEndPosition(),k=d[x+1].range.getStartPosition();if(k.isBeforeOrEqual(E)){if(k.isBefore(E))throw new Error("Overlapping ranges are not allowed!");c=!0}}l&&(d=this._reduceOperations(d));let u=o||n?i._getInverseEditRanges(d):[],m=[];if(n)for(let x=0;x<d.length;x++){let C=d[x],E=u[x];if(C.isAutoWhitespaceEdit&&C.range.isEmpty())for(let k=E.startLineNumber;k<=E.endLineNumber;k++){let O="";k===E.startLineNumber&&(O=this.getLineContent(C.range.startLineNumber),nb(O)!==-1)||m.push({lineNumber:k,oldContent:O})}}let g=null;if(o){let x=0;g=[];for(let C=0;C<d.length;C++){let E=d[C],k=u[C],O=this.getValueInRange(E.range),N=E.rangeOffset+x;x+=E.text.length-O.length,g[C]={sortIndex:E.sortIndex,identifier:E.identifier,range:k,text:O,textChange:new ZT(E.rangeOffset,O,N,E.text)}}c||g.sort((C,E)=>C.sortIndex-E.sortIndex)}this._mightContainRTL=r,this._mightContainUnusualLineTerminators=s,this._mightContainNonBasicASCII=a;let v=this._doApplyEdits(d),f=null;if(n&&m.length>0){m.sort((x,C)=>C.lineNumber-x.lineNumber),f=[];for(let x=0,C=m.length;x<C;x++){let E=m[x].lineNumber;if(x>0&&m[x-1].lineNumber===E)continue;let k=m[x].oldContent,O=this.getLineContent(E);O.length===0||O===k||nb(O)!==-1||f.push(E)}}return this._onDidChangeContent.fire(),new ny(g,v,f)}_reduceOperations(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]}_toSingleEditOperation(e){let n=!1,o=e[0].range,r=e[e.length-1].range,s=new Ne(o.startLineNumber,o.startColumn,r.endLineNumber,r.endColumn),a=o.startLineNumber,l=o.startColumn,d=[];for(let v=0,f=e.length;v<f;v++){let x=e[v],C=x.range;n=n||x.forceMoveMarkers,d.push(this.getValueInRange(new Ne(a,l,C.startLineNumber,C.startColumn))),x.text.length>0&&d.push(x.text),a=C.endLineNumber,l=C.endColumn}let c=d.join(""),[u,m,g]=XT(c);return{sortIndex:0,identifier:e[0].identifier,range:s,rangeOffset:this.getOffsetAt(s.startLineNumber,s.startColumn),rangeLength:this.getValueLengthInRange(s,0),text:c,eolCount:u,firstLineLength:m,lastLineLength:g,forceMoveMarkers:n,isAutoWhitespaceEdit:!1}}_doApplyEdits(e){e.sort(i._sortOpsDescending);let n=[];for(let o=0;o<e.length;o++){let r=e[o],s=r.range.startLineNumber,a=r.range.startColumn,l=r.range.endLineNumber,d=r.range.endColumn;if(s===l&&a===d&&r.text.length===0)continue;r.text?(this._pieceTree.delete(r.rangeOffset,r.rangeLength),this._pieceTree.insert(r.rangeOffset,r.text,!0)):this._pieceTree.delete(r.rangeOffset,r.rangeLength);let c=new Ne(s,a,l,d);n.push({range:c,rangeLength:r.rangeLength,text:r.text,rangeOffset:r.rangeOffset,forceMoveMarkers:r.forceMoveMarkers})}return n}findMatchesLineByLine(e,n,o,r){return this._pieceTree.findMatchesLineByLine(e,n,o,r)}getPieceTree(){return this._pieceTree}static _getInverseEditRange(e,n){let o=e.startLineNumber,r=e.startColumn,[s,a,l]=XT(n),d;if(n.length>0){let c=s+1;c===1?d=new Ne(o,r,o,r+a):d=new Ne(o,r,o+c-1,l+1)}else d=new Ne(o,r,o,r);return d}static _getInverseEditRanges(e){let n=[],o=0,r=0,s=null;for(let a=0,l=e.length;a<l;a++){let d=e[a],c,u;s?s.range.endLineNumber===d.range.startLineNumber?(c=o,u=r+(d.range.startColumn-s.range.endColumn)):(c=o+(d.range.startLineNumber-s.range.endLineNumber),u=d.range.startColumn):(c=d.range.startLineNumber,u=d.range.startColumn);let m;if(d.text.length>0){let g=d.eolCount+1;g===1?m=new Ne(c,u,c,u+d.firstLineLength):m=new Ne(c,u,c+g-1,d.lastLineLength+1)}else m=new Ne(c,u,c,u);o=m.endLineNumber,r=m.endColumn,n.push(m),s=d}return n}static _sortOpsAscending(e,n){let o=Ne.compareRangesUsingEnds(e.range,n.range);return o===0?e.sortIndex-n.sortIndex:o}static _sortOpsDescending(e,n){let o=Ne.compareRangesUsingEnds(e.range,n.range);return o===0?n.sortIndex-e.sortIndex:-o}};var jA=class{constructor(t,e,n,o,r,s,a,l,d){this._chunks=t;this._bom=e;this._cr=n;this._lf=o;this._crlf=r;this._containsRTL=s;this._containsUnusualLineTerminators=a;this._isBasicASCII=l;this._normalizeEOL=d}_getEOL(t){let e=this._cr+this._lf+this._crlf,n=this._cr+this._crlf;return e===0?t===1?`
`:`\r
`:n>e/2?`\r
`:`
`}create(t){let e=this._getEOL(t),n=this._chunks;if(this._normalizeEOL&&(e===`\r
`&&(this._cr>0||this._lf>0)||e===`
`&&(this._cr>0||this._crlf>0)))for(let r=0,s=n.length;r<s;r++){let a=n[r].buffer.replace(/\r\n|\r|\n/g,e),l=rs(a);n[r]=new is(a,l)}let o=new eE(n,this._bom,e,this._containsRTL,this._containsUnusualLineTerminators,this._isBasicASCII,this._normalizeEOL);return{textBuffer:o,disposable:o}}getFirstLineText(t){return this._chunks[0].buffer.substr(0,t).split(/\r\n|\r|\n/)[0]}},Cv=class{constructor(){this.chunks=[],this.BOM="",this._hasPreviousChar=!1,this._previousChar=0,this._tmpLineStarts=[],this.cr=0,this.lf=0,this.crlf=0,this.containsRTL=!1,this.containsUnusualLineTerminators=!1,this.isBasicASCII=!0}acceptChunk(t){if(t.length===0)return;this.chunks.length===0&&G0(t)&&(this.BOM=K0,t=t.substr(1));let e=t.charCodeAt(t.length-1);e===13||e>=55296&&e<=56319?(this._acceptChunk1(t.substr(0,t.length-1),!1),this._hasPreviousChar=!0,this._previousChar=e):(this._acceptChunk1(t,!1),this._hasPreviousChar=!1,this._previousChar=e)}_acceptChunk1(t,e){!e&&t.length===0||(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+t):this._acceptChunk2(t))}_acceptChunk2(t){let e=bH(this._tmpLineStarts,t);this.chunks.push(new is(t,e.lineStarts)),this.cr+=e.cr,this.lf+=e.lf,this.crlf+=e.crlf,e.isBasicASCII||(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=sb(t)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=ab(t)))}finish(t=!0){return this._finish(),new jA(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,t)}_finish(){if(this.chunks.length===0&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;let t=this.chunks[this.chunks.length-1];t.buffer+=String.fromCharCode(this._previousChar);let e=rs(t.buffer);t.lineStarts=e,this._previousChar===13&&this.cr++}}};var tE=class extends V{constructor(e,n,o){super();this._source=e;this._inputTextBuffer=n;this._outputs=o;this._outputTextBuffers=void 0}_getFullModelRange(e){let n=e.getLineCount();return new Ne(1,1,n,this._getLineMaxColumn(e,n))}_getLineMaxColumn(e,n){if(n<1||n>e.getLineCount())throw new Error("Illegal value for lineNumber");return e.getLineLength(n)+1}get inputTextBuffer(){if(!this._inputTextBuffer){let e=new Cv;e.acceptChunk(this._source);let n=e.finish(!0),{textBuffer:o,disposable:r}=n.create(1);this._inputTextBuffer=o,this._register(r)}return this._inputTextBuffer}get outputTextBuffers(){return this._outputTextBuffers||(this._outputTextBuffers=this._outputs.map(e=>{let n=new Cv;n.acceptChunk(e);let o=n.finish(!0),{textBuffer:r,disposable:s}=o.create(1);return this._register(s),r})),this._outputTextBuffers}findInInputs(e){let o=new Uh(e,!1,!1,null).parseSearchRequest();if(!o)return[];let r=this._getFullModelRange(this.inputTextBuffer);return this.inputTextBuffer.findMatchesLineByLine(r,o,!0,5e3)}findInOutputs(e){let o=new Uh(e,!1,!1,null).parseSearchRequest();return o?this.outputTextBuffers.map(r=>{let s=r.findMatchesLineByLine(this._getFullModelRange(r),o,!0,5e3);if(s.length!==0)return{textBuffer:r,matches:s}}).filter(r=>!!r):[]}};function QA(i,t){let e=-1,n=[],o=[];return i.forEach(s=>{s.range.startLineNumber!==e&&o.length>0&&(n.push([...o]),o=[]),o.push(s),e=s.range.endLineNumber}),o.length>0&&n.push([...o]),n.map(s=>{let a=[],l=s[0].range.startLineNumber,d=s[s.length-1].range.endLineNumber;for(let c=l;c<=d;c++)a.push(t.getLineContent(c));return new dC(a.join(`
`)+`
`,s.map(c=>new Ne(c.range.startLineNumber-1,c.range.startColumn-1,c.range.endLineNumber-1,c.range.endColumn-1)))})}var jet=Object.freeze({id:"application",order:100,title:p(5722,null),type:"object"}),IH=Object.freeze({id:"workbench",order:7,title:p(5730,null),type:"object"}),_z=Object.freeze({id:"security",scope:1,title:p(5728,null),type:"object",order:7}),Qet=Object.freeze({id:"problems",title:p(5724,null),type:"object",order:101}),Dz=Object.freeze({id:"window",order:8,title:p(5729,null),type:"object"}),Rz={ConfigurationMigration:"base.contributions.configuration.migration"},JA=class{constructor(){this.migrations=[];this._onDidRegisterConfigurationMigrations=new w;this.onDidRegisterConfigurationMigration=this._onDidRegisterConfigurationMigrations.event}registerConfigurationMigrations(t){this.migrations.push(...t)}},iE=new JA;Et.add(Rz.ConfigurationMigration,iE);var nE=class extends V{constructor(e,n){super();this.configurationService=e;this.workspaceService=n;this._register(this.workspaceService.onDidChangeWorkspaceFolders(async o=>{for(let r of o.added)await this.migrateConfigurationsForFolder(r,iE.migrations)})),this.migrateConfigurations(iE.migrations),this._register(iE.onDidRegisterConfigurationMigration(o=>this.migrateConfigurations(o)))}static{this.ID="workbench.contrib.configurationMigration"}async migrateConfigurations(e){await this.migrateConfigurationsForFolder(void 0,e);for(let n of this.workspaceService.getWorkspace().folders)await this.migrateConfigurationsForFolder(n,e)}async migrateConfigurationsForFolder(e,n){await Promise.all([n.map(o=>this.migrateConfigurationsForFolderAndOverride(o,e?.uri))])}async migrateConfigurationsForFolderAndOverride(e,n){let o=this.configurationService.inspect(e.key,{resource:n}),r=this.workspaceService.getWorkbenchState()===3?[["user",2],["userLocal",3],["userRemote",4],["workspace",5],["workspaceFolder",6]]:[["user",2],["userLocal",3],["userRemote",4],["workspace",5]];for(let[s,a]of r){let l=o[s];if(!l)continue;let d=[];if(l.value!==void 0){let c=await this.runMigration(e,s,l.value,n,void 0);for(let u of c??[])d.push([u,[]])}for(let{identifiers:c,value:u}of l.overrides??[])if(u!==void 0){let m=await this.runMigration(e,s,u,n,c);for(let g of m??[])d.push([g,c])}d.length&&await Promise.allSettled(d.map(async([[c,u],m])=>this.configurationService.updateValue(c,u.value,{resource:n,overrideIdentifiers:m},a)))}}async runMigration(e,n,o,r,s){let a=d=>{let u=this.configurationService.inspect(d,{resource:r})[n];if(u)return s?u.overrides?.find(({identifiers:m})=>Rt(m,s))?.value:u.value},l=await e.migrateFn(o,a);return Array.isArray(l)?l:[[e.key,l]]}};nE=R([S(0,bn),S(1,La)],nE);var oE=class extends V{constructor(e){super();this.remoteAgentService=e;this._ready=new cn;this.ready=this._ready.p;this.create()}static{this.ID="workbench.contrib.dynamicWorkbenchSecurityConfiguration"}async create(){try{await this.doCreate()}finally{this._ready.complete()}}async doCreate(){if(!It&&(await this.remoteAgentService.getEnvironment())?.os!==1)return;Et.as(_r.Configuration).registerConfiguration({..._z,properties:{"security.allowedUNCHosts":{type:"array",items:{type:"string",pattern:"^[^\\\\]+$",patternErrorMessage:p(5726,null)},default:[],markdownDescription:p(5725,null),scope:3},"security.restrictUNCAccess":{type:"boolean",default:!0,markdownDescription:p(5727,null),scope:3}}})}};oE=R([S(0,dm)],oE);var Sv="window.newWindowProfile",rE=class extends V{constructor(e,n){super();this.userDataProfilesService=e;this.configurationService=n;this.registerNewWindowProfileConfiguration(),this._register(this.userDataProfilesService.onDidChangeProfiles(o=>this.registerNewWindowProfileConfiguration())),this.setNewWindowProfile(),this.checkAndResetNewWindowProfileConfig(),this._register(n.onDidChangeConfiguration(o=>{o.source!==7&&o.affectsConfiguration(Sv)&&this.setNewWindowProfile()})),this._register(this.userDataProfilesService.onDidChangeProfiles(()=>this.checkAndResetNewWindowProfileConfig()))}static{this.ID="workbench.contrib.dynamicWindowConfiguration"}registerNewWindowProfileConfiguration(){let e=Et.as(_r.Configuration),n={...Dz,properties:{[Sv]:{type:["string","null"],default:null,enum:[...this.userDataProfilesService.profiles.map(o=>o.name),null],enumItemLabels:[...this.userDataProfilesService.profiles.map(()=>""),p(5721,null)],description:p(5723,null),scope:1}}};this.configurationNode?e.updateConfigurations({add:[n],remove:[this.configurationNode]}):e.registerConfiguration(n),this.configurationNode=n}setNewWindowProfile(){let e=this.configurationService.getValue(Sv);this.newWindowProfile=e?this.userDataProfilesService.profiles.find(n=>n.name===e):void 0}checkAndResetNewWindowProfileConfig(){let e=this.configurationService.getValue(Sv);if(!e)return;let n=this.newWindowProfile?this.userDataProfilesService.profiles.find(o=>o.id===this.newWindowProfile.id):void 0;e!==n?.name&&this.configurationService.updateValue(Sv,n?.name)}};rE=R([S(0,jL),S(1,bn)],rE);var ltt=A("editorResolverService"),Az="workbench.editorAssociations",Mz="workbench.diffEditorAssociations",Oz=Object.freeze({"*.md":"vscode.markdown.preview.editor"}),Lz=Et.as(_r.Configuration),Nz={...IH,properties:{[Az]:{type:"object",markdownDescription:p(19491,null),additionalProperties:{type:"string"},agentsWindow:{default:Oz}},[Mz]:{type:"object",markdownDescription:p(19490,null),additionalProperties:{type:"string"}}}};Lz.registerConfiguration(Nz);function xH(i,t){if(new Set([K.extension,K.webviewPanel,K.vscodeWorkspaceTrust,K.vscodeSettings]).has(t.scheme))return!1;let o=typeof i=="string"&&i.indexOf(Ve.sep)>=0?`${t.scheme}:${t.path}`:tt(t);return Go(i,o,{ignoreCase:!0})}var sE=class i{constructor(t,e,n,o,r,s,a){this._textDocumentsAndEditors=n;this._textDocuments=o;this._extHostFileSystem=r;this._extHostSearch=s;this._logService=a;this._notebookStatusBarItemProviders=new Map;this._documents=new $e;this._editors=new Map;this._onDidChangeActiveNotebookEditor=new w;this.onDidChangeActiveNotebookEditor=this._onDidChangeActiveNotebookEditor.event;this._visibleNotebookEditors=[];this._onDidOpenNotebookDocument=new w;this.onDidOpenNotebookDocument=this._onDidOpenNotebookDocument.event;this._onDidCloseNotebookDocument=new w;this.onDidCloseNotebookDocument=this._onDidCloseNotebookDocument.event;this._onDidChangeVisibleNotebookEditors=new w;this.onDidChangeVisibleNotebookEditors=this._onDidChangeVisibleNotebookEditors.event;this._statusBarCache=new Eo("NotebookCellStatusBarCache");this._handlePool=0;this._notebookSerializer=new Map;this._notebookProxy=t.getProxy(L.MainThreadNotebook),this._notebookDocumentsProxy=t.getProxy(L.MainThreadNotebookDocuments),this._notebookEditorsProxy=t.getProxy(L.MainThreadNotebookEditors),this._commandsConverter=e.converter,e.registerArgumentProcessor({processArgument:l=>{if(l&&l.$mid===13){let d=l.notebookEditor?.notebookUri,c=l.cell.handle,m=this._documents.get(d)?.getCell(c);if(m)return m.apiCell}if(l&&l.$mid===14){let d=l.uri,c=this._documents.get(d);if(c)return c.apiNotebook}return l}}),i._registerApiCommands(e)}static{this._notebookStatusBarItemProviderHandlePool=0}get activeNotebookEditor(){return this._activeNotebookEditor?.apiEditor}get visibleNotebookEditors(){return this._visibleNotebookEditors.map(t=>t.apiEditor)}getEditorById(t){let e=this._editors.get(t);if(!e)throw new Error(`unknown text editor: ${t}. known editors: ${[...this._editors.keys()]} `);return e}getIdByEditor(t){for(let[e,n]of this._editors)if(n.apiEditor===t)return e}get notebookDocuments(){return[...this._documents.values()]}getNotebookDocument(t,e){let n=this._documents.get(t);if(!n&&!e)throw new Error(`NO notebook document for '${t}'`);return n}static _convertNotebookRegistrationData(t,e){if(!e)return;let n=e.filenamePattern.map(o=>hh.from(o)).filter(o=>o!==void 0);if(e.filenamePattern&&!n){console.warn(`Notebook content provider view options file name pattern is invalid ${e.filenamePattern}`);return}return{extension:t.identifier,providerDisplayName:t.displayName||t.name,displayName:e.displayName,filenamePattern:n,priority:e.exclusive?"exclusive":void 0}}registerNotebookCellStatusBarItemProvider(t,e,n){let o=i._notebookStatusBarItemProviderHandlePool++,r=typeof n.onDidChangeCellStatusBarItems=="function"?i._notebookStatusBarItemProviderHandlePool++:void 0;this._notebookStatusBarItemProviders.set(o,n),this._notebookProxy.$registerNotebookCellStatusBarItemProvider(o,r,e);let s;return r!==void 0&&(s=n.onDidChangeCellStatusBarItems(a=>this._notebookProxy.$emitCellStatusBarEvent(r))),new Ie(()=>{this._notebookStatusBarItemProviders.delete(o),this._notebookProxy.$unregisterNotebookCellStatusBarItemProvider(o,r),s?.dispose()})}async createNotebookDocument(t){let e=await this._notebookDocumentsProxy.$tryCreateNotebook({viewType:t.viewType,content:t.content&&Pl.from(t.content)});return y.revive(e)}async openNotebookDocument(t){let e=this._documents.get(t);if(e)return e.apiNotebook;let n=await this._notebookDocumentsProxy.$tryOpenNotebook(t),o=this._documents.get(y.revive(n));return zr(o?.apiNotebook)}async showNotebookDocument(t,e){let n;typeof e=="object"?n={position:At.from(e.viewColumn),preserveFocus:e.preserveFocus,selections:e.selections&&e.selections.map(yr.from),pinned:typeof e.preview=="boolean"?!e.preview:void 0,label:typeof e.asRepl=="string"?e.asRepl:typeof e.asRepl=="object"?e.asRepl.label:void 0}:n={preserveFocus:!1,pinned:!0};let o=e?.asRepl?"repl":t.notebookType,r=await this._notebookEditorsProxy.$tryShowNotebookDocument(t.uri,o,n),s=r&&this._editors.get(r)?.apiEditor;if(s)return s;throw r?new Error(`Could NOT open editor for "${t.uri.toString()}" because another editor opened in the meantime.`):new Error(`Could NOT open editor for "${t.uri.toString()}".`)}async $provideNotebookCellStatusBarItems(t,e,n,o){let r=this._notebookStatusBarItemProviders.get(t),s=y.revive(e),a=this._documents.get(s);if(!a||!r)return;let l=a.getCellFromIndex(n);if(!l)return;let d=await r.provideCellStatusBarItems(l.apiCell,o);if(!d)return;let c=new J,u=this._statusBarCache.add([c]),g=(Array.isArray(d)?d:[d]).map(v=>WD.from(v,this._commandsConverter,c));return{cacheId:u,items:g}}$releaseNotebookCellStatusBarItems(t){this._statusBarCache.delete(t)}registerNotebookSerializer(t,e,n,o,r){if(Pi(e))throw new Error("viewType cannot be empty or just whitespace");let s=this._handlePool++;return this._notebookSerializer.set(s,{viewType:e,serializer:n,options:o}),this._notebookProxy.$registerNotebookSerializer(s,{id:t.identifier,location:t.extensionLocation},e,zD.from(o),i._convertNotebookRegistrationData(t,r)),X(()=>{this._notebookProxy.$unregisterNotebookSerializer(s)})}async $dataToNotebook(t,e,n){let o=this._notebookSerializer.get(t);if(!o)throw new Error("NO serializer found");let r=await o.serializer.deserializeNotebook(e.buffer,n);return new Ft(Pl.from(r))}async $notebookToData(t,e,n){let o=this._notebookSerializer.get(t);if(!o)throw new Error("NO serializer found");let r=await o.serializer.serializeNotebook(Pl.to(e.value),n);return te.wrap(r)}async $saveNotebook(t,e,n,o,r){let s=y.revive(e),a=this._notebookSerializer.get(t);this.trace(`enter saveNotebook(versionId: ${n}, ${s.toString()})`);try{if(!a)throw new Tv("NO serializer found");let l=this._documents.get(s);if(!l)throw new Tv("Document NOT found");if(l.versionId!==n)throw new Tv("Document version mismatch, expected: "+n+", actual: "+l.versionId);if(!this._extHostFileSystem.value.isWritableFileSystem(s.scheme))throw new Ai(p(4378,null,this._resourceForError(s)),6);let d={metadata:zw(l.apiNotebook.metadata,v=>!(a.options?.transientDocumentMetadata??{})[v]),cells:[]};for(let v of l.apiNotebook.getCells()){let f=new Fi(v.kind,v.document.getText(),v.document.languageId,v.mime,a.options?.transientOutputs?[]:[...v.outputs],v.metadata,v.executionSummary);f.metadata=zw(v.metadata,x=>!(a.options?.transientCellMetadata??{})[x]),d.cells.push(f)}if(await this._validateWriteFile(s,o),r.isCancellationRequested)throw new rt;let c=await a.serializer.serializeNotebook(d,r);if(r.isCancellationRequested)throw new rt;this.trace(`serialized versionId: ${n} ${s.toString()}`),await this._extHostFileSystem.value.writeFile(s,c),this.trace(`Finished write versionId: ${n} ${s.toString()}`);let u=this._extHostFileSystem.getFileSystemProviderExtUri(s.scheme),m=await this._extHostFileSystem.value.stat(s),g={name:u.basename(s),isFile:(m.type&1)!==0,isDirectory:(m.type&2)!==0,isSymbolicLink:(m.type&64)!==0,mtime:m.mtime,ctime:m.ctime,size:m.size,readonly:!!((m.permissions??0)&1)||!this._extHostFileSystem.value.isWritableFileSystem(s.scheme),locked:!!((m.permissions??0)&2),executable:!!((m.permissions??0)&4),etag:Gw({mtime:m.mtime,size:m.size})};return this.trace(`exit saveNotebook(versionId: ${n}, ${s.toString()})`),g}catch(l){if(l instanceof Ai)return{...l,message:l.message};throw l}}async $searchInNotebooks(t,e,n,o,r){let s=this._notebookSerializer.get(t)?.serializer;if(!s)return{limitHit:!1,results:[]};let a=new er;await(async(m,g,v)=>{await Promise.all(m.map(async f=>await Promise.all(f.filenamePatterns.map(x=>{let C={_reason:v._reason,folderQueries:v.folderQueries,includePattern:v.includePattern,excludePattern:v.excludePattern,maxResults:v.maxResults,type:1,filePattern:x};return this._extHostSearch.doInternalFileSearchWithCustomCallback(C,g,E=>{E.forEach(k=>{a.has(k)||o.some(N=>f.isFromSettings&&!N.isFromSettings?!1:N.filenamePatterns.some(H=>xH(H,k)))||a.add(k)})}).catch(E=>{if(E.code==="ENOENT")return console.warn("Could not find notebook search results, ignoring notebook results."),{limitHit:!1,messages:[]};throw E})}))))})(n,r,e);let d=new $e,c=!1,u=Array.from(a).map(async m=>{let g=[];try{if(r.isCancellationRequested)return;if(e.maxResults&&[...d.values()].reduce((C,E)=>C+E.cellResults.length,0)>e.maxResults){c=!0;return}let v=[],f=this._documents.get(m);if(f)f.apiNotebook.getCells().forEach(E=>v.push({input:E.document.getText(),outputs:E.outputs.flatMap(k=>k.items.map(O=>O.data.toString()))}));else{let C=await this._extHostFileSystem.value.readFile(m),E=te.fromString(C.toString()),k=await s.deserializeNotebook(E.buffer,r);if(r.isCancellationRequested)return;Pl.from(k).cells.forEach(N=>v.push({input:N.source,outputs:N.outputs.flatMap(H=>H.items.map(q=>q.valueBytes.toString()))}))}if(r.isCancellationRequested)return;v.forEach((C,E)=>{let k=e.contentPattern.pattern,O=new tE(C.input,void 0,C.outputs),N=O.findInInputs(k),H=O.findInOutputs(k),q=H.flatMap(Q=>QA(Q.matches,Q.textBuffer)).map((Q,z)=>(Q.webviewIndex=z,Q));if(N.length>0||H.length>0){let Q={index:E,contentResults:QA(N,O.inputTextBuffer),webviewResults:q};g.push(Q)}});let x={resource:m,cellResults:g};d.set(m,x);return}catch{return}});return await Promise.all(u),{limitHit:c,results:[...d.values()]}}async _validateWriteFile(t,e){let n=await this._extHostFileSystem.value.stat(t);if(typeof e?.mtime=="number"&&typeof e.etag=="string"&&e.etag!==_O&&typeof n.mtime=="number"&&typeof n.size=="number"&&e.mtime<n.mtime&&e.etag!==Gw({mtime:e.mtime,size:n.size}))throw new Ai(p(4379,null),3,e)}_resourceForError(t){return t.scheme===K.file?t.fsPath:t.toString()}_createExtHostEditor(t,e,n){if(this._editors.has(e))throw new Error(`editor with id ALREADY EXSIST: ${e}`);let o=new Uc(e,this._notebookEditorsProxy,t,n.visibleRanges.map(yr.to),n.selections.map(yr.to),typeof n.viewColumn=="number"?At.to(n.viewColumn):void 0,n.viewType);this._editors.set(e,o)}$acceptDocumentAndEditorsDelta(t){if(t.value.removedDocuments)for(let n of t.value.removedDocuments){let o=y.revive(n),r=this._documents.get(o);r&&(r.dispose(),this._documents.delete(o),this._textDocumentsAndEditors.$acceptDocumentsAndEditorsDelta({removedDocuments:r.apiNotebook.getCells().map(s=>s.document.uri)}),this._onDidCloseNotebookDocument.fire(r.apiNotebook));for(let s of this._editors.values())s.notebookData.uri.toString()===o.toString()&&this._editors.delete(s.id)}if(t.value.addedDocuments){let n=[];for(let o of t.value.addedDocuments){let r=y.revive(o.uri);if(this._documents.has(r))throw new Error(`adding EXISTING notebook ${r} `);let s=new jT(this._notebookDocumentsProxy,this._textDocumentsAndEditors,this._textDocuments,r,o);n.push(...o.cells.map(a=>pg.asModelAddData(a))),this._documents.get(r)?.dispose(),this._documents.set(r,s),this._textDocumentsAndEditors.$acceptDocumentsAndEditorsDelta({addedDocuments:n}),this._onDidOpenNotebookDocument.fire(s.apiNotebook)}}if(t.value.addedEditors)for(let n of t.value.addedEditors){if(this._editors.has(n.id))return;let o=y.revive(n.documentUri),r=this._documents.get(o);r&&this._createExtHostEditor(r,n.id,n)}let e=[];if(t.value.removedEditors)for(let n of t.value.removedEditors){let o=this._editors.get(n);o&&(this._editors.delete(n),this._activeNotebookEditor?.id===o.id&&(this._activeNotebookEditor=void 0),e.push(o))}if(t.value.visibleEditors){this._visibleNotebookEditors=t.value.visibleEditors.map(o=>this._editors.get(o)).filter(o=>!!o);let n=new Set;this._visibleNotebookEditors.forEach(o=>n.add(o.id));for(let o of this._editors.values()){let r=n.has(o.id);o._acceptVisibility(r)}this._visibleNotebookEditors=[...this._editors.values()].map(o=>o).filter(o=>o.visible),this._onDidChangeVisibleNotebookEditors.fire(this.visibleNotebookEditors)}t.value.newActiveEditor===null?this._activeNotebookEditor=void 0:t.value.newActiveEditor&&(this._editors.get(t.value.newActiveEditor)||console.error(`FAILED to find active notebook editor ${t.value.newActiveEditor}`),this._activeNotebookEditor=this._editors.get(t.value.newActiveEditor)),t.value.newActiveEditor!==void 0&&this._onDidChangeActiveNotebookEditor.fire(this._activeNotebookEditor?.apiEditor)}static _registerApiCommands(t){let e=Y.String.with("notebookType","A notebook type"),n=new _e("vscode.executeDataToNotebook","_executeDataToNotebook","Invoke notebook serializer",[e,new Y("data","Bytes to convert to data",r=>r instanceof Uint8Array,r=>te.wrap(r))],new ke("Notebook Data",r=>Pl.to(r.value))),o=new _e("vscode.executeNotebookToData","_executeNotebookToData","Invoke notebook serializer",[e,new Y("NotebookData","Notebook data to convert to bytes",r=>!0,r=>new Ft(Pl.from(r)))],new ke("Bytes",r=>r.buffer));t.registerApiCommand(n),t.registerApiCommand(o)}trace(t){this._logService.trace(`[Extension Host Notebook] ${t}`)}},Tv=class extends Error{constructor(t){super(t),this.name="NotebookSaveError"}};var aE=class{constructor(t,e,n,o={timeout:1500,errors:3}){this._logService=t;this._notebooksAndEditors=e;this._mainThreadBulkEdits=n;this._thresholds=o;this._onWillSaveNotebookDocumentEvent=new Ti}dispose(){}getOnWillSaveNotebookDocumentEvent(t){return(e,n,o)=>{let r=function(a){e.call(n,a)};return r.extension=t,this._onWillSaveNotebookDocumentEvent.event(r,void 0,o)}}async $participateInSave(t,e,n){let o=y.revive(t),r=this._notebooksAndEditors.getNotebookDocument(o);if(!r)throw new Error("Unable to resolve notebook document");let s=[];if(await this._onWillSaveNotebookDocumentEvent.fireAsync({notebook:r.apiNotebook,reason:mh.to(e)},n,async(l,d)=>{let c=Date.now(),u=await await Promise.resolve(l);Date.now()-c>this._thresholds.timeout&&this._logService.warn("onWillSaveNotebookDocument-listener from extension",d.extension.identifier),!n.isCancellationRequested&&u&&(u instanceof jo?s.push(u):this._logService.warn("onWillSaveNotebookDocument-listener from extension",d.extension.identifier,"ignored due to invalid data"))}),n.isCancellationRequested)return!1;if(s.length===0)return!0;let a={edits:[]};for(let l of s){let{edits:d}=Zn.from(l);a.edits=a.edits.concat(d)}return this._mainThreadBulkEdits.$tryApplyWorkspaceEdit(new Ft(a))}};var lE=class{constructor(t){this._notebooksAndEditors=t;this._onDidSaveNotebookDocument=new w;this.onDidSaveNotebookDocument=this._onDidSaveNotebookDocument.event;this._onDidChangeNotebookDocument=new w;this.onDidChangeNotebookDocument=this._onDidChangeNotebookDocument.event}$acceptModelChanged(t,e,n,o){let s=this._notebooksAndEditors.getNotebookDocument(y.revive(t)).acceptModelChanged(e.value,n,o);this._onDidChangeNotebookDocument.fire(s)}$acceptDirtyStateChanged(t,e){this._notebooksAndEditors.getNotebookDocument(y.revive(t)).acceptDirty(e)}$acceptModelSaved(t){let e=this._notebooksAndEditors.getNotebookDocument(y.revive(t));this._onDidSaveNotebookDocument.fire(e.apiNotebook)}};var gg=class{constructor(t,e){this._logService=t;this._notebooksAndEditors=e;this._onDidChangeNotebookEditorSelection=new w;this._onDidChangeNotebookEditorVisibleRanges=new w;this.onDidChangeNotebookEditorSelection=this._onDidChangeNotebookEditorSelection.event;this.onDidChangeNotebookEditorVisibleRanges=this._onDidChangeNotebookEditorVisibleRanges.event}$acceptEditorPropertiesChanged(t,e){this._logService.debug("ExtHostNotebook#$acceptEditorPropertiesChanged",t,e);let n=this._notebooksAndEditors.getEditorById(t);e.visibleRanges&&n._acceptVisibleRanges(e.visibleRanges.ranges.map(yr.to)),e.selections&&n._acceptSelections(e.selections.selections.map(yr.to)),e.visibleRanges&&this._onDidChangeNotebookEditorVisibleRanges.fire({notebookEditor:n.apiEditor,visibleRanges:n.apiEditor.visibleRanges}),e.selections&&this._onDidChangeNotebookEditorSelection.fire(Object.freeze({notebookEditor:n.apiEditor,selections:n.apiEditor.selections}))}$acceptEditorViewColumns(t){for(let e in t)this._notebooksAndEditors.getEditorById(e)._acceptViewColumn(At.to(t[e]))}};gg=R([S(0,ae)],gg);var ynt=A("INotebookExecutionService");var CH=100;var Cnt=A("INotebookKernelService"),Snt=A("INotebookKernelHistoryService");var fg=class{constructor(t,e,n,o,r){this._initData=e;this._extHostNotebook=n;this._commands=o;this._logService=r;this._activeExecutions=new $e;this._activeNotebookExecutions=new $e;this._kernelDetectionTask=new Map;this._kernelDetectionTaskHandlePool=0;this._kernelSourceActionProviders=new Map;this._kernelSourceActionProviderHandlePool=0;this._kernelData=new Map;this._handlePool=0;this.id=0;this.variableStore={};this._proxy=t.getProxy(L.MainThreadNotebookKernels);let s=new _e("notebook.selectKernel","_notebook.selectKernel","Trigger kernel picker for specified notebook editor widget",[new Y("options","Select kernel options",l=>!0,l=>{if(l&&"notebookEditor"in l&&"id"in l){let d=this._extHostNotebook.getIdByEditor(l.notebookEditor);return{id:l.id,extension:l.extension,notebookEditorId:d}}else if(l&&"notebookEditor"in l){let d=this._extHostNotebook.getIdByEditor(l.notebookEditor);if(d===void 0)throw new Error(`Cannot invoke 'notebook.selectKernel' for unrecognized notebook editor ${l.notebookEditor.notebook.uri.toString()}`);return"skipIfAlreadySelected"in l?{notebookEditorId:d,skipIfAlreadySelected:l.skipIfAlreadySelected}:{notebookEditorId:d}}return l})],ke.Void),a=new _e("vscode.executeNotebookVariableProvider","_executeNotebookVariableProvider","Execute notebook variable provider",[Y.Uri],new ke("A promise that resolves to an array of variables",(l,d)=>l.map(c=>({variable:{name:c.name,value:c.value,expression:c.expression,type:c.type,language:c.language},hasNamedChildren:c.hasNamedChildren,indexedChildrenCount:c.indexedChildrenCount}))));this._commands.registerApiCommand(s),this._commands.registerApiCommand(a)}createNotebookController(t,e,n,o,r,s){for(let H of this._kernelData.values())if(H.controller.id===e&&Se.equals(t.identifier,H.extensionId))throw new Error(`notebook controller with id '${e}' ALREADY exist`);let a=this._handlePool++,l=this;this._logService.trace(`NotebookController[${a}], CREATED by ${t.identifier.value}, ${e}`);let d=()=>console.warn(`NO execute handler from notebook controller '${g.id}' of extension: '${t.identifier}'`),c=!1,u=new w,m=new w,g={id:dE(t.identifier,e),notebookType:n,extensionId:t.identifier,extensionLocation:t.extensionLocation,label:o||t.identifier.value,preloads:s?s.map($x.from):[]},v=r??d,f,x,C;this._proxy.$addKernel(a,g).catch(H=>{console.log(H),c=!0});let E=0,k=()=>{if(c)return;let H=++E;Promise.resolve().then(()=>{H===E&&this._proxy.$updateKernel(a,g)})},O=new $e,N={get id(){return e},get notebookType(){return g.notebookType},onDidChangeSelectedNotebooks:u.event,get label(){return g.label},set label(H){g.label=H??t.displayName??t.name,k()},get detail(){return g.detail??""},set detail(H){g.detail=H,k()},get description(){return g.description??""},set description(H){g.description=H,k()},get supportedLanguages(){return g.supportedLanguages},set supportedLanguages(H){g.supportedLanguages=H,k()},get supportsExecutionOrder(){return g.supportsExecutionOrder??!1},set supportsExecutionOrder(H){g.supportsExecutionOrder=H,k()},get rendererScripts(){return g.preloads?g.preloads.map($x.to):[]},get executeHandler(){return v},set executeHandler(H){v=H??d},get interruptHandler(){return f},set interruptHandler(H){f=H,g.supportsInterrupt=!!H,k()},set variableProvider(H){D(t,"notebookVariableProvider"),C?.dispose(),x=H,g.hasVariableProvider=!!H,C=H?.onDidChangeVariables(q=>l._proxy.$variablesUpdated(q.uri)),k()},get variableProvider(){return x},createNotebookCellExecution(H){if(c)throw new Error("notebook controller is DISPOSED");if(!O.has(H.notebook.uri))throw l._logService.trace(`NotebookController[${a}] NOT associated to notebook, associated to THESE notebooks:`,Array.from(O.keys()).map(q=>q.toString())),new Error(`notebook controller is NOT associated to notebook: ${H.notebook.uri.toString()}`);return l._createNotebookCellExecution(H,dE(t.identifier,this.id))},createNotebookExecution(H){if(D(t,"notebookExecution"),c)throw new Error("notebook controller is DISPOSED");if(!O.has(H.uri))throw l._logService.trace(`NotebookController[${a}] NOT associated to notebook, associated to THESE notebooks:`,Array.from(O.keys()).map(q=>q.toString())),new Error(`notebook controller is NOT associated to notebook: ${H.uri.toString()}`);return l._createNotebookExecution(H,dE(t.identifier,this.id))},dispose:()=>{c||(this._logService.trace(`NotebookController[${a}], DISPOSED`),c=!0,this._kernelData.delete(a),u.dispose(),m.dispose(),C?.dispose(),this._proxy.$removeKernel(a))},updateNotebookAffinity(H,q){q===-1&&D(t,"notebookControllerAffinityHidden"),l._proxy.$updateNotebookPriority(a,H.uri,q)},onDidReceiveMessage:m.event,postMessage(H,q){return D(t,"notebookMessaging"),l._proxy.$postMessage(a,q&&l._extHostNotebook.getIdByEditor(q),H)},asWebviewUri(H){return D(t,"notebookMessaging"),Kl(H,l._initData.remote)}};return this._kernelData.set(a,{extensionId:t.identifier,controller:N,onDidReceiveMessage:m,onDidChangeSelection:u,associatedNotebooks:O}),N}getIdByController(t){for(let[e,n]of this._kernelData)if(n.controller===t)return dE(n.extensionId,t.id);return null}createNotebookControllerDetectionTask(t,e){let n=this._kernelDetectionTaskHandlePool++,o=this;this._logService.trace(`NotebookControllerDetectionTask[${n}], CREATED by ${t.identifier.value}`),this._proxy.$addKernelDetectionTask(n,e);let r={dispose:()=>{this._kernelDetectionTask.delete(n),o._proxy.$removeKernelDetectionTask(n)}};return this._kernelDetectionTask.set(n,r),r}registerKernelSourceActionProvider(t,e,n){let o=this._kernelSourceActionProviderHandlePool++,r=typeof n.onDidChangeNotebookKernelSourceActions=="function"?o:void 0,s=this;this._kernelSourceActionProviders.set(o,n),this._logService.trace(`NotebookKernelSourceActionProvider[${o}], CREATED by ${t.identifier.value}`),this._proxy.$addKernelSourceActionProvider(o,o,e);let a;return r!==void 0&&(a=n.onDidChangeNotebookKernelSourceActions(l=>this._proxy.$emitNotebookKernelSourceActionsChangeEvent(r))),{dispose:()=>{this._kernelSourceActionProviders.delete(o),s._proxy.$removeKernelSourceActionProvider(o,o),a?.dispose()}}}async $provideKernelSourceActions(t,e){let n=this._kernelSourceActionProviders.get(t);if(n){let o=new J;return(await n.provideNotebookKernelSourceActions(e)??[]).map(s=>$D.from(s,this._commands.converter,o))}return[]}$acceptNotebookAssociation(t,e,n){let o=this._kernelData.get(t);if(o){let r=this._extHostNotebook.getNotebookDocument(y.revive(e));n?o.associatedNotebooks.set(r.uri,!0):o.associatedNotebooks.delete(r.uri),this._logService.trace(`NotebookController[${t}] ASSOCIATE notebook`,r.uri.toString(),n),o.onDidChangeSelection.fire({selected:n,notebook:r.apiNotebook})}}async $executeCells(t,e,n){let o=this._kernelData.get(t);if(!o)return;let r=this._extHostNotebook.getNotebookDocument(y.revive(e)),s=[];for(let a of n){let l=r.getCell(a);l&&s.push(l.apiCell)}try{this._logService.trace(`NotebookController[${t}] EXECUTE cells`,r.uri.toString(),s.length),await o.controller.executeHandler.call(o.controller,s,r.apiNotebook,o.controller)}catch(a){this._logService.error(`NotebookController[${t}] execute cells FAILED`,a),console.error(a)}}async $cancelCells(t,e,n){let o=this._kernelData.get(t);if(!o)return;let r=this._extHostNotebook.getNotebookDocument(y.revive(e));if(o.controller.interruptHandler)await o.controller.interruptHandler.call(o.controller,r.apiNotebook);else for(let s of n){let a=r.getCell(s);a&&this._activeExecutions.get(a.uri)?.cancel()}if(o.controller.interruptHandler){let s=this._activeNotebookExecutions.get(r.uri);this._activeNotebookExecutions.delete(r.uri),n.length&&Array.isArray(s)&&s.length&&s.forEach(a=>a.dispose())}}async $provideVariables(t,e,n,o,r,s,a){let l=this._kernelData.get(t);if(!l)return;let d=this._extHostNotebook.getNotebookDocument(y.revive(n)),c=l.controller.variableProvider;if(!c)return;let u;if(o!==void 0){if(u=this.variableStore[o],!u)return}else this.variableStore={};let m=r==="named"?1:2,g=c.provideVariables(d.apiNotebook,u,m,s,a),v=0;for await(let f of g){if(a.isCancellationRequested)return;let x={id:this.id++,name:f.variable.name,value:f.variable.value,type:f.variable.type,interfaces:f.variable.interfaces,language:f.variable.language,expression:f.variable.expression,hasNamedChildren:f.hasNamedChildren,indexedChildrenCount:f.indexedChildrenCount,extensionId:l.extensionId.value};if(this.variableStore[x.id]=f.variable,this._proxy.$receiveVariable(e,x),v++>=CH)return}}$acceptKernelMessageFromRenderer(t,e,n){let o=this._kernelData.get(t);if(!o)return;let r=this._extHostNotebook.getEditorById(e);o.onDidReceiveMessage.fire(Object.freeze({editor:r.apiEditor,message:n}))}_createNotebookCellExecution(t,e){if(t.index<0)throw new Error("CANNOT execute cell that has been REMOVED from notebook");let o=this._extHostNotebook.getNotebookDocument(t.notebook.uri).getCellFromApiCell(t);if(!o)throw new Error("invalid cell");if(this._activeExecutions.has(o.uri))throw new Error(`duplicate execution for ${o.uri}`);let r=new XA(e,o,this._proxy);this._activeExecutions.set(o.uri,r);let s=r.onDidChangeState(()=>{r.state===2&&(r.dispose(),s.dispose(),this._activeExecutions.delete(o.uri))});return r.asApiObject()}_createNotebookExecution(t,e){let n=this._extHostNotebook.getNotebookDocument(t.uri),o=t.getCells().find(a=>{let l=n.getCellFromApiCell(a);return l&&this._activeExecutions.has(l.uri)});if(o)throw new Error(`duplicate cell execution for ${o.document.uri}`);if(this._activeNotebookExecutions.has(n.uri))throw new Error(`duplicate notebook execution for ${n.uri}`);let r=new YA(e,n,this._proxy),s=r.onDidChangeState(()=>{r.state===2&&(r.dispose(),s.dispose(),this._activeNotebookExecutions.delete(n.uri))});return this._activeNotebookExecutions.set(n.uri,[r,s]),r.asApiObject()}};fg=R([S(4,ae)],fg);var XA=class i extends V{constructor(e,n,o){super();this._cell=n;this._proxy=o;this._handle=i.HANDLE++;this._onDidChangeState=this._register(new w);this.onDidChangeState=this._onDidChangeState.event;this._state=0;this._tokenSource=this._register(new Me);this._collector=new ZA(10,r=>this.update(r)),this._executionOrder=n.internalMetadata.executionOrder,this._proxy.$createExecution(this._handle,e,this._cell.notebook.uri,this._cell.handle)}static{this.HANDLE=0}get state(){return this._state}cancel(){this._tokenSource.cancel()}async updateSoon(e){await this._collector.addItem(e)}async update(e){let n=Array.isArray(e)?e:[e];return this._proxy.$updateExecution(this._handle,new Ft(n))}verifyStateForOutput(){if(this._state===0)throw new Error("Must call start before modifying cell output");if(this._state===2)throw new Error("Cannot modify cell output after calling resolve")}cellIndexToHandle(e){let n=this._cell;if(e&&(n=this._cell.notebook.getCellFromApiCell(e)),!n)throw new Error("INVALID cell");return n.handle}validateAndConvertOutputs(e){return e.map(n=>{let o=Hi.ensureUniqueMimeTypes(n.items,!0);return o===n.items?Zs.from(n):Zs.from({items:o,id:n.id,metadata:n.metadata})})}async updateOutputs(e,n,o){let r=this.cellIndexToHandle(n),s=this.validateAndConvertOutputs(gn(e));return this.updateSoon({editType:1,cellHandle:r,append:o,outputs:s})}async updateOutputItems(e,n,o){return e=Hi.ensureUniqueMimeTypes(gn(e),!0),this.updateSoon({editType:2,items:e.map(dc.from),outputId:n.id,append:o})}asApiObject(){let e=this;return Object.freeze({get token(){return e._tokenSource.token},get cell(){return e._cell.apiCell},get executionOrder(){return e._executionOrder},set executionOrder(o){e._executionOrder=o,e.update([{editType:3,executionOrder:e._executionOrder}])},start(o){if(e._state===2||e._state===1)throw new Error("Cannot call start again");e._state=1,e._onDidChangeState.fire(),e.update({editType:3,runStartTime:o})},end(o,r,s){if(e._state===2)throw new Error("Cannot call resolve twice");e._state=2,e._onDidChangeState.fire(),e._collector.flush();let a=Uz(s);e._proxy.$completeExecution(e._handle,new Ft({runEndTime:r,lastRunSuccess:o,error:a}))},clearOutput(o){return e.verifyStateForOutput(),e.updateOutputs([],o,!1)},appendOutput(o,r){return e.verifyStateForOutput(),e.updateOutputs(o,r,!0)},replaceOutput(o,r){return e.verifyStateForOutput(),e.updateOutputs(o,r,!1)},appendOutputItems(o,r){return e.verifyStateForOutput(),e.updateOutputItems(o,r,!0)},replaceOutputItems(o,r){return e.verifyStateForOutput(),e.updateOutputItems(o,r,!1)}})}};function Uz(i){let t=o=>o?{startLineNumber:o.start.line,startColumn:o.start.character,endLineNumber:o.end.line,endColumn:o.end.character}:void 0,e=o=>({uri:o.uri,position:o.position,label:o.label});return i?{name:i.name,message:i.message,stack:i.stack instanceof Array?i.stack.map(o=>e(o)):i.stack,location:t(i.location),uri:i.uri}:void 0}var YA=class i extends V{constructor(e,n,o){super();this._notebook=n;this._proxy=o;this._handle=i.HANDLE++;this._onDidChangeState=this._register(new w);this.onDidChangeState=this._onDidChangeState.event;this._state=0;this._tokenSource=this._register(new Me);this._proxy.$createNotebookExecution(this._handle,e,this._notebook.uri)}static{this.HANDLE=0}get state(){return this._state}cancel(){this._tokenSource.cancel()}asApiObject(){return Object.freeze({start:()=>{if(this._state===2||this._state===1)throw new Error("Cannot call start again");this._state=1,this._onDidChangeState.fire(),this._proxy.$beginNotebookExecution(this._handle)},end:()=>{if(this._state===2)throw new Error("Cannot call resolve twice");this._state=2,this._onDidChangeState.fire(),this._proxy.$completeNotebookExecution(this._handle)}})}},ZA=class{constructor(t,e){this.delay=t;this.callback=e;this.batch=[];this.startedTimer=Date.now()}addItem(t){return this.batch.push(t),this.currentDeferred||(this.currentDeferred=new cn,this.startedTimer=Date.now(),Sn(this.delay).then(()=>this.flush())),Date.now()-this.startedTimer>this.delay?this.flush():this.currentDeferred.p}flush(){if(this.batch.length===0||!this.currentDeferred)return Promise.resolve();let t=this.currentDeferred;this.currentDeferred=void 0;let e=this.batch;return this.batch=[],this.callback(e).finally(()=>t.complete())}};function dE(i,t){return`${i.value}/${t}`}var cE=class{constructor(t,e){this._extHostNotebook=e;this._rendererMessageEmitters=new Map;this.proxy=t.getProxy(L.MainThreadNotebookRenderers)}$postRendererMessage(t,e,n){let o=this._extHostNotebook.getEditorById(t);this._rendererMessageEmitters.get(e)?.fire({editor:o.apiEditor,message:n})}createRendererMessaging(t,e){if(!t.contributes?.notebookRenderer?.some(o=>o.id===e))throw new Error(`Extensions may only call createRendererMessaging() for renderers they contribute (got ${e})`);return{onDidReceiveMessage:(o,r,s)=>this.getOrCreateEmitterFor(e).event(o,r,s),postMessage:(o,r)=>{Uc.apiEditorsToExtHost.has(o)&&([o,r]=[r,o]);let s=r&&Uc.apiEditorsToExtHost.get(r);return this.proxy.$postMessage(s?.id,e,o)}}}getOrCreateEmitterFor(t){let e=this._rendererMessageEmitters.get(t);return e||(e=new w({onDidRemoveLastListener:()=>{e?.dispose(),this._rendererMessageEmitters.delete(t)}}),this._rendererMessageEmitters.set(t,e),e)}};var uE=class{constructor(t){this.handlers=new Map;this.proxy=t.getProxy(L.MainThreadProfileContentHandlers)}registerProfileContentHandler(t,e,n){if(D(t,"profileContentHandlers"),this.handlers.has(e))throw new Error(`Handler with id '${e}' already registered`);return this.handlers.set(e,n),this.proxy.$registerProfileContentHandler(e,n.name,n.description,t.identifier.value),X(()=>{this.handlers.delete(e),this.proxy.$unregisterProfileContentHandler(e)})}async $saveProfile(t,e,n,o){let r=this.handlers.get(t);if(!r)throw new Error(`Unknown handler with id: ${t}`);return r.saveProfile(e,n,o)}async $readProfile(t,e,n){let o=this.handlers.get(t);if(!o)throw new Error(`Unknown handler with id: ${t}`);return o.readProfile(Ae(e)?e:y.revive(e),n)}};var pE=class i{constructor(t,e){this.uriTransformer=e;this.providers=new Map;this.proxy=t.getProxy(L.MainThreadQuickDiff)}static{this.handlePool=0}$provideOriginalResource(t,e,n){let o=y.revive(e),r=this.providers.get(t);return r?tn(()=>r.provideOriginalResource(o,n)).then(s=>s||null):Promise.resolve(null)}registerQuickDiffProvider(t,e,n,o,r,s){let a=i.handlePool++;this.providers.set(a,n);let l=Se.toKey(t.identifier);return this.proxy.$registerQuickDiffProvider(a,li.from(e,this.uriTransformer),`${l}.${o}`,r,s),{dispose:()=>{this.proxy.$unregisterQuickDiffProvider(a),this.providers.delete(a)}}}};function SH(i,t,e){let n=i.getProxy(L.MainThreadQuickOpen);class o{constructor(d,c){this._sessions=new Map;this._instances=0;this._workspace=d,this._commands=c}showQuickPick(d,c,u,m=ye.None){this._onDidSelectItem=void 0;let g=Promise.resolve(c),v=++this._instances,f=n.$show(v,{title:u?.title,placeHolder:u?.placeHolder,prompt:u?.prompt,matchOnDescription:u?.matchOnDescription,matchOnDetail:u?.matchOnDetail,ignoreFocusLost:u?.ignoreFocusOut,canPickMany:u?.canPickMany},m),x={},C=f.then(()=>x);return Promise.race([C,g]).then(E=>{if(E!==x)return g.then(k=>{let O=[];for(let N=0;N<k.length;N++){let H=k[N];typeof H=="string"?O.push({label:H,handle:N}):H.kind===-1?O.push({type:"separator",label:H.label}):(H.tooltip&&D(d,"quickPickItemTooltip"),O.push({label:H.label,iconPathDto:di.from(H.iconPath),description:H.description,detail:H.detail,picked:H.picked,alwaysShow:H.alwaysShow,tooltip:pe.fromStrict(H.tooltip),resourceUri:H.resourceUri,handle:N}))}return u&&typeof u.onDidSelectItem=="function"&&(this._onDidSelectItem=N=>{u.onDidSelectItem(k[N])}),n.$setItems(v,O),f.then(N=>{if(typeof N=="number")return k[N];if(Array.isArray(N))return N.map(H=>k[H])})})}).then(void 0,E=>{if(!xn(E))return n.$setError(v,E),Promise.reject(E)})}$onItemSelected(d){this._onDidSelectItem?.(d)}showInput(d,c=ye.None){return this._validateInput=d?.validateInput,n.$input(d,typeof this._validateInput=="function",c).then(void 0,u=>{if(!xn(u))return Promise.reject(u)})}async $validateInput(d){if(!this._validateInput)return;let c=await this._validateInput(d);if(!c||typeof c=="string")return c;let u;switch(c.severity){case 1:u=je.Info;break;case 2:u=je.Warning;break;case 3:u=je.Error;break;default:u=c.message?je.Error:je.Ignore;break}return{content:c.message,severity:u}}async showWorkspaceFolderPick(d,c=ye.None){let u=await this._commands.executeCommand("_workbench.pickWorkspaceFolder",[d]);if(!u)return;let m=await this._workspace.getWorkspaceFolders2();if(m)return m.find(g=>g.uri.toString()===u.uri.toString())}createQuickPick(d){let c=new s(d,()=>this._sessions.delete(c._id));return this._sessions.set(c._id,c),c}createInputBox(d){let c=new a(d,()=>this._sessions.delete(c._id));return this._sessions.set(c._id,c),c}$onDidChangeValue(d,c){this._sessions.get(d)?._fireDidChangeValue(c)}$onDidAccept(d){this._sessions.get(d)?._fireDidAccept()}$onDidChangeActive(d,c){let u=this._sessions.get(d);u instanceof s&&u._fireDidChangeActive(c)}$onDidChangeSelection(d,c){let u=this._sessions.get(d);u instanceof s&&u._fireDidChangeSelection(c)}$onDidTriggerButton(d,c,u){this._sessions.get(d)?._fireDidTriggerButton(c,u)}$onDidTriggerItemButton(d,c,u,m){let g=this._sessions.get(d);g instanceof s&&g._fireDidTriggerItemButton(c,u,m)}$onDidHide(d){this._sessions.get(d)?._fireDidHide()}}class r{constructor(d,c){this._extension=d;this._onDidDispose=c;this._id=s._nextId++;this._visible=!1;this._expectingHide=!1;this._enabled=!0;this._busy=!1;this._ignoreFocusOut=!0;this._value="";this._valueSelection=void 0;this._buttons=[];this._handlesToButtons=new Map;this._onDidAcceptEmitter=new w;this._onDidChangeValueEmitter=new w;this._onDidTriggerButtonEmitter=new w;this._onDidHideEmitter=new w;this._pendingUpdate={id:this._id};this._disposed=!1;this._disposables=[this._onDidTriggerButtonEmitter,this._onDidHideEmitter,this._onDidAcceptEmitter,this._onDidChangeValueEmitter];this.onDidChangeValue=this._onDidChangeValueEmitter.event;this.onDidAccept=this._onDidAcceptEmitter.event;this.onDidTriggerButton=this._onDidTriggerButtonEmitter.event;this.onDidHide=this._onDidHideEmitter.event}static{this._nextId=1}get title(){return this._title}set title(d){this._title=d,this.update({title:d})}get step(){return this._steps}set step(d){this._steps=d,this.update({step:d})}get totalSteps(){return this._totalSteps}set totalSteps(d){this._totalSteps=d,this.update({totalSteps:d})}get enabled(){return this._enabled}set enabled(d){this._enabled=d,this.update({enabled:d})}get busy(){return this._busy}set busy(d){this._busy=d,this.update({busy:d})}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(d){this._ignoreFocusOut=d,this.update({ignoreFocusOut:d})}get value(){return this._value}set value(d){this._value=d,this.update({value:d})}get valueSelection(){return this._valueSelection}set valueSelection(d){this._valueSelection=d,this.update({valueSelection:d})}get placeholder(){return this._placeholder}set placeholder(d){this._placeholder=d,this.update({placeholder:d})}get buttons(){return this._buttons}set buttons(d){this._buttons=d.slice(),this._handlesToButtons.clear(),d.forEach((c,u)=>{let m=c===Vi.Back?-1:u;this._handlesToButtons.set(m,c)}),this.update({buttons:d.map((c,u)=>({iconPathDto:di.from(c.iconPath),tooltip:c.tooltip,handle:c===Vi.Back?-1:u,location:typeof c.location=="number"?c.location:void 0,toggle:typeof c.toggle=="object"&&typeof c.toggle.checked=="boolean"?{checked:c.toggle.checked}:void 0}))})}show(){this._visible=!0,this._expectingHide=!0,this.update({visible:!0})}hide(){this._visible=!1,this.update({visible:!1})}_fireDidAccept(){this._onDidAcceptEmitter.fire()}_fireDidChangeValue(d){this._value=d,this._onDidChangeValueEmitter.fire(d)}_fireDidTriggerButton(d,c){let u=this._handlesToButtons.get(d);u&&(c!==void 0&&u.toggle&&(u.toggle.checked=c),this._onDidTriggerButtonEmitter.fire(u))}_fireDidHide(){this._expectingHide&&(this._expectingHide=this._visible,this._onDidHideEmitter.fire())}dispose(){this._disposed||(this._disposed=!0,this._fireDidHide(),this._disposables=Fn(this._disposables),this._updateTimeout&&(clearTimeout(this._updateTimeout),this._updateTimeout=void 0),this._onDidDispose(),n.$dispose(this._id))}update(d){if(!this._disposed){for(let c of Object.keys(d)){let u=d[c];this._pendingUpdate[c]=u===void 0?null:u}"visible"in this._pendingUpdate?(this._updateTimeout&&(clearTimeout(this._updateTimeout),this._updateTimeout=void 0),this.dispatchUpdate()):this._visible&&!this._updateTimeout&&(this._updateTimeout=setTimeout(()=>{this._updateTimeout=void 0,this.dispatchUpdate()},0))}}dispatchUpdate(){n.$createOrUpdate(this._pendingUpdate),this._pendingUpdate={id:this._id}}}class s extends r{constructor(c,u){super(c,u);this._items=[];this._handlesToItems=new Map;this._itemsToHandles=new Map;this._canSelectMany=!1;this._matchOnDescription=!0;this._matchOnDetail=!0;this._sortByLabel=!0;this._keepScrollPosition=!1;this._activeItems=[];this._onDidChangeActiveEmitter=new w;this._selectedItems=[];this._onDidChangeSelectionEmitter=new w;this._onDidTriggerItemButtonEmitter=new w;this.onDidChangeActive=this._onDidChangeActiveEmitter.event;this.onDidChangeSelection=this._onDidChangeSelectionEmitter.event;this.onDidTriggerItemButton=this._onDidTriggerItemButtonEmitter.event;this._disposables.push(this._onDidChangeActiveEmitter,this._onDidChangeSelectionEmitter,this._onDidTriggerItemButtonEmitter),this.update({type:"quickPick"})}get items(){return this._items}set items(c){this._items=c.slice(),this._handlesToItems.clear(),this._itemsToHandles.clear(),c.forEach((m,g)=>{this._handlesToItems.set(g,m),this._itemsToHandles.set(m,g)});let u=[];for(let m=0;m<c.length;m++){let g=c[m];g.kind===-1?u.push({type:"separator",label:g.label}):(g.tooltip&&D(this._extension,"quickPickItemTooltip"),u.push({handle:m,label:g.label,iconPathDto:di.from(g.iconPath),description:g.description,detail:g.detail,picked:g.picked,alwaysShow:g.alwaysShow,tooltip:pe.fromStrict(g.tooltip),resourceUri:g.resourceUri,buttons:g.buttons?.map((v,f)=>({iconPathDto:di.from(v.iconPath),tooltip:v.tooltip,handle:f,toggle:typeof v.toggle=="object"&&typeof v.toggle.checked=="boolean"?{checked:v.toggle.checked}:void 0}))}))}this.update({items:u})}get canSelectMany(){return this._canSelectMany}set canSelectMany(c){this._canSelectMany=c,this.update({canSelectMany:c})}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(c){this._matchOnDescription=c,this.update({matchOnDescription:c})}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(c){this._matchOnDetail=c,this.update({matchOnDetail:c})}get sortByLabel(){return this._sortByLabel}set sortByLabel(c){this._sortByLabel=c,this.update({sortByLabel:c})}get keepScrollPosition(){return this._keepScrollPosition}set keepScrollPosition(c){this._keepScrollPosition=c,this.update({keepScrollPosition:c})}get prompt(){return this._prompt}set prompt(c){this._prompt=c,this.update({prompt:c})}get activeItems(){return this._activeItems}set activeItems(c){this._activeItems=c.filter(u=>this._itemsToHandles.has(u)),this.update({activeItems:this._activeItems.map(u=>this._itemsToHandles.get(u))})}get selectedItems(){return this._selectedItems}set selectedItems(c){this._selectedItems=c.filter(u=>this._itemsToHandles.has(u)),this.update({selectedItems:this._selectedItems.map(u=>this._itemsToHandles.get(u))})}_fireDidChangeActive(c){let u=it(c.map(m=>this._handlesToItems.get(m)));this._activeItems=u,this._onDidChangeActiveEmitter.fire(u)}_fireDidChangeSelection(c){let u=it(c.map(m=>this._handlesToItems.get(m)));this._selectedItems=u,this._onDidChangeSelectionEmitter.fire(u)}_fireDidTriggerItemButton(c,u,m){let g=this._handlesToItems.get(c);if(!g||!g.buttons||!g.buttons.length)return;let v=g.buttons[u];v&&(m!==void 0&&v.toggle&&(v.toggle.checked=m),this._onDidTriggerItemButtonEmitter.fire({button:v,item:g}))}}class a extends r{constructor(c,u){super(c,u);this._password=!1;this.update({type:"inputBox"})}get password(){return this._password}set password(c){this._password=c,this.update({password:c})}get prompt(){return this._prompt}set prompt(c){this._prompt=c,this.update({prompt:c})}get validationMessage(){return this._validationMessage}set validationMessage(c){this._validationMessage=c,c?typeof c=="string"?this.update({validationMessage:c,severity:je.Error}):this.update({validationMessage:c.message,severity:c.severity??je.Error}):this.update({validationMessage:void 0,severity:je.Ignore})}}return new o(t,e)}var TH=new bt(()=>{let i=am.Collator(void 0,{numeric:!0,sensitivity:"base"}).value;return{collator:i,collatorIsNumeric:i.resolvedOptions().numeric}}),Xot=new bt(()=>({collator:am.Collator(void 0,{numeric:!0}).value})),Yot=new bt(()=>({collator:am.Collator(void 0,{numeric:!0,sensitivity:"accent"}).value}));function Fz(i,t,e=!1){let n=i||"",o=t||"",r=TH.value.collator.compare(n,o);return TH.value.collatorIsNumeric&&r===0&&n!==o?n<o?-1:1:r}function Hz(i,t,e=!1){return e||(i=i&&i.toLowerCase(),t=t&&t.toLowerCase()),i===t?0:i<t?-1:1}function Ev(i,t,e=!1){let n=i.split(Gn),o=t.split(Gn),r=n.length-1,s=o.length-1,a,l;for(let d=0;;d++){if(a=r===d,l=s===d,a&&l)return Fz(n[d],o[d],e);if(a)return-1;if(l)return 1;let c=Hz(n[d],o[d],e);if(c!==0)return c}}function EH(i){return i instanceof y}function Vz(i,t){return i.scheme===K.file&&t.scheme===K.file&&qn?i.toString()===t.toString():i.toString().toLowerCase()===t.toString().toLowerCase()}function eM(i){if(i)return typeof i.iconPath=="string"?y.file(i.iconPath):y.isUri(i.iconPath)||Je.isThemeIcon(i.iconPath)?i.iconPath:void 0}function ss(i){if(i){if(y.isUri(i))return i;if(Je.isThemeIcon(i))return i;{let t=i;return{light:t.light,dark:t.dark}}}else return}function wH(i){let t=ss(i.authorIcon),e=Array.isArray(i.tooltip)?pe.fromMany(i.tooltip):i.tooltip?pe.from(i.tooltip):void 0,n=i.references?.map(o=>({...o,icon:ss(o.icon)}));return{...i,authorIcon:t,references:n,tooltip:e}}function tM(i){return i?{...i,icon:ss(i.icon)}:void 0}function nM(i,t){if(!i.iconPath&&!t.iconPath)return 0;if(i.iconPath){if(!t.iconPath)return 1}else return-1;let e=typeof i.iconPath=="string"?i.iconPath:y.isUri(i.iconPath)?i.iconPath.fsPath:i.iconPath.id,n=typeof t.iconPath=="string"?t.iconPath:y.isUri(t.iconPath)?t.iconPath.fsPath:t.iconPath.id;return Ev(e,n)}function Bz(i,t){let e=0;if(i.strikeThrough!==t.strikeThrough)return i.strikeThrough?1:-1;if(i.faded!==t.faded)return i.faded?1:-1;if(i.tooltip!==t.tooltip)return(i.tooltip||"").localeCompare(t.tooltip||"");if(e=nM(i,t),e!==0)return e;if(i.light&&t.light)e=nM(i.light,t.light);else{if(i.light)return 1;if(t.light)return-1}if(e!==0)return e;if(i.dark&&t.dark)e=nM(i.dark,t.dark);else{if(i.dark)return 1;if(t.dark)return-1}return e}function Wz(i,t){if(i.command!==t.command)return i.command<t.command?-1:1;if(i.title!==t.title)return i.title<t.title?-1:1;if(i.tooltip!==t.tooltip){if(i.tooltip!==void 0&&t.tooltip!==void 0)return i.tooltip<t.tooltip?-1:1;if(i.tooltip!==void 0)return 1;if(t.tooltip!==void 0)return-1}if(i.arguments===t.arguments)return 0;if(i.arguments)if(t.arguments){if(i.arguments.length!==t.arguments.length)return i.arguments.length-t.arguments.length}else return 1;else return-1;for(let e=0;e<i.arguments.length;e++){let n=i.arguments[e],o=t.arguments[e];if(n!==o&&!(EH(n)&&EH(o)&&Vz(n,o)))return n<o?-1:1}return 0}function kH(i,t){let e=Ev(i.resourceUri.fsPath,t.resourceUri.fsPath,!0);if(e!==0)return e;if(i.command&&t.command)e=Wz(i.command,t.command);else{if(i.command)return 1;if(t.command)return-1}if(e!==0)return e;if(i.decorations&&t.decorations)e=Bz(i.decorations,t.decorations);else{if(i.decorations)return 1;if(t.decorations)return-1}if(e!==0)return e;if(i.multiFileDiffEditorModifiedUri&&t.multiFileDiffEditorModifiedUri)e=Ev(i.multiFileDiffEditorModifiedUri.fsPath,t.multiFileDiffEditorModifiedUri.fsPath,!0);else{if(i.multiFileDiffEditorModifiedUri)return 1;if(t.multiFileDiffEditorModifiedUri)return-1}if(e!==0)return e;if(i.multiDiffEditorOriginalUri&&t.multiDiffEditorOriginalUri)e=Ev(i.multiDiffEditorOriginalUri.fsPath,t.multiDiffEditorOriginalUri.fsPath,!0);else{if(i.multiDiffEditorOriginalUri)return 1;if(t.multiDiffEditorOriginalUri)return-1}return e}function $z(i,t){for(let e=0;e<i.length;e++)if(i[e]!==t[e])return!1;return!0}function zz(i,t){return i.command===t.command&&i.title===t.title&&i.tooltip===t.tooltip&&(i.arguments&&t.arguments?$z(i.arguments,t.arguments):i.arguments===t.arguments)}function qz(i,t){return Qt(i,t,zz)}var oM=class{constructor(t,e,n,o,r){this._extension=t;this._sourceControlHandle=o;this._documentUri=r;this._value="";this._onDidChange=new w;this._placeholder="";this._enabled=!0;this._visible=!0;this.#t=e,this.#e=n}#e;#t;get value(){return this._value}set value(t){t=t??"",this.#e.$setInputBoxValue(this._sourceControlHandle,t),this.updateValue(t)}get onDidChange(){return this._onDidChange.event}get placeholder(){return this._placeholder}set placeholder(t){this.#e.$setInputBoxPlaceholder(this._sourceControlHandle,t),this._placeholder=t}get validateInput(){return D(this._extension,"scmValidation"),this._validateInput}set validateInput(t){if(D(this._extension,"scmValidation"),t&&typeof t!="function")throw new Error(`[${this._extension.identifier.value}]: Invalid SCM input box validation function`);this._validateInput=t,this.#e.$setValidationProviderIsEnabled(this._sourceControlHandle,!!t)}get enabled(){return this._enabled}set enabled(t){t=!!t,this._enabled!==t&&(this._enabled=t,this.#e.$setInputBoxEnablement(this._sourceControlHandle,t))}get visible(){return this._visible}set visible(t){t=!!t,this._visible!==t&&(this._visible=t,this.#e.$setInputBoxVisibility(this._sourceControlHandle,t))}get document(){return D(this._extension,"scmTextDocument"),this.#t.getDocument(this._documentUri)}showValidationMessage(t,e){D(this._extension,"scmValidation"),this.#e.$showValidationMessage(this._sourceControlHandle,t,iR.from(e))}$onInputBoxValueChange(t){this.updateValue(t)}updateValue(t){this._value=t,this._onDidChange.fire(t)}},rM=class i{constructor(t,e,n,o,r,s,a){this._proxy=t;this._commands=e;this._sourceControlHandle=n;this._id=o;this._label=r;this.multiDiffEditorEnableViewChanges=s;this._extension=a;this._resourceHandlePool=0;this._resourceStates=[];this._resourceStatesMap=new Map;this._resourceStatesCommandsMap=new Map;this._resourceStatesDisposablesMap=new Map;this._onDidUpdateResourceStates=new w;this.onDidUpdateResourceStates=this._onDidUpdateResourceStates.event;this._disposed=!1;this._onDidDispose=new w;this.onDidDispose=this._onDidDispose.event;this._handlesSnapshot=[];this._resourceSnapshot=[];this._contextValue=void 0;this._hideWhenEmpty=void 0;this.handle=i._handlePool++}static{this._handlePool=0}get disposed(){return this._disposed}get id(){return this._id}get label(){return this._label}set label(t){this._label=t,this._proxy.$updateGroupLabel(this._sourceControlHandle,this.handle,t)}get contextValue(){return this._contextValue}set contextValue(t){this._contextValue=t,this._proxy.$updateGroup(this._sourceControlHandle,this.handle,this.features)}get hideWhenEmpty(){return this._hideWhenEmpty}set hideWhenEmpty(t){this._hideWhenEmpty=t,this._proxy.$updateGroup(this._sourceControlHandle,this.handle,this.features)}get features(){return{contextValue:this.contextValue,hideWhenEmpty:this.hideWhenEmpty}}get resourceStates(){return[...this._resourceStates]}set resourceStates(t){this._resourceStates=[...t],this._onDidUpdateResourceStates.fire()}getResourceState(t){return this._resourceStatesMap.get(t)}$executeResourceCommand(t,e){let n=this._resourceStatesCommandsMap.get(t);return n?tn(()=>this._commands.executeCommand(n.command,...n.arguments||[],e)):Promise.resolve(void 0)}_takeResourceStateSnapshot(){let t=[...this._resourceStates].sort(kH),n=_E(this._resourceSnapshot,t,kH).map(s=>{let a=s.toInsert.map(l=>{let d=this._resourceHandlePool++;this._resourceStatesMap.set(d,l);let c=l.resourceUri,u;if(l.command)if(l.command.command==="vscode.open"||l.command.command==="vscode.diff"||l.command.command==="vscode.changes"){let Q=new J;u=this._commands.converter.toInternal(l.command,Q),this._resourceStatesDisposablesMap.set(d,Q)}else this._resourceStatesCommandsMap.set(d,l.command);let m=De(this._extension,"scmMultiDiffEditor"),g=m?l.multiDiffEditorOriginalUri:void 0,v=m?l.multiFileDiffEditorModifiedUri:void 0,f=eM(l.decorations),x=l.decorations&&eM(l.decorations.light)||f,C=l.decorations&&eM(l.decorations.dark)||f,E=[x,C],k=l.decorations&&l.decorations.tooltip||"",O=l.decorations&&!!l.decorations.strikeThrough,N=l.decorations&&!!l.decorations.faded,H=l.contextValue||"";return{rawResource:[d,c,E,k,O,N,H,u,g,v],handle:d}});return{start:s.start,deleteCount:s.deleteCount,toInsert:a}}),o=n.map(({start:s,deleteCount:a,toInsert:l})=>[s,a,l.map(d=>d.rawResource)]),r=n.reverse();for(let{start:s,deleteCount:a,toInsert:l}of r){let d=l.map(u=>u.handle),c=this._handlesSnapshot.splice(s,a,...d);for(let u of c)this._resourceStatesMap.delete(u),this._resourceStatesCommandsMap.delete(u),this._resourceStatesDisposablesMap.get(u)?.dispose(),this._resourceStatesDisposablesMap.delete(u)}return this._resourceSnapshot=t,o}dispose(){this._disposed=!0,this._onDidDispose.fire(),this._onDidUpdateResourceStates.dispose(),this._onDidDispose.dispose()}},wv=class wv{constructor(t,e,n,o,r,s,a,l,d,c){this._extension=t;this._commands=o;this._id=r;this._label=s;this._rootUri=a;this._onDidDispose=new w;this.onDidDispose=this._onDidDispose.event;this._groups=new Map;this._contextValue=void 0;this._count=void 0;this._quickDiffProvider=void 0;this._secondaryQuickDiffProvider=void 0;this._historyProviderDisposable=new ln;this._artifactProviderDisposable=new ln;this._commitTemplate=void 0;this._acceptInputDisposables=new ln;this._acceptInputCommand=void 0;this._actionButtonDisposables=new J;this._statusBarDisposables=new J;this._statusBarCommands=void 0;this._selected=!1;this._onDidChangeSelection=new w;this.onDidChangeSelection=this._onDidChangeSelection.event;this._artifactCommandsDisposables=new Un;this.handle=wv._handlePool++;this.createdResourceGroups=new Map;this.updatedResourceGroups=new Set;this.#e=n;let u=y.from({scheme:K.vscodeSourceControl,path:`${r}/scm${this.handle}/input`,query:a?`rootUri=${encodeURIComponent(a.toString())}`:void 0});this._inputBox=new oM(t,e,this.#e,this.handle,u),this.#e.$registerSourceControl(this.handle,c?.handle,r,s,a,ss(l),d,u),this.onDidDisposeParent=c?c.onDidDispose:Le.None}static{this._handlePool=0}#e;get id(){return this._id}get label(){return this._label}get rootUri(){return this._rootUri}get contextValue(){return D(this._extension,"scmProviderOptions"),this._contextValue}set contextValue(t){D(this._extension,"scmProviderOptions"),this._contextValue!==t&&(this._contextValue=t,this.#e.$updateSourceControl(this.handle,{contextValue:t}))}get inputBox(){return this._inputBox}get count(){return this._count}set count(t){this._count!==t&&(this._count=t,this.#e.$updateSourceControl(this.handle,{count:t}))}get quickDiffProvider(){return this._quickDiffProvider}set quickDiffProvider(t){this._quickDiffProvider=t;let e;De(this._extension,"quickDiffProvider")&&(e=t?.label),this.#e.$updateSourceControl(this.handle,{hasQuickDiffProvider:!!t,quickDiffLabel:e})}get secondaryQuickDiffProvider(){return D(this._extension,"quickDiffProvider"),this._secondaryQuickDiffProvider}set secondaryQuickDiffProvider(t){D(this._extension,"quickDiffProvider"),this._secondaryQuickDiffProvider=t;let e=t?.label;this.#e.$updateSourceControl(this.handle,{hasSecondaryQuickDiffProvider:!!t,secondaryQuickDiffLabel:e})}get historyProvider(){return D(this._extension,"scmHistoryProvider"),this._historyProvider}set historyProvider(t){D(this._extension,"scmHistoryProvider"),this._historyProvider=t,this._historyProviderDisposable.value=new J,this.#e.$updateSourceControl(this.handle,{hasHistoryProvider:!!t}),t&&(this._historyProviderDisposable.value.add(t.onDidChangeCurrentHistoryItemRefs(()=>{let e=tM(t?.currentHistoryItemRef),n=tM(t?.currentHistoryItemRemoteRef),o=tM(t?.currentHistoryItemBaseRef);this.#e.$onDidChangeHistoryProviderCurrentHistoryItemRefs(this.handle,e,n,o)})),this._historyProviderDisposable.value.add(t.onDidChangeHistoryItemRefs(e=>{if(e.added.length===0&&e.modified.length===0&&e.removed.length===0)return;let n=e.added.map(s=>({...s,icon:ss(s.icon)})),o=e.modified.map(s=>({...s,icon:ss(s.icon)})),r=e.removed.map(s=>({...s,icon:ss(s.icon)}));this.#e.$onDidChangeHistoryProviderHistoryItemRefs(this.handle,{added:n,modified:o,removed:r,silent:e.silent})})))}get artifactProvider(){return D(this._extension,"scmArtifactProvider"),this._artifactProvider}set artifactProvider(t){D(this._extension,"scmArtifactProvider"),this._artifactProvider=t,this._artifactProviderDisposable.value=new J,this.#e.$updateSourceControl(this.handle,{hasArtifactProvider:!!t}),t&&this._artifactProviderDisposable.value.add(t.onDidChangeArtifacts(e=>{e.length!==0&&this.#e.$onDidChangeArtifacts(this.handle,e)}))}get commitTemplate(){return this._commitTemplate}set commitTemplate(t){t!==this._commitTemplate&&(this._commitTemplate=t,this.#e.$updateSourceControl(this.handle,{commitTemplate:t}))}get acceptInputCommand(){return this._acceptInputCommand}set acceptInputCommand(t){this._acceptInputDisposables.value=new J,this._acceptInputCommand=t;let e=this._commands.converter.toInternal(t,this._acceptInputDisposables.value);this.#e.$updateSourceControl(this.handle,{acceptInputCommand:e})}get actionButton(){return D(this._extension,"scmActionButton"),this._actionButton}set actionButton(t){if(D(this._extension,"scmActionButton"),Tu(this._actionButton,t))return;let e=this._actionButtonDisposables;this._actionButtonDisposables=new J,this._actionButton=t;let n=t!==void 0?{command:{...this._commands.converter.toInternal(t.command,this._actionButtonDisposables),shortTitle:t.command.shortTitle},secondaryCommands:t.secondaryCommands?.map(o=>o.map(r=>this._commands.converter.toInternal(r,this._actionButtonDisposables))),enabled:t.enabled}:null;this.#e.$updateSourceControl(this.handle,{actionButton:n}).finally(()=>e.dispose())}get statusBarCommands(){return this._statusBarCommands}set statusBarCommands(t){if(this._statusBarCommands&&t&&qz(this._statusBarCommands,t))return;let e=this._statusBarDisposables;this._statusBarDisposables=new J,this._statusBarCommands=t;let n=(t||[]).map(o=>this._commands.converter.toInternal(o,this._statusBarDisposables));this.#e.$updateSourceControl(this.handle,{statusBarCommands:n}).finally(()=>e.dispose())}get selected(){return this._selected}createResourceGroup(t,e,n){let o=De(this._extension,"scmMultiDiffEditor")&&n?.multiDiffEditorEnableViewChanges===!0,r=new rM(this.#e,this._commands,this.handle,t,e,o,this._extension),s=Le.once(r.onDidDispose)(()=>this.createdResourceGroups.delete(r));return this.createdResourceGroups.set(r,s),this.eventuallyAddResourceGroups(),r}eventuallyAddResourceGroups(){let t=[],e=[];for(let[n,o]of this.createdResourceGroups){o.dispose();let r=n.onDidUpdateResourceStates(()=>{this.updatedResourceGroups.add(n),this.eventuallyUpdateResourceStates()});Le.once(n.onDidDispose)(()=>{this.updatedResourceGroups.delete(n),r.dispose(),this._groups.delete(n.handle),this.#e.$unregisterGroup(this.handle,n.handle)}),t.push([n.handle,n.id,n.label,n.features,n.multiDiffEditorEnableViewChanges]);let s=n._takeResourceStateSnapshot();s.length>0&&e.push([n.handle,s]),this._groups.set(n.handle,n)}this.#e.$registerGroups(this.handle,t,e),this.createdResourceGroups.clear()}eventuallyUpdateResourceStates(){let t=[];this.updatedResourceGroups.forEach(e=>{let n=e._takeResourceStateSnapshot();n.length!==0&&t.push([e.handle,n])}),t.length>0&&this.#e.$spliceResourceStates(this.handle,t),this.updatedResourceGroups.clear()}getResourceGroup(t){return this._groups.get(t)}setSelectionState(t){this._selected=t,this._onDidChangeSelection.fire(t)}async provideArtifacts(t,e){let n=new J,r=(await this.artifactProvider?.provideArtifacts(t,e))?.map(s=>({...s,icon:ss(s.icon),command:s.command?this._commands.converter.toInternal(s.command,n):void 0}));return this._artifactCommandsDisposables.get(t)?.dispose(),this._artifactCommandsDisposables.set(t,n),r}dispose(){this._acceptInputDisposables.dispose(),this._actionButtonDisposables.dispose(),this._statusBarDisposables.dispose(),this._historyProviderDisposable.dispose(),this._artifactProviderDisposable.dispose(),this._artifactCommandsDisposables.dispose(),this._groups.forEach(t=>t.dispose()),this.#e.$unregisterSourceControl(this.handle),this._onDidChangeSelection.dispose(),this._onDidDispose.fire(),this._onDidDispose.dispose()}};R([Nh(100)],wv.prototype,"eventuallyAddResourceGroups",1),R([Nh(100)],wv.prototype,"eventuallyUpdateResourceStates",1);var iM=wv,hg=class{constructor(t,e,n,o){this._commands=e;this._extHostDocuments=n;this.logService=o;this._sourceControls=new Map;this._sourceControlsByExtension=new Jn;this._onDidChangeActiveProvider=new w;this._proxy=t.getProxy(L.MainThreadSCM),this._telemetry=t.getProxy(L.MainThreadTelemetry),e.registerArgumentProcessor({processArgument:r=>{if(r&&r.$mid===3){let s=this._sourceControls.get(r.sourceControlHandle);if(!s)return r;let a=s.getResourceGroup(r.groupHandle);return a?a.getResourceState(r.handle):r}else if(r&&r.$mid===4){let s=this._sourceControls.get(r.sourceControlHandle);return s?s.getResourceGroup(r.groupHandle):r}else if(r&&r.$mid===5){let s=this._sourceControls.get(r.handle);return s||r}return r}})}get onDidChangeActiveProvider(){return this._onDidChangeActiveProvider.event}createSourceControl(t,e,n,o,r,s,a){this.logService.trace("ExtHostSCM#createSourceControl",t.identifier.value,e,n,o),this._telemetry.$publicLog2("api/scm/createSourceControl",{extensionId:t.identifier.value});let l=a?yt.find(this._sourceControls.values(),u=>u===a):void 0,d=new iM(t,this._extHostDocuments,this._proxy,this._commands,e,n,o,r,s,l);this._sourceControls.set(d.handle,d);let c=this._sourceControlsByExtension.get(t.identifier)||[];return c.push(d),this._sourceControlsByExtension.set(t.identifier,c),Le.once(d.onDidDispose)(()=>{this.logService.trace("ExtHostSCM#disposeSourceControl",t.identifier.value,e,n,o),this._sourceControls.delete(d.handle);let u=this._sourceControlsByExtension.get(t.identifier);if(u){let m=u.indexOf(d);m!==-1&&u.splice(m,1),u.length===0&&this._sourceControlsByExtension.delete(t.identifier)}}),d}getLastInputBox(t){this.logService.trace("ExtHostSCM#getLastInputBox",t.identifier.value);let e=this._sourceControlsByExtension.get(t.identifier),n=e&&e[e.length-1];return n&&n.inputBox}$provideOriginalResource(t,e,n){let o=y.revive(e);this.logService.trace("ExtHostSCM#$provideOriginalResource",t,o.toString());let r=this._sourceControls.get(t);return!r||!r.quickDiffProvider||!r.quickDiffProvider.provideOriginalResource?Promise.resolve(null):tn(()=>r.quickDiffProvider.provideOriginalResource(o,n)).then(s=>s||null)}$provideSecondaryOriginalResource(t,e,n){let o=y.revive(e);this.logService.trace("ExtHostSCM#$provideSecondaryOriginalResource",t,o.toString());let r=this._sourceControls.get(t);return!r||!r.secondaryQuickDiffProvider||!r.secondaryQuickDiffProvider.provideOriginalResource?Promise.resolve(null):tn(()=>r.secondaryQuickDiffProvider.provideOriginalResource(o,n)).then(s=>s||null)}$onInputBoxValueChange(t,e){this.logService.trace("ExtHostSCM#$onInputBoxValueChange",t);let n=this._sourceControls.get(t);return n&&n.inputBox.$onInputBoxValueChange(e),Promise.resolve(void 0)}$executeResourceCommand(t,e,n,o){this.logService.trace("ExtHostSCM#$executeResourceCommand",t,e,n);let r=this._sourceControls.get(t);if(!r)return Promise.resolve(void 0);let s=r.getResourceGroup(e);return s?s.$executeResourceCommand(n,o):Promise.resolve(void 0)}$validateInput(t,e,n){this.logService.trace("ExtHostSCM#$validateInput",t);let o=this._sourceControls.get(t);return!o||!o.inputBox.validateInput?Promise.resolve(void 0):tn(()=>o.inputBox.validateInput(e,n)).then(r=>{if(!r)return Promise.resolve(void 0);let s=pe.fromStrict(r.message);return s?Promise.resolve([s,r.type]):Promise.resolve(void 0)})}$setSelectedSourceControl(t){return this.logService.trace("ExtHostSCM#$setSelectedSourceControl",t),this._selectedSourceControlHandle===t||(t!==void 0&&this._sourceControls.get(t)?.setSelectionState(!0),this._selectedSourceControlHandle!==void 0&&this._sourceControls.get(this._selectedSourceControlHandle)?.setSelectionState(!1),this._selectedSourceControlHandle=t),Promise.resolve(void 0)}async $resolveHistoryItem(t,e,n){try{let r=await this._sourceControls.get(t)?.historyProvider?.resolveHistoryItem(e,n);return r?wH(r):void 0}catch(o){this.logService.error("ExtHostSCM#$resolveHistoryItem",o);return}}async $resolveHistoryItemChatContext(t,e,n){try{return await this._sourceControls.get(t)?.historyProvider?.resolveHistoryItemChatContext(e,n)??void 0}catch(o){this.logService.error("ExtHostSCM#$resolveHistoryItemChatContext",o);return}}async $resolveHistoryItemChangeRangeChatContext(t,e,n,o,r){try{return await this._sourceControls.get(t)?.historyProvider?.resolveHistoryItemChangeRangeChatContext?.(e,n,o,r)??void 0}catch(s){this.logService.error("ExtHostSCM#$resolveHistoryItemChangeRangeChatContext",s);return}}async $resolveHistoryItemRefsCommonAncestor(t,e,n){try{return await this._sourceControls.get(t)?.historyProvider?.resolveHistoryItemRefsCommonAncestor(e,n)??void 0}catch(o){this.logService.error("ExtHostSCM#$resolveHistoryItemRefsCommonAncestor",o);return}}async $provideHistoryItemRefs(t,e,n){try{return(await this._sourceControls.get(t)?.historyProvider?.provideHistoryItemRefs(e,n))?.map(s=>({...s,icon:ss(s.icon)}))??void 0}catch(o){this.logService.error("ExtHostSCM#$provideHistoryItemRefs",o);return}}async $provideHistoryItems(t,e,n){try{return(await this._sourceControls.get(t)?.historyProvider?.provideHistoryItems(e,n))?.map(s=>wH(s))??void 0}catch(o){this.logService.error("ExtHostSCM#$provideHistoryItems",o);return}}async $provideHistoryItemChanges(t,e,n,o){try{return await this._sourceControls.get(t)?.historyProvider?.provideHistoryItemChanges(e,n,o)??void 0}catch(r){this.logService.error("ExtHostSCM#$provideHistoryItemChanges",r);return}}async $provideArtifactGroups(t,e){try{return(await this._sourceControls.get(t)?.artifactProvider?.provideArtifactGroups(e))?.map(r=>({...r,icon:ss(r.icon)}))}catch(n){this.logService.error("ExtHostSCM#$provideArtifactGroups",n);return}}async $provideArtifacts(t,e,n){try{return this._sourceControls.get(t)?.provideArtifacts(e,n)}catch(o){this.logService.error("ExtHostSCM#$provideArtifacts",o);return}}};hg=R([S(3,ae)],hg);var mE=class i{constructor(t,e){this.uriTransformer=e;this.providers=new Map;this.proxy=t.getProxy(L.MainThreadShare)}static{this.handlePool=0}async $provideShare(t,e,n){return await this.providers.get(t)?.provideShare({selection:W.to(e.selection),resourceUri:y.revive(e.resourceUri)},n)??void 0}registerShareProvider(t,e){let n=i.handlePool++;return this.providers.set(n,e),this.proxy.$registerShareProvider(n,li.from(t,this.uriTransformer),e.id,e.label,e.priority),{dispose:()=>{this.proxy.$unregisterShareProvider(n),this.providers.delete(n)}}}};var gE=class i{constructor(t){this.providers=new Map;this.sessions=new Map;this.synthesizers=new Map;this.proxy=t.getProxy(L.MainThreadSpeech)}static{this.ID_POOL=1}async $createSpeechToTextSession(t,e,n){let o=this.providers.get(t);if(!o)return;let r=new J,s=new Me;this.sessions.set(e,s);let a=await o.provideSpeechToTextSession(s.token,n?{language:n}:void 0);a&&(r.add(a.onDidChange(l=>{s.token.isCancellationRequested||this.proxy.$emitSpeechToTextEvent(e,l)})),r.add(s.token.onCancellationRequested(()=>r.dispose())))}async $cancelSpeechToTextSession(t){this.sessions.get(t)?.dispose(!0),this.sessions.delete(t)}async $createTextToSpeechSession(t,e,n){let o=this.providers.get(t);if(!o)return;let r=new J,s=new Me;this.sessions.set(e,s);let a=await o.provideTextToSpeechSession(s.token,n?{language:n}:void 0);a&&(this.synthesizers.set(e,a),r.add(a.onDidChange(l=>{s.token.isCancellationRequested||this.proxy.$emitTextToSpeechEvent(e,l)})),r.add(s.token.onCancellationRequested(()=>r.dispose())))}async $synthesizeSpeech(t,e){this.synthesizers.get(t)?.synthesize(e)}async $cancelTextToSpeechSession(t){this.sessions.get(t)?.dispose(!0),this.sessions.delete(t),this.synthesizers.delete(t)}async $createKeywordRecognitionSession(t,e){let n=this.providers.get(t);if(!n)return;let o=new J,r=new Me;this.sessions.set(e,r);let s=await n.provideKeywordRecognitionSession(r.token);s&&(o.add(s.onDidChange(a=>{r.token.isCancellationRequested||this.proxy.$emitKeywordRecognitionEvent(e,a)})),o.add(r.token.onCancellationRequested(()=>o.dispose())))}async $cancelKeywordRecognitionSession(t){this.sessions.get(t)?.dispose(!0),this.sessions.delete(t)}registerProvider(t,e,n){let o=i.ID_POOL++;return this.providers.set(o,n),this.proxy.$registerProvider(o,e,{extension:t,displayName:t.value}),X(()=>{this.proxy.$unregisterProvider(o),this.providers.delete(o)})}};var sM=class{constructor(t,e,n,o){this.id=t;this._proxy=e;this._sessions=n;this._url=o.url,this._title=o.title,this._favicon=o.favicon;let r=this;this.value={get url(){return r._url},get title(){return r._title},get icon(){return r._favicon?y.parse(r._favicon):new an(le.globe.id)},startCDPSession(){return r._startCDPSession()},close(){return r._close()}}}update(t){let e=!1;return t.url!==this._url&&(this._url=t.url,e=!0),t.title!==this._title&&(this._title=t.title,e=!0),t.favicon!==this._favicon&&(this._favicon=t.favicon,e=!0),e}async _startCDPSession(){let t=We();await this._proxy.$startCDPSession(t,this.id);let e=new aM(t,this._proxy);return this._sessions.set(t,e),e.value}async _close(){await this._proxy.$closeBrowserTab(this.id)}},aM=class{constructor(t,e){this.id=t;this._proxy=e;this._onDidReceiveMessage=new w;this._onDidClose=new w;this._closed=!1;let n=this;this.value={get onDidReceiveMessage(){return n._onDidReceiveMessage.event},get onDidClose(){return n._onDidClose.event},sendMessage(o){return n._sendMessage(o)},close(){return n._close()}}}dispose(){this._onDidReceiveMessage.dispose(),this._onDidClose.dispose()}async _sendMessage(t){if(this._closed)throw new Error("Session is closed");if(!t||typeof t!="object")throw new Error("Message must be an object");if(typeof t.id!="number")throw new Error("Message must have a numeric id");if(typeof t.method!="string")throw new Error("Message must have a method string");if(t.params!==void 0&&typeof t.params!="object")throw new Error("Message params must be an object");if(t.sessionId!==void 0&&typeof t.sessionId!="string")throw new Error("Message sessionId must be a string");await this._proxy.$sendCDPMessage(this.id,{id:t.id,method:t.method,params:t.params,sessionId:t.sessionId})}async _close(){this._closed=!0,await this._proxy.$closeCDPSession(this.id)}_acceptMessage(t){this._onDidReceiveMessage.fire(t)}_acceptClosed(){this._closed=!0,this._onDidClose.fire()}},fE=class extends V{constructor(e){super();this._browserTabs=new Map;this._sessions=this._register(new Un);this._onDidOpenBrowserTab=this._register(new w);this.onDidOpenBrowserTab=this._onDidOpenBrowserTab.event;this._onDidCloseBrowserTab=this._register(new w);this.onDidCloseBrowserTab=this._onDidCloseBrowserTab.event;this._onDidChangeActiveBrowserTab=this._register(new w);this.onDidChangeActiveBrowserTab=this._onDidChangeActiveBrowserTab.event;this._onDidChangeBrowserTabState=this._register(new w);this.onDidChangeBrowserTabState=this._onDidChangeBrowserTabState.event;this._proxy=e.getProxy(L.MainThreadBrowsers)}get browserTabs(){return[...this._browserTabs.values()].map(e=>e.value)}get activeBrowserTab(){if(this._activeBrowserTabId)return this._browserTabs.get(this._activeBrowserTabId)?.value}async openBrowserTab(e,n){let o=At.from(n?.viewColumn),r=await this._proxy.$openBrowserTab(e,o,{preserveFocus:n?.preserveFocus,inactive:n?.background});return this._getOrCreateTab(r).value}_getOrCreateTab(e){let n=this._browserTabs.get(e.id);return n?n.update(e):(n=new sM(e.id,this._proxy,this._sessions,e),this._browserTabs.set(e.id,n),this._onDidOpenBrowserTab.fire(n.value)),n}$onDidOpenBrowserTab(e){this._getOrCreateTab(e)}$onDidCloseBrowserTab(e){let n=this._browserTabs.get(e);n&&(this._browserTabs.delete(e),this._activeBrowserTabId===e&&(this._activeBrowserTabId=void 0),this._onDidCloseBrowserTab.fire(n.value))}$onDidChangeActiveBrowserTab(e){this._activeBrowserTabId=e,this._onDidChangeActiveBrowserTab.fire(this.activeBrowserTab)}$onDidChangeBrowserTabState(e){let n=this._browserTabs.get(e.id);n&&n.update(e)&&this._onDidChangeBrowserTabState.fire(n.value)}$onCDPSessionMessage(e,n){let o=this._sessions.get(e);o&&o._acceptMessage(n)}$onCDPSessionClosed(e){let n=this._sessions.get(e);n&&(n._acceptClosed(),this._sessions.deleteAndDispose(e))}};var lM=class i{constructor(t,e,n,o,r,s=1,a,l){this._onDispose=l;this._disposed=!1;this._text="";this._staleCommandRegistrations=new J;if(this.#e=t,this.#t=e,r&&o){this._entryId=UU(o.identifier,r);let d=n.get(this._entryId);d&&(s=d.alignLeft?1:2,a=d.priority,this._visible=!0,this.name=d.name,this.text=d.text,this.tooltip=d.tooltip,this.command=d.command,this.accessibilityInformation=d.accessibilityInformation)}else this._entryId=String(i.ID_GEN++);this._extension=o,this._id=r,this._alignment=s,this._priority=this.validatePriority(a)}static{this.ID_GEN=0}static{this.ALLOWED_BACKGROUND_COLORS=new Map([["statusBarItem.errorBackground",new Ls("statusBarItem.errorForeground")],["statusBarItem.warningBackground",new Ls("statusBarItem.warningForeground")]])}#e;#t;validatePriority(t){if(tr(t))return t===Number.POSITIVE_INFINITY?Number.MAX_VALUE:t===Number.NEGATIVE_INFINITY?-Number.MAX_VALUE:t}get id(){return this._id??this._extension.identifier.value}get entryId(){return this._entryId}get alignment(){return this._alignment}get priority(){return this._priority}get text(){return this._text}get name(){return this._name}get tooltip(){return this._tooltip}get tooltip2(){return this._extension&&D(this._extension,"statusBarItemTooltip"),this._tooltip2}get color(){return this._color}get backgroundColor(){return this._backgroundColor}get command(){return this._command?.fromApi}get accessibilityInformation(){return this._accessibilityInformation}set text(t){this._text=t,this.update()}set name(t){this._name=t,this.update()}set tooltip(t){this._tooltip=t,this.update()}set tooltip2(t){this._extension&&D(this._extension,"statusBarItemTooltip"),this._tooltip2=t,this.update()}set color(t){this._color=t,this.update()}set backgroundColor(t){t&&!i.ALLOWED_BACKGROUND_COLORS.has(t.id)&&(t=void 0),this._backgroundColor=t,this.update()}set command(t){this._command?.fromApi!==t&&(this._latestCommandRegistration&&this._staleCommandRegistrations.add(this._latestCommandRegistration),this._latestCommandRegistration=new J,typeof t=="string"?this._command={fromApi:t,internal:this.#t.toInternal({title:"",command:t},this._latestCommandRegistration)}:t?this._command={fromApi:t,internal:this.#t.toInternal(t,this._latestCommandRegistration)}:this._command=void 0,this.update())}set accessibilityInformation(t){this._accessibilityInformation=t,this.update()}show(){this._visible=!0,this.update()}hide(){clearTimeout(this._timeoutHandle),this._visible=!1,this.#e.$disposeEntry(this._entryId)}update(){this._disposed||!this._visible||(clearTimeout(this._timeoutHandle),this._timeoutHandle=setTimeout(()=>{this._timeoutHandle=void 0;let t;this._extension?this._id?t=`${this._extension.identifier.value}.${this._id}`:t=this._extension.identifier.value:t=this._id;let e;this._name?e=this._name:e=p(4380,null,this._extension.displayName||this._extension.name);let n=this._color;this._backgroundColor&&(n=i.ALLOWED_BACKGROUND_COLORS.get(this._backgroundColor.id));let o,r;typeof this._tooltip2=="function"?(o=pe.fromStrict(this._tooltip),r=!0):(o=pe.fromStrict(this._tooltip2??this._tooltip),r=!1),this.#e.$setEntry(this._entryId,t,this._extension?.identifier.value,e,this._text,o,r,this._command?.internal,n,this._backgroundColor,this._alignment===1,this._priority,this._accessibilityInformation),this._staleCommandRegistrations.clear()},0))}dispose(){this.hide(),this._staleCommandRegistrations.dispose(),this._latestCommandRegistration?.dispose(),this._onDispose?.(),this._disposed=!0}},dM=class{constructor(t){this._messages=[];this._item=t.createStatusBarEntry(void 0,"status.extensionMessage",1,Number.MIN_VALUE),this._item.name=p(4381,null)}dispose(){this._messages.length=0,this._item.dispose()}setMessage(t){let e={message:t};return this._messages.unshift(e),this._update(),new Ie(()=>{let n=this._messages.indexOf(e);n>=0&&(this._messages.splice(n,1),this._update())})}_update(){this._messages.length>0?(this._item.text=this._messages[0].message,this._item.show()):this._item.hide()}},hE=class{constructor(t,e){this._entries=new Map;this._existingItems=new Map;this._proxy=t.getProxy(L.MainThreadStatusBar),this._commands=e,this._statusMessage=new dM(this)}$acceptStaticEntries(t){for(let e of t)this._existingItems.set(e.entryId,e)}async $provideTooltip(t,e){let n=this._entries.get(t);if(!n)return;let o=typeof n.tooltip2=="function"?await n.tooltip2(e):n.tooltip2;return e.isCancellationRequested?void 0:pe.fromStrict(o)}createStatusBarEntry(t,e,n,o){let r=new lM(this._proxy,this._commands,this._existingItems,t,e,n,o,()=>this._entries.delete(r.entryId));return this._entries.set(r.entryId,r),r}setStatusBarMessage(t,e){let n=this._statusMessage.setMessage(t),o;return typeof e=="number"?o=setTimeout(()=>n.dispose(),e):typeof e<"u"&&e.then(()=>n.dispose(),()=>n.dispose()),new Ie(()=>{n.dispose(),clearTimeout(o)})}};var vE=class extends V{constructor(e,n){super();this._extHostDocumentsAndEditors=n;this._onDidChangeTextEditorSelection=this._register(new w);this._onDidChangeTextEditorOptions=this._register(new w);this._onDidChangeTextEditorVisibleRanges=this._register(new w);this._onDidChangeTextEditorViewColumn=this._register(new w);this._onDidChangeTextEditorDiffInformation=this._register(new w);this._onDidChangeActiveTextEditor=this._register(new w);this._onDidChangeVisibleTextEditors=this._register(new w);this.onDidChangeTextEditorSelection=this._onDidChangeTextEditorSelection.event;this.onDidChangeTextEditorOptions=this._onDidChangeTextEditorOptions.event;this.onDidChangeTextEditorVisibleRanges=this._onDidChangeTextEditorVisibleRanges.event;this.onDidChangeTextEditorViewColumn=this._onDidChangeTextEditorViewColumn.event;this.onDidChangeTextEditorDiffInformation=this._onDidChangeTextEditorDiffInformation.event;this.onDidChangeActiveTextEditor=this._onDidChangeActiveTextEditor.event;this.onDidChangeVisibleTextEditors=this._onDidChangeVisibleTextEditors.event;this._proxy=e.getProxy(L.MainThreadTextEditors),this._register(this._extHostDocumentsAndEditors.onDidChangeVisibleTextEditors(o=>this._onDidChangeVisibleTextEditors.fire(o))),this._register(this._extHostDocumentsAndEditors.onDidChangeActiveTextEditor(o=>this._onDidChangeActiveTextEditor.fire(o)))}getActiveTextEditor(){return this._extHostDocumentsAndEditors.activeEditor()}getVisibleTextEditors(e){let n=this._extHostDocumentsAndEditors.allEditors();return e?n:n.map(o=>o.value)}async showTextDocument(e,n,o){let r;typeof n=="number"?r={position:At.from(n),preserveFocus:o}:typeof n=="object"?r={position:At.from(n.viewColumn),preserveFocus:n.preserveFocus,selection:typeof n.selection=="object"?W.from(n.selection):void 0,pinned:typeof n.preview=="boolean"?!n.preview:void 0}:r={preserveFocus:!1};let s=await this._proxy.$tryShowTextDocument(e.uri,r),a=s&&this._extHostDocumentsAndEditors.getEditor(s);if(a)return a.value;throw s?new Error(`Could NOT open editor for "${e.uri.toString()}" because another editor opened in the meantime.`):new Error(`Could NOT open editor for "${e.uri.toString()}".`)}createTextEditorDecorationType(e,n){return new zC(this._proxy,e,n).value}$acceptEditorPropertiesChanged(e,n){let o=this._extHostDocumentsAndEditors.getEditor(e);if(!o)throw new Error("unknown text editor");if(n.options&&o._acceptOptions(n.options),n.selections){let r=n.selections.selections.map(co.to);o._acceptSelections(r)}if(n.visibleRanges){let r=it(n.visibleRanges.map(W.to));o._acceptVisibleRanges(r)}if(n.options&&this._onDidChangeTextEditorOptions.fire({textEditor:o.value,options:{...n.options,lineNumbers:mc.to(n.options.lineNumbers)}}),n.selections){let r=rc.fromValue(n.selections.source),s=n.selections.selections.map(co.to);this._onDidChangeTextEditorSelection.fire({textEditor:o.value,selections:s,kind:r})}if(n.visibleRanges){let r=it(n.visibleRanges.map(W.to));this._onDidChangeTextEditorVisibleRanges.fire({textEditor:o.value,visibleRanges:r})}}$acceptEditorPositionData(e){for(let n in e){let o=this._extHostDocumentsAndEditors.getEditor(n);if(!o)throw new Error("Unknown text editor");let r=At.to(e[n]);o.value.viewColumn!==r&&(o._acceptViewColumn(r),this._onDidChangeTextEditorViewColumn.fire({textEditor:o.value,viewColumn:r}))}}$acceptEditorDiffInformation(e,n){let o=this._extHostDocumentsAndEditors.getEditor(e);if(!o)throw new Error("unknown text editor");if(!n){o._acceptDiffInformation(void 0),this._onDidChangeTextEditorDiffInformation.fire({textEditor:o.value,diffInformation:void 0});return}let r=this,s=n.map(a=>{let l=y.revive(a.original),d=y.revive(a.modified),c=a.changes.map(u=>{let[m,g,v,f]=u,x;return m===g?x=1:v===f?x=2:x=3,{original:{startLineNumber:m,endLineNumberExclusive:g},modified:{startLineNumber:v,endLineNumberExclusive:f},kind:x}});return Object.freeze({documentVersion:a.documentVersion,original:l,modified:d,changes:c,get isStale(){return r._extHostDocumentsAndEditors.getDocument(d)?.version!==a.documentVersion}})});o._acceptDiffInformation(s),this._onDidChangeTextEditorDiffInformation.fire({textEditor:o.value,diffInformation:s})}getDiffInformation(e){return Promise.resolve(this._proxy.$getDiffInformation(e))}};var vg=class{constructor(t){this._actual=new zd(2),this._onDidChangeActiveColorTheme=new w}get activeColorTheme(){return this._actual}$onColorThemeChange(t){let e;switch(t){case"light":e=1;break;case"hcDark":e=3;break;case"hcLight":e=4;break;default:e=2}this._actual=new zd(e),this._onDidChangeActiveColorTheme.fire(this._actual)}get onDidChangeActiveColorTheme(){return this._onDidChangeActiveColorTheme.event}};vg=R([S(0,ge)],vg);var lst=A("IExtHostTimeline"),bE=class{constructor(t,e){this._providers=new Map;this._itemsBySourceAndUriMap=new Map;this._proxy=t.getProxy(L.MainThreadTimeline),e.registerArgumentProcessor({processArgument:(n,o)=>{if(n&&n.$mid===12)if(this._providers.get(n.source)&&o&&De(o,"timeline")){let r=n.uri===void 0?void 0:y.revive(n.uri);return this._itemsBySourceAndUriMap.get(n.source)?.get(PH(r))?.get(n.handle)}else return;return n}})}async $getTimeline(t,e,n,o){return this._providers.get(t)?.provider.provideTimeline(y.revive(e),n,o)}registerTimelineProvider(t,e,n,o){let r=new J,s=this.convertTimelineItem(e.id,o,r).bind(this),a;e.onDidChange&&(a=e.onDidChange(d=>this._proxy.$emitTimelineChangeEvent({uri:void 0,reset:!0,...d,id:e.id}),this));let l=this._itemsBySourceAndUriMap;return this.registerTimelineProviderCore({...e,scheme:t,onDidChange:void 0,async provideTimeline(d,c,u){c?.resetCache&&(r.clear(),l.get(e.id)?.clear());let m=await e.provideTimeline(d,c,u);if(m==null)return;let g=s(d,c);return{...m,source:e.id,items:m.items.map(g)}},dispose(){for(let d of l.values())d.get(e.id)?.clear();a?.dispose(),r.dispose()}},n)}convertTimelineItem(t,e,n){return(o,r)=>{let s;if(r?.cacheResults){let a=this._itemsBySourceAndUriMap.get(t);a===void 0&&(a=new Map,this._itemsBySourceAndUriMap.set(t,a));let l=PH(o);s=a.get(l),s===void 0&&(s=new Map,a.set(l,s))}return a=>{let{iconPath:l,...d}=a,c=`${t}|${a.id??a.timestamp}`;s?.set(c,a);let u,m,g;a.iconPath&&(l instanceof an?g={id:l.id,color:l.color}:y.isUri(l)?(u=l,m=l):{light:u,dark:m}=l);let v;return Ht.isMarkdownString(d.tooltip)?v=pe.from(d.tooltip):Ae(d.tooltip)?v=d.tooltip:Ht.isMarkdownString(d.detail)?(console.warn("Using deprecated TimelineItem.detail, migrate to TimelineItem.tooltip"),v=pe.from(d.detail)):Ae(d.detail)&&(console.warn("Using deprecated TimelineItem.detail, migrate to TimelineItem.tooltip"),v=d.detail),{...d,id:d.id??void 0,handle:c,source:t,command:a.command?e.toInternal(a.command,n):void 0,icon:u,iconDark:m,themeIcon:g,tooltip:v,accessibilityInformation:a.accessibilityInformation}}}}registerTimelineProviderCore(t,e){if(this._providers.get(t.id))throw new Error(`Timeline Provider ${t.id} already exists.`);return this._proxy.$registerTimelineProvider({id:t.id,label:t.label,scheme:t.scheme}),this._providers.set(t.id,{provider:t,extension:e}),X(()=>{for(let o of this._itemsBySourceAndUriMap.values())o.get(t.id)?.clear();this._providers.delete(t.id),this._proxy.$unregisterTimelineProvider(t.id),t.dispose()})}};function PH(i){return i?.toString()}var xst=p(5986,null),Cst=Tc("default-view-icon",le.window,p(5983,null)),pM;(e=>(e.ViewContainersRegistry="workbench.registry.view.containers",e.ViewsRegistry="workbench.registry.view"))(pM||={});var cM=class extends V{constructor(){super(...arguments);this._onDidRegister=this._register(new w);this.onDidRegister=this._onDidRegister.event;this._onDidDeregister=this._register(new w);this.onDidDeregister=this._onDidDeregister.event;this.viewContainers=new Map;this.defaultViewContainers=[]}get all(){return[...this.viewContainers.values()].flat()}registerViewContainer(e,n,o){let r=this.get(e.id);if(r)return r;let s=e;return s.openCommandActionDescriptor=o?.doNotRegisterOpenCommand?void 0:s.openCommandActionDescriptor??{id:s.id},LE(this.viewContainers,n,[]).push(s),o?.isDefault&&this.defaultViewContainers.push(s),this._onDidRegister.fire({viewContainer:s,viewContainerLocation:n}),s}deregisterViewContainer(e){for(let n of this.viewContainers.keys()){let o=this.viewContainers.get(n),r=o?.indexOf(e);if(r!==-1){o?.splice(r,1),o.length===0&&this.viewContainers.delete(n),this._onDidDeregister.fire({viewContainer:e,viewContainerLocation:n});return}}}get(e){return this.all.filter(n=>n.id===e)[0]}getViewContainers(e){return[...this.viewContainers.get(e)||[]]}getViewContainerLocation(e){return[...this.viewContainers.keys()].filter(n=>this.getViewContainers(n).filter(o=>o?.id===e.id).length>0)[0]}getDefaultViewContainers(e){return this.defaultViewContainers.filter(n=>this.getViewContainerLocation(n)===e)}};Et.add(pM.ViewContainersRegistry,new cM);function Kz(i,t){let e=i.group??"9_more",n=t.group??"9_more";return e!==n?e.localeCompare(n):(i.order??5)-(t.order??5)}var uM=class extends V{constructor(){super(...arguments);this._onViewsRegistered=this._register(new w);this.onViewsRegistered=this._onViewsRegistered.event;this._onViewsDeregistered=this._register(new w);this.onViewsDeregistered=this._onViewsDeregistered.event;this._onDidChangeContainer=this._register(new w);this.onDidChangeContainer=this._onDidChangeContainer.event;this._onDidChangeViewWelcomeContent=this._register(new w);this.onDidChangeViewWelcomeContent=this._onDidChangeViewWelcomeContent.event;this._viewContainers=[];this._views=new Map;this._viewWelcomeContents=new $c}registerViews(e,n){this.registerViews2([{views:e,viewContainer:n}])}registerViews2(e){e.forEach(({views:n,viewContainer:o})=>this.addViews(n,o)),this._onViewsRegistered.fire(e)}deregisterViews(e,n){let o=this.removeViews(e,n);o.length&&this._onViewsDeregistered.fire({views:o,viewContainer:n})}moveViews(e,n){for(let o of this._views.keys())if(o!==n){let r=this.removeViews(e,o);r.length&&(this.addViews(r,n),this._onDidChangeContainer.fire({views:r,from:o,to:n}))}}getViews(e){return this._views.get(e)||[]}getView(e){for(let n of this._viewContainers){let o=(this._views.get(n)||[]).filter(r=>r.id===e)[0];if(o)return o}return null}getViewContainer(e){for(let n of this._viewContainers)if((this._views.get(n)||[]).filter(r=>r.id===e)[0])return n;return null}registerViewWelcomeContent(e,n){return this._viewWelcomeContents.add(e,n),this._onDidChangeViewWelcomeContent.fire(e),X(()=>{this._viewWelcomeContents.delete(e,n),this._onDidChangeViewWelcomeContent.fire(e)})}registerViewWelcomeContent2(e,n){let o=new Map;for(let[r,s]of n)this._viewWelcomeContents.add(e,s),o.set(r,X(()=>{this._viewWelcomeContents.delete(e,s),this._onDidChangeViewWelcomeContent.fire(e)}));return this._onDidChangeViewWelcomeContent.fire(e),o}getViewWelcomeContent(e){let n=[];return this._viewWelcomeContents.forEach(e,o=>n.push(o)),n.sort(Kz)}addViews(e,n){let o=this._views.get(n);o||(o=[],this._views.set(n,o),this._viewContainers.push(n));for(let r of e){if(this.getView(r.id)!==null)throw new Error(p(5984,null,r.id));o.push(r)}}removeViews(e,n){let o=this._views.get(n);if(!o)return[];let r=[],s=[];for(let a of o)e.includes(a)?r.push(a):s.push(a);return r.length&&(s.length?this._views.set(n,s):(this._views.delete(n),this._viewContainers.splice(this._viewContainers.indexOf(n),1))),r}};Et.add(pM.ViewsRegistry,new uM);var Sst=A("viewDescriptorService");var Vr=class extends Error{constructor(e){super(p(5985,null,e));this.name="NoTreeViewError"}static is(e){return!!e&&e.name==="NoTreeViewError"}};var yE=class{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(t){if(t&&this._dragOperations.has(t)){let e=this._dragOperations.get(t);return this._dragOperations.delete(t),e}}addDragOperationTransfer(t,e){this._dragOperations.set(t,e)}};function _H(i,t){if(Ae(i))return{label:i};if(i&&typeof i=="object"&&i.label){let e;if(Array.isArray(i.highlights)&&(e=i.highlights.filter((n=>n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number")),e=e.length?e:void 0),Ae(i.label))return{label:i.label,highlights:e};if(Ht.isMarkdownString(i.label))return D(t,"treeItemMarkdownLabel"),{label:pe.from(i.label),highlights:e}}}var IE=class extends V{constructor(e,n,o){super();this._proxy=e;this._commands=n;this._logService=o;this._treeViews=new Map;this._treeDragAndDropService=new yE;function r(s){return s&&s.$treeViewId&&(s.$treeItemHandle||s.$selectedTreeItems||s.$focusedTreeItem)}n.registerArgumentProcessor({processArgument:s=>r(s)?this._convertArgument(s):Array.isArray(s)&&s.length>0?s.map(a=>r(a)?this._convertArgument(a):a):s})}registerTreeDataProvider(e,n,o){let r=this.createTreeView(e,{treeDataProvider:n},o);return{dispose:()=>r.dispose()}}createTreeView(e,n,o){if(!n||!n.treeDataProvider)throw new Error("Options with treeDataProvider is mandatory");let r=n.dragAndDropController?.dropMimeTypes??[],s=n.dragAndDropController?.dragMimeTypes??[],a=!!n.dragAndDropController?.handleDrag,l=!!n.dragAndDropController?.handleDrop,d=this._createExtHostTreeView(e,n,o),c={showCollapseAll:!!n.showCollapseAll,canSelectMany:!!n.canSelectMany,dropMimeTypes:r,dragMimeTypes:s,hasHandleDrag:a,hasHandleDrop:l,manuallyManageCheckboxes:!!n.manageCheckboxStateManually},u=this._proxy.$registerTreeViewDataProvider(e,c),m={get onDidCollapseElement(){return d.onDidCollapseElement},get onDidExpandElement(){return d.onDidExpandElement},get selection(){return d.selectedElements},get onDidChangeSelection(){return d.onDidChangeSelection},get activeItem(){return D(o,"treeViewActiveItem"),d.focusedElement},get onDidChangeActiveItem(){return D(o,"treeViewActiveItem"),d.onDidChangeActiveItem},get visible(){return d.visible},get onDidChangeVisibility(){return d.onDidChangeVisibility},get onDidChangeCheckboxState(){return d.onDidChangeCheckboxState},get message(){return d.message},set message(g){bo(g)&&D(o,"treeViewMarkdownMessage"),d.message=g},get title(){return d.title},set title(g){d.title=g},get description(){return d.description},set description(g){d.description=g},get badge(){return d.badge},set badge(g){g!==void 0&&K_.isViewBadge(g)?d.badge={value:Math.floor(Math.abs(g.value)),tooltip:g.tooltip}:g===void 0&&(d.badge=void 0)},reveal:(g,v)=>d.reveal(g,v),dispose:async()=>{await u,this._treeViews.get(e)===d&&(this._treeViews.delete(e),this._proxy.$disposeTree(e)),d.dispose()}};return this._register(m),m}async $getChildren(e,n){let o=this._treeViews.get(e);if(!o)return Promise.reject(new Vr(e));if(!n){let s=await o.getChildren();return s?[[0,...s]]:void 0}let r=[];for(let s=0;s<n.length;s++){let a=n[s],l=await o.getChildren(a);l&&r.push([s,...l])}return r}async $handleDrop(e,n,o,r,s,a,l,d){let c=this._treeViews.get(e);if(!c)return Promise.reject(new Vr(e));let u=gc.toDataTransfer(o,async m=>(await this._proxy.$resolveDropFileData(e,n,m)).buffer);return l===e&&d&&await this._addAdditionalTransferItems(u,c,d,s,a),c.onDrop(u,r,s)}async _addAdditionalTransferItems(e,n,o,r,s){let a=this._treeDragAndDropService.removeDragOperationTransfer(s);if(a)(await a)?.forEach((l,d)=>{l&&e.set(d,l)});else if(s&&n.handleDrag){let l=n.handleDrag(o,e,r);this._treeDragAndDropService.addDragOperationTransfer(s,l),await l}return e}async $handleDrag(e,n,o,r){let s=this._treeViews.get(e);if(!s)return Promise.reject(new Vr(e));let a=await this._addAdditionalTransferItems(new Ar,s,n,r,o);if(!(!a||r.isCancellationRequested))return gc.from(a)}async $hasResolve(e){let n=this._treeViews.get(e);if(!n)throw new Vr(e);return n.hasResolve}$resolve(e,n,o){let r=this._treeViews.get(e);if(!r)throw new Vr(e);return r.resolveTreeItem(n,o)}$setExpanded(e,n,o){let r=this._treeViews.get(e);if(!r)throw new Vr(e);r.setExpanded(n,o)}$setSelectionAndFocus(e,n,o){let r=this._treeViews.get(e);if(!r)throw new Vr(e);r.setSelectionAndFocus(n,o)}$setVisible(e,n){let o=this._treeViews.get(e);if(!o){if(!n)return;throw new Vr(e)}o.setVisible(n)}$changeCheckboxState(e,n){let o=this._treeViews.get(e);if(!o)throw new Vr(e);o.setCheckboxState(n)}_createExtHostTreeView(e,n,o){let r=this._register(new mM(e,n,this._proxy,this._commands.converter,this._logService,o));return this._treeViews.set(e,r),r}_convertArgument(e){let n=this._treeViews.get(e.$treeViewId),o=e;return n&&o.$treeItemHandle?n.getExtensionElement(o.$treeItemHandle):n&&e.$focusedTreeItem?n.focusedElement:null}},mM=class i extends V{constructor(e,n,o,r,s,a){super();this._viewId=e;this._proxy=o;this._commands=r;this._logService=s;this._extension=a;this._roots=void 0;this._elements=new Map;this._nodes=new Map;this._childrenFetchTokens=new Map;this._globalFetchTokenCounter=0;this._visible=!1;this._selectedHandles=[];this._focusedHandle=void 0;this._onDidExpandElement=this._register(new w);this.onDidExpandElement=this._onDidExpandElement.event;this._onDidCollapseElement=this._register(new w);this.onDidCollapseElement=this._onDidCollapseElement.event;this._onDidChangeSelection=this._register(new w);this.onDidChangeSelection=this._onDidChangeSelection.event;this._onDidChangeActiveItem=this._register(new w);this.onDidChangeActiveItem=this._onDidChangeActiveItem.event;this._onDidChangeVisibility=this._register(new w);this.onDidChangeVisibility=this._onDidChangeVisibility.event;this._onDidChangeCheckboxState=this._register(new w);this.onDidChangeCheckboxState=this._onDidChangeCheckboxState.event;this._onDidChangeData=this._register(new w);this._refreshPromise=Promise.resolve();this._refreshQueue=Promise.resolve();this._nodesToClear=new Set;this._message="";this._title="";this._refreshCancellationSource=new Me;if(a.contributes&&a.contributes.views)for(let u in a.contributes.views)for(let m of a.contributes.views[u])m.id===e&&(this._title=m.name);this._dataProvider=n.treeDataProvider,this._dndController=n.dragAndDropController,this._dataProvider.onDidChangeTreeData&&this._register(this._dataProvider.onDidChangeTreeData(u=>{Array.isArray(u)&&u.length===0||this._onDidChangeData.fire({message:!1,element:u})}));let l,d,c=Le.debounce(this._onDidChangeData.event,(u,m)=>(u||(u={message:!1,elements:[]}),m.element!==!1&&(l||(l=new Promise(g=>d=g),this._refreshPromise=this._refreshPromise.then(()=>l)),Array.isArray(m.element)?u.elements.push(...m.element):u.elements.push(m.element)),m.message&&(u.message=!0),u),200,!0);this._register(c(({message:u,elements:m})=>{m.length&&(m=Ir(m),this._refreshQueue=this._refreshQueue.then(()=>{let g=d;l=null;let v=Array.from(this._nodesToClear);return this._nodesToClear.clear(),this._debugLogRefresh("start",m,v),this._refresh(m).then(()=>(this._debugLogRefresh("done",m,v),this._clearNodes(v),g())).catch(f=>{let x=f instanceof Error?f.message:JSON.stringify(f);return this._debugLogRefresh("error",m,v),this._clearNodes(v),this._logService.error(`Unable to refresh tree view ${this._viewId}: ${x}`),g()})})),u&&this._proxy.$setMessage(this._viewId,pe.fromStrict(this._message)??"")}))}static{this.LABEL_HANDLE_PREFIX="0"}static{this.ID_HANDLE_PREFIX="1"}static{this.ROOT_FETCH_KEY=Symbol("extHostTreeViewRoot")}get visible(){return this._visible}get selectedElements(){return this._selectedHandles.map(e=>this.getExtensionElement(e)).filter(e=>!Mt(e))}get focusedElement(){return this._focusedHandle?this.getExtensionElement(this._focusedHandle):void 0}_debugCollectHandles(e){let n=[];for(let r of e){if(!r){n.push("<root>");continue}let s=this._nodes.get(r);s&&n.push(s.item.handle)}let o=this._roots?.map(r=>r.item.handle)??[];return{changed:n,roots:o}}_debugLogRefresh(e,n,o){if(this._isDebugLogging())try{let r=this._debugCollectHandles(n);r.clearing=o.map(l=>l.item.handle);let s=r.changed.length,a=o.length;this._logService.debug(`[TreeView:${this._viewId}] refresh ${e} changed=${s} nodesToClear=${a} elements.size=${this._elements.size} nodes.size=${this._nodes.size} handles=${JSON.stringify(r)}`)}catch{this._logService.debug(`[TreeView:${this._viewId}] refresh ${e} (snapshot failed)`)}}_isDebugLogging(){try{let e=this._logService.getLevel();return e===2||e===1}catch{return!1}}async getChildren(e){let n=e?this.getExtensionElement(e):void 0;if(e&&!n)return this._logService.error(`No tree item with id '${e}' found.`),Promise.resolve([]);let o=this._getChildrenNodes(e);return o||(o=await this._fetchChildrenNodes(n)),o?o.map(r=>r.item):void 0}getExtensionElement(e){return this._elements.get(e)}reveal(e,n){n=n||{select:!0,focus:!1};let o=Mt(n.select)?!0:n.select,r=Mt(n.focus)?!1:n.focus,s=Mt(n.expand)?!1:n.expand;return typeof this._dataProvider.getParent!="function"?Promise.reject(new Error("Required registered TreeDataProvider to implement 'getParent' method to access 'reveal' method")):e?this._refreshPromise.then(()=>this._resolveUnknownParentChain(e)).then(a=>this._resolveTreeNode(e,a[a.length-1]).then(l=>this._proxy.$reveal(this._viewId,{item:l.item,parentChain:a.map(d=>d.item)},{select:o,focus:r,expand:s})),a=>this._logService.error(a)):this._proxy.$reveal(this._viewId,void 0,{select:o,focus:r,expand:s})}get message(){return this._message}set message(e){this._message=e,this._onDidChangeData.fire({message:!0,element:!1})}get title(){return this._title}set title(e){this._title=e,this._proxy.$setTitle(this._viewId,e,this._description)}get description(){return this._description}set description(e){this._description=e,this._proxy.$setTitle(this._viewId,this._title,e)}get badge(){return this._badge}set badge(e){this._badge?.value===e?.value&&this._badge?.tooltip===e?.tooltip||(this._badge=bh.from(e),this._proxy.$setBadge(this._viewId,e))}setExpanded(e,n){let o=this.getExtensionElement(e);o&&(n?this._onDidExpandElement.fire(Object.freeze({element:o})):this._onDidCollapseElement.fire(Object.freeze({element:o})))}setSelectionAndFocus(e,n){let o=!Qt(this._selectedHandles,e);this._selectedHandles=e;let r=this._focusedHandle!==n;this._focusedHandle=n,o&&this._onDidChangeSelection.fire(Object.freeze({selection:this.selectedElements})),r&&this._onDidChangeActiveItem.fire(Object.freeze({activeItem:this.focusedElement}))}setVisible(e){e!==this._visible&&(this._visible=e,this._onDidChangeVisibility.fire(Object.freeze({visible:this._visible})))}async setCheckboxState(e){let n=(await Promise.all(e.map(async o=>{let r=this.getExtensionElement(o.treeItemHandle);return r?{extensionItem:r,treeItem:await this._dataProvider.getTreeItem(r),newState:o.newState?1:0}:Promise.resolve(void 0)}))).filter(o=>o!==void 0);n.forEach(o=>{o.treeItem.checkboxState=o.newState?1:0}),this._onDidChangeCheckboxState.fire({items:n.map(o=>[o.extensionItem,o.newState])})}async handleDrag(e,n,o){let r=[];for(let s of e){let a=this.getExtensionElement(s);a&&r.push(a)}if(!(!this._dndController?.handleDrag||r.length===0))return await this._dndController.handleDrag(r,n,o),n}get hasHandleDrag(){return!!this._dndController?.handleDrag}async onDrop(e,n,o){let r=n?this.getExtensionElement(n):void 0;if(!(!r&&n||!this._dndController?.handleDrop))return tn(()=>this._dndController?.handleDrop?this._dndController.handleDrop(r,e,o):void 0)}get hasResolve(){return!!this._dataProvider.resolveTreeItem}async resolveTreeItem(e,n){if(!this._dataProvider.resolveTreeItem)return;let o=this._elements.get(e);if(o){let r=this._nodes.get(o);if(r){let s=await this._dataProvider.resolveTreeItem(r.extensionItem,o,n)??r.extensionItem;return this._validateTreeItem(s),r.item.tooltip=this._getTooltip(s.tooltip),r.item.command=this._getCommand(r.disposableStore,s.command),r.item}}}_resolveUnknownParentChain(e){return this._resolveParent(e).then(n=>n?this._resolveUnknownParentChain(n).then(o=>this._resolveTreeNode(n,o[o.length-1]).then(r=>(o.push(r),o))):Promise.resolve([]))}_resolveParent(e){let n=this._nodes.get(e);return n?Promise.resolve(n.parent?this._elements.get(n.parent.item.handle):void 0):tn(()=>this._dataProvider.getParent(e))}async _resolveTreeNode(e,n){let o=this._nodes.get(e);if(o)return o;let r=await tn(()=>this._dataProvider.getTreeItem(e)),s=this._createHandle(e,r,n,!0);await this.getChildren(n?n.item.handle:void 0);let a=this.getExtensionElement(s);if(a){let l=this._nodes.get(a);if(l)return l}throw this._logService.error(`[TreeView:${this._viewId}] Failed to resolve tree node for element ${s}`),this._proxy.$logResolveTreeNodeFailure(this._extension.identifier.value),new Error(`Cannot resolve tree item for element ${s} from extension ${this._extension.identifier.value}`)}_getChildrenNodes(e){if(e){let n;if(typeof e=="string"){let o=this.getExtensionElement(e);n=o?this._nodes.get(o):void 0}else n=e;return n&&n.children||void 0}return this._roots}_getFetchKey(e){return e??i.ROOT_FETCH_KEY}async _fetchChildrenNodes(e){this._addChildrenToClear(e);let n=this._getFetchKey(e),o=++this._globalFetchTokenCounter;this._childrenFetchTokens.set(n,o);let r=new Me(this._refreshCancellationSource.token);try{let s=await this._dataProvider.getChildren(e);if(this._childrenFetchTokens.get(n)!==o)return;let a=e?this._nodes.get(e):void 0;if(r.token.isCancellationRequested)return;let l=it(s||[]),d=await Promise.all(it(l).map(u=>this._dataProvider.getTreeItem(u)));if(this._childrenFetchTokens.get(n)!==o||r.token.isCancellationRequested)return;let c=d.map((u,m)=>u?this._createAndRegisterTreeNode(l[m],u,a):null);return this._childrenFetchTokens.get(n)!==o?void 0:it(c)}finally{r.dispose()}}_refresh(e){if(e.some(o=>!o))return this._refreshCancellationSource.dispose(!0),this._refreshCancellationSource=new Me,this._addChildrenToClear(),this._proxy.$refresh(this._viewId);{let o=this._getHandlesToRefresh(e);if(o.length)return this._refreshHandles(o)}return Promise.resolve(void 0)}_getHandlesToRefresh(e){let n=new Set,o=e.map(s=>this._nodes.get(s));for(let s of o)if(s&&!n.has(s.item.handle)){let a=s;for(;a&&a.parent&&o.findIndex(l=>a&&a.parent&&l&&l.item.handle===a.parent.item.handle)===-1;){let l=this._elements.get(a.parent.item.handle);a=l?this._nodes.get(l):void 0}a&&!a.parent&&n.add(s.item.handle)}let r=[];return n.forEach(s=>{let a=this._elements.get(s);if(a){let l=this._nodes.get(a);l&&(!l.parent||!n.has(l.parent.item.handle))&&r.push(s)}}),r}_refreshHandles(e){let n={};return Promise.all(e.map(o=>this._refreshNode(o).then(r=>{r&&(n[o]=r.item)}))).then(()=>Object.keys(n).length?this._proxy.$refresh(this._viewId,n):void 0)}_refreshNode(e){let n=this.getExtensionElement(e);if(n){let o=this._nodes.get(n);if(o)return this._addChildrenToClear(n),tn(()=>this._dataProvider.getTreeItem(n)).then(r=>{if(r){let s=this._createTreeNode(n,r,o.parent);return this._updateNodeCache(n,s,o,o.parent),o.dispose(),s}return null})}return Promise.resolve(null)}_createAndRegisterTreeNode(e,n,o){let r=n.id?`${i.ID_HANDLE_PREFIX}/${n.id}`:void 0;if(r){let a=this._elements.get(r);if(a){let l=this._nodes.get(a);if(a!==e&&this._nodes.delete(a),l){let d=this._createTreeNode(e,n,o);return this._updateNodeCache(e,d,l,o),l.dispose(),d}}}let s=this._createTreeNode(e,n,o);return this._addNodeToCache(e,s),this._addNodeToParentCache(s,o),s}_getTooltip(e){return Ht.isMarkdownString(e)?pe.from(e):e}_getCommand(e,n){return n?{...this._commands.toInternal(n,e),originalId:n.command}:void 0}_getCheckbox(e){if(e.checkboxState===void 0)return;let n,o,r;return typeof e.checkboxState=="number"?n=e.checkboxState:(n=e.checkboxState.state,o=e.checkboxState.tooltip,r=e.checkboxState.accessibilityInformation),{isChecked:n===1,tooltip:o,accessibilityInformation:r}}_validateTreeItem(e){if(!zi.isTreeItem(e,this._extension))throw new Error(`Extension ${this._extension.identifier.value} has provided an invalid tree item.`)}_createTreeNode(e,n,o){this._validateTreeItem(n);let r=this._register(new J),s=this._createHandle(e,n,o),a=this._getLightIconPath(n);return{item:{handle:s,parentHandle:o?o.item.handle:void 0,label:_H(n.label,this._extension),description:n.description,resourceUri:n.resourceUri,tooltip:this._getTooltip(n.tooltip),command:this._getCommand(r,n.command),contextValue:n.contextValue,icon:a,iconDark:this._getDarkIconPath(n)||a,themeIcon:this._getThemeIcon(n),collapsibleState:Mt(n.collapsibleState)?0:n.collapsibleState,accessibilityInformation:n.accessibilityInformation,checkbox:this._getCheckbox(n)},extensionItem:n,parent:o,children:void 0,disposableStore:r,dispose(){r.dispose()}}}_getThemeIcon(e){return e.iconPath instanceof an?e.iconPath:void 0}_createHandle(e,{id:n,label:o,resourceUri:r},s,a){if(n)return`${i.ID_HANDLE_PREFIX}/${n}`;let l=_H(o,this._extension),d=s?s.item.handle:i.LABEL_HANDLE_PREFIX,c="";l&&(bo(l.label)?c=l.label.value:c=l.label);let u=c||(r?tt(r):"");u=u.indexOf("/")!==-1?u.replace("/","//"):u;let m=this._nodes.has(e)?this._nodes.get(e).item.handle:void 0,g=this._getChildrenNodes(s)||[],v,f=0;do{if(v=`${d}/${f}:${u}`,a||!this._elements.has(v)||m===v)break;f++}while(f<=g.length);return v}_getLightIconPath(e){if(e.iconPath&&!(e.iconPath instanceof an))return typeof e.iconPath=="string"||y.isUri(e.iconPath)?this._getIconPath(e.iconPath):this._getIconPath(e.iconPath.light)}_getDarkIconPath(e){if(e.iconPath&&!(e.iconPath instanceof an)&&e.iconPath.dark)return this._getIconPath(e.iconPath.dark)}_getIconPath(e){return y.isUri(e)?e:y.file(e)}_addNodeToCache(e,n){this._elements.set(n.item.handle,e),this._nodes.set(e,n)}_updateNodeCache(e,n,o,r){this._elements.delete(n.item.handle),this._nodes.delete(e),n.item.handle!==o.item.handle&&this._elements.delete(o.item.handle),this._addNodeToCache(e,n);let s=this._getChildrenNodes(r)||[],a=s.filter(l=>l.item.handle===o.item.handle)[0];a&&s.splice(s.indexOf(a),1,n)}_addNodeToParentCache(e,n){n?(n.children||(n.children=[]),n.children.push(e)):(this._roots||(this._roots=[]),this._roots.push(e))}_addChildrenToClear(e){if(e){let n=this._nodes.get(e);if(n){if(n.children)for(let o of n.children){this._nodesToClear.add(o);let r=this._elements.get(o.item.handle);r&&(this._addChildrenToClear(r),this._nodes.delete(r),this._elements.delete(o.item.handle))}n.children=void 0}}else this._addAllToClear()}_addAllToClear(){this._roots=void 0,this._nodes.forEach(e=>{this._nodesToClear.add(e)}),this._nodes.clear(),this._elements.clear(),this._childrenFetchTokens.clear()}_clearNodes(e){Fn(e)}_clearAll(){this._roots=void 0,this._elements.clear(),Fn(this._nodes.values()),this._nodes.clear(),Fn(this._nodesToClear),this._nodesToClear.clear(),this._childrenFetchTokens.clear()}dispose(){super.dispose(),this._refreshCancellationSource.dispose(),this._clearAll()}};var xE=class i{constructor(t){this._openers=new Map;this._proxy=t.getProxy(L.MainThreadUriOpeners)}static{this.supportedSchemes=new Set([K.http,K.https])}registerExternalUriOpener(t,e,n,o){if(this._openers.has(e))throw new Error(`Opener with id '${e}' already registered`);let r=o.schemes.find(s=>!i.supportedSchemes.has(s));if(r)throw new Error(`Scheme '${r}' is not supported. Only http and https are currently supported.`);return this._openers.set(e,n),this._proxy.$registerUriOpener(e,o.schemes,t,o.label),X(()=>{this._openers.delete(e),this._proxy.$unregisterUriOpener(e)})}async $canOpenUri(t,e,n){let o=this._openers.get(t);if(!o)throw new Error(`Unknown opener with id: ${t}`);let r=y.revive(e);return o.canOpenExternalUri(r,n)}async $openUri(t,e,n){let o=this._openers.get(t);if(!o)throw new Error(`Unknown opener id: '${t}'`);return o.openExternalUri(y.revive(e.resolvedUri),{sourceUri:y.revive(e.sourceUri)},n)}};var gM=class extends V{constructor(e,n,o,r){super();this.#a=void 0;this.#d=!0;this.#i=!1;this.#u=this._register(new w);this.onDidDispose=this.#u.event;this.#p=this._register(new w);this.onDidChangeViewState=this.#p.event;this.#e=e,this.#t=n,this.#o=o,this.#n=r.viewType,this.#s=r.panelOptions,this.#a=r.viewColumn,this.#r=r.title,this.#c=r.active}#e;#t;#n;#o;#s;#r;#l;#a;#d;#c;#i;#u;#p;dispose(){this.#i||(this.#i=!0,this.#u.fire(),this.#t.$disposeWebview(this.#e),this.#o.dispose(),super.dispose())}get webview(){return this.assertNotDisposed(),this.#o}get viewType(){return this.assertNotDisposed(),this.#n}get title(){return this.assertNotDisposed(),this.#r}set title(e){this.assertNotDisposed(),this.#r!==e&&(this.#r=e,this.#t.$setTitle(this.#e,e))}get iconPath(){return this.assertNotDisposed(),this.#l}set iconPath(e){this.assertNotDisposed(),this.#l!==e&&(this.#l=e,y.isUri(e)?this.#t.$setIconPath(this.#e,{light:e,dark:e}):this.#t.$setIconPath(this.#e,e))}get options(){return this.#s}get viewColumn(){if(this.assertNotDisposed(),!(typeof this.#a=="number"&&this.#a<0))return this.#a}get active(){return this.assertNotDisposed(),this.#c}get visible(){return this.assertNotDisposed(),this.#d}_updateViewState(e){this.#i||(this.active!==e.active||this.visible!==e.visible||this.viewColumn!==e.viewColumn)&&(this.#c=e.active,this.#d=e.visible,this.#a=e.viewColumn,this.#p.fire({webviewPanel:this}))}reveal(e,n){this.assertNotDisposed(),this.#t.$reveal(this.#e,{viewColumn:typeof e>"u"?void 0:At.from(e),preserveFocus:!!n})}assertNotDisposed(){if(this.#i)throw new Error("Webview is disposed")}},CE=class i extends V{constructor(e,n,o){super();this.webviews=n;this.workspace=o;this._webviewPanels=new Map;this._serializers=new Map;this._proxy=e.getProxy(L.MainThreadWebviewPanels)}static newHandle(){return We()}dispose(){super.dispose(),this._webviewPanels.forEach(e=>e.dispose()),this._webviewPanels.clear()}createWebviewPanel(e,n,o,r,s={}){let a=typeof r=="object"?r.viewColumn:r,l={viewColumn:At.from(a),preserveFocus:typeof r=="object"&&!!r.preserveFocus},d=ca(e),c=i.newHandle();this._proxy.$createWebviewPanel(_c(e),c,n,{title:o,panelOptions:Gz(s),webviewOptions:iA(e,this.workspace,s),serializeBuffersForPostMessage:d},l);let u=this.webviews.createNewWebview(c,s,e);return this.createNewWebviewPanel(c,n,o,a,s,u,!0)}$onDidChangeWebviewPanelViewStates(e){let n=Object.keys(e);n.sort((o,r)=>{let s=e[o],a=e[r];return s.active?1:a.active?-1:+s.visible-+a.visible});for(let o of n){let r=this.getWebviewPanel(o);if(!r)continue;let s=e[o];r._updateViewState({active:s.active,visible:s.visible,viewColumn:At.to(s.position)})}}async $onDidDisposeWebviewPanel(e){this.getWebviewPanel(e)?.dispose(),this._webviewPanels.delete(e),this.webviews.deleteWebview(e)}registerWebviewPanelSerializer(e,n,o){if(this._serializers.has(n))throw new Error(`Serializer for '${n}' already registered`);return this._serializers.set(n,{serializer:o,extension:e}),this._proxy.$registerSerializer(n,{serializeBuffersForPostMessage:ca(e)}),new Ie(()=>{this._serializers.delete(n),this._proxy.$unregisterSerializer(n)})}async $deserializeWebviewPanel(e,n,o,r){let s=this._serializers.get(n);if(!s)throw new Error(`No serializer found for '${n}'`);let{serializer:a,extension:l}=s,d=this.webviews.createNewWebview(e,o.webviewOptions,l),c=this.createNewWebviewPanel(e,n,o.title,r,o.panelOptions,d,o.active);await a.deserializeWebviewPanel(c,o.state)}createNewWebviewPanel(e,n,o,r,s,a,l){let d=new gM(e,this._proxy,a,{viewType:n,title:o,viewColumn:r,panelOptions:s,active:l});return this._webviewPanels.set(e,d),d}getWebviewPanel(e){return this._webviewPanels.get(e)}};function Gz(i){return{enableFindWidget:i.enableFindWidget,retainContextWhenHidden:i.retainContextWhenHidden}}var fM=class extends V{constructor(e,n,o,r,s,a){super();this.#s=!1;this.#c=this._register(new w);this.onDidChangeVisibility=this.#c.event;this.#i=this._register(new w);this.onDidDispose=this.#i.event;this.#n=o,this.#l=r,this.#e=e,this.#t=n,this.#o=s,this.#r=a}#e;#t;#n;#o;#s;#r;#l;#a;#d;dispose(){this.#s||(this.#s=!0,this.#i.fire(),this.#o.dispose(),super.dispose())}#c;#i;get title(){return this.assertNotDisposed(),this.#l}set title(e){this.assertNotDisposed(),this.#l!==e&&(this.#l=e,this.#t.$setWebviewViewTitle(this.#e,e))}get description(){return this.assertNotDisposed(),this.#a}set description(e){this.assertNotDisposed(),this.#a!==e&&(this.#a=e,this.#t.$setWebviewViewDescription(this.#e,e))}get visible(){return this.#r}get webview(){return this.#o}get viewType(){return this.#n}_setVisible(e){e===this.#r||this.#s||(this.#r=e,this.#c.fire())}get badge(){return this.assertNotDisposed(),this.#d}set badge(e){this.assertNotDisposed(),!(e?.value===this.#d?.value&&e?.tooltip===this.#d?.tooltip)&&(this.#d=bh.from(e),this.#t.$setWebviewViewBadge(this.#e,e))}show(e){this.assertNotDisposed(),this.#t.$show(this.#e,!!e)}assertNotDisposed(){if(this.#s)throw new Error("Webview is disposed")}},SE=class{constructor(t,e){this._extHostWebview=e;this._viewProviders=new Map;this._webviewViews=new Map;this._proxy=t.getProxy(L.MainThreadWebviewViews)}registerWebviewViewProvider(t,e,n,o){if(this._viewProviders.has(e))throw new Error(`View provider for '${e}' already registered`);return this._viewProviders.set(e,{provider:n,extension:t}),this._proxy.$registerWebviewViewProvider(_c(t),e,{retainContextWhenHidden:o?.retainContextWhenHidden,serializeBuffersForPostMessage:ca(t)}),new Ie(()=>{this._viewProviders.delete(e),this._proxy.$unregisterWebviewViewProvider(e)})}async $resolveWebviewView(t,e,n,o,r){let s=this._viewProviders.get(e);if(!s)throw new Error(`No view provider found for '${e}'`);let{provider:a,extension:l}=s,d=this._extHostWebview.createNewWebview(t,{},l),c=new fM(t,this._proxy,e,n,d,!0);this._webviewViews.set(t,c),await a.resolveWebviewView(c,{state:o},r)}async $onDidChangeWebviewViewVisibility(t,e){this.getWebviewView(t)._setVisible(e)}async $disposeWebviewView(t){let e=this.getWebviewView(t);this._webviewViews.delete(t),e.dispose(),this._extHostWebview.deleteWebview(t)}getWebviewView(t){let e=this._webviewViews.get(t);if(!e)throw new Error("No webview found");return e}};var bg=class extends V{constructor(e,n){super();this._commands=n;this._handlePool=0;this._providers=new Map;this._itemPool=0;this._globalItems=new Map;this._providerItems=new Map;this._proxy=e.getProxy(L.MainThreadChatContext)}async $provideWorkspaceChatContext(e,n){this._clearProviderItems(e);let o=this._providers.get(e);if(!o||o.type!=="workspace")throw new Error("Workspace context provider not found");let r=o.provider,s=await r.provideWorkspaceChatContext?.(n)??await r.provideChatContext?.(n)??[];return this._convertItems(e,s)}async $provideExplicitChatContext(e,n){this._clearProviderItems(e);let o=this._providers.get(e);if(!o||o.type!=="explicit")throw new Error("Explicit context provider not found");let r=o.provider,s=await r.provideExplicitChatContext?.(n)??await r.provideChatContext?.(n)??[];return this._convertItems(e,s)}async $resolveExplicitChatContext(e,n,o){let r=this._providers.get(e);if(!r||r.type!=="explicit")throw new Error("Explicit context provider not found");let s=r.provider,a=this._globalItems.get(n.handle);if(!a)throw new Error("Chat context item not found");return this._doResolve((s.resolveExplicitChatContext??s.resolveChatContext)?.bind(s),n,a,o)}async $provideResourceChatContext(e,n,o){let r=this._providers.get(e);if(!r||r.type!=="resource")throw new Error("Resource context provider not found");let s=r.provider,a=await s.provideResourceChatContext?.({resource:y.revive(n.resource)},o)??await s.provideChatContext?.({resource:y.revive(n.resource)},o);if(!a)return;if(a.label===void 0&&a.resourceUri===void 0)throw new Error("ChatContextItem must have either a label or a resourceUri");let d={handle:this._addTrackedItem(e,a),icon:a.icon,label:a.label,resourceUri:a.resourceUri,modelDescription:a.modelDescription,tooltip:a.tooltip?pe.from(a.tooltip):void 0,value:n.withValue?a.value:void 0,command:a.command?{id:a.command.command}:void 0};if(n.withValue&&!d.value){let c=await(s.resolveResourceChatContext??s.resolveChatContext)?.bind(s)(a,o);d.value=c?.value,d.tooltip=c?.tooltip?pe.from(c.tooltip):d.tooltip}return d}async $resolveResourceChatContext(e,n,o){let r=this._providers.get(e);if(!r||r.type!=="resource")throw new Error("Resource context provider not found");let s=r.provider,a=this._globalItems.get(n.handle);if(!a)throw new Error("Chat context item not found");return this._doResolve((s.resolveResourceChatContext??s.resolveChatContext)?.bind(s),n,a,o)}async $executeChatContextItemCommand(e){let n=this._globalItems.get(e);if(!n)throw new Error("Chat context item not found");if(!n.command)throw new Error("Chat context item has no command");let o=n.command.arguments?[n,...n.command.arguments]:[n];await this._commands.executeCommand(n.command.command,...o)}registerChatWorkspaceContextProvider(e,n){let o=this._handlePool++,r=new J;return this._providers.set(o,{type:"workspace",provider:n,disposables:r}),this._listenForWorkspaceContextChanges(o,n,r),this._proxy.$registerChatWorkspaceContextProvider(o,e),{dispose:()=>{this._providers.delete(o),this._clearProviderItems(o),this._providerItems.delete(o),this._proxy.$unregisterChatContextProvider(o),r.dispose()}}}registerChatExplicitContextProvider(e,n){let o=this._handlePool++,r=new J;return this._providers.set(o,{type:"explicit",provider:n,disposables:r}),this._proxy.$registerChatExplicitContextProvider(o,e),{dispose:()=>{this._providers.delete(o),this._clearProviderItems(o),this._providerItems.delete(o),this._proxy.$unregisterChatContextProvider(o),r.dispose()}}}registerChatResourceContextProvider(e,n,o){let r=this._handlePool++,s=new J;return this._providers.set(r,{type:"resource",provider:o,disposables:s}),this._proxy.$registerChatResourceContextProvider(r,n,li.from(e)),{dispose:()=>{this._providers.delete(r),this._clearProviderItems(r),this._providerItems.delete(r),this._proxy.$unregisterChatContextProvider(r),s.dispose()}}}registerChatContextProvider(e,n,o){let r=[];if(o.provideWorkspaceChatContext){let s={onDidChangeWorkspaceChatContext:o.onDidChangeWorkspaceChatContext,provideWorkspaceChatContext:a=>o.provideWorkspaceChatContext(a)};r.push(this.registerChatWorkspaceContextProvider(n,s))}if(o.provideChatContextExplicit){let s={provideExplicitChatContext:a=>o.provideChatContextExplicit(a),resolveExplicitChatContext:o.resolveChatContext?(a,l)=>o.resolveChatContext(a,l):a=>a};r.push(this.registerChatExplicitContextProvider(n,s))}if(o.provideChatContextForResource&&e){let s={provideResourceChatContext:(a,l)=>o.provideChatContextForResource(a,l),resolveResourceChatContext:o.resolveChatContext?(a,l)=>o.resolveChatContext(a,l):a=>a};r.push(this.registerChatResourceContextProvider(e,n,s))}return{dispose:()=>{for(let s of r)s.dispose()}}}_clearProviderItems(e){let n=this._providerItems.get(e);if(n){for(let o of n)this._globalItems.delete(o);n.clear()}}_addTrackedItem(e,n){let o=this._itemPool++;return this._globalItems.set(o,n),this._providerItems.has(e)||this._providerItems.set(e,new Set),this._providerItems.get(e).add(o),o}_convertItems(e,n){let o=[];for(let r of n){if(r.label===void 0&&r.resourceUri===void 0)throw new Error("ChatContextItem must have either a label or a resourceUri");let s=this._addTrackedItem(e,r);o.push({handle:s,icon:r.icon,label:r.label,resourceUri:r.resourceUri,modelDescription:r.modelDescription,tooltip:r.tooltip?pe.from(r.tooltip):void 0,value:r.value,command:r.command?{id:r.command.command}:void 0})}return o}async _doResolve(e,n,o,r){let s=await e(o,r);return s?{handle:n.handle,icon:s.icon,label:s.label,resourceUri:s.resourceUri,modelDescription:s.modelDescription,tooltip:s.tooltip?pe.from(s.tooltip):void 0,value:s.value,command:s.command?{id:s.command.command}:void 0}:n}_listenForWorkspaceContextChanges(e,n,o){if(!n.onDidChangeWorkspaceChatContext)return;let r=async()=>{let s=await n.provideWorkspaceChatContext?.(ye.None)??await n.provideChatContext?.(ye.None),a=this._convertItems(e,s??[]);return this._proxy.$updateWorkspaceContextItems(e,a)};o.add(n.onDidChangeWorkspaceChatContext(async()=>r())),r()}dispose(){super.dispose();for(let{disposables:e}of this._providers.values())e.dispose()}};bg=R([S(0,ge),S(1,Xo)],bg);var yg=class extends V{constructor(e){super();this._nextHandle=0;this._activeProgress=new Map;this._onDidAddCoreEvent=this._register(new w({onWillAddFirstListener:()=>this._proxy.$subscribeToCoreDebugEvents(),onDidRemoveLastListener:()=>this._proxy.$unsubscribeFromCoreDebugEvents()}));this.onDidAddCoreEvent=this._onDidAddCoreEvent.event;this._proxy=e.getProxy(L.MainThreadChatDebug)}_progressKey(e,n){return`${e}:${y.revive(n).toString()}`}_cleanupProgress(e){let n=this._activeProgress.get(e);n&&(n.dispose(),this._activeProgress.delete(e))}registerChatDebugLogProvider(e){if(this._provider)throw new Error("A ChatDebugLogProvider is already registered.");this._provider=e;let n=this._nextHandle++;return this._proxy.$registerChatDebugLogProvider(n),X(()=>{this._provider=void 0;for(let[o,r]of this._activeProgress)o.startsWith(`${n}:`)&&(r.dispose(),this._activeProgress.delete(o));this._proxy.$unregisterChatDebugLogProvider(n)})}async $provideChatDebugLog(e,n,o){if(!this._provider)return;let r=this._progressKey(e,n);this._cleanupProgress(r);let s=new J;this._activeProgress.set(r,s);let a=s.add(new w);s.add(a.event(l=>{let d=this._serializeEvent(l);d.sessionResource||(d.sessionResource=n),this._proxy.$acceptChatDebugEvent(e,d)})),s.add(o.onCancellationRequested(()=>{this._cleanupProgress(r)}));try{let l={report:u=>a.fire(u)},d=y.revive(n),c=await this._provider.provideChatDebugLog(d,l,o);return c?c.map(u=>this._serializeEvent(u)):void 0}catch(l){throw this._cleanupProgress(r),l}}_serializeEvent(e){let n={id:e.id,sessionResource:e.sessionResource,created:e.created.getTime(),parentEventId:e.parentEventId};switch(e._kind){case"toolCall":{let r=e;return{...n,kind:"toolCall",toolName:r.toolName,toolCallId:r.toolCallId,input:r.input,output:r.output,result:r.result===0?"success":r.result===1?"error":void 0,durationInMillis:r.durationInMillis}}case"modelTurn":{let r=e;return{...n,kind:"modelTurn",model:r.model,requestName:r.requestName,inputTokens:r.inputTokens,outputTokens:r.outputTokens,cachedTokens:r.cachedTokens,totalTokens:r.totalTokens,copilotUsageNanoAiu:r.copilotUsageNanoAiu,durationInMillis:r.durationInMillis}}case"generic":{let r=e;return{...n,kind:"generic",name:r.name,details:r.details,level:r.level,category:r.category}}case"subagentInvocation":{let r=e;return{...n,kind:"subagentInvocation",agentName:r.agentName,description:r.description,status:r.status===0?"running":r.status===1?"completed":r.status===2?"failed":void 0,durationInMillis:r.durationInMillis,toolCallCount:r.toolCallCount,modelTurnCount:r.modelTurnCount}}case"userMessage":{let r=e;return{...n,kind:"userMessage",message:r.message,sections:r.sections.map(s=>({name:s.name,content:s.content}))}}case"agentResponse":{let r=e;return{...n,kind:"agentResponse",message:r.message,sections:r.sections.map(s=>({name:s.name,content:s.content}))}}default:{let r=e,s=r.name,a=r.details;return{...n,kind:"generic",name:typeof s=="string"?s:"",details:typeof a=="string"?a:void 0,level:r.level??1,category:r.category}}}}async $resolveChatDebugLogEvent(e,n,o){if(!this._provider?.resolveChatDebugLogEvent)return;let r=await this._provider.resolveChatDebugLogEvent(n,o);if(!r)return;switch(r._kind){case"text":return{kind:"text",value:r.value};case"messageContent":{let a=r;return{kind:"message",type:a.type===0?"user":"agent",message:a.message,sections:a.sections.map(l=>({name:l.name,content:l.content}))}}case"userMessage":{let a=r;return{kind:"message",type:"user",message:a.message,sections:a.sections.map(l=>({name:l.name,content:l.content}))}}case"agentResponse":{let a=r;return{kind:"message",type:"agent",message:a.message,sections:a.sections.map(l=>({name:l.name,content:l.content}))}}case"toolCallContent":{let a=r;return{kind:"toolCall",toolName:a.toolName,result:a.result===0?"success":a.result===1?"error":void 0,durationInMillis:a.durationInMillis,input:a.input,output:a.output}}case"modelTurnContent":{let a=r;return{kind:"modelTurn",requestName:a.requestName,model:a.model,status:a.status,durationInMillis:a.durationInMillis,timeToFirstTokenInMillis:a.timeToFirstTokenInMillis,requestId:a.requestId,maxInputTokens:a.maxInputTokens,maxOutputTokens:a.maxOutputTokens,inputTokens:a.inputTokens,outputTokens:a.outputTokens,cachedTokens:a.cachedTokens,totalTokens:a.totalTokens,requestOptions:a.requestOptions,errorMessage:a.errorMessage,sections:a.sections?.map(l=>({name:l.name,content:l.content}))}}case"hookContent":{let a=r;return{kind:"hook",hookType:a.hookType,command:a.command,result:a.result===0?"success":a.result===1?"error":a.result===2?"nonBlockingError":void 0,durationInMillis:a.durationInMillis,input:a.input,output:a.output,exitCode:a.exitCode,errorMessage:a.errorMessage}}default:return}}_deserializeEvent(e){let n=new Date(e.created),o=e.sessionResource?y.revive(e.sessionResource):void 0;switch(e.kind){case"toolCall":{let r=new cp(e.toolName,n);return r.id=e.id,r.sessionResource=o,r.parentEventId=e.parentEventId,r.toolCallId=e.toolCallId,r.input=e.input,r.output=e.output,r.result=e.result==="success"?0:e.result==="error"?1:void 0,r.durationInMillis=e.durationInMillis,r}case"modelTurn":{let r=new up(n);return r.id=e.id,r.sessionResource=o,r.parentEventId=e.parentEventId,r.model=e.model,r.requestName=e.requestName,r.inputTokens=e.inputTokens,r.outputTokens=e.outputTokens,r.cachedTokens=e.cachedTokens,r.totalTokens=e.totalTokens,r.copilotUsageNanoAiu=e.copilotUsageNanoAiu,r.durationInMillis=e.durationInMillis,r}case"generic":{let r=new pp(e.name,e.level,n);return r.id=e.id,r.sessionResource=o,r.parentEventId=e.parentEventId,r.details=e.details,r.category=e.category,r}case"subagentInvocation":{let r=new mp(e.agentName,n);return r.id=e.id,r.sessionResource=o,r.parentEventId=e.parentEventId,r.description=e.description,r.status=e.status==="running"?0:e.status==="completed"?1:e.status==="failed"?2:void 0,r.durationInMillis=e.durationInMillis,r.toolCallCount=e.toolCallCount,r.modelTurnCount=e.modelTurnCount,r}case"userMessage":{let r=new gp(e.message,n);return r.id=e.id,r.sessionResource=o,r.parentEventId=e.parentEventId,r.sections=e.sections.map(s=>new tc(s.name,s.content)),r}case"agentResponse":{let r=new fp(e.message,n);return r.id=e.id,r.sessionResource=o,r.parentEventId=e.parentEventId,r.sections=e.sections.map(s=>new tc(s.name,s.content)),r}default:return}}$onCoreDebugEvent(e){let n=this._deserializeEvent(e);n&&this._onDidAddCoreEvent.fire(n)}async $exportChatDebugLog(e,n,o,r,s){if(!this._provider?.provideChatDebugLogExport)return;let a=y.revive(n),d={coreEvents:o.map(u=>this._deserializeEvent(u)).filter(u=>u!==void 0),sessionTitle:r},c=await this._provider.provideChatDebugLogExport(a,d,s);if(c)return te.wrap(c)}async $importChatDebugLog(e,n,o){if(!this._provider?.resolveChatDebugLogImport)return;let r=await this._provider.resolveChatDebugLogImport(n.buffer,o);if(r)return{uri:r.uri,sessionTitle:r.sessionTitle}}async $getAvailableDebugSessionResources(e,n){return this._provider?.provideAvailableDebugSessionResources?await this._provider.provideAvailableDebugSessionResources(n)??[]:[]}dispose(){for(let e of this._activeProgress.values())e.dispose();this._activeProgress.clear(),super.dispose()}};yg=R([S(0,ge)],yg);function DH(i){let t=i.get(nt),e=i.get(kr),n=i.get(Ml),o=i.get(To),r=i.get(eo),s=i.get(Ll),a=i.get(So),l=i.get(Oa),d=i.get(ge),c=i.get(zp),u=i.get(Kp),m=i.get(lr),g=i.get(ae),v=i.get(jp),f=i.get(aa),x=i.get(xc),C=i.get(rS),E=i.get(Cc),k=i.get(pm),O=i.get(la),N=i.get(hm),H=i.get(Sc),q=i.get(im),Q=i.get(sm),z=i.get(Qh),$=i.get(uS),oe=i.get(mS),he=i.get(fS);d.set(me.ExtHostFileSystemInfo,e),d.set(me.ExtHostLogLevelServiceShape,m),d.set(me.ExtHostWorkspace,r),d.set(me.ExtHostConfiguration,a),d.set(me.ExtHostExtensionService,o),d.set(me.ExtHostStorage,c),d.set(me.ExtHostTunnelService,v),d.set(me.ExtHostWindow,x),d.set(me.ExtHostPower,C),d.set(me.ExtHostUrls,E),d.set(me.ExtHostSecretState,k),d.set(me.ExtHostTelemetry,s),d.set(me.ExtHostEditorTabs,O),d.set(me.ExtHostManagedSockets,N),d.set(me.ExtHostProgress,H),d.set(me.ExtHostAuthentication,q),d.set(me.ExtHostChatProvider,Q),d.set(me.ExtHostDataChannels,$),d.set(me.ExtHostMeteredConnection,oe),d.set(me.ExtHostGitExtension,he);let lt=d.set(me.ExtHostDecorations,i.get(VC)),Fe=d.set(me.ExtHostDocumentsAndEditors,i.get(ui)),ee=d.set(me.ExtHostCommands,i.get(Xo)),j=d.set(me.ExtHostTerminalService,i.get(ci)),re=d.set(me.ExtHostTerminalShellIntegration,i.get(aS)),Z=d.set(me.ExtHostDebugService,i.get(eS)),se=d.set(me.ExtHostSearch,i.get(oS)),ne=d.set(me.ExtHostTask,i.get(jC)),ue=d.set(me.ExtHostOutputService,i.get(HC)),Ke=d.set(me.ExtHostLocalization,i.get(gm)),Re=d.set(me.ExtHostDocuments,new HS(d,Fe)),dt=d.set(me.ExtHostDocumentContentProviders,new US(d,Fe,g)),wt=d.set(me.ExtHostDocumentSaveParticipant,new FS(g,Re,d.getProxy(L.MainThreadBulkEdits))),Be=d.set(me.ExtHostNotebook,new sE(d,ee,Fe,Re,n,se,g)),mn=d.set(me.ExtHostNotebookDocuments,new lE(Be)),mo=d.set(me.ExtHostNotebookEditors,new gg(g,Be)),vi=d.set(me.ExtHostNotebookKernels,new fg(d,t,Be,ee,g)),pa=d.set(me.ExtHostNotebookRenderers,new cE(d,Be)),Br=d.set(me.ExtHostNotebookDocumentSaveParticipant,new aE(g,Be,d.getProxy(L.MainThreadBulkEdits))),xe=d.set(me.ExtHostEditors,new vE(d,Fe)),vt=d.set(me.ExtHostTreeViews,new IE(d.getProxy(L.MainThreadTreeViews),ee,g)),Sg=d.set(me.ExtHostEditorInsets,new _S(d.getProxy(L.MainThreadEditorInsets),xe,t.remote)),Zo=d.set(me.ExtHostDiagnostics,new Hr(d,g,e,Fe)),wo=d.set(me.ExtHostLanguages,new GT(d,Re,ee.converter,l)),Ge=d.set(me.ExtHostLanguageFeatures,new cT(d,l,Re,ee,Zo,g,f,s)),Ql=d.set(me.ExtHostCodeMapper,new DS(d)),Fc=d.set(me.ExtHostFileSystem,new $S(d,Ge)),Wr=d.set(me.ExtHostFileSystemEventService,new zS(d,g,Fe)),bi=d.set(me.ExtHostQuickOpen,SH(d,r,ee)),Jl=d.set(me.ExtHostSCM,new hg(d,ee,Re,g)),Xl=d.set(me.ExtHostQuickDiff,new pE(d,l)),ko=d.set(me.ExtHostShare,new mE(d,l)),ma=d.set(me.ExtHostComments,S2(d,ee,Re)),Xt=d.set(me.ExtHostLabelService,new KS(d)),Nn=d.set(me.ExtHostTheming,new vg(d)),Pv=d.set(me.ExtHostTimeline,new bE(d,ee)),Yl=d.set(me.ExtHostWebviews,new AS(d,t.remote,r,g,f)),as=d.set(me.ExtHostWebviewPanels,new CE(d,Yl,r)),Hc=d.set(me.ExtHostCustomEditors,new OS(d,Re,u,Yl,as)),M=d.set(me.ExtHostWebviewViews,new SE(d,Yl)),B=d.set(me.ExtHostTesting,i.get(wc)),G=d.set(me.ExtHostUriOpeners,new xE(d)),Pe=d.set(me.ExtHostProfileContentHandlers,new uE(d)),He=d.set(me.ExtHostChatOutputRenderer,new SS(d,Yl));d.set(me.ExtHostInteractive,new qS(d,Be,Fe,ee,g));let Yt=d.set(me.ExtHostLanguageModelTools,new KT(d,Q)),gt=d.set(me.ExtHostChatSessions,new Vm(ee,Q,d,g)),Xe=d.set(me.ExtHostChatAgents2,new xS(d,g,ee,Re,Fe,Q,Zo,Yt,gt)),zt=d.set(me.ExtHostChatContext,new bg(d,ee)),kn=d.set(me.ExtHostChatDebug,new yg(d)),Mo=d.set(me.ExtHostAiRelatedInformation,new vS(d)),on=d.set(me.ExtHostAiEmbeddingVector,new BS(d)),Pn=d.set(me.ExtHostAiSettingsSearch,new bS(d)),$n=d.set(me.ExtHostStatusBar,new hE(d,ee.converter)),Oo=d.set(me.ExtHostSpeech,new gE(d)),Ue=d.set(me.ExtHostEmbeddings,new VS(d)),ze=d.set(me.ExtHostBrowsers,new fE(d)),Lt=d.set(me.ExtHostChatQuota,new wS(d));d.set(me.ExtHostMcp,i.get(Qh));let qt=Object.values(me);d.assertRegistered(qt);let _n=new Fm(d,Fe),Tg=new PS(d),yi=new ug(d,g),ls=new NS(d),yM=new ES(d),IM=new kS(d);return IS.register(ee),function(P,ds,ie){function de(b){return(I,_,Ce)=>{let ot=b(Kt=>{try{I.call(_,Kt)}catch(SM){td(new nu(P.identifier,SM,"FAILED to handle event"))}});return Ce?.push(ot),ot}}let Dt=(function(){let b=!P.isUnderDevelopment;function I(){b||(g.info(`Extension '${P.identifier.value}' uses a document selector without scheme. Learn more about this: https://go.microsoft.com/fwlink/?linkid=872305`),b=!0)}return function _(Ce){if(Array.isArray(Ce))Ce.forEach(_);else if(typeof Ce=="string")I();else{let ot=Ce;typeof ot.scheme>"u"&&I(),typeof ot.exclusive=="boolean"&&D(P,"documentFiltersExclusive")}return Ce}})(),UH={getSession(b,I,_){return(typeof _?.forceNewSession=="object"&&_.forceNewSession.learnMore||typeof _?.createIfNone=="object"&&_.createIfNone.learnMore)&&D(P,"authLearnMore"),_?.authorizationServer&&D(P,"authIssuers"),q.getSession(P,b,I,_)},getAccounts(b){return q.getAccounts(b)},async hasSession(b,I){return D(P,"authSession"),!!await q.getSession(P,b,I,{silent:!0})},get onDidChangeSessions(){return de(q.getExtensionScopedSessionsEvent(P.identifier.value))},registerAuthenticationProvider(b,I,_,Ce){return Ce?.supportedAuthorizationServers&&D(P,"authIssuers"),q.registerAuthenticationProvider(b,I,_,Ce)}},Eg={registerCommand(b,I,_){return ee.registerCommand(!0,b,I,_,void 0,P)},registerTextEditorCommand(b,I,_){return ee.registerCommand(!0,b,(...Ce)=>{let ot=xe.getActiveTextEditor();if(!ot){g.warn("Cannot execute "+b+" because there is no active text editor.");return}return ot.edit(Kt=>{I.apply(_,[ot,Kt,...Ce])}).then(Kt=>{Kt||g.warn("Edits from command "+b+" were not applied.")},Kt=>{g.warn("An error occurred while running command "+b,Kt)})},void 0,void 0,P)},registerDiffInformationCommand:(b,I,_)=>(D(P,"diffCommand"),ee.registerCommand(!0,b,async(...Ce)=>{let ot=Fe.activeEditor(!0);if(!ot){g.warn("Cannot execute "+b+" because there is no active text editor.");return}let Kt=await xe.getDiffInformation(ot.id);I.apply(_,[Kt,...Ce])},void 0,void 0,P)),executeCommand(b,...I){return ee.executeCommand(b,...I)},getCommands(b=!1){return ee.getCommands(b)}},xM={get machineId(){return t.telemetryInfo.machineId},get devDeviceId(){return D(P,"devDeviceId"),t.telemetryInfo.devDeviceId??t.telemetryInfo.machineId},get isAppPortable(){return t.environment.isPortable??!1},get sessionId(){return t.telemetryInfo.sessionId},get language(){return t.environment.appLanguage},get appName(){return t.environment.appName},get appRoot(){return t.environment.appRoot?.fsPath??""},get appHost(){return t.environment.appHost},get uriScheme(){return t.environment.appUriScheme},get clipboard(){return Tg.value},get shell(){return j.getDefaultShell(!1)},get onDidChangeShell(){return de(j.onDidChangeShell)},get isTelemetryEnabled(){return s.getTelemetryConfiguration()},get onDidChangeTelemetryEnabled(){return de(s.onDidChangeTelemetryEnabled)},get telemetryConfiguration(){return D(P,"telemetry"),s.getTelemetryDetails()},get onDidChangeTelemetryConfiguration(){return D(P,"telemetry"),de(s.onDidChangeTelemetryConfiguration)},get isMeteredConnection(){return D(P,"envIsConnectionMetered"),oe.isConnectionMetered},get onDidChangeMeteredConnection(){return D(P,"envIsConnectionMetered"),de(oe.onDidChangeIsConnectionMetered)},get isNewAppInstall(){return kR(t.telemetryInfo.firstSessionDate)},createTelemetryLogger(b,I){return Rh.validateSender(b),s.instantiateLogger(P,b,I)},async openExternal(b,I){return x.openUri(b,{allowTunneling:t.remote.isRemote??(t.remote.authority?await v.hasTunnelProvider():!1),allowContributedOpeners:I?.allowContributedOpeners})},async asExternalUri(b){if(b.scheme===t.environment.appUriScheme)return E.createAppUri(b);try{return await x.asExternalUri(b,{allowTunneling:!!t.remote.authority})}catch(I){if(db(b,K.http)||db(b,K.https))return b;throw I}},get remoteName(){return jg(t.remote.authority)},get remoteAuthority(){return D(P,"resolvers"),t.remote.authority},get uiKind(){return t.uiKind},get logLevel(){return g.getLevel()},get onDidChangeLogLevel(){return de(g.onDidChangeLogLevel)},get appQuality(){return D(P,"resolvers"),t.quality},get appCommit(){return D(P,"resolvers"),t.commit},getDataChannel(b){return D(P,"dataChannels"),$.createDataChannel(P,b)},get power(){return D(P,"environmentPower"),{get onDidSuspend(){return de(C.onDidSuspend)},get onDidResume(){return de(C.onDidResume)},get onDidChangeOnBatteryPower(){return de(C.onDidChangeOnBatteryPower)},get onDidChangeThermalState(){return de(C.onDidChangeThermalState)},get onDidChangeSpeedLimit(){return de(C.onDidChangeSpeedLimit)},get onWillShutdown(){return de(C.onWillShutdown)},get onDidLockScreen(){return de(C.onDidLockScreen)},get onDidUnlockScreen(){return de(C.onDidUnlockScreen)},getSystemIdleState(b){return C.getSystemIdleState(b)},getSystemIdleTime(){return C.getSystemIdleTime()},getCurrentThermalState(){return C.getCurrentThermalState()},isOnBatteryPower(){return C.isOnBatteryPower()},async startPowerSaveBlocker(b){let I=await C.startPowerSaveBlocker(b);return{id:I.id,get isStarted(){return I.isStarted},dispose(){I.dispose()}}}}}};t.environment.extensionTestsLocationURI||Object.freeze(xM);let FH={createTestController(b,I,_){return B.createTestController(P,b,I,_)},createTestObserver(){return D(P,"testObserver"),B.createTestObserver()},runTests(b){return D(P,"testObserver"),B.runTests(b)},registerTestFollowupProvider(b){return D(P,"testObserver"),B.registerTestFollowupProvider(b)},get onDidChangeTestResults(){return D(P,"testObserver"),de(B.onResultsChanged)},get testResults(){return D(P,"testObserver"),B.results}},_v=t.remote.isRemote?2:1,HH={getExtension(b,I){De(P,"extensionsAny")||(I=!1);let _=ds.mine.getExtensionDescription(b);if(_)return new Vl(o,P.identifier,_,_v,!1);if(I){let Ce=ds.all.getExtensionDescription(b);if(Ce)return new Vl(o,P.identifier,Ce,_v,!0)}},get all(){let b=[];for(let I of ds.mine.getAllExtensionDescriptions())b.push(new Vl(o,P.identifier,I,_v,!1));return b},get allAcrossExtensionHosts(){D(P,"extensionsAny");let b=new ho(ds.mine.getAllExtensionDescriptions().map(_=>_.identifier)),I=[];for(let _ of ds.all.getAllExtensionDescriptions()){let Ce=!b.has(_.identifier);I.push(new Vl(o,P.identifier,_,_v,Ce))}return I},get onDidChange(){return De(P,"extensionsAny")?de(Le.any(ds.mine.onDidChange,ds.all.onDidChange)):de(ds.mine.onDidChange)}},VH={createDiagnosticCollection(b){return Zo.createDiagnosticCollection(P.identifier,b)},get onDidChangeDiagnostics(){return de(Zo.onDidChangeDiagnostics)},getDiagnostics:b=>Zo.getDiagnostics(b),getLanguages(){return wo.getLanguages()},setTextDocumentLanguage(b,I){return wo.changeLanguage(b.uri,I)},match(b,I){let _=BD.from(b),Ce;return q1(_)&&(Ce=Be.notebookDocuments.find(ot=>ot.apiNotebook.getCells().find(Kt=>Kt.document===I))?.apiNotebook),z1(_,I.uri,I.languageId,!0,Ce?.uri,Ce?.notebookType)},registerCodeActionsProvider(b,I,_){return Ge.registerCodeActionProvider(P,Dt(b),I,_)},registerDocumentPasteEditProvider(b,I,_){return Ge.registerDocumentPasteEditProvider(P,Dt(b),I,_)},registerCodeLensProvider(b,I){return Ge.registerCodeLensProvider(P,Dt(b),I)},registerDefinitionProvider(b,I){return Ge.registerDefinitionProvider(P,Dt(b),I)},registerDeclarationProvider(b,I){return Ge.registerDeclarationProvider(P,Dt(b),I)},registerImplementationProvider(b,I){return Ge.registerImplementationProvider(P,Dt(b),I)},registerTypeDefinitionProvider(b,I){return Ge.registerTypeDefinitionProvider(P,Dt(b),I)},registerHoverProvider(b,I){return Ge.registerHoverProvider(P,Dt(b),I,P.identifier)},registerEvaluatableExpressionProvider(b,I){return Ge.registerEvaluatableExpressionProvider(P,Dt(b),I,P.identifier)},registerInlineValuesProvider(b,I){return Ge.registerInlineValuesProvider(P,Dt(b),I,P.identifier)},registerDocumentHighlightProvider(b,I){return Ge.registerDocumentHighlightProvider(P,Dt(b),I)},registerMultiDocumentHighlightProvider(b,I){return Ge.registerMultiDocumentHighlightProvider(P,Dt(b),I)},registerLinkedEditingRangeProvider(b,I){return Ge.registerLinkedEditingRangeProvider(P,Dt(b),I)},registerReferenceProvider(b,I){return Ge.registerReferenceProvider(P,Dt(b),I)},registerRenameProvider(b,I){return Ge.registerRenameProvider(P,Dt(b),I)},registerNewSymbolNamesProvider(b,I){return D(P,"newSymbolNamesProvider"),Ge.registerNewSymbolNamesProvider(P,Dt(b),I)},registerDocumentSymbolProvider(b,I,_){return Ge.registerDocumentSymbolProvider(P,Dt(b),I,_)},registerWorkspaceSymbolProvider(b){return Ge.registerWorkspaceSymbolProvider(P,b)},registerDocumentFormattingEditProvider(b,I){return Ge.registerDocumentFormattingEditProvider(P,Dt(b),I)},registerDocumentRangeFormattingEditProvider(b,I){return Ge.registerDocumentRangeFormattingEditProvider(P,Dt(b),I)},registerOnTypeFormattingEditProvider(b,I,_,...Ce){return Ge.registerOnTypeFormattingEditProvider(P,Dt(b),I,[_].concat(Ce))},registerDocumentSemanticTokensProvider(b,I,_){return Ge.registerDocumentSemanticTokensProvider(P,Dt(b),I,_)},registerDocumentRangeSemanticTokensProvider(b,I,_){return Ge.registerDocumentRangeSemanticTokensProvider(P,Dt(b),I,_)},registerSignatureHelpProvider(b,I,_,...Ce){return typeof _=="object"?Ge.registerSignatureHelpProvider(P,Dt(b),I,_):Ge.registerSignatureHelpProvider(P,Dt(b),I,typeof _>"u"?[]:[_,...Ce])},registerCompletionItemProvider(b,I,..._){return Ge.registerCompletionItemProvider(P,Dt(b),I,_)},registerInlineCompletionItemProvider(b,I,_){return I.handleDidShowCompletionItem&&D(P,"inlineCompletionsAdditions"),I.handleDidPartiallyAcceptCompletionItem&&D(P,"inlineCompletionsAdditions"),_&&D(P,"inlineCompletionsAdditions"),Ge.registerInlineCompletionsProvider(P,Dt(b),I,_)},get inlineCompletionsUnificationState(){return D(P,"inlineCompletionsAdditions"),Ge.inlineCompletionsUnificationState},onDidChangeCompletionsUnificationState(b,I,_){return D(P,"inlineCompletionsAdditions"),de(Ge.onDidChangeInlineCompletionsUnificationState)(b,I,_)},registerDocumentLinkProvider(b,I){return Ge.registerDocumentLinkProvider(P,Dt(b),I)},registerColorProvider(b,I){return Ge.registerColorProvider(P,Dt(b),I)},registerFoldingRangeProvider(b,I){return Ge.registerFoldingRangeProvider(P,Dt(b),I)},registerSelectionRangeProvider(b,I){return Ge.registerSelectionRangeProvider(P,b,I)},registerCallHierarchyProvider(b,I){return Ge.registerCallHierarchyProvider(P,b,I)},registerTypeHierarchyProvider(b,I){return Ge.registerTypeHierarchyProvider(P,b,I)},setLanguageConfiguration:(b,I)=>Ge.setLanguageConfiguration(P,b,I),getTokenInformationAtPosition(b,I){return D(P,"tokenInformation"),wo.tokenAtPosition(b,I)},registerInlayHintsProvider(b,I){return Ge.registerInlayHintsProvider(P,b,I)},createLanguageStatusItem(b,I){return wo.createLanguageStatusItem(P,b,I)},registerDocumentDropEditProvider(b,I,_){return Ge.registerDocumentOnDropEditProvider(P,b,I,_)}},BH={get activeTextEditor(){return xe.getActiveTextEditor()},get visibleTextEditors(){return xe.getVisibleTextEditors()},get activeTerminal(){return j.activeTerminal},get terminals(){return j.terminals},async showTextDocument(b,I,_){y.isUri(b)&&b.scheme===K.vscodeRemote&&!b.authority&&f.report("workspace.showTextDocument",P,"A URI of 'vscode-remote' scheme requires an authority.");let Ce=await(y.isUri(b)?Promise.resolve(CM.openTextDocument(b)):Promise.resolve(b));return xe.showTextDocument(Ce,I,_)},createTextEditorDecorationType(b){return xe.createTextEditorDecorationType(P,b)},onDidChangeActiveTextEditor(b,I,_){return de(xe.onDidChangeActiveTextEditor)(b,I,_)},onDidChangeVisibleTextEditors(b,I,_){return de(xe.onDidChangeVisibleTextEditors)(b,I,_)},onDidChangeTextEditorSelection(b,I,_){return de(xe.onDidChangeTextEditorSelection)(b,I,_)},onDidChangeTextEditorOptions(b,I,_){return de(xe.onDidChangeTextEditorOptions)(b,I,_)},onDidChangeTextEditorVisibleRanges(b,I,_){return de(xe.onDidChangeTextEditorVisibleRanges)(b,I,_)},onDidChangeTextEditorViewColumn(b,I,_){return de(xe.onDidChangeTextEditorViewColumn)(b,I,_)},onDidChangeTextEditorDiffInformation(b,I,_){return D(P,"textEditorDiffInformation"),de(xe.onDidChangeTextEditorDiffInformation)(b,I,_)},onDidCloseTerminal(b,I,_){return de(j.onDidCloseTerminal)(b,I,_)},onDidOpenTerminal(b,I,_){return de(j.onDidOpenTerminal)(b,I,_)},onDidChangeActiveTerminal(b,I,_){return de(j.onDidChangeActiveTerminal)(b,I,_)},onDidChangeTerminalDimensions(b,I,_){return D(P,"terminalDimensions"),de(j.onDidChangeTerminalDimensions)(b,I,_)},onDidChangeTerminalState(b,I,_){return de(j.onDidChangeTerminalState)(b,I,_)},onDidWriteTerminalData(b,I,_){return D(P,"terminalDataWriteEvent"),de(j.onDidWriteTerminalData)(b,I,_)},onDidExecuteTerminalCommand(b,I,_){return D(P,"terminalExecuteCommandEvent"),de(j.onDidExecuteTerminalCommand)(b,I,_)},onDidChangeTerminalShellIntegration(b,I,_){return de(re.onDidChangeTerminalShellIntegration)(b,I,_)},onDidStartTerminalShellExecution(b,I,_){return de(re.onDidStartTerminalShellExecution)(b,I,_)},onDidEndTerminalShellExecution(b,I,_){return de(re.onDidEndTerminalShellExecution)(b,I,_)},get state(){return x.getState()},onDidChangeWindowState(b,I,_){return de(x.onDidChangeWindowState)(b,I,_)},showInformationMessage(b,...I){return yi.showMessage(P,je.Info,b,I[0],I.slice(1))},showWarningMessage(b,...I){return yi.showMessage(P,je.Warning,b,I[0],I.slice(1))},showErrorMessage(b,...I){return yi.showMessage(P,je.Error,b,I[0],I.slice(1))},showQuickPick(b,I,_){return bi.showQuickPick(P,b,I,_)},showWorkspaceFolderPick(b){return bi.showWorkspaceFolderPick(b)},showInputBox(b,I){return bi.showInput(b,I)},showOpenDialog(b){return ls.showOpenDialog(b)},showSaveDialog(b){return ls.showSaveDialog(b)},createStatusBarItem(b,I,_){let Ce,ot,Kt;return typeof b=="string"?(Ce=b,ot=I,Kt=_):(ot=b,Kt=I),$n.createStatusBarEntry(P,Ce,ot,Kt)},setStatusBarMessage(b,I){return $n.setStatusBarMessage(b,I)},withScmProgress(b){return f.report("window.withScmProgress",P,"Use 'withProgress' instead."),H.withProgress(P,{location:1},(I,_)=>b({report(Ce){}}))},withProgress(b,I){return H.withProgress(P,b,I)},createOutputChannel(b,I){return ue.createOutputChannel(b,I,P)},createWebviewPanel(b,I,_,Ce){return as.createWebviewPanel(P,b,I,_,Ce)},createWebviewTextEditorInset(b,I,_,Ce){return D(P,"editorInsets"),Sg.createWebviewEditorInset(b,I,_,Ce,P)},createTerminal(b,I,_){if(typeof b=="object"){let Ce=b;return!De(P,"terminalTitle")&&"titleTemplate"in b&&b.titleTemplate!==void 0&&(console.error(`[${P.identifier.value}] \`titleTemplate\` was provided to window.createTerminal but is ignored because the \`terminalTitle\` proposed API is not enabled.`),Ce={...b,titleTemplate:void 0}),"pty"in Ce?j.createExtensionTerminal(Ce):j.createTerminalFromOptions(Ce)}return j.createTerminal(b,I,_)},registerTerminalLinkProvider(b){return j.registerLinkProvider(b)},registerTerminalProfileProvider(b,I){return j.registerProfileProvider(P,b,I)},registerTerminalCompletionProvider(b,...I){return D(P,"terminalCompletionProvider"),j.registerTerminalCompletionProvider(P,b,...I)},registerTerminalQuickFixProvider(b,I){return D(P,"terminalQuickFixProvider"),j.registerTerminalQuickFixProvider(b,P.identifier.value,I)},registerTreeDataProvider(b,I){return vt.registerTreeDataProvider(b,I,P)},createTreeView(b,I){return vt.createTreeView(b,I,P)},registerWebviewPanelSerializer:(b,I)=>as.registerWebviewPanelSerializer(P,b,I),registerCustomEditorProvider:(b,I,_={})=>Hc.registerCustomEditorProvider(P,b,I,_),registerFileDecorationProvider(b){return lt.registerFileDecorationProvider(b,P)},registerUriHandler(b){return E.registerUriHandler(P,b)},createQuickPick(){return bi.createQuickPick(P)},createInputBox(){return bi.createInputBox(P)},get activeColorTheme(){return Nn.activeColorTheme},onDidChangeActiveColorTheme(b,I,_){return de(Nn.onDidChangeActiveColorTheme)(b,I,_)},registerWebviewViewProvider(b,I,_){return M.registerWebviewViewProvider(P,b,I,_?.webviewOptions)},get activeNotebookEditor(){return Be.activeNotebookEditor},onDidChangeActiveNotebookEditor(b,I,_){return de(Be.onDidChangeActiveNotebookEditor)(b,I,_)},get visibleNotebookEditors(){return Be.visibleNotebookEditors},get onDidChangeVisibleNotebookEditors(){return de(Be.onDidChangeVisibleNotebookEditors)},onDidChangeNotebookEditorSelection(b,I,_){return de(mo.onDidChangeNotebookEditorSelection)(b,I,_)},onDidChangeNotebookEditorVisibleRanges(b,I,_){return de(mo.onDidChangeNotebookEditorVisibleRanges)(b,I,_)},showNotebookDocument(b,I){return Be.showNotebookDocument(b,I)},registerExternalUriOpener(b,I,_){return D(P,"externalUriOpener"),G.registerExternalUriOpener(P.identifier,b,I,_)},registerProfileContentHandler(b,I){return D(P,"profileContentHandlers"),Pe.registerProfileContentHandler(P,b,I)},registerQuickDiffProvider(b,I,_,Ce,ot){return D(P,"quickDiffProvider"),Xl.registerQuickDiffProvider(P,Dt(b),I,_,Ce,ot)},get tabGroups(){return O.tabGroups},registerShareProvider(b,I){return D(P,"shareProvider"),ko.registerShareProvider(Dt(b),I)},get nativeHandle(){return D(P,"nativeWindowHandle"),x.nativeHandle},createChatStatusItem:b=>(D(P,"chatStatusItem"),yM.createChatStatusItem(P,b)),get activeChatPanelSessionResource(){return D(P,"chatParticipantPrivate"),Xe.activeChatPanelSessionResource},onDidChangeActiveChatPanelSessionResource:(b,I,_)=>(D(P,"chatParticipantPrivate"),de(Xe.onDidChangeActiveChatPanelSessionResource)(b,I,_)),get browserTabs(){return D(P,"browser"),ze.browserTabs},onDidOpenBrowserTab(b,I,_){return D(P,"browser"),de(ze.onDidOpenBrowserTab)(b,I,_)},onDidCloseBrowserTab(b,I,_){return D(P,"browser"),de(ze.onDidCloseBrowserTab)(b,I,_)},get activeBrowserTab(){return D(P,"browser"),ze.activeBrowserTab},onDidChangeActiveBrowserTab(b,I,_){return D(P,"browser"),de(ze.onDidChangeActiveBrowserTab)(b,I,_)},onDidChangeBrowserTabState(b,I,_){return D(P,"browser"),de(ze.onDidChangeBrowserTabState)(b,I,_)},openBrowserTab(b,I){return D(P,"browser"),ze.openBrowserTab(b,I)}},CM={get rootPath(){return f.report("workspace.rootPath",P,"Please use 'workspace.workspaceFolders' instead. More details: https://aka.ms/vscode-eliminating-rootpath"),r.getPath()},set rootPath(b){throw new $r("rootPath")},getWorkspaceFolder(b){return r.getWorkspaceFolder(b)},get workspaceFolders(){return r.getWorkspaceFolders()},get name(){return r.name},set name(b){throw new $r("name")},get workspaceFile(){return r.workspaceFile},set workspaceFile(b){throw new $r("workspaceFile")},get isAgentSessionsWorkspace(){return D(P,"agentSessionsWorkspace"),!!t.environment.isSessionsWindow},updateWorkspaceFolders:(b,I,..._)=>r.updateWorkspaceFolders(P,b,I||0,..._),onDidChangeWorkspaceFolders:function(b,I,_){return de(r.onDidChangeWorkspace)(b,I,_)},asRelativePath:(b,I)=>r.getRelativePath(b,I),findFiles:(b,I,_,Ce)=>r.findFiles(b,I,_,P.identifier,Ce),findFiles2:(b,I,_)=>(D(P,"findFiles2"),r.findFiles2(b,I,P.identifier,_)),findTextInFiles:(b,I,_,Ce)=>{D(P,"findTextInFiles");let ot,Kt;return typeof I=="object"?(ot=I,Kt=_):(ot={},Kt=I,Ce=_),r.findTextInFiles(b,ot||{},Kt,P.identifier,Ce)},findTextInFiles2:(b,I,_)=>(D(P,"findTextInFiles2"),D(P,"textSearchProvider2"),r.findTextInFiles2(b,I,P.identifier,_)),getTextDiff(b,I,_,Ce){D(P,"documentDiff");let ot=d.getProxy(L.MainThreadDocumentDiff);if(Ce?.isCancellationRequested){let Lo=new rt;return{changes:bs.EMPTY,complete:Promise.reject(Lo)}}let Kt=ot.$computeDocumentDiff(b.uri,I.uri,_?.ignoreTrimWhitespace??!1,_?.maxComputationTimeMs??5e3,_?.computeMoves??!1),TM=(Ce?Da(Kt,Ce):Kt).then(Lo=>{if(!Lo)throw new Error("Could not compute diff. Make sure both documents are available.");return Lo}),EM=Lo=>({originalRange:W.to(Lo.originalRange),modifiedRange:W.to(Lo.modifiedRange),innerChanges:Lo.innerChanges?.map(ga=>({originalRange:W.to(ga.originalRange),modifiedRange:W.to(ga.modifiedRange)}))});return{changes:new bs(async Lo=>{let ga=await TM;Lo.emitMany(ga.changes.map(EM))}),complete:TM.then(Lo=>({identical:Lo.identical,mayBeIncomplete:Lo.quitEarly,moves:Lo.moves.map(ga=>({originalRange:W.to(ga.originalRange),modifiedRange:W.to(ga.modifiedRange),changes:ga.changes.map(EM)}))}))}},save:b=>r.save(b),saveAs:b=>r.saveAs(b),saveAll:b=>r.saveAll(b),applyEdit(b,I){return _n.applyWorkspaceEdit(b,P,I)},createFileSystemWatcher:(b,I,_,Ce)=>{let ot={ignoreCreateEvents:!!I,ignoreChangeEvents:!!_,ignoreDeleteEvents:!!Ce};return Wr.createFileSystemWatcher(r,ie,e,P,b,ot)},get textDocuments(){return Re.getAllDocumentData().map(b=>b.document)},set textDocuments(b){throw new $r("textDocuments")},openTextDocument(b,I){let _;if(I=I??b,typeof b=="string")_=Promise.resolve(y.file(b));else if(y.isUri(b))_=Promise.resolve(b);else if(!I||typeof I=="object")_=Re.createDocumentData(I);else throw new Error("illegal argument - uriOrFileNameOrOptions");return _.then(Ce=>(g.trace(`openTextDocument from ${P.identifier}`),Ce.scheme===K.vscodeRemote&&!Ce.authority&&f.report("workspace.openTextDocument",P,"A URI of 'vscode-remote' scheme requires an authority."),Re.ensureDocumentData(Ce,I).then(ot=>ot.document)))},onDidOpenTextDocument:(b,I,_)=>de(Re.onDidAddDocument)(b,I,_),onDidCloseTextDocument:(b,I,_)=>de(Re.onDidRemoveDocument)(b,I,_),onDidChangeTextDocument:(b,I,_)=>De(P,"textDocumentChangeReason")?de(Re.onDidChangeDocumentWithReason)(b,I,_):de(Re.onDidChangeDocument)(b,I,_),onDidSaveTextDocument:(b,I,_)=>de(Re.onDidSaveDocument)(b,I,_),onWillSaveTextDocument:(b,I,_)=>de(wt.getOnWillSaveTextDocumentEvent(P))(b,I,_),get notebookDocuments(){return Be.notebookDocuments.map(b=>b.apiNotebook)},async openNotebookDocument(b,I){let _;if(y.isUri(b))_=b,await Be.openNotebookDocument(b);else if(typeof b=="string")_=y.revive(await Be.createNotebookDocument({viewType:b,content:I}));else throw new Error("Invalid arguments");return Be.getNotebookDocument(_).apiNotebook},onDidSaveNotebookDocument(b,I,_){return de(mn.onDidSaveNotebookDocument)(b,I,_)},onDidChangeNotebookDocument(b,I,_){return de(mn.onDidChangeNotebookDocument)(b,I,_)},onWillSaveNotebookDocument(b,I,_){return de(Br.getOnWillSaveNotebookDocumentEvent(P))(b,I,_)},get onDidOpenNotebookDocument(){return de(Be.onDidOpenNotebookDocument)},get onDidCloseNotebookDocument(){return de(Be.onDidCloseNotebookDocument)},registerNotebookSerializer(b,I,_,Ce){return Be.registerNotebookSerializer(P,b,I,_,De(P,"notebookLiveShare")?Ce:void 0)},onDidChangeConfiguration:(b,I,_)=>de(ie.onDidChangeConfiguration)(b,I,_),getConfiguration(b,I){return I=arguments.length===1?void 0:I,ie.getConfiguration(b,I,P)},registerTextDocumentContentProvider(b,I){return dt.registerTextDocumentContentProvider(b,I)},registerTaskProvider:(b,I)=>(f.report("window.registerTaskProvider",P,"Use the corresponding function on the 'tasks' namespace instead"),ne.registerTaskProvider(P,b,I)),registerFileSystemProvider(b,I,_){return jc(Fc.registerFileSystemProvider(P,b,I,_),n.addFileSystemProvider(b,I,_))},get fs(){return n.value},registerFileSearchProvider:(b,I)=>(D(P,"fileSearchProvider"),se.registerFileSearchProviderOld(b,I)),registerTextSearchProvider:(b,I)=>(D(P,"textSearchProvider"),se.registerTextSearchProviderOld(b,I)),registerAITextSearchProvider:(b,I)=>(D(P,"aiTextSearchProvider"),D(P,"textSearchProvider2"),se.registerAITextSearchProvider(b,I)),registerFileSearchProvider2:(b,I)=>(D(P,"fileSearchProvider2"),se.registerFileSearchProvider(b,I)),registerTextSearchProvider2:(b,I)=>(D(P,"textSearchProvider2"),se.registerTextSearchProvider(b,I)),registerRemoteAuthorityResolver:(b,I)=>(D(P,"resolvers"),o.registerRemoteAuthorityResolver(b,I)),registerResourceLabelFormatter:b=>(D(P,"resolvers"),Xt.$registerResourceLabelFormatter(b)),getRemoteExecServer:b=>(D(P,"resolvers"),o.getRemoteExecServer(b)),onDidCreateFiles:(b,I,_)=>de(Wr.onDidCreateFile)(b,I,_),onDidDeleteFiles:(b,I,_)=>de(Wr.onDidDeleteFile)(b,I,_),onDidRenameFiles:(b,I,_)=>de(Wr.onDidRenameFile)(b,I,_),onWillCreateFiles:(b,I,_)=>de(Wr.getOnWillCreateFileEvent(P))(b,I,_),onWillDeleteFiles:(b,I,_)=>de(Wr.getOnWillDeleteFileEvent(P))(b,I,_),onWillRenameFiles:(b,I,_)=>de(Wr.getOnWillRenameFileEvent(P))(b,I,_),openTunnel:b=>(D(P,"tunnels"),v.openTunnel(P,b).then(I=>{if(!I)throw new Error("cannot open tunnel");return I})),get tunnels(){return D(P,"tunnels"),v.getTunnels()},onDidChangeTunnels:(b,I,_)=>(D(P,"tunnels"),de(v.onDidChangeTunnels)(b,I,_)),registerPortAttributesProvider:(b,I)=>(D(P,"portsAttributes"),v.registerPortsAttributesProvider(b,I)),registerTunnelProvider:(b,I)=>(D(P,"tunnelFactory"),v.registerTunnelProvider(b,I)),registerTimelineProvider:(b,I)=>(D(P,"timeline"),Pv.registerTimelineProvider(b,I,P.identifier,ee.converter)),get isTrusted(){return r.trusted},requestResourceTrust:b=>(D(P,"workspaceTrust"),r.requestResourceTrust(b)),requestWorkspaceTrust:b=>(D(P,"workspaceTrust"),r.requestWorkspaceTrust(b)),isResourceTrusted:b=>(D(P,"workspaceTrust"),r.isResourceTrusted(b)),onDidChangeWorkspaceTrustedFolders:(b,I,_)=>(D(P,"workspaceTrust"),de(r.onDidChangeWorkspaceTrustedFolders)(b,I,_)),onDidGrantWorkspaceTrust:(b,I,_)=>de(r.onDidGrantWorkspaceTrust)(b,I,_),registerEditSessionIdentityProvider:(b,I)=>(D(P,"editSessionIdentityProvider"),r.registerEditSessionIdentityProvider(b,I)),onWillCreateEditSessionIdentity:(b,I,_)=>(D(P,"editSessionIdentityProvider"),de(r.getOnWillCreateEditSessionIdentityEvent(P))(b,I,_)),registerCanonicalUriProvider:(b,I)=>(D(P,"canonicalUriProvider"),r.registerCanonicalUriProvider(b,I)),getCanonicalUri:(b,I,_)=>(D(P,"canonicalUriProvider"),r.provideCanonicalUri(b,I,_)),decode(b,I){return r.decode(b,I)},encode(b,I){return r.encode(b,I)}},WH={get inputBox(){return f.report("scm.inputBox",P,"Use 'SourceControl.inputBox' instead"),Jl.getLastInputBox(P)},createSourceControl(b,I,_,Ce,ot,Kt){return(Ce||ot||Kt)&&D(P,"scmProviderOptions"),Jl.createSourceControl(P,b,I,_,Ce,ot,Kt)}},$H={createCommentController(b,I){return ma.createCommentController(P,b,I)}},zH={get activeDebugSession(){return Z.activeDebugSession},get activeDebugConsole(){return Z.activeDebugConsole},get breakpoints(){return Z.breakpoints},get activeStackItem(){return Z.activeStackItem},registerDebugVisualizationProvider(b,I){return D(P,"debugVisualization"),Z.registerDebugVisualizationProvider(P,b,I)},registerDebugVisualizationTreeProvider(b,I){return D(P,"debugVisualization"),Z.registerDebugVisualizationTree(P,b,I)},onDidStartDebugSession(b,I,_){return de(Z.onDidStartDebugSession)(b,I,_)},onDidTerminateDebugSession(b,I,_){return de(Z.onDidTerminateDebugSession)(b,I,_)},onDidChangeActiveDebugSession(b,I,_){return de(Z.onDidChangeActiveDebugSession)(b,I,_)},onDidReceiveDebugSessionCustomEvent(b,I,_){return de(Z.onDidReceiveDebugSessionCustomEvent)(b,I,_)},onDidChangeBreakpoints(b,I,_){return de(Z.onDidChangeBreakpoints)(b,I,_)},onDidChangeActiveStackItem(b,I,_){return de(Z.onDidChangeActiveStackItem)(b,I,_)},registerDebugConfigurationProvider(b,I,_){return Z.registerDebugConfigurationProvider(b,I,_||1)},registerDebugAdapterDescriptorFactory(b,I){return Z.registerDebugAdapterDescriptorFactory(P,b,I)},registerDebugAdapterTrackerFactory(b,I){return Z.registerDebugAdapterTrackerFactory(b,I)},startDebugging(b,I,_){return!_||typeof _=="object"&&"configuration"in _?Z.startDebugging(b,I,{parentSession:_}):Z.startDebugging(b,I,_||{})},stopDebugging(b){return Z.stopDebugging(b)},addBreakpoints(b){return Z.addBreakpoints(b)},removeBreakpoints(b){return Z.removeBreakpoints(b)},asDebugSourceUri(b,I){return Z.asDebugSourceUri(b,I)}},qH={registerTaskProvider:(b,I)=>ne.registerTaskProvider(P,b,I),fetchTasks:b=>ne.fetchTasks(b),executeTask:b=>ne.executeTask(P,b),get taskExecutions(){return ne.taskExecutions},onDidStartTask:(b,I,_)=>{let Ce=ot=>{De(P,"taskExecutionTerminal")||ot?.execution?.terminal!==void 0&&(ot.execution.terminal=void 0);let Kt={...ot,execution:ot.execution};return b.call(I,Kt)};return de(ne.onDidStartTask)(Ce,I,_)},onDidEndTask:(b,I,_)=>de(ne.onDidEndTask)(b,I,_),onDidStartTaskProcess:(b,I,_)=>de(ne.onDidStartTaskProcess)(b,I,_),onDidEndTaskProcess:(b,I,_)=>de(ne.onDidEndTaskProcess)(b,I,_),onDidStartTaskProblemMatchers:(b,I,_)=>(D(P,"taskProblemMatcherStatus"),de(ne.onDidStartTaskProblemMatchers)(b,I,_)),onDidEndTaskProblemMatchers:(b,I,_)=>(D(P,"taskProblemMatcherStatus"),de(ne.onDidEndTaskProblemMatchers)(b,I,_))},KH={createNotebookController(b,I,_,Ce,ot){return vi.createNotebookController(P,b,I,_,Ce,De(P,"notebookMessaging")?ot:void 0)},registerNotebookCellStatusBarItemProvider:(b,I)=>Be.registerNotebookCellStatusBarItemProvider(P,b,I),createRendererMessaging(b){return pa.createRendererMessaging(P,b)},createNotebookControllerDetectionTask(b){return D(P,"notebookKernelSource"),vi.createNotebookControllerDetectionTask(P,b)},registerKernelSourceActionProvider(b,I){return D(P,"notebookKernelSource"),vi.registerKernelSourceActionProvider(P,b,I)}},GH={t(...b){if(typeof b[0]=="string"){let I=b.shift(),_=!b||typeof b[0]!="object"?b:b[0];return Ke.getMessage(P.identifier.value,{message:I,args:_})}return Ke.getMessage(P.identifier.value,b[0])},get bundle(){return Ke.getBundle(P.identifier.value)},get uri(){return Ke.getBundleUri(P.identifier.value)}},jH={transferActiveChat(b){return D(P,"interactive"),Xe.transferActiveChat(b)}},QH={getRelatedInformation(b,I){return D(P,"aiRelatedInformation"),Mo.getRelatedInformation(P,b,I)},registerRelatedInformationProvider(b,I){return D(P,"aiRelatedInformation"),Mo.registerRelatedInformationProvider(P,b,I)},registerEmbeddingVectorProvider(b,I){return D(P,"aiRelatedInformation"),on.registerEmbeddingVectorProvider(P,b,I)},registerSettingsSearchProvider(b){return D(P,"aiSettingsSearch"),Pn.registerSettingsSearchProvider(P,b)}},JH={registerMappedEditsProvider(b,I){return D(P,"mappedEditsProvider"),{dispose(){}}},registerMappedEditsProvider2(b){return D(P,"mappedEditsProvider"),Ql.registerMappedEditsProvider(P,b)},createChatParticipant(b,I){return Xe.createChatAgent(P,b,I)},createDynamicChatParticipant(b,I,_){return D(P,"chatParticipantPrivate"),Xe.createDynamicChatAgent(P,b,I,_)},registerChatParticipantDetectionProvider(b){return D(P,"chatParticipantPrivate"),Xe.registerChatParticipantDetectionProvider(P,b)},onDidDisposeChatSession:(b,I,_)=>(D(P,"chatParticipantPrivate"),de(Xe.onDidDisposeChatSession)(b,I,_)),updateQuotas:b=>{D(P,"chatParticipantPrivate"),Lt.updateQuotas(b)},registerChatSessionItemProvider:(b,I)=>(D(P,"chatSessionsProvider"),f.report("chat.registerChatSessionItemProvider",P,"Please migrate to the new chat session controller API",{usageId:b}),gt.registerChatSessionItemProvider(P,b,I)),createChatSessionItemController:(b,I)=>(D(P,"chatSessionsProvider"),gt.createChatSessionItemController(P,b,I)),registerChatSessionContentProvider(b,I,_,Ce){return D(P,"chatSessionsProvider"),gt.registerChatSessionContentProvider(P,b,_,I,Ce)},registerChatOutputRenderer:(b,I)=>(D(P,"chatOutputRenderer"),He.registerChatOutputRenderer(P,b,I)),registerChatWorkspaceContextProvider(b,I){return D(P,"chatContextProvider"),zt.registerChatWorkspaceContextProvider(`${P.id}-${b}`,I)},registerChatExplicitContextProvider(b,I){return D(P,"chatContextProvider"),zt.registerChatExplicitContextProvider(`${P.id}-${b}`,I)},registerChatResourceContextProvider(b,I,_){return D(P,"chatContextProvider"),zt.registerChatResourceContextProvider(Dt(b),`${P.id}-${I}`,_)},registerChatContextProvider(b,I,_){return D(P,"chatContextProvider"),zt.registerChatContextProvider(b?Dt(b):void 0,`${P.id}-${I}`,_)},registerCustomAgentProvider(b){return D(P,"chatPromptFiles"),Xe.registerPromptFileProvider(P,"agent",b)},registerInstructionsProvider(b){return D(P,"chatPromptFiles"),Xe.registerPromptFileProvider(P,"instructions",b)},registerPromptFileProvider(b){return D(P,"chatPromptFiles"),Xe.registerPromptFileProvider(P,"prompt",b)},registerSkillProvider(b){return D(P,"chatPromptFiles"),Xe.registerPromptFileProvider(P,"skill",b)},registerHookProvider(b){return D(P,"chatPromptFiles"),Xe.registerPromptFileProvider(P,"hook",b)},registerChatDebugLogProvider(b){return D(P,"chatDebug"),kn.registerChatDebugLogProvider(b)},onDidReceiveChatDebugEvent:(b,I,_)=>(D(P,"chatDebug"),kn.onDidAddCoreEvent(b,I,_)),getCustomAgents(b){return D(P,"chatPromptFiles"),Xe.provideCustomAgents(b)},onDidChangeCustomAgents:(b,I,_)=>(D(P,"chatPromptFiles"),Xe.onDidChangeCustomAgents(b,I,_)),getInstructions(b){return D(P,"chatPromptFiles"),Xe.provideInstructions(b)},onDidChangeInstructions:(b,I,_)=>(D(P,"chatPromptFiles"),Xe.onDidChangeInstructions(b,I,_)),getSkills(b){return D(P,"chatPromptFiles"),Xe.provideSkills(b)},onDidChangeSkills:(b,I,_)=>(D(P,"chatPromptFiles"),Xe.onDidChangeSkills(b,I,_)),getSlashCommands(b){return D(P,"chatPromptFiles"),Xe.provideSlashCommands(b)},onDidChangeSlashCommands:(b,I,_)=>(D(P,"chatPromptFiles"),Xe.onDidChangeSlashCommands(b,I,_)),getHooks(b){return D(P,"chatPromptFiles"),Xe.provideHooks(b)},onDidChangeHooks:(b,I,_)=>(D(P,"chatPromptFiles"),Xe.onDidChangeHooks(b,I,_)),getPlugins(b){return D(P,"chatPromptFiles"),Xe.providePlugins(b)},onDidChangePlugins:(b,I,_)=>(D(P,"chatPromptFiles"),Xe.onDidChangePlugins(b,I,_)),registerChatSessionCustomizationProvider(b,I,_){return D(P,"chatSessionCustomizationProvider"),Xe.registerChatSessionCustomizationProvider(P,b,I,_)},createInputNotification(b){return D(P,"chatInputNotification"),IM.createInputNotification(P,b)}},XH={selectChatModels:b=>Q.selectLanguageModels(P,b??{}),onDidChangeChatModels:(b,I,_)=>Q.onDidChangeProviders(b,I,_),registerLanguageModelChatProvider:(b,I)=>Q.registerLanguageModelChatProvider(P,b,I),get isModelProxyAvailable(){return D(P,"languageModelProxy"),Q.isModelProxyAvailable},onDidChangeModelProxyAvailability:(b,I,_)=>(D(P,"languageModelProxy"),Q.onDidChangeModelProxyAvailability(b,I,_)),getModelProxy:()=>(D(P,"languageModelProxy"),Q.getModelProxy(P)),registerLanguageModelProxyProvider:b=>(D(P,"chatParticipantPrivate"),Q.registerLanguageModelProxyProvider(P,b)),get embeddingModels(){return D(P,"embeddings"),Ue.embeddingsModels},onDidChangeEmbeddingModels:(b,I,_)=>(D(P,"embeddings"),Ue.onDidChange(b,I,_)),registerEmbeddingsProvider(b,I){return D(P,"embeddings"),Ue.registerEmbeddingsProvider(P,b,I)},async computeEmbeddings(b,I,_){return D(P,"embeddings"),Ue.computeEmbeddings(b,I,_)},registerTool(b,I){return Yt.registerTool(P,b,I)},registerToolDefinition(b,I){return Yt.registerToolDefinition(P,b,I)},invokeTool(b,I,_){return typeof b!="string"&&D(P,"chatParticipantAdditions"),Yt.invokeTool(P,b,I,_)},get tools(){return Yt.getTools(P)},fileIsIgnored(b,I){return Q.fileIsIgnored(P,b,I)},registerIgnoredFileProvider(b){return Q.registerIgnoredFileProvider(P,b)},registerMcpServerDefinitionProvider(b,I){return z.registerMcpConfigurationProvider(P,b,I)},onDidChangeMcpServerDefinitions:(...b)=>(D(P,"mcpServerDefinitions"),de(z.onDidChangeMcpServerDefinitions)(...b)),get mcpServerDefinitions(){return D(P,"mcpServerDefinitions"),z.mcpServerDefinitions},startMcpGateway(b){return D(P,"mcpServerDefinitions"),z.startMcpGateway(b)},onDidChangeChatRequestTools(...b){return D(P,"chatParticipantAdditions"),de(Xe.onDidChangeChatRequestTools)(...b)}},YH={registerSpeechProvider(b,I){return D(P,"speech"),Oo.registerProvider(P.identifier,b,I)}};return{version:t.version,ai:QH,authentication:UH,commands:Eg,comments:$H,chat:JH,debug:zH,env:xM,extensions:HH,interactive:jH,l10n:GH,languages:VH,lm:XH,notebooks:KH,scm:WH,speech:YH,tasks:qH,tests:FH,window:BH,workspace:CM,Breakpoint:Ns,TerminalOutputAnchor:M_,ChatResultFeedbackKind:kx,ChatVariableLevel:sD,ChatCompletionItem:TI,ChatReferenceDiagnostic:El,CallHierarchyIncomingCall:qu,CallHierarchyItem:ml,CallHierarchyOutgoingCall:Ku,CancellationError:rt,CancellationTokenSource:Me,CandidatePortSource:lw,CodeAction:Bi,CodeActionKind:ft,CodeActionTriggerKind:FI,CodeLens:Ya,Color:ti,ColorInformation:ol,ColorPresentation:rl,ColorThemeKind:bx,CommentMode:Q_,CommentState:J_,CommentThreadCollapsibleState:cx,CommentThreadState:ux,CommentThreadApplicability:px,CommentThreadFocus:mx,CompletionItem:tl,CompletionItemKind:Xf,CompletionItemTag:BI,CompletionList:ei,CompletionTriggerKind:VI,ConfigurationTarget:rx,CustomExecution:jd,DebugAdapterExecutable:il,DebugAdapterInlineImplementation:Fs,DebugAdapterNamedPipeServer:sl,DebugAdapterServer:Us,DebugConfigurationProviderTriggerKind:p_,DebugConsoleMode:gx,DebugVisualization:vI,DecorationRangeBehavior:YI,Diagnostic:As,DiagnosticRelatedInformation:Ui,DiagnosticSeverity:Ud,DiagnosticTag:Gf,Disposable:Ie,DocumentHighlight:Ja,DocumentHighlightKind:UI,MultiDocumentHighlight:Xa,DocumentLink:nl,DocumentSymbol:vr,EndOfLine:Vd,EnvironmentVariableMutatorType:NI,EvaluatableExpression:al,InlineValueText:ll,InlineValueVariableLookup:dl,InlineValueEvaluatableExpression:cl,InlineCompletionTriggerKind:ix,InlineCompletionsDisposeReasonKind:sx,EventEmitter:w,ExtensionKind:vx,ExtensionMode:Sx,ExternalUriOpenerPriority:tD,FileChangeType:lx,FileDecoration:Jd,FileDecoration2:Jd,FileSystemError:ut,FileType:cu,FilePermission:cf,FoldingRange:$u,FoldingRangeKind:dx,FunctionBreakpoint:ri,InlineCompletionItem:Hu,InlineCompletionList:Vu,Hover:Bd,VerboseHover:Qa,HoverVerbosityAction:O_,IndentAction:K1,Location:Wt,MarkdownString:Ht,OverviewRulerLane:mP,ParameterInformation:Nu,PortAutoForwardAction:oD,Position:we,ProcessExecution:$i,ProgressLocation:Yf,QuickInputButtonLocation:X_,QuickInputButtons:Vi,Range:ve,RelativePattern:qi,Selection:On,SelectionRange:Wi,SemanticTokens:ii,SemanticTokensBuilder:hI,SemanticTokensEdit:Qu,SemanticTokensEdits:fl,SemanticTokensLegend:Qd,ShellExecution:ni,ShellQuoting:z_,SignatureHelp:Fu,SignatureHelpTriggerKind:L_,SignatureInformation:Uu,SnippetString:Ln,SourceBreakpoint:oi,StandardTokenType:Zf,StatusBarAlignment:KI,SymbolInformation:hr,SymbolKind:Lu,SymbolTag:Qf,Task:wn,TaskEventKind:W_,TaskGroup:yn,TaskPanelKind:$_,TaskRevealKind:B_,TaskRunOn:q_,TaskScope:tx,TerminalLink:sI,TerminalQuickFixTerminalCommand:lI,TerminalQuickFixOpener:aI,TerminalLocation:H_,TerminalProfile:dI,TerminalExitReason:U_,TerminalShellExecutionCommandLineConfidence:ex,TerminalCompletionItem:cI,TerminalCompletionItemKind:V_,TerminalCompletionList:uI,TerminalShellType:F_,TextDocumentSaveReason:jI,TextEdit:En,SnippetTextEdit:Ms,TextEditorCursorStyle:dP,TextEditorChangeKind:JI,TextEditorLineNumbersStyle:GI,TextEditorRevealType:QI,TextEditorSelectionChangeKind:rc,SyntaxTokenType:ic,TextDocumentChangeReason:XI,ThemeColor:Ls,ThemeIcon:an,TreeItem:zi,TreeItemCheckboxState:ox,TreeItemCollapsibleState:nx,TypeHierarchyItem:hl,UIKind:Gv,Uri:y,ViewColumn:qI,WorkspaceEdit:jo,DocumentPasteTriggerKind:G_,DocumentDropEdit:Bu,DocumentDropOrPasteEditKind:Mr,DocumentPasteEdit:gI,InlayHint:el,InlayHintLabelPart:Za,InlayHintKind:N_,RemoteAuthorityResolverError:Gi,ResolvedAuthority:iI,ManagedResolvedAuthority:pl,SourceControlInputBoxValidationType:ZI,ExtensionRuntime:Tx,TimelineItem:zu,NotebookRange:Wn,NotebookCellKind:jf,NotebookCellExecutionState:Y_,NotebookCellData:Fi,NotebookData:Fd,NotebookRendererScript:Ju,NotebookCellStatusBarAlignment:yx,NotebookEditorRevealType:Ix,NotebookCellOutput:Hi,NotebookCellOutputItem:Hd,CellErrorStackFrame:bI,NotebookCellStatusBarItem:yI,NotebookControllerAffinity:Z_,NotebookControllerAffinity2:xx,NotebookEdit:xo,NotebookKernelSourceAction:II,NotebookVariablesRequestKind:Cx,PortAttributes:CI,LinkedEditingRanges:xI,TestResultState:eD,TestRunRequest:ul,TestMessage:Ki,TestMessageStackFrame:SI,TestTag:Hs,TestRunProfileKind:Ex,TextSearchCompleteMessageType:Ch,DataTransfer:Ar,DataTransferItem:Wd,TestCoverageCount:Gd,FileCoverage:Vs,StatementCoverage:Yu,BranchCoverage:Zu,DeclarationCoverage:ep,WorkspaceTrustState:nD,LanguageStatusSeverity:HI,QuickPickItemKind:fx,InputBoxValidationSeverity:hx,TabInputText:vl,TabInputTextDiff:Bs,TabInputTextMerge:tp,TabInputCustom:bl,TabInputNotebook:yl,TabInputNotebookDiff:Il,TabInputWebview:np,TabInputTerminal:op,TabInputInteractiveWindow:rp,TabInputChat:ip,TabInputTextMultiDiff:sp,TelemetryTrustedValue:Ga,LogLevel:yd,EditSessionIdentityMatch:G1,InteractiveSessionVoteDirection:rD,ChatCopyKind:iD,ChatSessionChangedFile:MI,ChatEditingSessionActionOutcome:wx,InteractiveEditorResponseFeedbackKind:lD,DebugStackFrame:Gu,DebugThread:ju,RelatedInformationType:hD,SpeechToTextStatus:bD,TextToSpeechStatus:yD,PartialAcceptTriggerKind:WI,InlineCompletionEndOfLifeReasonKind:$I,InlineCompletionDisplayLocationKind:zI,KeywordRecognitionStatus:ID,ChatImageMimeType:fD,ChatResponseMarkdownPart:Ws,ChatResponseFileTreePart:zs,ChatResponseAnchorPart:Qi,ChatResponseProgressPart:Zd,ChatResponseProgressPart2:xl,ChatResponseThinkingProgressPart:si,ChatResponseHookPart:qs,ChatResponseReferencePart:Or,ChatResponseReferencePart2:Or,ChatResponseCodeCitationPart:Qs,ChatResponseCodeblockUriPart:js,ChatResponseWarningPart:Ji,ChatResponseInfoPart:Ks,ChatResponseTextEditPart:Yi,ChatResponseNotebookEditPart:Xs,ChatResponseWorkspaceEditPart:Tl,ChatResponseMarkdownWithVulnerabilitiesPart:ji,ChatResponseCommandButtonPart:Gs,ChatResponseConfirmationPart:$s,ChatQuestion:lp,ChatQuestionType:Px,ChatResponseQuestionCarouselPart:Xi,ChatResponseMovePart:Js,ChatResponseExtensionsPart:Cl,ChatResponseExternalEditPart:Yd,ChatResponsePullRequestPart:Sl,ChatResponseMultiDiffPart:Xd,ChatResponseReferencePartStatusKind:uD,ChatResponseClearToPreviousToolInvocationReason:pD,ChatRequestTurn:Zi,ChatRequestTurn2:Zi,ChatResponseTurn:dp,ChatResponseTurn2:wI,ChatSubagentToolInvocationData:ap,ChatToolInvocationPart:ec,ChatLocation:Rx,ChatSessionStatus:dD,ChatSessionCustomizationType:kI,ChatDebugLogLevel:cD,ChatDebugToolCallResult:Ax,ChatDebugHookResult:Mx,ChatDebugToolCallEvent:cp,ChatDebugModelTurnEvent:up,ChatDebugGenericEvent:pp,ChatDebugSubagentInvocationEvent:mp,ChatDebugUserMessageEvent:gp,ChatDebugAgentResponseEvent:fp,ChatDebugMessageSection:tc,ChatDebugEventTextContent:PI,ChatDebugMessageContentType:Ox,ChatDebugEventMessageContent:_I,ChatDebugEventToolCallContent:DI,ChatDebugEventModelTurnContent:RI,ChatDebugEventHookContent:AI,ChatRequestEditorData:hp,ChatRequestNotebookData:vp,ChatReferenceBinaryData:bp,ChatRequestEditedFileEventKind:aD,LanguageModelChatMessageRole:th,LanguageModelChatMessage:yp,LanguageModelChatMessage2:Ip,LanguageModelToolResultPart:es,LanguageModelToolResultPart2:es,LanguageModelTextPart:$t,LanguageModelTextPart2:$t,LanguageModelPartAudience:Lx,ToolResultAudience:Lx,LanguageModelToolCallPart:Lr,LanguageModelThinkingPart:ai,LanguageModelError:Qo,LanguageModelToolResult:wl,LanguageModelToolResult2:OI,LanguageModelDataPart:In,LanguageModelDataPart2:In,LanguageModelToolExtensionSource:xp,LanguageModelToolMCPSource:Cp,ExtendedLanguageModelToolResult:LI,LanguageModelChatToolMode:Nx,LanguageModelPromptTsxPart:Nr,NewSymbolName:fI,NewSymbolNameTag:j_,NewSymbolNameTriggerKind:ax,ExcludeSettingOptions:lC,TextSearchContext2:_l,TextSearchMatch2:Jo,AISearchKeyword:hc,TextSearchCompleteMessageTypeNew:Ch,ChatErrorLevel:mD,ChatInputNotificationSeverity:gD,McpHttpServerDefinition:oc,McpHttpServerDefinition2:oc,McpStdioServerDefinition:nc,McpStdioServerDefinition2:nc,McpToolAvailability:Ux,McpToolInvocationContentData:EI,SettingsSearchResultKind:vD,ChatTodoStatus:_x,ChatDebugSubagentStatus:Dx}}}var Ig=class{constructor(t,e,n,o,r,s,a){this._apiFactory=t;this._extensionRegistry=e;this._instaService=n;this._extHostConfiguration=o;this._extHostExtensionService=r;this._initData=s;this._logService=a;this._factories=new Map,this._alternatives=[]}async install(){this._installInterceptor(),fn("code/extHost/willWaitForConfig");let t=await this._extHostConfiguration.getConfigProvider();fn("code/extHost/didWaitForConfig");let e=await this._extHostExtensionService.getExtensionPathIndex();this.register(new hM(this._apiFactory,e,this._extensionRegistry,t,this._logService)),this.register(this._instaService.createInstance(jl)),this._initData.remote.isRemote&&this.register(this._instaService.createInstance(kv,e,this._initData.environment.appUriScheme))}register(t){if("nodeModuleName"in t)if(Array.isArray(t.nodeModuleName))for(let e of t.nodeModuleName)this._factories.set(e,t);else this._factories.set(t.nodeModuleName,t);typeof t.alternativeModuleName=="function"&&this._alternatives.push(e=>t.alternativeModuleName(e))}};Ig=R([S(2,Po),S(3,So),S(4,To),S(5,nt),S(6,ae)],Ig);var jl=class{static{this.aliased=new Map([["vscode-ripgrep","@vscode/ripgrep-universal"],["@vscode/ripgrep","@vscode/ripgrep-universal"],["vscode-windows-registry","@vscode/windows-registry"]])}constructor(t){if(t.environment.appRoot&&jl.aliased.size){let e=ir(this.forceForwardSlashes(t.environment.appRoot.fsPath)),n="[a-z0-9_.-]",o=`@${n}+\\/${n}+|${n}+`,r="node_modules|node_modules\\.asar(?:\\.unpacked)?";this.re=new RegExp(`^(${e}/${r}\\/)(${o})(.*)$`,"i")}}alternativeModuleName(t){if(!this.re)return;let e=this.re.exec(this.forceForwardSlashes(t));if(!e)return;let[,n,o,r]=e,s=jl.aliased.get(o);if(s!==void 0)return console.warn(`${o} as been renamed to ${s}, please update your imports`),n+s+r}forceForwardSlashes(t){return t.replace(/\\/g,"/")}};jl=R([S(0,nt)],jl);var hM=class{constructor(t,e,n,o,r){this._apiFactory=t;this._extensionPaths=e;this._extensionRegistry=n;this._configProvider=o;this._logService=r;this.nodeModuleName="vscode";this._extApiImpl=new Jn}load(t,e){let n=this._extensionPaths.findSubstr(e);if(n){let o=this._extApiImpl.get(n.identifier);return o||(o=this._apiFactory(n,this._extensionRegistry,this._configProvider),this._extApiImpl.set(n.identifier,o)),o}if(!this._defaultApiImpl){let o="";this._extensionPaths.forEach((r,s)=>o+=`	${s} -> ${r.identifier.value}
`),this._logService.warn(`Could not identify extension for 'vscode' require call from ${e}. These are the extension path mappings: 
${o}`),this._defaultApiImpl=this._apiFactory(QN,this._extensionRegistry,this._configProvider)}return this._defaultApiImpl}},kv=class{constructor(t,e,n){this._extensionPaths=t;this._appUriScheme=e;this.nodeModuleName=["open","opn"];this._mainThreadTelemetry=n.getProxy(L.MainThreadTelemetry);let o=n.getProxy(L.MainThreadWindow);this._impl=(r,s)=>{let a=y.parse(r);return s?this.callOriginal(r,s):a.scheme==="http"||a.scheme==="https"?o.$openUri(a,r,{allowTunneling:!0}):a.scheme==="mailto"||a.scheme===this._appUriScheme?o.$openUri(a,r,{}):this.callOriginal(r,s)}}load(t,e,n){let o=this._extensionPaths.findSubstr(e);return o&&(this._extensionId=o.identifier.value,this.sendShimmingTelemetry()),this._original=n(t),this._impl}callOriginal(t,e){return this.sendNoForwardTelemetry(),this._original(t,e)}sendShimmingTelemetry(){this._extensionId&&this._mainThreadTelemetry.$publicLog2("shimming.open",{extension:this._extensionId})}sendNoForwardTelemetry(){this._extensionId&&this._mainThreadTelemetry.$publicLog2("shimming.open.call.noForward",{extension:this._extensionId})}};kv=R([S(2,ge)],kv);var xg=class{constructor(t,e){this._mainThreadConsole=t.getProxy(L.MainThreadConsole),this._includeStack=e.consoleForward.includeStack,this._logNative=e.consoleForward.logNative,this._wrapConsoleMethod("info","log"),this._wrapConsoleMethod("log","log"),this._wrapConsoleMethod("warn","warn"),this._wrapConsoleMethod("debug","debug"),this._wrapConsoleMethod("error","error")}_wrapConsoleMethod(t,e){let n=this,o=console[t];Object.defineProperty(console,t,{set:()=>{},get:()=>(...r)=>{n._handleConsoleCall(t,e,o,r)}})}_handleConsoleCall(t,e,n,o){this._mainThreadConsole.$logExtensionHostMessage({type:"__$console",severity:e,arguments:Qz(o,this._includeStack)}),this._logNative&&this._nativeConsoleLogMessage(t,n,o)}};xg=R([S(0,ge),S(1,nt)],xg);var jz=1e5;function Qz(i,t){let e=[];if(i.length)for(let n=0;n<i.length;n++){let o=i[n];if(typeof o>"u")o="undefined";else if(o instanceof Error){let r=o;r.stack?o=r.stack:o=r.toString()}e.push(o)}if(t){let n=new Error().stack;n&&e.push({__$stack:n.split(`
`).slice(3).join(`
`)})}try{let n=du(e);return n.length>jz?"Output omitted for a large object that exceeds the limits":n}catch(n){return`Output omitted for an object that cannot be inspected ('${n.toString()}')`}}var Cg=class extends xg{constructor(t,e){super(t,e)}_nativeConsoleLogMessage(t,e,n){e.apply(console,n)}};Cg=R([S(0,ge),S(1,nt)],Cg);var vM=class extends Ig{_installInterceptor(){}getModule(t,e){for(let n of this._alternatives){let o=n(t);if(o){t=o;break}}if(this._factories.has(t))return this._factories.get(t).load(t,e,()=>{throw new Error("CANNOT LOAD MODULE from here.")})}},TE=class extends Hl{constructor(){super(...arguments);this.extensionRuntime=2}async _beforeAlmostReadyToRunExtensions(){this._instaService.createInstance(Cg);let e=this._instaService.invokeFunction(DH);this._fakeModules=this._instaService.createInstance(vM,e,{mine:this._myRegistry,all:this._globalRegistry}),await this._fakeModules.install(),performance.mark("code/extHost/didInitAPI"),await this._waitForDebuggerAttachment()}_getEntryPoint(e){return e.browser}async _loadCommonJSModule(e,n,o){n=n.with({path:Jz(n.path,".js")});let r=e?.identifier.value;r&&performance.mark(`code/extHost/willFetchExtensionCode/${r}`);let s=y.revive(await this._mainThreadExtensionsProxy.$asBrowserUri(n)),a=await fetch(s.toString(!0));if(r&&performance.mark(`code/extHost/didFetchExtensionCode/${r}`),a.status!==200)throw new Error(a.statusText);let l=await a.text(),d=`${n.toString(!0)}#vscode-extension`,c=`${l}
//# sourceURL=${d}`,u;try{u=new Function("module","exports","require",c)}catch(f){throw console.error(r?`Loading code for extension ${r} failed: ${f.message}`:`Loading code failed: ${f.message}`),console.error(`${n.toString(!0)}${typeof f.line=="number"?` line ${f.line}`:""}${typeof f.column=="number"?` column ${f.column}`:""}`),console.error(f),f}e&&await this._extHostLocalizationService.initializeLocalizedMessages(e);let m={},g={exports:m},v=f=>{let x=this._fakeModules.getModule(f,n);if(x===void 0)throw new Error(`Cannot load module '${f}'`);return x};try{return o.codeLoadingStart(),r&&performance.mark(`code/extHost/willLoadExtensionCode/${r}`),u(g,m,v),g.exports!==m?g.exports:m}finally{r&&performance.mark(`code/extHost/didLoadExtensionCode/${r}`),o.codeLoadingStop()}}_loadESMModule(e,n,o){throw new Error("ESM modules are not supported in the web worker extension host")}async $setRemoteEnvironment(e){}async _waitForDebuggerAttachment(e=5e3){if(!this._initData.environment.isExtensionDevelopmentDebug)return;let n=Date.now()+e;for(;Date.now()<n&&!("__jsDebugIsReady"in globalThis);)await Sn(10)}};function Jz(i,t){return vs(i)?i:i+t}Qe(ae,new _o(Um,[!0],!0));Qe(im,om,0);Qe(To,TE,0);Qe(Kp,qp,0);Qe(Ll,new _o(Yp,[!0],!0));var MH=self.close.bind(self);self.close=()=>console.trace("'close' has been blocked");var OH=postMessage.bind(self);self.postMessage=()=>console.trace("'postMessage' has been blocked");function RH(i){return/^(file|vscode-remote):/i.test(i)}var AH=fetch.bind(self);function Xz(i){self.fetch=async function(t,e){return t instanceof Request||RH(String(t))&&(t=(await i(y.parse(String(t)))).toString(!0)),AH(t,e)},self.XMLHttpRequest=class extends XMLHttpRequest{open(t,e,n,o,r){(async()=>(RH(e.toString())&&(e=(await i(y.parse(e.toString()))).toString(!0)),super.open(t,e,n??!0,o,r)))()}}}self.importScripts=()=>{throw new Error("'importScripts' has been blocked")};self.addEventListener=()=>console.trace("'addEventListener' has been blocked");self.AMDLoader=void 0;self.NLSLoaderPlugin=void 0;self.define=void 0;self.require=void 0;self.webkitRequestFileSystem=void 0;self.webkitRequestFileSystemSync=void 0;self.webkitResolveLocalFileSystemSyncURL=void 0;self.webkitResolveLocalFileSystemURL=void 0;if(self.Worker){let i=self.Worker;Worker=function(t,e){if(/^file:/i.test(t.toString()))t=cb.uriToBrowserUri(y.parse(t.toString())).toString(!0);else if(/^vscode-remote:/i.test(t.toString()))throw new Error("Creating workers from remote extensions is currently not supported.");let o=`(${(function(l){function d(m){return typeof m=="string"||m instanceof URL?String(m).replace(/^file:\/\//i,"vscode-file://vscode-app"):m}let c=fetch.bind(self);self.fetch=function(m,g){return m instanceof Request?c(m,g):c(d(m),g)},self.XMLHttpRequest=class extends XMLHttpRequest{open(m,g,v,f,x){return super.open(m,d(g),v??!0,f,x)}};let u=importScripts.bind(self);self.importScripts=(...m)=>{u(...m.map(d))},u(l)}).toString()}('${t}'))`;e=e||{},e.name=`${name} -> ${e.name||rn(t.toString())}`;let r=new Blob([o],{type:"application/javascript"}),s=URL.createObjectURL(r);return new i(s,e)}}else self.Worker=class extends UC{constructor(i,t){super(OH,i,{name:rn(i.toString()),...t})}};var Yz=new class{constructor(){this.pid=void 0}exit(i){MH()}},bM=class{constructor(){let t=new MessageChannel,e=new w,n=!1;OH(t.port2,[t.port2]),t.port1.onmessage=o=>{let{data:r}=o;if(!(r instanceof ArrayBuffer)){console.warn("UNKNOWN data received",r);return}let s=te.wrap(new Uint8Array(r,0,r.byteLength));if(S0(s,2)){n=!0,LH("received terminate message from renderer");return}e.fire(s)},this.protocol={onMessage:e.event,send:o=>{if(!n){let r=o.buffer.buffer.slice(o.buffer.byteOffset,o.buffer.byteOffset+o.buffer.byteLength);t.port1.postMessage(r,[r])}}}}};function Zz(i){return new Promise(t=>{let e=i.onMessage(n=>{e.dispose();let o=JSON.parse(n.toString());i.send(ow(0)),t({protocol:i,initData:o})});i.send(ow(1))})}var LH=i=>MH();function e6(i){return!!i&&typeof i=="object"&&i.type==="vscode.init"&&i.data instanceof Map}function NH(){fn("code/extHost/willConnectToRenderer");let i=new bM;return{onmessage(t){e6(t)&&Zz(i.protocol).then(e=>{fn("code/extHost/didWaitForInitData");let n=new NC(e.protocol,e.initData,Yz,null,t.data);Xz(o=>n.asBrowserUri(o)),LH=o=>n.terminate(o)})}}}var t6=NH();self.onmessage=i=>t6.onmessage(i.data);
//# sourceMappingURL=https://main.vscode-cdn.net/sourcemaps/6928394f91b684055b873eecb8bc281365131f1c/core/vs/workbench/api/worker/extensionHostWorkerMain.js.map
