/*!--------------------------------------------------------
 * 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 ZV=Object.defineProperty;var eB=Object.getOwnPropertyDescriptor;var y0=i=>{throw TypeError(i)};var D=(i,t,e,n)=>{for(var o=n>1?void 0:n?eB(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&&ZV(t,e,o),o},C=(i,t)=>(e,n)=>t(e,n,i);var lw=(i,t,e)=>t.has(i)||y0("Cannot "+e);var en=(i,t,e)=>(lw(i,t,"read from private field"),e?e.call(i):t.get(i)),ru=(i,t,e)=>t.has(i)?y0("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(i):t.set(i,e),$g=(i,t,e,n)=>(lw(i,t,"write to private field"),n?n.call(i,e):t.set(i,e),e),zg=(i,t,e)=>(lw(i,t,"access private method"),e);var yt=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 dw=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout(()=>{throw t.stack?ro.isErrorNoTelemetry(t)?new ro(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)}},Da=new dw;function qg(i){Da.setUnexpectedErrorHandler(i)}function Ra(i){Da.onUnexpectedError(i)}function Rt(i){Cn(i)||Da.onUnexpectedError(i)}function vd(i){Cn(i)||Da.onUnexpectedExternalError(i)}function Ei(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:ro.isErrorNoTelemetry(i),cause:n?Ei(n):void 0,code:i.code}}return i}function cw(i){let t;return i.noTelemetry?t=new ro:(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=cw(i.cause)),t}var ab="Canceled";function Cn(i){return i instanceof lt?!0:i instanceof Error&&i.name===ab&&i.message===ab}var lt=class extends Error{constructor(){super(ab),this.name=this.message}},fd=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 uw(){let i=new Error(ab);return i.name=i.message,i}function Le(i){return i?new Error(`Illegal argument: ${i}`):new Error("Illegal argument")}function iu(i){return i?new Error(`Illegal state: ${i}`):new Error("Illegal state")}var Gr=class extends TypeError{constructor(t){super(t?`${t} is read-only and cannot be changed`:"Cannot change read-only property")}};function bd(i){return i?i.message?i.message:i.stack?i.stack.split(`
`)[0]:String(i):"Error"}var lb=class extends Error{constructor(t){super("NotImplemented"),t&&(this.message=t)}},hd=class extends Error{constructor(t){super("NotSupported"),t&&(this.message=t)}};var ro=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"}},Dt=class i extends Error{constructor(t){super(t||"An unexpected bug occurred."),Object.setPrototypeOf(this,i.prototype)}};function x0(i,t,e=i.length-1){let n=tB(i,t,e);if(n!==-1)return i[n]}function tB(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 nB(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 I0=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=nB(this._array,t,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=e+1,e===-1?void 0:this._array[e]}};function Jt(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 C0(i,t,e){return oB(i.length,n=>e(i[n],t))}function oB(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 T0(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 pw(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 E0(i,t,e){let n=pw(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 dt(i){return i.filter(t=>!!t)}function w0(i){let t=0;for(let e=0;e<i.length;e++)i[e]&&(i[t]=i[e],t+=1);i.length=t}function Kg(i){return!Array.isArray(i)||i.length===0}function Ma(i){return Array.isArray(i)&&i.length>0}function Bo(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 mw(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 Gg(i,t){return Array.isArray(i)?i.map(t):t(i)}function gn(i){return Array.isArray(i)?i:[i]}var k0;(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})(k0||={});function P0(i,t){return(e,n)=>t(i(e),i(n))}var _0=(i,t)=>i-t;var S0=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||k0.isGreaterThan(t(o,e)))&&(n=!1,e=o),!0)),e}};function db(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 gw(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 R0,M0,D0=class{constructor(t,e){this.toKey=e;this._map=new Map;this[R0]="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))}[(M0=Symbol.iterator,R0=Symbol.toStringTag,M0)](){return this.values()}};function bw(i,t,e){let n=i.get(t);return n===void 0&&(n=e,i.set(t,n)),n}var fw=class{constructor(t,e){this.uri=t;this.value=e}};function iB(i){return Array.isArray(i)}var A0,Ne=class i{constructor(t,e){this[A0]="ResourceMap";if(t instanceof i)this.map=new Map(t.map),this.toKey=e??i.defaultToKey;else if(iB(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 fw(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]}*[(A0=Symbol.toStringTag,Symbol.iterator)](){for(let[,t]of this.map)yield[t.uri,t.value]}},O0,sr=class{constructor(t,e){this[O0]="ResourceSet";!t||typeof t=="function"?this._map=new Ne(t):(this._map=new Ne(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()}[(O0=Symbol.toStringTag,Symbol.iterator)](){return this.keys()}};var L0,hw=class{constructor(){this[L0]="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}[(L0=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)}},vw=class extends hw{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))}},Tr=class extends vw{constructor(t,e=1){super(t,e)}trim(t){this.trimOld(t)}set(t,e){return super.set(t,e),this.checkTrim(),this}};var au=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 lu(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 Rn(i,t){if(!i)throw new Error(t?`Assertion failed (${t})`:"Assertion Failed")}function Aa(i,t="Unreachable"){throw new Error(t)}function du(i,t="unexpected state"){if(!i)throw typeof t=="string"?new Dt(`Assertion Failed: ${t}`):t}function jg(i){if(!i()){debugger;i(),Rt(new Dt("Assertion Failed"))}}function _e(i){return typeof i=="string"}function U0(i){return sB(i,_e)}function sB(i,t){return Array.isArray(i)&&i.every(t)}function nt(i){return typeof i=="object"&&i!==null&&!Array.isArray(i)&&!(i instanceof RegExp)&&!(i instanceof Date)}function F0(i){let t=Object.getPrototypeOf(Uint8Array);return typeof i=="object"&&i instanceof t}function ar(i){return typeof i=="number"&&!isNaN(i)}function H0(i){return!!i&&typeof i[Symbol.iterator]=="function"}function wi(i){return typeof i>"u"}function io(i){return!Nt(i)}function Nt(i){return wi(i)||i===null}function cb(i,t){if(!i)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}function jr(i){return du(i!=null,"Argument is `undefined` or `null`."),i}var aB=Object.prototype.hasOwnProperty;function Oa(i){if(!nt(i))return!1;for(let t in i)if(aB.call(i,t))return!1;return!0}function yw(i){return typeof i=="function"}function V0(i,t){let e=Math.min(i.length,t.length);for(let n=0;n<e;n++)Iw(i[n],t[n])}function Iw(i,t){if(_e(t)){if(typeof i!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(yw(t)){try{if(i instanceof t)return}catch{}if(!Nt(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 Mn(i,t){for(let e in t)if(!(e in i))return!1;return!0}var It;($=>{function i(V){return!!V&&typeof V=="object"&&typeof V[Symbol.iterator]=="function"}$.is=i;let t=Object.freeze([]);function e(){return t}$.empty=e;function*n(V){yield V}$.single=n;function o(V){return i(V)?V:n(V)}$.wrap=o;function r(V){return V??t}$.from=r;function*s(V){for(let J=V.length-1;J>=0;J--)yield V[J]}$.reverse=s;function a(V){return!V||V[Symbol.iterator]().next().done===!0}$.isEmpty=a;function l(V){return V[Symbol.iterator]().next().value}$.first=l;function d(V,J){let z=0;for(let j of V)if(J(j,z++))return!0;return!1}$.some=d;function c(V,J){let z=0;for(let j of V)if(!J(j,z++))return!1;return!0}$.every=c;function u(V,J){for(let z of V)if(J(z))return z}$.find=u;function*m(V,J){for(let z of V)J(z)&&(yield z)}$.filter=m;function*g(V,J){let z=0;for(let j of V)yield J(j,z++)}$.map=g;function*v(V,J){let z=0;for(let j of V)yield*J(j,z++)}$.flatMap=v;function*h(...V){for(let J of V)H0(J)?yield*J:yield J}$.concat=h;function I(V,J,z){let j=z;for(let Y of V)j=J(j,Y);return j}$.reduce=I;function S(V){let J=0;for(let z of V)J++;return J}$.length=S;function*w(V,J,z=V.length){for(J<-V.length&&(J=0),J<0&&(J+=V.length),z<0?z+=V.length:z>V.length&&(z=V.length);J<z;J++)yield V[J]}$.slice=w;function P(V,J=Number.POSITIVE_INFINITY){let z=[];if(J===0)return[z,V];let j=V[Symbol.iterator]();for(let Y=0;Y<J;Y++){let ue=j.next();if(ue.done)return[z,$.empty()];z.push(ue.value)}return[z,{[Symbol.iterator](){return j}}]}$.consume=P;async function O(V){let J=[];for await(let z of V)J.push(z);return J}$.asyncToArray=O;async function L(V){let J=[];for await(let z of V)J=J.concat(z);return J}$.asyncToArrayFlat=L})(It||={});var lB=!1,Id=null;var B0=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 au;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(P0(l=>l.idx,_0));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(`
`)),h=db([...v].map(I=>o(I)[u]),I=>I);delete h[d[u]];for(let[I,S]of Object.entries(h))S&&c.unshift(`    - stacktraces of ${S.length} other leaks continue with ${I}`);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 dB(i){Id=i}if(lB){let i="__is_disposable_tracked__";dB(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!==F.None)try{t[i]=!0}catch{}}markAsDisposed(t){if(t&&t!==F.None)try{t[i]=!0}catch{}}markAsSingleton(t){}})}function Na(i){return Id?.trackDisposable(i),i}function Ua(i){Id?.markAsDisposed(i)}function xd(i,t){Id?.setParent(i,t)}function cB(i,t){if(Id)for(let e of i)Id.setParent(e,t)}function Qg(i){return Id?.markAsSingleton(i),i}function pb(i){return typeof i=="object"&&i!==null&&typeof i.dispose=="function"&&i.dispose.length===0}function Fn(i){if(It.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 cu(...i){let t=X(()=>Fn(i));return cB(i,t),t}var xw=class{constructor(t){this._isDisposed=!1,this._fn=t,Na(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,Ua(this),this._fn()}}};function X(i){return new xw(i)}var G=class i{constructor(){this._toDispose=new Set;this._isDisposed=!1;Na(this)}static{this.DISABLE_DISPOSED_WARNING=!1}dispose(){this._isDisposed||(Ua(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===F.None)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return xd(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)&&xd(t,null)}assertNotDisposed(){this._isDisposed&&Rt(new Dt("Object disposed"))}},F=class{constructor(){this._store=new G;Na(this),xd(this._store,this)}static{this.None=Object.freeze({dispose(){}})}dispose(){Ua(this),this._store.dispose()}_register(t){if(t===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(t)}},dn=class{constructor(){this._isDisposed=!1;Na(this)}get value(){return this._isDisposed?void 0:this._value}set value(t){this._isDisposed||t===this._value||(this._value?.dispose(),t&&xd(t,this),this._value=t)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,Ua(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let t=this._value;return this._value=void 0,t&&xd(t,null),t}};var Tn=class{constructor(t=new Map){this._isDisposed=!1;this._store=t,Na(this)}dispose(){Ua(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),xd(e,this)}deleteAndDispose(t){this._store.get(t)?.dispose(),this._store.delete(t)}deleteAndLeak(t){let e=this._store.get(t);return e&&xd(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 ub=class extends Tn{constructor(){super(new Ne)}};function mb(i,t){return new Sw(i,t)}var Sw=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?Rt(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 W0(i,t){let e=[],n;for(;(n=i.read())!==null;)e.push(n);return t(e)}function gb(i,t){return new Promise((e,n)=>{let o=[];Cw(i,{onData:r=>{t&&o.push(r)},onError:r=>{t?n(r):e(void 0)},onEnd:()=>{e(t?t(o):void 0)}})})}function Cw(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 $0(i,t){let e=mb(t);return e.end(i),e}var Jg=typeof Buffer<"u",pB=new yt(()=>new Uint8Array(256)),Tw,Ew,te=class i{static alloc(t){return Jg?new i(Buffer.allocUnsafe(t)):new i(new Uint8Array(t))}static wrap(t){return Jg&&!Buffer.isBuffer(t)&&(t=Buffer.from(t.buffer,t.byteOffset,t.byteLength)),new i(t)}static fromString(t,e){return!(e?.dontUseNodeBuffer||!1)&&Jg?new i(Buffer.from(t)):(Tw||(Tw=new TextEncoder),new i(Tw.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 Jg&&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 Jg?this.buffer.toString():(Ew||(Ew=new TextDecoder(void 0,{ignoreBOM:!0})),Ew.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 Yg(this.buffer,t)}writeUInt32BE(t,e){Xg(this.buffer,t,e)}readUInt32LE(t){return gB(this.buffer,t)}writeUInt32LE(t,e){fB(this.buffer,t,e)}readUInt8(t){return hB(this.buffer,t)}writeUInt8(t,e){vB(this.buffer,t,e)}indexOf(t,e=0){return mB(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 mB(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=pB.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 K0(i,t){return i[t+0]<<0>>>0|i[t+1]<<8>>>0}function G0(i,t,e){i[e+0]=t&255,t=t>>>8,i[e+1]=t&255}function Yg(i,t){return i[t]*2**24+i[t+1]*2**16+i[t+2]*2**8+i[t+3]}function Xg(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 gB(i,t){return i[t+0]<<0>>>0|i[t+1]<<8>>>0|i[t+2]<<16>>>0|i[t+3]<<24>>>0}function fB(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 hB(i,t){return i[t]}function vB(i,t,e){i[e]=t}function j0(i){return W0(i,t=>te.concat(t))}function ww(i){return gb(i,t=>te.concat(t))}function Q0(i){return $0(i,t=>te.concat(t))}function xo(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 bB="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",yB="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";function so({buffer:i},t=!0,e=!1){let n=e?yB:bB,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 z0="0123456789abcdef";function Fa({buffer:i}){let t="";for(let e=0;e<i.length;e++){let n=i[e];t+=z0[n>>>4],t+=z0[n&15]}return t}function Zg(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]=q0(i,e++)<<4|q0(i,e++);return te.wrap(t)}function q0(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 Yt=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=Yt.Undefined;this._last=Yt.Undefined;this._size=0}get size(){return this._size}isEmpty(){return this._first===Yt.Undefined}clear(){let t=this._first;for(;t!==Yt.Undefined;){let e=t.next;t.prev=Yt.Undefined,t.next=Yt.Undefined,t=e}this._first=Yt.Undefined,this._last=Yt.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,e){let n=new Yt(t);if(this._first===Yt.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!==Yt.Undefined){let t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==Yt.Undefined){let t=this._last.element;return this._remove(this._last),t}}peek(){if(this._last!==Yt.Undefined)return this._last.element}_remove(t){if(t.prev!==Yt.Undefined&&t.next!==Yt.Undefined){let e=t.prev;e.next=t.next,t.next.prev=e}else t.prev===Yt.Undefined&&t.next===Yt.Undefined?(this._first=Yt.Undefined,this._last=Yt.Undefined):t.next===Yt.Undefined?(this._last=this._last.prev,this._last.next=Yt.Undefined):t.prev===Yt.Undefined&&(this._first=this._first.next,this._first.prev=Yt.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==Yt.Undefined;)yield t.element,t=t.next}};function IB(){return globalThis._VSCODE_NLS_MESSAGES}function kw(){return globalThis._VSCODE_NLS_LANGUAGE}var xB=kw()==="pseudo"||typeof document<"u"&&document.location&&typeof document.location.hash=="string"&&document.location.hash.indexOf("pseudo=true")>=0;function fb(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}),xB&&(e="\uFF3B"+e.replace(/[aouei]/g,"$&$&")+"\uFF3D"),e}function p(i,t,...e){return fb(typeof i=="number"?Y0(i,t):t,e)}function Y0(i,t){let e=IB()?.[i];if(typeof e!="string"){if(typeof t=="string")return t;throw new Error(`!!! NLS MISSING: ${i} !!!`)}return e}function xs(i,t,...e){let n;typeof i=="number"?n=Y0(i,t):n=t;let o=fb(n,e);return{value:o,original:t===n?o:fb(t,e)}}var ki="en",tf=!1,nf=!1,ef=!1,SB=!1,tO=!1,_w=!1,CB=!1,Dw=!1,nO=!1,oO=!1,hb,vb=ki,X0=ki,TB,Ss,Cs=globalThis,Wo;typeof Cs.vscode<"u"&&typeof Cs.vscode.process<"u"?Wo=Cs.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(Wo=process);var rO=typeof Wo?.versions?.electron=="string",EB=rO&&Wo?.type==="renderer";if(typeof Wo=="object"){tf=Wo.platform==="win32",nf=Wo.platform==="darwin",ef=Wo.platform==="linux",SB=ef&&!!Wo.env.SNAP&&!!Wo.env.SNAP_REVISION,CB=rO,nO=!!Wo.env.CI||!!Wo.env.BUILD_ARTIFACTSTAGINGDIRECTORY||!!Wo.env.GITHUB_WORKSPACE,hb=ki,vb=ki;let i=Wo.env.VSCODE_NLS_CONFIG;if(i)try{let t=JSON.parse(i);hb=t.userLocale,X0=t.osLocale,vb=t.resolvedLanguage||ki,TB=t.languagePack?.translationsConfigFile}catch{}tO=!0}else typeof navigator=="object"&&!EB?(Ss=navigator.userAgent,tf=Ss.indexOf("Windows")>=0,nf=Ss.indexOf("Macintosh")>=0,Dw=(Ss.indexOf("Macintosh")>=0||Ss.indexOf("iPad")>=0||Ss.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,ef=Ss.indexOf("Linux")>=0,oO=Ss?.indexOf("Mobi")>=0,_w=!0,vb=kw()||ki,hb=navigator.language.toLowerCase(),X0=hb):console.error("Unable to resolve platform.");function Rw(i){switch(i){case 0:return"Web";case 1:return"Mac";case 2:return"Linux";case 3:return"Windows"}}var Pw=0;nf?Pw=1:tf?Pw=3:ef&&(Pw=2);var xt=tf,cn=nf,qn=ef;var bb=tO;var $o=_w,wB=_w&&typeof Cs.importScripts=="function",iO=wB?Cs.origin:void 0,sO=Dw,aO=oO,Va=nO;var Pi=Ss,Ha=vb,kB;(n=>{function i(){return Ha}n.value=i;function t(){return Ha.length===2?Ha==="en":Ha.length>=3?Ha[0]==="e"&&Ha[1]==="n"&&Ha[2]==="-":!1}n.isDefaultVariant=t;function e(){return Ha==="en"}n.isDefault=e})(kB||={});var PB=typeof Cs.postMessage=="function"&&!Cs.importScripts,yb=(()=>{if(PB){let i=[];Cs.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}),Cs.postMessage({vscodeScheduleAsyncWork:n},"*")}}return i=>setTimeout(i)})();var _i=nf||Dw?2:tf?1:3,Z0=!0,eO=!1;function Ib(){if(!eO){eO=!0;let i=new Uint8Array(2);i[0]=1,i[1]=2,Z0=new Uint16Array(i.buffer)[0]===513}return Z0}var of=!!(Pi&&Pi.indexOf("Chrome")>=0),lO=!!(Pi&&Pi.indexOf("Firefox")>=0),dO=!!(!of&&Pi&&Pi.indexOf("Safari")>=0),xb=!!(Pi&&Pi.indexOf("Edg/")>=0),Z3=!!(Pi&&Pi.indexOf("Android")>=0);var Cd,Mw=globalThis.vscode;if(typeof Mw<"u"&&typeof Mw.process<"u"){let i=Mw.process;Cd={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"?Cd={get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd(){return process.env.VSCODE_CWD||process.cwd()}}:Cd={get platform(){return xt?"win32":cn?"darwin":"linux"},get arch(){},get env(){return{}},cwd(){return"/"}};var Ts=Cd.cwd,So=Cd.env,Aw=Cd.platform,_B=Cd.arch;var DB=globalThis.performance.now.bind(globalThis.performance),Hn=class i{static create(t){return new i(t)}constructor(t){this._now=t===!1?Date.now:DB,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 cO=!1,RB=!1,MB=100,uO=6e4;function pO(){return!!So.VSCODE_DEV}var Ae;(it=>{it.None=()=>F.None;function t(re){if(RB){let{onDidAddListener:Q}=re,ee=pu.create(),ae=0;re.onDidAddListener=()=>{++ae===2&&(console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"),ee.print()),Q?.()}}}function e(re,Q,ee){return g(re,()=>{},0,void 0,Q??!0,void 0,ee)}it.defer=e;function n(re){return(Q,ee=null,ae)=>{let ne=!1,oe;return oe=re(le=>{if(!ne)return oe?oe.dispose():ne=!0,Q.call(ee,le)},null,ae),ne&&oe.dispose(),oe}}it.once=n;function o(re,Q){return it.once(it.filter(re,Q))}it.onceIf=o;function r(re,Q,ee){return u((ae,ne=null,oe)=>re(le=>ae.call(ne,Q(le)),null,oe),ee)}it.map=r;function s(re,Q,ee){return u((ae,ne=null,oe)=>re(le=>{Q(le),ae.call(ne,le)},null,oe),ee)}it.forEach=s;function a(re,Q,ee){return u((ae,ne=null,oe)=>re(le=>Q(le)&&ae.call(ne,le),null,oe),ee)}it.filter=a;function l(re){return re}it.signal=l;function d(...re){return(Q,ee=null,ae)=>{let ne=cu(...re.map(oe=>oe(le=>Q.call(ee,le))));return m(ne,ae)}}it.any=d;function c(re,Q,ee,ae){let ne=ee;return r(re,oe=>(ne=Q(ne,oe),ne),ae)}it.reduce=c;function u(re,Q){let ee,ae={onWillAddFirstListener(){ee=re(ne.fire,ne)},onDidRemoveLastListener(){ee?.dispose()}};Q||t(ae);let ne=new T(ae);return Q?.add(ne),ne.event}function m(re,Q){return Q instanceof Array?Q.push(re):Q&&Q.add(re),re}function g(re,Q,ee=100,ae=!1,ne=!1,oe,le){let Ye,Be,Oe,kt=0,Lt,st={leakWarningThreshold:oe,onWillAddFirstListener(){Ye=re(vs=>{kt++,Be=Q(Be,vs),ae&&!Oe&&(vo.fire(Be),Be=void 0),Lt=()=>{let Ci=Be;Be=void 0,Oe=void 0,(!ae||kt>1)&&vo.fire(Ci),kt=0},typeof ee=="number"?(Oe&&clearTimeout(Oe),Oe=setTimeout(Lt,ee)):Oe===void 0&&(Oe=null,queueMicrotask(Lt))})},onWillRemoveListener(){ne&&kt>0&&Lt?.()},onDidRemoveLastListener(){Lt=void 0,Ye.dispose()}};le||t(st);let vo=new T(st);return le?.add(vo),vo.event}it.debounce=g;function v(re,Q=0,ee,ae){return it.debounce(re,(ne,oe)=>ne?(ne.push(oe),ne):[oe],Q,void 0,ee??!0,void 0,ae)}it.accumulate=v;function h(re,Q,ee=100,ae=!0,ne=!0,oe,le){let Ye,Be,Oe,kt=0,Lt={leakWarningThreshold:oe,onWillAddFirstListener(){Ye=re(vo=>{kt++,Be=Q(Be,vo),Oe===void 0&&(ae&&(st.fire(Be),Be=void 0,kt=0),typeof ee=="number"?Oe=setTimeout(()=>{ne&&kt>0&&st.fire(Be),Be=void 0,Oe=void 0,kt=0},ee):(Oe=0,queueMicrotask(()=>{ne&&kt>0&&st.fire(Be),Be=void 0,Oe=void 0,kt=0})))})},onDidRemoveLastListener(){Ye.dispose()}};le||t(Lt);let st=new T(Lt);return le?.add(st),st.event}it.throttle=h;function I(re,Q=(ae,ne)=>ae===ne,ee){let ae=!0,ne;return a(re,oe=>{let le=ae||!Q(oe,ne);return ae=!1,ne=oe,le},ee)}it.latch=I;function S(re,Q,ee){return[it.filter(re,Q,ee),it.filter(re,ae=>!Q(ae),ee)]}it.split=S;function w(re,Q,ee=!1,ae=[],ne){let oe=ae.slice(),le;pO()&&(le={stack:pu.create(),timerId:setTimeout(()=>{oe&&oe.length>0&&le&&!le.warned&&(le.warned=!0,console.warn(`[Event.buffer][${Q}] potential LEAK detected: ${oe.length} events buffered for ${uO/1e3}s without being consumed. Buffered here:`),le.stack.print())},uO),warned:!1},ne&&ne.add(X(()=>clearTimeout(le.timerId))));let Ye=()=>{le&&clearTimeout(le.timerId)},Be=re(Lt=>{oe?(oe.push(Lt),pO()&&le&&!le.warned&&oe.length>=MB&&(le.warned=!0,console.warn(`[Event.buffer][${Q}] potential LEAK detected: ${oe.length} events buffered without being consumed. Buffered here:`),le.stack.print())):kt.fire(Lt)});ne&&ne.add(Be);let Oe=()=>{oe?.forEach(Lt=>kt.fire(Lt)),oe=null,Ye()},kt=new T({onWillAddFirstListener(){Be||(Be=re(Lt=>kt.fire(Lt)),ne&&ne.add(Be))},onDidAddFirstListener(){oe&&(ee?setTimeout(Oe):Oe())},onDidRemoveLastListener(){Be&&Be.dispose(),Be=null,Ye()}});return ne&&ne.add(kt),kt.event}it.buffer=w;function P(re,Q){return(ae,ne,oe)=>{let le=Q(new L);return re(function(Ye){let Be=le.evaluate(Ye);Be!==O&&ae.call(ne,Be)},void 0,oe)}}it.chain=P;let O=Symbol("HaltChainable");class L{constructor(){this.steps=[]}map(Q){return this.steps.push(Q),this}forEach(Q){return this.steps.push(ee=>(Q(ee),ee)),this}filter(Q){return this.steps.push(ee=>Q(ee)?ee:O),this}reduce(Q,ee){let ae=ee;return this.steps.push(ne=>(ae=Q(ae,ne),ae)),this}latch(Q=(ee,ae)=>ee===ae){let ee=!0,ae;return this.steps.push(ne=>{let oe=ee||!Q(ne,ae);return ee=!1,ae=ne,oe?ne:O}),this}evaluate(Q){for(let ee of this.steps)if(Q=ee(Q),Q===O)break;return Q}}function $(re,Q,ee=ae=>ae){let ae=(...Ye)=>le.fire(ee(...Ye)),ne=()=>re.on(Q,ae),oe=()=>re.removeListener(Q,ae),le=new T({onWillAddFirstListener:ne,onDidRemoveLastListener:oe});return le.event}it.fromNodeEventEmitter=$;function V(re,Q,ee=ae=>ae){let ae=(...Ye)=>le.fire(ee(...Ye)),ne=()=>re.addEventListener(Q,ae),oe=()=>re.removeEventListener(Q,ae),le=new T({onWillAddFirstListener:ne,onDidRemoveLastListener:oe});return le.event}it.fromDOMEventEmitter=V;function J(re,Q){let ee,ae,ne=new Promise(oe=>{ae=n(re)(oe),Hw(ae,Q),ee=()=>{gO(ae,Q)}});return ne.cancel=ee,Q&&ne.finally(()=>gO(ae,Q)),ne}it.toPromise=J;function z(re,Q){return re(ee=>Q.fire(ee))}it.forward=z;function j(re,Q,ee){return Q(ee),re(ae=>Q(ae))}it.runAndSubscribe=j;class Y{constructor(Q,ee){this._observable=Q;this._counter=0;this._hasChanged=!1;let ae={onWillAddFirstListener:()=>{Q.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{Q.removeObserver(this)}};ee||t(ae),this.emitter=new T(ae),ee&&ee.add(this.emitter)}beginUpdate(Q){this._counter++}handlePossibleChange(Q){}handleChange(Q,ee){this._hasChanged=!0}endUpdate(Q){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function ue(re,Q){return new Y(re,Q).emitter.event}it.fromObservable=ue;function Je(re){return(Q,ee,ae)=>{let ne=0,oe=!1,le={beginUpdate(){ne++},endUpdate(){ne--,ne===0&&(re.reportChanges(),oe&&(oe=!1,Q.call(ee)))},handlePossibleChange(){},handleChange(){oe=!0}};re.addObserver(le),re.reportChanges();let Ye={dispose(){re.removeObserver(le)}};return Hw(Ye,ae),Ye}}it.fromObservableLight=Je})(Ae||={});var Lw=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}}},mO=-1;var Nw=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 mu(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}},pu=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(`
`))}},mu=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"}},Uw=class extends mu{constructor(t,e,n,o,r){super(t,e,n,o,r),this.name="ListenerRefusalError"}},AB=0,uu=class{constructor(t){this.value=t;this.id=AB++}},OB=2,fO=(i,t)=>{if(i instanceof uu)t(i);else for(let e=0;e<i.length;e++){let n=i[e];n&&t(n)}},T=class{constructor(t){this._size=0;this._options=t,this._leakageMon=mO>0||this._options?.leakWarningThreshold?new Nw(t?.onListenerError??Rt,this._options?.leakWarningThreshold??mO,this._options?.leakWarningName):void 0,this._perfMon=this._options?._profName?new Lw(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(cO){let t=this._listeners;queueMicrotask(()=>{fO(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 Uw(c,`${l}. HINT: Stack shows most frequent listener (${d[1]}-times)`,d[0],this._size,this._options?.leakWarningName);return(this._options?.onListenerError||Rt)(u),F.None}if(this._disposed)return F.None;e&&(t=t.bind(e));let o=new uu(t),r,s;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(o.stack=pu.create(),r=this._leakageMon.check(o.stack,this._size+1)),cO&&(o.stack=s??pu.create()),this._listeners?this._listeners instanceof uu?(this._deliveryQueue??=new Fw,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 Hw(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*OB<=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||Rt;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 uu)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 Fw=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}},Di=class extends T{async fireAsync(t,e,n){if(this._listeners)for(this._asyncDeliveryQueue||(this._asyncDeliveryQueue=new zn),fO(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){Rt(l);continue}Object.freeze(s),await Promise.allSettled(s).then(l=>{for(let d of l)d.status==="rejected"&&Rt(d.reason)})}}},Ba=class extends T{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))}},Sb=class extends Ba{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)}},Cb=class extends T{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 Hw(i,t){t instanceof G?t.add(i):Array.isArray(t)&&t.push(i)}function gO(i,t){if(t instanceof G)t.delete(i);else if(Array.isArray(t)){let e=t.indexOf(i);e!==-1&&t.splice(e,1)}i.dispose()}var Tb=(e=>(e[e.Desktop=1]="Desktop",e[e.Web=2]="Web",e))(Tb||{});function Vw(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 hO(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 Bw(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 LB(){if(typeof performance=="object"&&typeof performance.mark=="function"&&!performance.nodeTiming)return typeof performance.timeOrigin!="number"&&!performance.timing?Bw():{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 Bw(i)}else return console.trace("perf-util loaded in UNKNOWN environment"),Bw()}function NB(i){return i.MonacoPerformanceMarks||(i.MonacoPerformanceMarks=LB()),i.MonacoPerformanceMarks}var Ww=NB(globalThis),fn=Ww.mark,UB=Ww.clearMarks,vO=Ww.getMarks;var FB=65,HB=97,VB=90,BB=122,Td=46,Kn=47,zo=92,Es=58,WB=63,wb=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 $B(i,t){if(i===null||typeof i!="object")throw new wb(t,"Object",i)}function hn(i,t){if(typeof i!="string")throw new wb(t,"string",i)}var qo=Aw==="win32";function Xe(i){return i===Kn||i===zo}function $w(i){return i===Kn}function ws(i){return i>=FB&&i<=VB||i>=HB&&i<=BB}function kb(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)!==Td||o.charCodeAt(o.length-2)!==Td){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===Td&&a!==-1?++a:a=-1}return o}function zB(i){return i?`${i[0]==="."?"":"."}${i}`:""}function bO(i,t){$B(t,"pathObject");let e=t.dir||t.root,n=t.base||`${t.name||""}${zB(t.ext)}`;return e?e===t.root?`${e}${n}`:`${e}${i}${n}`:n}var tn={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=Ts():(r=So[`=${t}`]||Ts(),(r===void 0||r.slice(0,2).toLowerCase()!==t.toLowerCase()&&r.charCodeAt(2)===zo)&&(r=`${t}\\`));let s=r.length,a=0,l="",d=!1,c=r.charCodeAt(0);if(s===1)Xe(c)&&(a=1,d=!0);else if(Xe(c))if(d=!0,Xe(r.charCodeAt(1))){let u=2,m=u;for(;u<s&&!Xe(r.charCodeAt(u));)u++;if(u<s&&u!==m){let g=r.slice(m,u);for(m=u;u<s&&Xe(r.charCodeAt(u));)u++;if(u<s&&u!==m){for(m=u;u<s&&!Xe(r.charCodeAt(u));)u++;(u===s||u!==m)&&(l=`\\\\${g}\\${r.slice(m,u)}`,a=u)}}}else a=1;else ws(c)&&r.charCodeAt(1)===Es&&(l=r.slice(0,2),a=2,s>2&&Xe(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=kb(e,!n,"\\",Xe),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 $w(r)?"\\":i;if(Xe(r))if(o=!0,Xe(i.charCodeAt(1))){let a=2,l=a;for(;a<t&&!Xe(i.charCodeAt(a));)a++;if(a<t&&a!==l){let d=i.slice(l,a);for(l=a;a<t&&Xe(i.charCodeAt(a));)a++;if(a<t&&a!==l){for(l=a;a<t&&!Xe(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 ws(r)&&i.charCodeAt(1)===Es&&(n=i.slice(0,2),e=2,t>2&&Xe(i.charCodeAt(2))&&(o=!0,e=3));let s=e<t?kb(i.slice(e),!o,"\\",Xe):"";if(s.length===0&&!o&&(s="."),s.length>0&&Xe(i.charCodeAt(t-1))&&(s+="\\"),!o&&n===void 0&&i.includes(":")){if(s.length>=2&&ws(s.charCodeAt(0))&&s.charCodeAt(1)===Es)return`.\\${s}`;let a=i.indexOf(":");do if(a===t-1||Xe(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 Xe(e)||t>2&&ws(e)&&i.charCodeAt(1)===Es&&Xe(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"&&Xe(e.charCodeAt(0))){++o;let r=e.length;r>1&&Xe(e.charCodeAt(1))&&(++o,r>2&&(Xe(e.charCodeAt(2))?++o:n=!1))}if(n){for(;o<t.length&&Xe(t.charCodeAt(o));)o++;o>=2&&(t=`\\${t.slice(o)}`)}return tn.normalize(t)},relative(i,t){if(hn(i,"from"),hn(t,"to"),i===t)return"";let e=tn.resolve(i),n=tn.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("\\"),h=n.split("\\");v[v.length-1]===""&&v.pop(),h[h.length-1]===""&&h.pop();let I=v.length,S=h.length,w=I<S?I:S,P;for(P=0;P<w&&v[P].toLowerCase()===h[P].toLowerCase();P++);return P===0?n:P===w?S>w?h.slice(P).join("\\"):I>w?"..\\".repeat(I-1-P)+"..":"":"..\\".repeat(I-P)+h.slice(P).join("\\")}let o=0;for(;o<i.length&&i.charCodeAt(o)===zo;)o++;let r=i.length;for(;r-1>o&&i.charCodeAt(r-1)===zo;)r--;let s=r-o,a=0;for(;a<t.length&&t.charCodeAt(a)===zo;)a++;let l=t.length;for(;l-1>a&&t.charCodeAt(l-1)===zo;)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===zo&&(u=m)}if(m!==c){if(u===-1)return n}else{if(d>c){if(t.charCodeAt(a+m)===zo)return n.slice(a+m+1);if(m===2)return n.slice(a+m)}s>c&&(i.charCodeAt(o+m)===zo?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)===zo)&&(g+=g.length===0?"..":"\\..");return a+=u,g.length>0?`${g}${n.slice(a,l)}`:(n.charCodeAt(a)===zo&&++a,n.slice(a,l))},toNamespacedPath(i){if(typeof i!="string"||i.length===0)return i;let t=tn.resolve(i);if(t.length<=2)return i;if(t.charCodeAt(0)===zo){if(t.charCodeAt(1)===zo){let e=t.charCodeAt(2);if(e!==WB&&e!==Td)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(ws(t.charCodeAt(0))&&t.charCodeAt(1)===Es&&t.charCodeAt(2)===zo)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 Xe(o)?i:".";if(Xe(o)){if(e=n=1,Xe(i.charCodeAt(1))){let a=2,l=a;for(;a<t&&!Xe(i.charCodeAt(a));)a++;if(a<t&&a!==l){for(l=a;a<t&&Xe(i.charCodeAt(a));)a++;if(a<t&&a!==l){for(l=a;a<t&&!Xe(i.charCodeAt(a));)a++;if(a===t)return i;a!==l&&(e=n=a+1)}}}}else ws(o)&&i.charCodeAt(1)===Es&&(e=t>2&&Xe(i.charCodeAt(2))?3:2,n=e);let r=-1,s=!0;for(let a=t-1;a>=n;--a)if(Xe(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&&ws(i.charCodeAt(0))&&i.charCodeAt(1)===Es&&(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(Xe(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(Xe(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)===Es&&ws(i.charCodeAt(0))&&(t=n=2);for(let a=i.length-1;a>=t;--a){let l=i.charCodeAt(a);if(Xe(l)){if(!r){n=a+1;break}continue}o===-1&&(r=!1,o=a+1),l===Td?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:bO.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 Xe(o)?(t.root=t.dir=i,t):(t.base=t.name=i,t);if(Xe(o)){if(n=1,Xe(i.charCodeAt(1))){let u=2,m=u;for(;u<e&&!Xe(i.charCodeAt(u));)u++;if(u<e&&u!==m){for(m=u;u<e&&Xe(i.charCodeAt(u));)u++;if(u<e&&u!==m){for(m=u;u<e&&!Xe(i.charCodeAt(u));)u++;u===e?n=u:u!==m&&(n=u+1)}}}}else if(ws(o)&&i.charCodeAt(1)===Es){if(e<=2)return t.root=t.dir=i,t;if(n=2,Xe(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),Xe(o)){if(!l){s=d+1;break}continue}a===-1&&(l=!1,a=d+1),o===Td?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},qB=(()=>{if(qo){let i=/\\/g;return()=>{let t=Ts().replace(i,"/");return t.slice(t.indexOf("/"))}}return()=>Ts()})(),He={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=qB();t=`${n}/${t}`,e=n.charCodeAt(0)===Kn}return t=kb(t,!e,"/",$w),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=kb(i,!t,"/",$w),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?".":He.normalize(t.join("/"))},relative(i,t){if(hn(i,"from"),hn(t,"to"),i===t||(i=He.resolve(i),t=He.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:bO.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===Td?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};He.win32=tn.win32=tn;He.posix=tn.posix=He;var Ko=qo?tn.normalize:He.normalize,Ri=qo?tn.isAbsolute:He.isAbsolute,gu=qo?tn.join:He.join,yO=qo?tn.resolve:He.resolve,ks=qo?tn.relative:He.relative,Mi=qo?tn.dirname:He.dirname,rn=qo?tn.basename:He.basename,Ps=qo?tn.extname:He.extname,hq=qo?tn.format:He.format,vq=qo?tn.parse:He.parse,bq=qo?tn.toNamespacedPath:He.toNamespacedPath,Gn=qo?tn.sep:He.sep,yq=qo?tn.delimiter:He.delimiter;var KB=/^\w[\w\d+.-]*$/,GB=/^\//,jB=/^\/\//;function QB(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&&!KB.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(!GB.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(jB.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 JB(i,t){return!i&&!t?"file":i}function YB(i,t){switch(i){case"https":case"http":case"file":t?t[0]!==Qr&&(t=Qr+t):t=Qr;break}return t}var jt="",Qr="/",XB=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,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||jt,this.authority=t.authority||jt,this.path=t.path||jt,this.query=t.query||jt,this.fragment=t.fragment||jt):(this.scheme=JB(t,s),this.authority=e||jt,this.path=YB(this.scheme,n||jt),this.query=o||jt,this.fragment=r||jt,QB(this,s))}get fsPath(){return rf(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=jt),n===void 0?n=this.authority:n===null&&(n=jt),o===void 0?o=this.path:o===null&&(o=jt),r===void 0?r=this.query:r===null&&(r=jt),s===void 0?s=this.fragment:s===null&&(s=jt),e===this.scheme&&n===this.authority&&o===this.path&&r===this.query&&s===this.fragment?this:new Wa(e,n,o,r,s)}static parse(t,e=!1){let n=XB.exec(t);return n?new Wa(n[2]||jt,Pb(n[4]||jt),Pb(n[5]||jt),Pb(n[7]||jt),Pb(n[9]||jt),e):new Wa(jt,jt,jt,jt,jt)}static file(t){let e=jt;if(xt&&(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 Wa("file",e,t,jt,jt)}static from(t,e){return new Wa(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 xt&&t.scheme==="file"?n=i.file(tn.join(rf(t,!0),...e)).path:n=He.join(t.path,...e),t.with({path:n})}toString(t=!1){return zw(this,t)}toJSON(){return this}static revive(t){if(t){if(t instanceof i)return t;{let e=new Wa(t);return e._formatted=t.external??null,e._fsPath=t._sep===SO?t.fsPath??null:null,e}}else return t}[Symbol.for("debug.description")](){return`URI(${this.toString()})`}};function $a(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 SO=xt?1:void 0,Wa=class extends y{constructor(){super(...arguments);this._formatted=null;this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=rf(this,!1)),this._fsPath}toString(e=!1){return e?zw(this,!0):(this._formatted||(this._formatted=zw(this,!1)),this._formatted)}toJSON(){let e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=SO),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}},CO={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 IO(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=CO[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 ZB(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+=CO[n]):t!==void 0&&(t+=i[e])}return t!==void 0?t:i}function rf(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,xt&&(e=e.replace(/\//g,"\\")),e}function zw(i,t){let e=t?ZB:IO,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:IO(l,!1,!1)),n}function TO(i){try{return decodeURIComponent(i)}catch{return i.length>3?i.substr(0,3)+TO(i.substr(3)):i}}var xO=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function Pb(i){return i.match(xO)?i.replace(xO,t=>TO(t)):i}var sf=class i{constructor(t){this._proxyIdentifierBrand=void 0;this.sid=t,this.nid=++i.count}static{this.count=0}},EO=[];function H(i){let t=new sf(i);return EO[t.nid]=t,t}function af(i){return EO[i].sid}var Vt=class{constructor(t){this.value=t}};var qw=(o=>(o[o.None=0]="None",o[o.Process=1]="Process",o[o.Output=2]="Output",o[o.Hybrid=3]="Hybrid",o))(qw||{}),wO=class i{static{this._n=0}static mixin(t){return t._id=i._n++,t}};var N={MainThreadAuthentication:H("MainThreadAuthentication"),MainThreadBulkEdits:H("MainThreadBulkEdits"),MainThreadLanguageModels:H("MainThreadLanguageModels"),MainThreadEmbeddings:H("MainThreadEmbeddings"),MainThreadChatAgents2:H("MainThreadChatAgents2"),MainThreadCodeMapper:H("MainThreadCodeMapper"),MainThreadLanguageModelTools:H("MainThreadChatSkills"),MainThreadGitExtension:H("MainThreadGitExtension"),MainThreadClipboard:H("MainThreadClipboard"),MainThreadCommands:H("MainThreadCommands"),MainThreadComments:H("MainThreadComments"),MainThreadConfiguration:H("MainThreadConfiguration"),MainThreadConsole:H("MainThreadConsole"),MainThreadDebugService:H("MainThreadDebugService"),MainThreadDecorations:H("MainThreadDecorations"),MainThreadDiagnostics:H("MainThreadDiagnostics"),MainThreadDialogs:H("MainThreadDiaglogs"),MainThreadDocuments:H("MainThreadDocuments"),MainThreadDocumentContentProviders:H("MainThreadDocumentContentProviders"),MainThreadTextEditors:H("MainThreadTextEditors"),MainThreadEditorInsets:H("MainThreadEditorInsets"),MainThreadEditorTabs:H("MainThreadEditorTabs"),MainThreadErrors:H("MainThreadErrors"),MainThreadTreeViews:H("MainThreadTreeViews"),MainThreadDownloadService:H("MainThreadDownloadService"),MainThreadLanguageFeatures:H("MainThreadLanguageFeatures"),MainThreadLanguages:H("MainThreadLanguages"),MainThreadLogger:H("MainThreadLogger"),MainThreadMessageService:H("MainThreadMessageService"),MainThreadOutputService:H("MainThreadOutputService"),MainThreadProgress:H("MainThreadProgress"),MainThreadQuickDiff:H("MainThreadQuickDiff"),MainThreadAgentEditorComments:H("MainThreadAgentEditorComments"),MainThreadDocumentDiff:H("MainThreadDocumentDiff"),MainThreadQuickOpen:H("MainThreadQuickOpen"),MainThreadStatusBar:H("MainThreadStatusBar"),MainThreadSecretState:H("MainThreadSecretState"),MainThreadStorage:H("MainThreadStorage"),MainThreadSpeech:H("MainThreadSpeechProvider"),MainThreadTelemetry:H("MainThreadTelemetry"),MainThreadMeteredConnection:H("MainThreadMeteredConnection"),MainThreadTerminalService:H("MainThreadTerminalService"),MainThreadTerminalShellIntegration:H("MainThreadTerminalShellIntegration"),MainThreadWebviews:H("MainThreadWebviews"),MainThreadWebviewPanels:H("MainThreadWebviewPanels"),MainThreadWebviewViews:H("MainThreadWebviewViews"),MainThreadCustomEditors:H("MainThreadCustomEditors"),MainThreadUrls:H("MainThreadUrls"),MainThreadUriOpeners:H("MainThreadUriOpeners"),MainThreadProfileContentHandlers:H("MainThreadProfileContentHandlers"),MainThreadWorkspace:H("MainThreadWorkspace"),MainThreadFileSystem:H("MainThreadFileSystem"),MainThreadFileSystemEventService:H("MainThreadFileSystemEventService"),MainThreadExtensionService:H("MainThreadExtensionService"),MainThreadSCM:H("MainThreadSCM"),MainThreadSearch:H("MainThreadSearch"),MainThreadShare:H("MainThreadShare"),MainThreadTask:H("MainThreadTask"),MainThreadWindow:H("MainThreadWindow"),MainThreadPower:H("MainThreadPower"),MainThreadLabelService:H("MainThreadLabelService"),MainThreadNotebook:H("MainThreadNotebook"),MainThreadNotebookDocuments:H("MainThreadNotebookDocumentsShape"),MainThreadNotebookEditors:H("MainThreadNotebookEditorsShape"),MainThreadNotebookKernels:H("MainThreadNotebookKernels"),MainThreadNotebookRenderers:H("MainThreadNotebookRenderers"),MainThreadInteractive:H("MainThreadInteractive"),MainThreadTheming:H("MainThreadTheming"),MainThreadTunnelService:H("MainThreadTunnelService"),MainThreadManagedSockets:H("MainThreadManagedSockets"),MainThreadBrowserTunnelProxy:H("MainThreadBrowserTunnelProxy"),MainThreadTimeline:H("MainThreadTimeline"),MainThreadTesting:H("MainThreadTesting"),MainThreadLocalization:H("MainThreadLocalizationShape"),MainThreadMcp:H("MainThreadMcpShape"),MainThreadAiRelatedInformation:H("MainThreadAiRelatedInformation"),MainThreadAiEmbeddingVector:H("MainThreadAiEmbeddingVector"),MainThreadChatStatus:H("MainThreadChatStatus"),MainThreadChatQuota:H("MainThreadChatQuota"),MainThreadChatInputNotification:H("MainThreadChatInputNotification"),MainThreadAiSettingsSearch:H("MainThreadAiSettingsSearch"),MainThreadDataChannels:H("MainThreadDataChannels"),MainThreadChatSessions:H("MainThreadChatSessions"),MainThreadChatOutputRenderer:H("MainThreadChatOutputRenderer"),MainThreadChatContext:H("MainThreadChatContext"),MainThreadChatDebug:H("MainThreadChatDebug"),MainThreadBrowsers:H("MainThreadBrowsers")},me={ExtHostCodeMapper:H("ExtHostCodeMapper"),ExtHostCommands:H("ExtHostCommands"),ExtHostConfiguration:H("ExtHostConfiguration"),ExtHostDiagnostics:H("ExtHostDiagnostics"),ExtHostDebugService:H("ExtHostDebugService"),ExtHostDecorations:H("ExtHostDecorations"),ExtHostDocumentsAndEditors:H("ExtHostDocumentsAndEditors"),ExtHostDocuments:H("ExtHostDocuments"),ExtHostDocumentContentProviders:H("ExtHostDocumentContentProviders"),ExtHostDocumentSaveParticipant:H("ExtHostDocumentSaveParticipant"),ExtHostEditors:H("ExtHostEditors"),ExtHostTreeViews:H("ExtHostTreeViews"),ExtHostFileSystem:H("ExtHostFileSystem"),ExtHostFileSystemInfo:H("ExtHostFileSystemInfo"),ExtHostFileSystemEventService:H("ExtHostFileSystemEventService"),ExtHostLanguages:H("ExtHostLanguages"),ExtHostLanguageFeatures:H("ExtHostLanguageFeatures"),ExtHostQuickOpen:H("ExtHostQuickOpen"),ExtHostQuickDiff:H("ExtHostQuickDiff"),ExtHostAgentEditorComments:H("ExtHostAgentEditorComments"),ExtHostStatusBar:H("ExtHostStatusBar"),ExtHostShare:H("ExtHostShare"),ExtHostExtensionService:H("ExtHostExtensionService"),ExtHostLogLevelServiceShape:H("ExtHostLogLevelServiceShape"),ExtHostTerminalService:H("ExtHostTerminalService"),ExtHostTerminalShellIntegration:H("ExtHostTerminalShellIntegration"),ExtHostSCM:H("ExtHostSCM"),ExtHostSearch:H("ExtHostSearch"),ExtHostTask:H("ExtHostTask"),ExtHostWorkspace:H("ExtHostWorkspace"),ExtHostWindow:H("ExtHostWindow"),ExtHostPower:H("ExtHostPower"),ExtHostWebviews:H("ExtHostWebviews"),ExtHostWebviewPanels:H("ExtHostWebviewPanels"),ExtHostCustomEditors:H("ExtHostCustomEditors"),ExtHostWebviewViews:H("ExtHostWebviewViews"),ExtHostEditorInsets:H("ExtHostEditorInsets"),ExtHostEditorTabs:H("ExtHostEditorTabs"),ExtHostProgress:H("ExtHostProgress"),ExtHostComments:H("ExtHostComments"),ExtHostSecretState:H("ExtHostSecretState"),ExtHostStorage:H("ExtHostStorage"),ExtHostUrls:H("ExtHostUrls"),ExtHostUriOpeners:H("ExtHostUriOpeners"),ExtHostChatOutputRenderer:H("ExtHostChatOutputRenderer"),ExtHostProfileContentHandlers:H("ExtHostProfileContentHandlers"),ExtHostOutputService:H("ExtHostOutputService"),ExtHostLabelService:H("ExtHostLabelService"),ExtHostNotebook:H("ExtHostNotebook"),ExtHostNotebookDocuments:H("ExtHostNotebookDocuments"),ExtHostNotebookEditors:H("ExtHostNotebookEditors"),ExtHostNotebookKernels:H("ExtHostNotebookKernels"),ExtHostNotebookRenderers:H("ExtHostNotebookRenderers"),ExtHostNotebookDocumentSaveParticipant:H("ExtHostNotebookDocumentSaveParticipant"),ExtHostInteractive:H("ExtHostInteractive"),ExtHostChatAgents2:H("ExtHostChatAgents"),ExtHostLanguageModelTools:H("ExtHostChatSkills"),ExtHostChatProvider:H("ExtHostChatProvider"),ExtHostChatContext:H("ExtHostChatContext"),ExtHostChatDebug:H("ExtHostChatDebug"),ExtHostSpeech:H("ExtHostSpeech"),ExtHostEmbeddings:H("ExtHostEmbeddings"),ExtHostAiRelatedInformation:H("ExtHostAiRelatedInformation"),ExtHostAiEmbeddingVector:H("ExtHostAiEmbeddingVector"),ExtHostAiSettingsSearch:H("ExtHostAiSettingsSearch"),ExtHostTheming:H("ExtHostTheming"),ExtHostTunnelService:H("ExtHostTunnelService"),ExtHostManagedSockets:H("ExtHostManagedSockets"),ExtHostBrowserTunnelProxy:H("ExtHostBrowserTunnelProxy"),ExtHostAuthentication:H("ExtHostAuthentication"),ExtHostTimeline:H("ExtHostTimeline"),ExtHostTesting:H("ExtHostTesting"),ExtHostTelemetry:H("ExtHostTelemetry"),ExtHostMeteredConnection:H("ExtHostMeteredConnection"),ExtHostLocalization:H("ExtHostLocalization"),ExtHostMcp:H("ExtHostMcp"),ExtHostDataChannels:H("ExtHostDataChannels"),ExtHostChatSessions:H("ExtHostChatSessions"),ExtHostChatQuota:H("ExtHostChatQuota"),ExtHostGitExtension:H("ExtHostGitExtension"),ExtHostBrowsers:H("ExtHostBrowsers")};var kO=Object.freeze(function(i,t){let e=setTimeout(i.bind(t),0);return{dispose(){clearTimeout(e)}}}),be;(n=>{function i(o){return o===n.None||o===n.Cancelled||o instanceof fu?!0:!o||typeof o!="object"?!1:typeof o.isCancellationRequested=="boolean"&&typeof o.onCancellationRequested=="function"}n.isCancellationToken=i,n.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Ae.None}),n.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:kO})})(be||={});var fu=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?kO:(this._emitter||(this._emitter=new T),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}},Re=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 fu),this._token}cancel(){this._token?this._token instanceof fu&&this._token.cancel():this._token=be.Cancelled}dispose(t=!1){t&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof fu&&this._token.dispose():this._token=be.None}};function e4(i){return i}var _b=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 Kw(i){return i<0?0:i>255?255:i|0}function Ed(i){return i<0?0:i>4294967295?4294967295:i|0}function Oi(i){return!i||typeof i!="string"?!0:i.trim().length===0}var n4=/{(\d+)}/g;function MO(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 Jw(i,t){return Object.keys(t).length===0?i:i.replace(o4,(e,n)=>t[n]??e)}function dr(i){return i.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function AO(i,t){let e=0,n=i.indexOf(t);for(;n!==-1;)e++,n=i.indexOf(t,n+t.length);return e}function Yw(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 wd(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 OO(i,t,e={}){if(!i)throw new Error("Cannot create regex from empty string");t||(i=dr(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 Rb(i){return i.source==="^"||i.source==="^$"||i.source==="$"||i.source==="^\\s*$"?!1:!!(i.exec("")&&i.lastIndex===0)}function Mb(i){return i.split(/\r\n|\r|\n/)}function Ab(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 LO(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 Jr(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 kd(i,t){return Pd(i,t,0,i.length,0,t.length)}function Pd(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);PO(l)&&(l-=32),PO(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 PO(i){return i>=97&&i<=122}function Qn(i,t){return i.length===t.length&&Pd(i,t)===0}function Lb(i,t,e){return i===t||!!e&&i!==void 0&&t!==void 0&&Qn(i,t)}function za(i,t){let e=t.length;return e<=i.length&&Pd(i,t,0,e)===0}function NO(i,t){let e=i.length,n=e-t.length;return n>=0&&Pd(i,t,n,e)===0}function UO(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 _d(i){return 55296<=i&&i<=56319}function lf(i){return 56320<=i&&i<=57343}function Nb(i,t){return(i-55296<<10)+(t-56320)+65536}function Xw(i,t,e){let n=i.charCodeAt(e);if(_d(n)&&e+1<t){let o=i.charCodeAt(e+1);if(lf(o))return Nb(n,o)}return n}function r4(i,t){let e=i.charCodeAt(t-1);if(lf(e)&&t>1){let n=i.charCodeAt(t-2);if(_d(n))return Nb(n,e)}return e}var jw=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=Xw(this._str,this._len,this._offset);return this._offset+=t>=65536?2:1,t}eol(){return this._offset>=this._len}},Qw=class{get offset(){return this._iterator.offset}constructor(t,e=0){this._iterator=new jw(t,e)}nextGraphemeLength(){let t=Db.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(_O(o,s)){e.setOffset(r);break}o=s}return e.offset-n}prevGraphemeLength(){let t=Db.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(_O(s,o)){e.setOffset(r);break}o=s}return n-e.offset}eol(){return this._iterator.eol()}};function Zw(i,t){return new Qw(i,t).nextGraphemeLength()}var Gw;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 Ub(i){return Gw||(Gw=i4()),Gw.test(i)}var s4=/^[\t\n\r\x20-\x7E]*$/;function FO(i){return s4.test(i)}var a4=/[\u2028\u2029]/;function Fb(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\|}~@])/,Bq=new RegExp("(?:"+[l4.source,d4.source,c4.source].join("|")+")","g");var HO=String.fromCharCode(65279);function VO(i){return!!(i&&i.length>0&&i.charCodeAt(0)===65279)}function ek(i,t=!1){return i?(t&&(i=i.replace(/\\./g,"")),i.toLowerCase()!==i):!1}function BO(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 _O(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 Db=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 DO=class i{constructor(t){this.confusableDictionary=t}static{this.ambiguousCharacterData=new yt(()=>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 _b(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,h]of m)g.set(v,h);return g}function r(u,m){if(!u)return m;let g=new Map;for(let[v,h]of u)m.has(v)&&g.set(v,h);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 yt(()=>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())}},RO=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 qa(i){return i===47||i===92}function Hb(i){return i.replace(/[\\/]/g,He.sep)}function WO(i){return i.indexOf("/")===-1&&(i=Hb(i)),/^[a-zA-Z]:(\/|$)/.test(i)&&(i="/"+i),i}function tk(i,t=He.sep){if(!i)return"";let e=i.length,n=i.charCodeAt(0);if(qa(n)){if(qa(i.charCodeAt(1))&&!qa(i.charCodeAt(2))){let r=3,s=r;for(;r<e&&!qa(i.charCodeAt(r));r++);if(s!==r&&!qa(i.charCodeAt(r+1))){for(r+=1;r<e;r++)if(qa(i.charCodeAt(r)))return i.slice(0,r+1).replace(/[\\/]/g,t)}}return t}else if(zO(n)&&i.charCodeAt(1)===58)return qa(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(qa(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 $O(i,t=xt){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 Dd(i,t,e,n=!1){let o=n?He.sep:Gn;if(i===t)return!0;if(!i||!t||((i.indexOf("..")>=0||t.indexOf("..")>=0)&&(i=n?He.normalize(i):Ko(i),t=n?He.normalize(t):Ko(t)),t.length>i.length))return!1;if(e){if(!za(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 zO(i){return i>=65&&i<=90||i>=97&&i<=122}function qO(i,t=xt){return t?zO(i.charCodeAt(0))&&i.charCodeAt(1)===58:!1}var q;(Me=>(Me.inMemory="inmemory",Me.vscode="vscode",Me.internal="private",Me.walkThrough="walkThrough",Me.walkThroughSnippet="walkThroughSnippet",Me.http="http",Me.https="https",Me.file="file",Me.mailto="mailto",Me.untitled="untitled",Me.data="data",Me.command="command",Me.vscodeRemote="vscode-remote",Me.vscodeRemoteResource="vscode-remote-resource",Me.vscodeManagedRemoteResource="vscode-managed-remote-resource",Me.vscodeUserData="vscode-userdata",Me.vscodeCustomEditor="vscode-custom-editor",Me.vscodeNotebookCell="vscode-notebook-cell",Me.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",Me.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",Me.vscodeNotebookCellOutput="vscode-notebook-cell-output",Me.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",Me.vscodeNotebookMetadata="vscode-notebook-metadata",Me.vscodeInteractiveInput="vscode-interactive-input",Me.vscodeSettings="vscode-settings",Me.vscodeWorkspaceTrust="vscode-workspace-trust",Me.vscodeTerminal="vscode-terminal",Me.vscodeImageCarousel="vscode-image-carousel",Me.vscodeChatCodeBlock="vscode-chat-code-block",Me.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",Me.vscodeChatEditor="vscode-chat-editor",Me.vscodeChatInput="chatSessionInput",Me.vscodeLocalChatSession="vscode-chat-session",Me.webviewPanel="webview-panel",Me.vscodeWebview="vscode-webview",Me.vscodeBrowser="vscode-browser",Me.extension="extension",Me.vscodeFileResource="vscode-file",Me.tmp="tmp",Me.vsls="vsls",Me.vscodeSourceControl="vscode-scm",Me.commentsInput="comment",Me.codeSetting="code-setting",Me.outputChannel="output",Me.accessibleView="accessible-view",Me.chatEditingSnapshotScheme="chat-editing-snapshot-text-model",Me.chatEditingModel="chat-editing-text-model",Me.copilotPr="copilot-pr"))(q||={});function Vb(i,t){return y.isUri(i)?Qn(i.scheme,t):za(i,t+":")}function GO(i,...t){return t.some(e=>Vb(i,e))}var f4="tkn",nk=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=He.join(e??"/",v4(t))}getServerRootPath(){return this._serverRootPath}get _remoteResourcesPath(){return He.join(this._serverRootPath,q.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 vd(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:$o?this._preferredWebSchema:q.vscodeRemoteResource,authority:`${n}:${o}`,path:$o?(window.location.pathname+"/"+this._remoteResourcesPath).replace(/\/\/+/g,"/"):this._remoteResourcesPath,query:s})}},h4=new nk;function v4(i){return`${i.quality??"oss"}-${i.commit??"dev"}`}var jO="vs/../../node_modules",QO="vs/../../node_modules.asar";var rk="vscode-app",ok=class i{static{this.FALLBACK_AUTHORITY=rk}asBrowserUri(t){let e=this.toUri(t);return this.uriToBrowserUri(e)}uriToBrowserUri(t){return t.scheme===q.vscodeRemote?h4.rewrite(t):t.scheme===q.file&&(bb||iO===`${q.vscodeFileResource}://${i.FALLBACK_AUTHORITY}`)?t.with({scheme:q.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===q.vscodeFileResource?t.with({scheme:q.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=gu(e,t);return y.file(n)}throw new Error("Cannot determine URI for module id!")}},Bb=new ok,Qq=Object.freeze({"Cache-Control":"no-cache, no-store"}),Jq=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 wr(i){return rf(i,!0)}var Ni=class{constructor(t){this._ignorePathCasing=t}compare(t,e,n=!1){return t===e?0:Jr(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===q.file)return Dd(wr(t),wr(e),this._ignorePathCasing(t))&&t.query===e.query&&(n||t.fragment===e.fragment);if(JO(t.authority,e.authority))return Dd(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 ot(t)||t.authority}basename(t,e){return He.basename(t.path,e)}extname(t){return He.extname(t.path)}dirname(t){if(t.path.length===0)return t;let e;return t.scheme===q.file?e=y.file(Mi(wr(t))).path:(e=He.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===q.file?e=y.file(Ko(wr(t))).path:e=He.normalize(t.path),t.with({path:e})}relativePath(t,e){if(t.scheme!==e.scheme||!JO(t.authority,e.authority))return;if(t.scheme===q.file){let r=ks(wr(t),wr(e));return xt?Hb(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 He.relative(n,o)}resolvePath(t,e){if(t.scheme===q.file){let n=y.file(yO(wr(t),e));return t.with({authority:n.authority,path:n.path})}return e=WO(e),t.with({path:He.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===q.file){let n=wr(t);return n.length>tk(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 YO(t,e)?t.with({path:t.path.substr(0,t.path.length-1)}):t}addTrailingPathSeparator(t,e=Gn){let n=!1;if(t.scheme===q.file){let o=wr(t);n=o!==void 0&&o.length===tk(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&&!YO(t,e)?t.with({path:t.path+"/"}):t}},ct=new Ni(()=>!1),ik=new Ni(i=>i.scheme===q.file?!qn:!0),sk=new Ni(i=>!0),En=ct.isEqual.bind(ct),XO=ct.isEqualOrParent.bind(ct),oK=ct.getComparisonKey.bind(ct),df=ct.basenameOrAuthority.bind(ct),ot=ct.basename.bind(ct),Wb=ct.extname.bind(ct),Go=ct.dirname.bind(ct),Ht=ct.joinPath.bind(ct),y4=ct.normalizePath.bind(ct),cf=ct.relativePath.bind(ct),rK=ct.resolvePath.bind(ct),ZO=ct.isAbsolutePath.bind(ct),JO=ct.isEqualAuthority.bind(ct),YO=ct.hasTrailingPathSeparator.bind(ct),iK=ct.removeTrailingPathSeparator.bind(ct),sK=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 eL=Symbol("MicrotaskDelay");function kr(i){return!!i&&typeof i.then=="function"}function x4(i){let t=new Re,e=i(t.token),n=!1,o=new Promise((r,s)=>{let a=t.token.onCancellationRequested(()=>{n=!0,a.dispose(),s(new lt)});Promise.resolve(e).then(l=>{a.dispose(),t.dispose(),n?pb(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 Ga(i,t,e){return new Promise((n,o)=>{let r=t.onCancellationRequested(()=>{r.dispose(),n(e)});i.then(n,o).finally(()=>r.dispose())})}function Ui(i,t){return new Promise((e,n)=>{let o=t.onCancellationRequested(()=>{o.dispose(),n(new lt)});i.then(e,n).finally(()=>o.dispose())})}function nn(i){return new Promise((t,e)=>{let n=i();kr(n)?n.then(t,e):t(n)})}function pk(){let i,t;return{promise:new Promise((n,o)=>{i=n,t=o}),resolve:i,reject:t}}var ak=class{constructor(){this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null,this.cancellationTokenSource=new Re}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()}},qb=class{constructor(){this.current=Promise.resolve(null)}queue(t){return this.current=this.current.then(()=>t(),()=>t())}};var Ka=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()}},S4=(i,t)=>{let e=!0,n=setTimeout(()=>{e=!1,t()},i);return{isTriggered:()=>e,dispose:()=>{clearTimeout(n),e=!1}}},C4=i=>{let t=!0;return queueMicrotask(()=>{t&&(t=!1,i())}),{isTriggered:()=>t,dispose:()=>{t=!1}}},lk=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===eL?C4(n):S4(e,n),this.completionPromise}isTriggered(){return!!this.deferred?.isTriggered()}cancel(){this.cancelTimeout(),this.completionPromise&&(this.doReject?.(new lt),this.completionPromise=null)}cancelTimeout(){this.deferred?.dispose(),this.deferred=null}dispose(){this.cancel()}},Kb=class{constructor(t){this.delayer=new lk(t),this.throttler=new ak}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 wn(i,t){return t?new Promise((e,n)=>{let o=setTimeout(()=>{r.dispose(),e()},i),r=t.onCancellationRequested(()=>{clearTimeout(o),r.dispose(),n(new lt)})}):x4(e=>wn(i,e))}function tL(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 IK=2**31-1;var dk=class{constructor(t){this._size=0;this._isDisposed=!1;this.maxDegreeOfParalellism=t,this.outstandingPromises=[],this.runningPromises=0,this._onDrained=new T}whenIdle(){return this.size>0?Ae.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()}},uf=class extends dk{constructor(){super(1)}};var Gb=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 un;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 uf;let s=this.drainListenerCount++,a=Ae.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 Tn),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 jb=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 Dt("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}},Jn=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 mk,zb;(function(){let i=globalThis;typeof i.requestIdleCallback!="function"||typeof i.cancelIdleCallback!="function"?zb=(t,e,n)=>{yb(()=>{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)}}}:zb=(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))}}},mk=(t,e)=>zb(globalThis,t,e)})();var ck=class{constructor(t,e){this._didRun=!1;this._executor=()=>{try{this._value=e()}catch(n){this._error=n}finally{this._didRun=!0}},this._handle=zb(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}},Qb=class extends ck{constructor(t){super(globalThis,t)}};var un=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 lt)}},ja;(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})(ja||={});var _s=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 T,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=()=>{},n.emitMany=()=>{},n.reject=()=>{}}})}[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 Ae.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 Jb=class{constructor(t){this._deferred=new un;this._asyncIterable=new _s(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 uk=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 Dt("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 un;return this._unsatisfiedConsumers.push(t),t.p}}},hu=class i{constructor(t,e){this._onReturn=e;this._producerConsumer=new uk;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 un,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 nL=new class{transformIncoming(i){return i}transformOutgoing(i){return i}transformOutgoingURI(i){return i}transformOutgoingScheme(i){return i}};function gk(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=gk(i[o],t,e,n+1);r!==null&&(i[o]=r)}}return null}function Rd(i,t){let e=gk(i,t,!1,0);return e===null?i:e}function oL(i,t){let e=gk(i,t,!0,0);return e===null?i:e}var pf=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):Rt(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)}},Yb=class extends pf{constructor(){super(),this._hasErr=!0,this._err=new lt}};function fk(i,t){try{return JSON.stringify(i,t)}catch{return"null"}}var vk="$$ref$$",T4={[vk]:-1};function rL(i,t=null,e=!1){let n=[];return{jsonString:(e?fk: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{[vk]:a}}if(t)return t(r,s)}return s}),referencedBuffers:n}}function lL(i,t,e){return JSON.parse(i,(n,o)=>{if(o){let r=o[vk];if(typeof r=="number")return t[r];if(e&&o.$mid===1)return e.transformIncoming(o)}return o})}function iL(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"),sL,aL,Xb=class i extends(aL=F,sL=k4,aL){constructor(e,n=null,o=null){super();this[sL]=!0;this._onDidChangeResponsiveState=this._register(new T);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=sf.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 Jn(()=>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(uw())}),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?Rd(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=on.read(e,0),r=o.readUInt8(),s=o.readUInt32();switch(r){case 1:case 2:{let{rpcId:a,method:l,args:d}=jo.deserializeRequestJSONArgs(o);this._uriTransformer&&(d=Rd(d,this._uriTransformer)),this._receiveRequest(n,s,a,l,d,r===2);break}case 3:case 4:{let{rpcId:a,method:l,args:d}=jo.deserializeRequestMixedArgs(o);this._uriTransformer&&(d=Rd(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=jo.deserializeReplyOKJSON(o);this._uriTransformer&&(a=Rd(a,this._uriTransformer)),this._receiveReply(n,s,a);break}case 10:{let a=jo.deserializeReplyOKJSONWithBuffers(o,this._uriTransformer);this._receiveReply(n,s,a);break}case 8:{let a=jo.deserializeReplyOKVSBuffer(o);this._receiveReply(n,s,a);break}case 11:{let a=jo.deserializeReplyErrError(o);this._uriTransformer&&(a=Rd(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 ${af(o)}.${r}(`,s);let l=String(n),d,c;if(a){let m=new Re;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=jo.serializeAcknowledged(n);this._logger?.logOutgoing(u.byteLength,n,1,"ack"),this._protocol.send(u),d.then(m=>{delete this._cancelInvokedHandlers[l];let g=jo.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=jo.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 "+af(e));let s=r[n];if(typeof s!="function")throw new Error("Unknown method "+n+" on actor "+af(e));return s.apply(r,o)}_remoteCall(e,n,o){if(this._isDisposed)return new Yb;let r=null;if(o.length>0&&be.isCancellationToken(o[o.length-1])&&(r=o.pop()),r&&r.isCancellationRequested)return Promise.reject(uw());let s=jo.serializeRequestArguments(o,this._uriReplacer),a=++this._lastMessageId,l=String(a),d=new pf,c=new G;r&&c.add(r.onCancellationRequested(()=>{let m=jo.serializeCancel(a);this._logger?.logOutgoing(m.byteLength,a,0,"cancel"),this._protocol.send(m)})),this._pendingRPCReplies[l]=new hk(d,c),this._onWillSendRequest(a);let u=jo.serializeRequest(a,e,n,s,!!r);return this._logger?.logOutgoing(u.byteLength,a,0,`request: ${af(e)}.${n}(`,o),this._protocol.send(u),d}},hk=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()}},on=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 Vt(lL(s,a,null));break}case 4:e[n]=void 0;break}return e}};var jo=class{static _useMixedArgSerialization(t){for(let e=0,n=t.length;e<n;e++)if(t[e]instanceof te||t[e]instanceof Vt||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 Vt){let{jsonString:a,referencedBuffers:l}=rL(s.value,e);n[o]={type:3,value:te.fromString(a),buffers:l}}else n[o]={type:1,value:te.fromString(iL(s,e))}}return{type:1,args:n}}return{type:0,args:iL(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+=on.sizeUInt8(),l+=on.sizeShortString(s),l+=on.sizeLongString(a);let d=on.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+=on.sizeUInt8(),a+=on.sizeShortString(s),a+=on.sizeMixedArray(o);let l=on.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 on.alloc(5,t,0).buffer}static serializeCancel(t){return on.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 Vt){let{jsonString:o,referencedBuffers:r}=rL(e.value,n,!0);return this._serializeReplyOKJSONWithBuffers(t,o,r)}else return this._serializeReplyOKJSON(t,fk(e,n))}static _serializeReplyOKEmpty(t){return on.alloc(7,t,0).buffer}static _serializeReplyOKVSBuffer(t,e){let n=0;n+=on.sizeVSBuffer(e);let o=on.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+=on.sizeLongString(n);let r=on.alloc(9,t,o);return r.writeLongString(n),r.buffer}static _serializeReplyOKJSONWithBuffers(t,e,n){let o=te.fromString(e),r=0;r+=on.sizeUInt32,r+=on.sizeLongString(o);for(let a of n)r+=on.sizeVSBuffer(a);let s=on.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 Vt(lL(o,r,e))}static serializeReplyErr(t,e){let n=e?fk(Ei(e),null):void 0;if(typeof n!="string")return this._serializeReplyErrEmpty(t);let o=te.fromString(n),r=0;r+=on.sizeLongString(o);let s=on.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 on.alloc(12,t,0).buffer}};var Yr;(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})(Yr||={});var On=R("instantiationService");function _4(i,t,e){t[Yr.DI_TARGET]===t?t[Yr.DI_DEPENDENCIES].push({id:i,index:e}):(t[Yr.DI_DEPENDENCIES]=[{id:i,index:e}],t[Yr.DI_TARGET]=t)}function R(i){if(Yr.serviceIds.has(i))return Yr.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,Yr.serviceIds.set(i,t),t}function mf(i){if(!i)return;let t=i.indexOf("+");return t<0?i:i.substr(0,t)}var Zb=["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 xe=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}},Co=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(xe.toKey(t))}delete(t){return this._set.delete(xe.toKey(t))}has(t){return this._set.has(xe.toKey(t))}},Yn=class{constructor(){this._map=new Map}clear(){this._map.clear()}delete(t){this._map.delete(xe.toKey(t))}get(t){return this._map.get(xe.toKey(t))}has(t){return this._map.has(xe.toKey(t))}set(t,e){this._map.set(xe.toKey(t),e)}values(){return this._map.values()}forEach(t){this._map.forEach(t)}[Symbol.iterator](){return this._map[Symbol.iterator]()}},vu=class extends Error{constructor(t,e,n){let o=n&&e?.message?`${n}: ${e.message}`:n??e?.message;super(`Error in extension ${xe.toKey(t)}: ${o}`,{cause:e}),this.name="ExtensionError",this.extension=t,e?.stack&&(this.stack=e.stack)}};var XK=R("IBuiltinExtensionsScannerService");function bk(i,t){return t&&(i.stack||i.stacktrace)?p(116,null,cL(i),dL(i.stack)||dL(i.stacktrace)):cL(i)}function dL(i){return Array.isArray(i)?i.join(`
`):i}function cL(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 Xr(i=null,t=!1){if(!i)return p(113,null);if(Array.isArray(i)){let e=dt(i),n=Xr(e[0],t);return e.length>1?p(114,null,n,e.length):n}if(_e(i))return i;if(i.detail){let e=i.detail;if(e.error)return bk(e.error,t);if(e.exception)return bk(e.exception,t)}return i.stack?bk(i,t):i.message?i.message:p(113,null)}function cr(i){return Ik(i,0)}function Ik(i,t){switch(typeof i){case"object":return i===null?Ds(349,t):Array.isArray(i)?R4(i,t):M4(i,t);case"string":return bu(i,t);case"boolean":return D4(i,t);case"number":return Ds(i,t);case"undefined":return Ds(937,t);default:return Ds(617,t)}}function Ds(i,t){return(t<<5)-t+i|0}function D4(i,t){return Ds(i?433:863,t)}function bu(i,t){t=Ds(149417,t);for(let e=0,n=i.length;e<n;e++)t=Ds(i.charCodeAt(e),t);return t}function R4(i,t){return t=Ds(104579,t),i.reduce((e,n)=>Ik(n,e),t)}function M4(i,t){return t=Ds(181387,t),Object.keys(i).sort().reduce((e,n)=>(e=bu(n,e),Ik(i[n],e)),t)}function yk(i,t,e=32){let n=e-t,o=~((1<<n)-1);return(i<<t|(o&i)>>>n)>>>0}function gf(i,t=32){return i instanceof ArrayBuffer?Fa(te.wrap(new Uint8Array(i))):(i>>>0).toString(16).padStart(t/4,"0")}var uL=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(_d(s))if(a+1<e){let d=t.charCodeAt(a+1);lf(d)?(a++,l=Nb(s,d)):l=65533}else{r=s;break}else lf(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()),gf(this._h0)+gf(this._h1)+gf(this._h2)+gf(this._h3)+gf(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,yk(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=yk(n,5)+l+a+d+t.getUint32(u*4,!1)&4294967295,a=s,s=r,r=yk(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 xk(...i){switch(i.length){case 1:return p(2417,null,i[0]);case 2:return p(2418,null,i[0],i[1]);case 3:return p(2419,null,i[0],i[1],i[2]);default:return}}var A4=p(2416,null),O4=p(2415,null),Qa=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 iu(`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(xk("==","=~"));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(xk("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(xk("||"));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(A4);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",cn);Vn.set("isLinux",qn);Vn.set("isWindows",xt);Vn.set("isWeb",$o);Vn.set("isMacNative",cn&&!$o);Vn.set("isEdge",xb);Vn.set("isFirefox",lO);Vn.set("isChrome",of);Vn.set("isSafari",dO);var L4=Object.prototype.hasOwnProperty;var N4={regexParsingWithErrorRecovery:!0},U4=p(2396,null),F4=p(2397,null),H4=p(2399,null),pL=p(2395,null),V4=p(2402,null),B4=p(2403,null),W4=p(2400,null),$4=p(2401,null),ey=class i{constructor(t=N4){this._config=t;this._scanner=new Qa;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:Qa.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]:ht.or(...t)}_and(){let t=[this._term()];for(;this._matchOne(15);){let e=this._term();t.push(e)}return t.length===1?t[0]:ht.and(...t)}_term(){if(this._matchOne(2)){let t=this._peek();switch(t.type){case 11:return this._advance(),lo.INSTANCE;case 12:return this._advance(),To.INSTANCE;case 0:{this._advance();let e=this._expr();return this._consume(1,pL),e?.negate()}case 17:return this._advance(),Ad.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(),ht.true();case 12:return this._advance(),ht.false();case 0:{this._advance();let e=this._expr();return this._consume(1,pL),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 xf.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(Qa.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 ht.regex(e,u)}case 18:{let r=o.lexeme;this._advance();let s=null;if(!Oi(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 xf.create(e,s)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,H4);let o=this._value();return ht.notIn(e,o)}switch(this._peek().type){case 3:{this._advance();let o=this._value();if(this._previous().type===18)return ht.equals(e,o);switch(o){case"true":return ht.has(e);case"false":return ht.not(e);default:return ht.equals(e,o)}}case 4:{this._advance();let o=this._value();if(this._previous().type===18)return ht.notEquals(e,o);switch(o){case"true":return ht.not(e);case"false":return ht.has(e);default:return ht.notEquals(e,o)}}case 5:return this._advance(),yf.create(e,this._value());case 6:return this._advance(),If.create(e,this._value());case 7:return this._advance(),yu.create(e,this._value());case 8:return this._advance(),bf.create(e,this._value());case 13:return this._advance(),ht.in(e,this._value());default:return ht.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(2398,null,t,Qa.getLexeme(e)),r=e.offset,s=Qa.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}},ht=class{static false(){return lo.INSTANCE}static true(){return To.INSTANCE}static has(t){return Md.create(t)}static equals(t,e){return hf.create(t,e)}static notEquals(t,e){return vf.create(t,e)}static regex(t,e){return xf.create(t,e)}static in(t,e){return ty.create(t,e)}static notIn(t,e){return ny.create(t,e)}static not(t){return Ad.create(t)}static and(...t){return oy.create(t,null,!0)}static or(...t){return Sf.create(t,null,!0)}static greater(t,e){return yu.create(t,e)}static greaterEquals(t,e){return bf.create(t,e)}static smaller(t,e){return yf.create(t,e)}static smallerEquals(t,e){return If.create(t,e)}static{this._parser=new ey({regexParsingWithErrorRecovery:!1})}static deserialize(t){return t==null?void 0:this._parser.parse(t)}};function gL(i){let t=new ey({regexParsingWithErrorRecovery:!1});return i.map(e=>(t.parse(e),t.lexingErrors.length>0?t.lexingErrors.map(n=>({errorMessage:n.additionalInfo?p(2405,null,n.additionalInfo):p(2404,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 ff(i,t){return i.cmp(t)}var lo=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 To.INSTANCE}},To=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 lo.INSTANCE}},Md=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?To.INSTANCE:lo.INSTANCE:new i(t,e)}cmp(t){return t.type!==this.type?this.type-t.type:hL(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?To.INSTANCE:lo.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=Ad.create(this.key,this)),this.negated}},hf=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?Md.create(t,n):Ad.create(t,n);let o=Vn.get(t);return typeof o=="boolean"?e===(o?"true":"false")?To.INSTANCE:lo.INSTANCE:new i(t,e,n)}cmp(t){return t.type!==this.type?this.type-t.type:Od(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?To.INSTANCE:lo.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=vf.create(this.key,this.value,this)),this.negated}},ty=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:Od(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(xt&&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(xt&&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=ny.create(this.key,this.valueKey)),this.negated}},ny=class i{constructor(t,e){this.key=t;this.valueKey=e;this.type=11;this._negated=ty.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}},vf=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?Ad.create(t,n):Md.create(t,n);let o=Vn.get(t);return typeof o=="boolean"?e===(o?"true":"false")?lo.INSTANCE:To.INSTANCE:new i(t,e,n)}cmp(t){return t.type!==this.type?this.type-t.type:Od(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?lo.INSTANCE:To.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=hf.create(this.key,this.value,this)),this.negated}},Ad=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?lo.INSTANCE:To.INSTANCE:new i(t,e)}cmp(t){return t.type!==this.type?this.type-t.type:hL(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?lo.INSTANCE:To.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=Md.create(this.key,this)),this.negated}};function ry(i,t){if(typeof i=="string"){let e=parseFloat(i);isNaN(e)||(i=e)}return typeof i=="string"||typeof i=="number"?t(i):lo.INSTANCE}var yu=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 ry(e,o=>new i(t,o,n))}cmp(t){return t.type!==this.type?this.type-t.type:Od(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=If.create(this.key,this.value,this)),this.negated}},bf=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 ry(e,o=>new i(t,o,n))}cmp(t){return t.type!==this.type?this.type-t.type:Od(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=yf.create(this.key,this.value,this)),this.negated}},yf=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 ry(e,o=>new i(t,o,n))}cmp(t){return t.type!==this.type?this.type-t.type:Od(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=bf.create(this.key,this.value,this)),this.negated}},If=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 ry(e,o=>new i(t,o,n))}cmp(t){return t.type!==this.type?this.type-t.type:Od(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=yu.create(this.key,this.value,this)),this.negated}},xf=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=Sk.create(this)),this.negated}},Sk=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 fL(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 oy=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=ff(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=fL(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 lo.INSTANCE;if(s.type===6){o.push(...s.expr);continue}o.push(s)}if(o.length===0&&r)return To.INSTANCE;if(o.length!==0){if(o.length===1)return o[0];o.sort(ff);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=Sf.create(s.expr.map(c=>i.create([c,a],null,n)),null,l);d&&(o.push(d),o.sort(ff))}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 lo.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=Sf.create(t,this,!0)}return this.negated}},Sf=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=ff(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=fL(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 To.INSTANCE;if(l.type===9){o=o.concat(l.expr);continue}o.push(l)}}if(o.length===0&&r)return lo.INSTANCE;o.sort(ff)}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 To.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 mL(e))for(let s of mL(n))o.push(oy.create([r,s],null,!1));t.unshift(i.create(o,null,!1))}this.negated=i.create(t,this,!0)}return this.negated}},E=class i extends Md{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 hf.create(this.key,t)}notEqualsTo(t){return vf.create(this.key,t)}greater(t){return yu.create(this.key,t)}},Pr=R("contextKeyService");function hL(i,t){return i<t?-1:i>t?1:0}function Od(i,t,e,n){return i<e?-1:i>e?1:t<n?-1:t>n?1:0}function mL(i){return i.type===9?i.expr:[i]}var se=R("logService"),ur=R("loggerService");var Ld=(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))(Ld||{}),z4=3;function Su(i,t){return i!==0&&i<=t}function vL(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=Xr(o,t)),typeof o=="object")try{o=JSON.stringify(o)}catch{}e+=(n>0?" ":"")+o}return e}var iy=class extends F{constructor(){super(...arguments);this.level=z4;this._onDidChangeLogLevel=this._register(new T)}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 Su(this.level,e)}canLog(e){return this._store.isDisposed?!1:this.checkLogLevel(e)}},xu=class extends iy{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 sy=class extends iy{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()}},ay=class extends F{constructor(e,n,o){super();this.logLevel=e;this.logsHome=n;this._loggers=new Ne;this._onDidChangeLoggers=this._register(new T);this.onDidChangeLoggers=this._onDidChangeLoggers.event;this._onDidChangeLogLevel=this._register(new T);this.onDidChangeLogLevel=this._onDidChangeLogLevel.event;this._onDidChangeVisibility=this._register(new T);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 _e(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=_e(e)?e:n?.id??cr(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 _e(e)?Ht(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 MG=new E("logLevel",q4(3));var Oo=class{constructor(t,e=[],n=!1){this.ctor=t,this.staticArguments=e,this.supportsDelayedInstantiation=n}};var bL=[];function ze(i,t,e){t instanceof Oo||(t=new Oo(t,[],!!e)),bL.push([i,t])}function yL(){return bL}var Ja=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 rt=R("IExtHostInitDataService");var Ck=class{constructor(t,e){this.key=t;this.data=e;this.incoming=new Map;this.outgoing=new Map}},Cf=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 Ck(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,ly=class extends Error{constructor(t){super("cyclic dependency between services"),this.message=t.findCycleSlow()??`UNABLE to detect cycle, dumping graph: 
${t.toString()}`}},dy=class i{constructor(t=new Ja,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(On,this),this._globalGraph=o?n?._globalGraph??new Cf(r=>r):void 0}dispose(){if(!this._isDisposed){this._isDisposed=!0,Fn(this._children),this._children.clear();for(let t of this._servicesToMaybeDispose)pb(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=Tf.traceInvocation(this._enableTracing,t),o=!1;try{return t({get:s=>{if(o)throw iu("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 Oo?(n=Tf.traceCreation(this._enableTracing,t.ctor),o=this._createInstance(t.ctor,t.staticArguments.concat(e),n)):(n=Tf.traceCreation(this._enableTracing,t),o=this._createInstance(t,e,n)),n.stop(),o}_createInstance(t,e=[],n){let o=Yr.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 Oo)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 Oo?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 Cf(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 ly(o);for(let d of Yr.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 Oo){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 ly(o);break}for(let{data:d}of l){if(this._getServiceInstanceOrDescriptor(d.id)instanceof Oo){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 Oo)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 Qb(()=>{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)),(I,S,w)=>{if(d.isInitialized)return d.value[u](I,S,w);{let P={listener:[I,S,w],disposable:void 0},O=v.push(P);return X(()=>{O(),P.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 Tf=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 fe=R("IExtHostRpcService"),cy=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 Ya=R("IURITransformerService"),uy=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 Tk=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]}},Ek=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):Pd(t,this._value,0,t.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}},py=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):Pd(t,this._value,0,t.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}};var Ef=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 py(!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 kd(t,this._value.scheme);if(this._states[this._stateIdx]===2)return kd(t,this._value.authority);if(this._states[this._stateIdx]===3)return this._pathIterator.cmp(t);if(this._states[this._stateIdx]===4)return Jr(t,this._value.query);if(this._states[this._stateIdx]===5)return Jr(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}},Rs=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}},Cu=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 Lo=class i{static forUris(t=()=>!1,e=()=>!1){return new i(new Ef(t,e))}static forPaths(t=!1){return new i(new py(void 0,!t))}static forStrings(){return new i(new Tk)}static forConfigKeys(){return new i(new Ek)}constructor(t){this._iter=t}clear(){this._root=void 0}fill(t,e){if(e){let n=e.slice(0);mw(n);for(let o of n)this.set(o,t)}else{let n=t.slice(0);mw(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 Cu,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 Cu,o.left.segment=n.value()),r.push([-1,o]),o=o.left;else if(a<0)o.right||(o.right=new Cu,o.right.segment=n.value()),r.push([1,o]),o=o.right;else if(n.hasNext())n.next(),o.mid||(o.mid=new Cu,o.mid.segment=n.value()),r.push([0,o]),o=o.mid;else break}let s=Rs.unwrap(o.value);o.value=Rs.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 Rs.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:du(!1);case 1:du(!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=Rs.unwrap(n.value)||o,n=n.mid;else break}return n&&Rs.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?Rs.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,Rs.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 vt(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"?vt(n):n}),t}function wf(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(IL.call(e,n)){let o=e[n];typeof o=="object"&&!Object.isFrozen(o)&&!F0(o)&&t.push(o)}}return i}var IL=Object.prototype.hasOwnProperty;function Zr(i,t){return wk(i,t,new Set)}function wk(i,t,e){if(Nt(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(wk(r,t,e));return o}if(nt(i)){if(e.has(i))throw new Error("Cannot clone recursive data-structure");e.add(i);let o={};for(let r in i)IL.call(i,r)&&(o[r]=wk(i[r],t,e));return e.delete(i),o}return i}function _r(i,t,e=!0){return nt(i)?(nt(t)&&Object.keys(t).forEach(n=>{n in i?e&&(nt(i[n])&&nt(t[n])?_r(i[n],t[n],e):i[n]=t[n]):i[n]=t[n]}),i):t}function Ct(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(!Ct(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(),!Ct(o,r))return!1;for(e=0;e<o.length;e++)if(!Ct(i[o[e]],t[o[e]]))return!1}return!0}function Tu(i){let t=new Set;return JSON.stringify(i,(e,n)=>{if(nt(n)||Array.isArray(n)){if(t.has(n))return"[Circular]";t.add(n)}return typeof n=="bigint"?`[BigInt ${n.toString()}]`:n})}function kk(i,t){let e=Object.create(null);for(let[n,o]of Object.entries(i))t(n,o)&&(e[n]=o);return e}var my=class{constructor(){this._next=0}getNext(){return this._next++}};var Eo=R("fileService");var Eu=(o=>(o[o.Unknown=0]="Unknown",o[o.File=1]="File",o[o.Directory=2]="Directory",o[o.SymbolicLink=64]="SymbolicLink",o))(Eu||{}),Pf=(n=>(n[n.Readonly=1]="Readonly",n[n.Locked=2]="Locked",n[n.Executable=4]="Executable",n))(Pf||{});var kf=class i extends Error{constructor(e,n){super(e);this.code=n}static create(e,n){let o=new i(e.toString(),n);return _k(o,n),o}};function _k(i,t){return i.name=t?`${t} (FileSystemError)`:"FileSystemError",i}function wu(i){if(!i)return"Unknown";if(i instanceof kf)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 _f(i){if(i instanceof Fi)return i.fileOperationResult;switch(wu(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 xL=class i{constructor(t,e){this.ignorePathCasing=e;this.correlationId=void 0;this.added=new yt(()=>{let t=Lo.forUris(()=>this.ignorePathCasing);return t.fill(this.rawAdded.map(e=>[e,!0])),t});this.updated=new yt(()=>{let t=Lo.forUris(()=>this.ignorePathCasing);return t.fill(this.rawUpdated.map(e=>[e,!0])),t});this.deleted=new yt(()=>{let t=Lo.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 Fi=class extends Error{constructor(e,n,o){super(e);this.fileOperationResult=n;this.options=o}};var SL="";function Dk(i){if(!(typeof i.size!="number"||typeof i.mtime!="number"))return i.mtime.toString(29)+i.size.toString(31)}var Pk=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 ar(t)||(t=0),t<i.KB?p(2611,null,t.toFixed(0)):t<i.MB?p(2613,null,(t/i.KB).toFixed(2)):t<i.GB?p(2614,null,(t/i.MB).toFixed(2)):t<i.TB?p(2612,null,(t/i.GB).toFixed(2)):p(2615,null,(t/i.TB).toFixed(2))}};var fy=(o=>(o[o.Ignore=0]="Ignore",o[o.Info=1]="Info",o[o.Warning=2]="Warning",o[o.Error=3]="Error",o))(fy||{});(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})(fy||={});var Ge=fy;var CL=Ge,TL=R("notificationService");var ei=R("contextService");function EL(i){let t=i;return typeof t?.id=="string"&&y.isUri(t.uri)}function wL(i){let t=i;return typeof t?.id=="string"&&y.isUri(t.configPath)}function Rk(i){let t=i;return!!(t&&typeof t=="object"&&y.isUri(t.uri)&&typeof t.name=="string"&&typeof t.toResource=="function")}var hy=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=Lo.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=Lo.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}}},Df=class{constructor(t,e){this.raw=e;this.uri=t.uri,this.index=t.index,this.name=t.name}toResource(t){return Ht(this.uri,t)}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}};function Rf(i){return new Df({uri:i,index:0,name:df(i)},{uri:i.toString()})}var kL="code-workspace",Vj=`.${kL}`,Bj=[{name:p(3218,null),extensions:[kL]}];var vy=class{constructor(){this._systemSchemes=new Set(Object.keys(q));this._providerInfo=new Map;this.extUri=new Ni(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)}},Dr=R("IExtHostFileSystemInfo");var Ve=(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 yy=Object.freeze({create:i=>Bo(i.map(t=>t.toString())).join(`\r
`),split:i=>i.split(`\r
`),parse:i=>yy.split(i).filter(t=>!t.startsWith("#"))});var eQ=new Uint32Array(10);var tQ=new Uint8Array([114,82,115,101,69,102,97,113,81,116,84,100,119,87,99,122,120,118,103]),nQ=new Uint16Array([107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]),oQ=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]),rQ=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 aQ=new Tr(1e4);var G4=new Tr(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 Y4=(function(){let i=new Tr(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 _L(...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 hQ=RL.bind(void 0,!1),DL=RL.bind(void 0,!0);function RL(i,t,e){if(!e||e.length<t.length)return null;let n;return i?n=za(e,t):n=e.indexOf(t)===0,n?t.length>0?[{start:0,end:t.length}]:[]:null}function X4(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:Mk(i.toLowerCase(),t.toLowerCase(),0,0)}function Mk(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=Mk(i,t,e+1,n+1))?AL({start:n,end:n+1},o):null}return Mk(i,t,e,n+1)}function Ok(i){return 97<=i&&i<=122}function xy(i){return 65<=i&&i<=90}function Lk(i){return 48<=i&&i<=57}function eW(i){return i===32||i===9||i===10||i===13}var tW=new Set;"()[]{}<>`'\"-/;:,.?!".split("").forEach(i=>tW.add(i.charCodeAt(0)));function ML(i){return Ok(i)||xy(i)||Lk(i)}function AL(i,t){return t.length===0?t=[i]:i.end===t[0].start?t[0].start=i.start:t.unshift(i),t}function OL(i,t){for(let e=t;e<i.length;e++){let n=i.charCodeAt(e);if(xy(n)||Lk(n)||e>0&&!ML(i.charCodeAt(e-1)))return e}return i.length}function Ak(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=Ak(i,t,e+1,n+1);!o&&(r=OL(t,r))<t.length;)o=Ak(i,t,e+1,r),r++;return o===null?null:AL({start:n,end:n+1},o)}}function nW(i){let t=0,e=0,n=0,o=0,r=0;for(let c=0;c<i.length;c++)r=i.charCodeAt(c),xy(r)&&t++,Ok(r)&&e++,ML(r)&&n++,Lk(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 oW(i){let{upperPercent:t,lowerPercent:e}=i;return e===0&&t>.6}function rW(i){let{upperPercent:t,lowerPercent:e,alphaPercent:n,numericPercent:o}=i;return e>.2&&t<.8&&n>.6&&o<.2}function iW(i){let t=0,e=0,n=0,o=0;for(let r=0;r<i.length;r++)n=i.charCodeAt(r),xy(n)&&t++,Ok(n)&&e++,eW(n)&&o++;return(t===0||e===0)&&o===0?i.length<=30:t<=5}function LL(i,t){if(!t||(t=t.trim(),t.length===0)||!iW(i))return null;t.length>60&&(t=t.substring(0,60));let e=nW(t);if(!rW(e)){if(!oW(e))return null;t=t.toLowerCase()}let n=null,o=0;for(i=i.toLowerCase();o<t.length&&(n=Ak(i,t,0,o))===null;)o=OL(t,o+1);return n}var vQ=_L(DL,LL,X4),bQ=_L(DL,LL,Z4),yQ=new Tr(1e4);var Iy=128;function Nk(){let i=[],t=[];for(let e=0;e<=Iy;e++)t[e]=0;for(let e=0;e<=Iy;e++)i.push(t.slice(0));return i}function NL(i){let t=[];for(let e=0;e<=i;e++)t[e]=0;return t}var IQ=NL(2*Iy),xQ=NL(2*Iy),SQ=Nk(),CQ=Nk(),TQ=Nk();var sW;(e=>{e.Default=[-100,0];function t(n){return!n||n.length===2&&n[0]===-100&&n[1]===0}e.isDefault=t})(sW||={});var PL=class{constructor(t,e){this.firstMatchCanBeWeak=t;this.boostFullMatch=e}static{this.default={boostFullMatch:!0,firstMatchCanBeWeak:!1}}};var Uk=Object.create(null);function f(i,t){if(_e(t)){let e=Uk[t];if(e===void 0)throw new Error(`${i} references an unknown codicon: ${t}`);t=e}return Uk[i]=t,{id:i}}function UL(){return Uk}var FL={add:f("add",6e4),plus:f("plus",6e4),gistNew:f("gist-new",6e4),repoCreate:f("repo-create",6e4),lightbulb:f("lightbulb",60001),lightBulb:f("light-bulb",60001),repo:f("repo",60002),repoDelete:f("repo-delete",60002),gistFork:f("gist-fork",60003),repoForked:f("repo-forked",60003),gitPullRequest:f("git-pull-request",60004),gitPullRequestAbandoned:f("git-pull-request-abandoned",60004),recordKeys:f("record-keys",60005),keyboard:f("keyboard",60005),tag:f("tag",60006),gitPullRequestLabel:f("git-pull-request-label",60006),tagAdd:f("tag-add",60006),tagRemove:f("tag-remove",60006),person:f("person",60007),personFollow:f("person-follow",60007),personOutline:f("person-outline",60007),personFilled:f("person-filled",60007),sourceControl:f("source-control",60008),mirror:f("mirror",60009),mirrorPublic:f("mirror-public",60009),star:f("star",60010),starAdd:f("star-add",60010),starDelete:f("star-delete",60010),starEmpty:f("star-empty",60010),comment:f("comment",60011),commentAdd:f("comment-add",60011),alert:f("alert",60012),warning:f("warning",60012),search:f("search",60013),searchSave:f("search-save",60013),logOut:f("log-out",60014),signOut:f("sign-out",60014),logIn:f("log-in",60015),signIn:f("sign-in",60015),eye:f("eye",60016),eyeUnwatch:f("eye-unwatch",60016),eyeWatch:f("eye-watch",60016),circleFilled:f("circle-filled",60017),primitiveDot:f("primitive-dot",60017),closeDirty:f("close-dirty",60017),debugBreakpoint:f("debug-breakpoint",60017),debugBreakpointDisabled:f("debug-breakpoint-disabled",60017),debugHint:f("debug-hint",60017),terminalDecorationSuccess:f("terminal-decoration-success",60017),primitiveSquare:f("primitive-square",60018),edit:f("edit",60019),pencil:f("pencil",60019),info:f("info",60020),issueOpened:f("issue-opened",60020),gistPrivate:f("gist-private",60021),gitForkPrivate:f("git-fork-private",60021),lock:f("lock",60021),mirrorPrivate:f("mirror-private",60021),close:f("close",60022),removeClose:f("remove-close",60022),x:f("x",60022),repoSync:f("repo-sync",60023),sync:f("sync",60023),clone:f("clone",60024),desktopDownload:f("desktop-download",60024),beaker:f("beaker",60025),microscope:f("microscope",60025),vm:f("vm",60026),deviceDesktop:f("device-desktop",60026),file:f("file",60027),more:f("more",60028),ellipsis:f("ellipsis",60028),kebabHorizontal:f("kebab-horizontal",60028),mailReply:f("mail-reply",60029),reply:f("reply",60029),organization:f("organization",60030),organizationFilled:f("organization-filled",60030),organizationOutline:f("organization-outline",60030),newFile:f("new-file",60031),fileAdd:f("file-add",60031),newFolder:f("new-folder",60032),fileDirectoryCreate:f("file-directory-create",60032),trash:f("trash",60033),trashcan:f("trashcan",60033),history:f("history",60034),clock:f("clock",60034),folder:f("folder",60035),fileDirectory:f("file-directory",60035),symbolFolder:f("symbol-folder",60035),logoGithub:f("logo-github",60036),markGithub:f("mark-github",60036),github:f("github",60036),terminal:f("terminal",60037),console:f("console",60037),repl:f("repl",60037),zap:f("zap",60038),symbolEvent:f("symbol-event",60038),error:f("error",60039),stop:f("stop",60039),variable:f("variable",60040),symbolVariable:f("symbol-variable",60040),array:f("array",60042),symbolArray:f("symbol-array",60042),symbolModule:f("symbol-module",60043),symbolPackage:f("symbol-package",60043),symbolNamespace:f("symbol-namespace",60043),symbolObject:f("symbol-object",60043),symbolMethod:f("symbol-method",60044),symbolFunction:f("symbol-function",60044),symbolConstructor:f("symbol-constructor",60044),symbolBoolean:f("symbol-boolean",60047),symbolNull:f("symbol-null",60047),symbolNumeric:f("symbol-numeric",60048),symbolNumber:f("symbol-number",60048),symbolStructure:f("symbol-structure",60049),symbolStruct:f("symbol-struct",60049),symbolParameter:f("symbol-parameter",60050),symbolTypeParameter:f("symbol-type-parameter",60050),symbolKey:f("symbol-key",60051),symbolText:f("symbol-text",60051),symbolReference:f("symbol-reference",60052),goToFile:f("go-to-file",60052),symbolEnum:f("symbol-enum",60053),symbolValue:f("symbol-value",60053),symbolRuler:f("symbol-ruler",60054),symbolUnit:f("symbol-unit",60054),activateBreakpoints:f("activate-breakpoints",60055),archive:f("archive",60056),arrowBoth:f("arrow-both",60057),arrowDown:f("arrow-down",60058),arrowLeft:f("arrow-left",60059),arrowRight:f("arrow-right",60060),arrowSmallDown:f("arrow-small-down",60061),arrowSmallLeft:f("arrow-small-left",60062),arrowSmallRight:f("arrow-small-right",60063),arrowSmallUp:f("arrow-small-up",60064),arrowUp:f("arrow-up",60065),bell:f("bell",60066),bold:f("bold",60067),book:f("book",60068),bookmark:f("bookmark",60069),debugBreakpointConditionalUnverified:f("debug-breakpoint-conditional-unverified",60070),debugBreakpointConditional:f("debug-breakpoint-conditional",60071),debugBreakpointConditionalDisabled:f("debug-breakpoint-conditional-disabled",60071),debugBreakpointDataUnverified:f("debug-breakpoint-data-unverified",60072),debugBreakpointData:f("debug-breakpoint-data",60073),debugBreakpointDataDisabled:f("debug-breakpoint-data-disabled",60073),debugBreakpointLogUnverified:f("debug-breakpoint-log-unverified",60074),debugBreakpointLog:f("debug-breakpoint-log",60075),debugBreakpointLogDisabled:f("debug-breakpoint-log-disabled",60075),briefcase:f("briefcase",60076),broadcast:f("broadcast",60077),browser:f("browser",60078),bug:f("bug",60079),calendar:f("calendar",60080),caseSensitive:f("case-sensitive",60081),check:f("check",60082),checklist:f("checklist",60083),chevronDown:f("chevron-down",60084),chevronLeft:f("chevron-left",60085),chevronRight:f("chevron-right",60086),chevronUp:f("chevron-up",60087),chromeClose:f("chrome-close",60088),chromeMaximize:f("chrome-maximize",60089),chromeMinimize:f("chrome-minimize",60090),chromeRestore:f("chrome-restore",60091),circleOutline:f("circle-outline",60092),circle:f("circle",60092),debugBreakpointUnverified:f("debug-breakpoint-unverified",60092),terminalDecorationIncomplete:f("terminal-decoration-incomplete",60092),circleSlash:f("circle-slash",60093),circuitBoard:f("circuit-board",60094),clearAll:f("clear-all",60095),clippy:f("clippy",60096),closeAll:f("close-all",60097),cloudDownload:f("cloud-download",60098),cloudUpload:f("cloud-upload",60099),code:f("code",60100),collapseAll:f("collapse-all",60101),colorMode:f("color-mode",60102),commentDiscussion:f("comment-discussion",60103),creditCard:f("credit-card",60105),dash:f("dash",60108),dashboard:f("dashboard",60109),database:f("database",60110),debugContinue:f("debug-continue",60111),debugDisconnect:f("debug-disconnect",60112),debugPause:f("debug-pause",60113),debugRestart:f("debug-restart",60114),debugStart:f("debug-start",60115),debugStepInto:f("debug-step-into",60116),debugStepOut:f("debug-step-out",60117),debugStepOver:f("debug-step-over",60118),debugStop:f("debug-stop",60119),debug:f("debug",60120),deviceCameraVideo:f("device-camera-video",60121),deviceCamera:f("device-camera",60122),deviceMobile:f("device-mobile",60123),diffAdded:f("diff-added",60124),diffIgnored:f("diff-ignored",60125),diffModified:f("diff-modified",60126),diffRemoved:f("diff-removed",60127),diffRenamed:f("diff-renamed",60128),diff:f("diff",60129),diffSidebyside:f("diff-sidebyside",60129),discard:f("discard",60130),editorLayout:f("editor-layout",60131),emptyWindow:f("empty-window",60132),exclude:f("exclude",60133),extensions:f("extensions",60134),eyeClosed:f("eye-closed",60135),fileBinary:f("file-binary",60136),fileCode:f("file-code",60137),fileMedia:f("file-media",60138),filePdf:f("file-pdf",60139),fileSubmodule:f("file-submodule",60140),fileSymlinkDirectory:f("file-symlink-directory",60141),fileSymlinkFile:f("file-symlink-file",60142),fileZip:f("file-zip",60143),files:f("files",60144),filter:f("filter",60145),flame:f("flame",60146),foldDown:f("fold-down",60147),foldUp:f("fold-up",60148),fold:f("fold",60149),folderActive:f("folder-active",60150),folderOpened:f("folder-opened",60151),gear:f("gear",60152),gift:f("gift",60153),gistSecret:f("gist-secret",60154),gist:f("gist",60155),gitCommit:f("git-commit",60156),gitCompare:f("git-compare",60157),compareChanges:f("compare-changes",60157),gitMerge:f("git-merge",60158),githubAction:f("github-action",60159),githubAlt:f("github-alt",60160),globe:f("globe",60161),grabber:f("grabber",60162),graph:f("graph",60163),gripper:f("gripper",60164),heart:f("heart",60165),home:f("home",60166),horizontalRule:f("horizontal-rule",60167),hubot:f("hubot",60168),inbox:f("inbox",60169),issueReopened:f("issue-reopened",60171),issues:f("issues",60172),italic:f("italic",60173),jersey:f("jersey",60174),json:f("json",60175),bracket:f("bracket",60175),kebabVertical:f("kebab-vertical",60176),key:f("key",60177),law:f("law",60178),lightbulbAutofix:f("lightbulb-autofix",60179),linkExternal:f("link-external",60180),link:f("link",60181),listOrdered:f("list-ordered",60182),listUnordered:f("list-unordered",60183),liveShare:f("live-share",60184),loading:f("loading",60185),location:f("location",60186),mailRead:f("mail-read",60187),mail:f("mail",60188),markdown:f("markdown",60189),megaphone:f("megaphone",60190),mention:f("mention",60191),milestone:f("milestone",60192),gitPullRequestMilestone:f("git-pull-request-milestone",60192),mortarBoard:f("mortar-board",60193),move:f("move",60194),multipleWindows:f("multiple-windows",60195),mute:f("mute",60196),noNewline:f("no-newline",60197),note:f("note",60198),octoface:f("octoface",60199),openPreview:f("open-preview",60200),package:f("package",60201),paintcan:f("paintcan",60202),pin:f("pin",60203),play:f("play",60204),run:f("run",60204),plug:f("plug",60205),preserveCase:f("preserve-case",60206),preview:f("preview",60207),project:f("project",60208),pulse:f("pulse",60209),question:f("question",60210),quote:f("quote",60211),radioTower:f("radio-tower",60212),reactions:f("reactions",60213),references:f("references",60214),refresh:f("refresh",60215),regex:f("regex",60216),remoteExplorer:f("remote-explorer",60217),remote:f("remote",60218),remove:f("remove",60219),replaceAll:f("replace-all",60220),replace:f("replace",60221),repoClone:f("repo-clone",60222),repoForcePush:f("repo-force-push",60223),repoPull:f("repo-pull",60224),repoPush:f("repo-push",60225),report:f("report",60226),requestChanges:f("request-changes",60227),rocket:f("rocket",60228),rootFolderOpened:f("root-folder-opened",60229),rootFolder:f("root-folder",60230),rss:f("rss",60231),ruby:f("ruby",60232),saveAll:f("save-all",60233),saveAs:f("save-as",60234),save:f("save",60235),screenFull:f("screen-full",60236),screenNormal:f("screen-normal",60237),searchStop:f("search-stop",60238),server:f("server",60240),settingsGear:f("settings-gear",60241),settings:f("settings",60242),shield:f("shield",60243),smiley:f("smiley",60244),sortPrecedence:f("sort-precedence",60245),splitHorizontal:f("split-horizontal",60246),splitVertical:f("split-vertical",60247),squirrel:f("squirrel",60248),starFull:f("star-full",60249),starHalf:f("star-half",60250),symbolClass:f("symbol-class",60251),symbolColor:f("symbol-color",60252),symbolConstant:f("symbol-constant",60253),symbolEnumMember:f("symbol-enum-member",60254),symbolField:f("symbol-field",60255),symbolFile:f("symbol-file",60256),symbolInterface:f("symbol-interface",60257),symbolKeyword:f("symbol-keyword",60258),symbolMisc:f("symbol-misc",60259),symbolOperator:f("symbol-operator",60260),symbolProperty:f("symbol-property",60261),wrench:f("wrench",60261),wrenchSubaction:f("wrench-subaction",60261),symbolSnippet:f("symbol-snippet",60262),tasklist:f("tasklist",60263),telescope:f("telescope",60264),textSize:f("text-size",60265),threeBars:f("three-bars",60266),thumbsdown:f("thumbsdown",60267),thumbsup:f("thumbsup",60268),tools:f("tools",60269),triangleDown:f("triangle-down",60270),triangleLeft:f("triangle-left",60271),triangleRight:f("triangle-right",60272),triangleUp:f("triangle-up",60273),twitter:f("twitter",60274),unfold:f("unfold",60275),unlock:f("unlock",60276),unmute:f("unmute",60277),unverified:f("unverified",60278),verified:f("verified",60279),versions:f("versions",60280),vmActive:f("vm-active",60281),vmOutline:f("vm-outline",60282),vmRunning:f("vm-running",60283),watch:f("watch",60284),whitespace:f("whitespace",60285),wholeWord:f("whole-word",60286),window:f("window",60287),wordWrap:f("word-wrap",60288),zoomIn:f("zoom-in",60289),zoomOut:f("zoom-out",60290),listFilter:f("list-filter",60291),listFlat:f("list-flat",60292),listSelection:f("list-selection",60293),selection:f("selection",60293),listTree:f("list-tree",60294),debugBreakpointFunctionUnverified:f("debug-breakpoint-function-unverified",60295),debugBreakpointFunction:f("debug-breakpoint-function",60296),debugBreakpointFunctionDisabled:f("debug-breakpoint-function-disabled",60296),debugStackframeActive:f("debug-stackframe-active",60297),circleSmallFilled:f("circle-small-filled",60298),debugStackframeDot:f("debug-stackframe-dot",60298),terminalDecorationMark:f("terminal-decoration-mark",60298),debugStackframe:f("debug-stackframe",60299),debugStackframeFocused:f("debug-stackframe-focused",60299),debugBreakpointUnsupported:f("debug-breakpoint-unsupported",60300),symbolString:f("symbol-string",60301),debugReverseContinue:f("debug-reverse-continue",60302),debugStepBack:f("debug-step-back",60303),debugRestartFrame:f("debug-restart-frame",60304),debugAlt:f("debug-alt",60305),callIncoming:f("call-incoming",60306),callOutgoing:f("call-outgoing",60307),menu:f("menu",60308),expandAll:f("expand-all",60309),feedback:f("feedback",60310),gitPullRequestReviewer:f("git-pull-request-reviewer",60310),groupByRefType:f("group-by-ref-type",60311),ungroupByRefType:f("ungroup-by-ref-type",60312),account:f("account",60313),gitPullRequestAssignee:f("git-pull-request-assignee",60313),bellDot:f("bell-dot",60314),debugConsole:f("debug-console",60315),library:f("library",60316),output:f("output",60317),runAll:f("run-all",60318),syncIgnored:f("sync-ignored",60319),pinned:f("pinned",60320),githubInverted:f("github-inverted",60321),serverProcess:f("server-process",60322),serverEnvironment:f("server-environment",60323),pass:f("pass",60324),issueClosed:f("issue-closed",60324),stopCircle:f("stop-circle",60325),playCircle:f("play-circle",60326),record:f("record",60327),debugAltSmall:f("debug-alt-small",60328),vmConnect:f("vm-connect",60329),cloud:f("cloud",60330),merge:f("merge",60331),export:f("export",60332),graphLeft:f("graph-left",60333),magnet:f("magnet",60334),notebook:f("notebook",60335),redo:f("redo",60336),checkAll:f("check-all",60337),pinnedDirty:f("pinned-dirty",60338),passFilled:f("pass-filled",60339),circleLargeFilled:f("circle-large-filled",60340),circleLarge:f("circle-large",60341),circleLargeOutline:f("circle-large-outline",60341),combine:f("combine",60342),gather:f("gather",60342),table:f("table",60343),variableGroup:f("variable-group",60344),typeHierarchy:f("type-hierarchy",60345),typeHierarchySub:f("type-hierarchy-sub",60346),typeHierarchySuper:f("type-hierarchy-super",60347),gitPullRequestCreate:f("git-pull-request-create",60348),runAbove:f("run-above",60349),runBelow:f("run-below",60350),notebookTemplate:f("notebook-template",60351),debugRerun:f("debug-rerun",60352),workspaceTrusted:f("workspace-trusted",60353),workspaceUntrusted:f("workspace-untrusted",60354),workspaceUnknown:f("workspace-unknown",60355),terminalCmd:f("terminal-cmd",60356),terminalDebian:f("terminal-debian",60357),terminalLinux:f("terminal-linux",60358),terminalPowershell:f("terminal-powershell",60359),terminalTmux:f("terminal-tmux",60360),terminalUbuntu:f("terminal-ubuntu",60361),terminalBash:f("terminal-bash",60362),arrowSwap:f("arrow-swap",60363),copy:f("copy",60364),personAdd:f("person-add",60365),filterFilled:f("filter-filled",60366),wand:f("wand",60367),debugLineByLine:f("debug-line-by-line",60368),inspect:f("inspect",60369),layers:f("layers",60370),layersDot:f("layers-dot",60371),layersActive:f("layers-active",60372),compass:f("compass",60373),compassDot:f("compass-dot",60374),compassActive:f("compass-active",60375),azure:f("azure",60376),issueDraft:f("issue-draft",60377),gitPullRequestClosed:f("git-pull-request-closed",60378),gitPullRequestDraft:f("git-pull-request-draft",60379),debugAll:f("debug-all",60380),debugCoverage:f("debug-coverage",60381),runErrors:f("run-errors",60382),folderLibrary:f("folder-library",60383),debugContinueSmall:f("debug-continue-small",60384),beakerStop:f("beaker-stop",60385),graphLine:f("graph-line",60386),graphScatter:f("graph-scatter",60387),pieChart:f("pie-chart",60388),bracketDot:f("bracket-dot",60389),bracketError:f("bracket-error",60390),lockSmall:f("lock-small",60391),azureDevops:f("azure-devops",60392),verifiedFilled:f("verified-filled",60393),newline:f("newline",60394),layout:f("layout",60395),layoutActivitybarLeft:f("layout-activitybar-left",60396),layoutActivitybarRight:f("layout-activitybar-right",60397),layoutPanelLeft:f("layout-panel-left",60398),layoutPanelCenter:f("layout-panel-center",60399),layoutPanelJustify:f("layout-panel-justify",60400),layoutPanelRight:f("layout-panel-right",60401),layoutPanel:f("layout-panel",60402),layoutSidebarLeft:f("layout-sidebar-left",60403),layoutSidebarRight:f("layout-sidebar-right",60404),layoutStatusbar:f("layout-statusbar",60405),layoutMenubar:f("layout-menubar",60406),layoutCentered:f("layout-centered",60407),target:f("target",60408),indent:f("indent",60409),recordSmall:f("record-small",60410),errorSmall:f("error-small",60411),terminalDecorationError:f("terminal-decoration-error",60411),arrowCircleDown:f("arrow-circle-down",60412),arrowCircleLeft:f("arrow-circle-left",60413),arrowCircleRight:f("arrow-circle-right",60414),arrowCircleUp:f("arrow-circle-up",60415),layoutSidebarRightOff:f("layout-sidebar-right-off",60416),layoutPanelOff:f("layout-panel-off",60417),layoutSidebarLeftOff:f("layout-sidebar-left-off",60418),blank:f("blank",60419),heartFilled:f("heart-filled",60420),map:f("map",60421),mapHorizontal:f("map-horizontal",60421),foldHorizontal:f("fold-horizontal",60421),mapFilled:f("map-filled",60422),mapHorizontalFilled:f("map-horizontal-filled",60422),foldHorizontalFilled:f("fold-horizontal-filled",60422),circleSmall:f("circle-small",60423),bellSlash:f("bell-slash",60424),bellSlashDot:f("bell-slash-dot",60425),commentUnresolved:f("comment-unresolved",60426),gitPullRequestGoToChanges:f("git-pull-request-go-to-changes",60427),gitPullRequestNewChanges:f("git-pull-request-new-changes",60428),searchFuzzy:f("search-fuzzy",60429),commentDraft:f("comment-draft",60430),send:f("send",60431),sparkle:f("sparkle",60432),insert:f("insert",60433),mic:f("mic",60434),thumbsdownFilled:f("thumbsdown-filled",60435),thumbsupFilled:f("thumbsup-filled",60436),coffee:f("coffee",60437),snake:f("snake",60438),game:f("game",60439),vr:f("vr",60440),chip:f("chip",60441),piano:f("piano",60442),music:f("music",60443),micFilled:f("mic-filled",60444),repoFetch:f("repo-fetch",60445),copilot:f("copilot",60446),lightbulbSparkle:f("lightbulb-sparkle",60447),robot:f("robot",60448),sparkleFilled:f("sparkle-filled",60449),diffSingle:f("diff-single",60450),diffMultiple:f("diff-multiple",60451),surroundWith:f("surround-with",60452),share:f("share",60453),gitStash:f("git-stash",60454),gitStashApply:f("git-stash-apply",60455),gitStashPop:f("git-stash-pop",60456),vscode:f("vscode",60457),vscodeInsiders:f("vscode-insiders",60458),codeOss:f("code-oss",60459),runCoverage:f("run-coverage",60460),runAllCoverage:f("run-all-coverage",60461),coverage:f("coverage",60462),githubProject:f("github-project",60463),mapVertical:f("map-vertical",60464),foldVertical:f("fold-vertical",60464),mapVerticalFilled:f("map-vertical-filled",60465),foldVerticalFilled:f("fold-vertical-filled",60465),goToSearch:f("go-to-search",60466),percentage:f("percentage",60467),sortPercentage:f("sort-percentage",60467),attach:f("attach",60468),goToEditingSession:f("go-to-editing-session",60469),editSession:f("edit-session",60470),codeReview:f("code-review",60471),copilotWarning:f("copilot-warning",60472),python:f("python",60473),copilotLarge:f("copilot-large",60474),copilotWarningLarge:f("copilot-warning-large",60475),keyboardTab:f("keyboard-tab",60476),copilotBlocked:f("copilot-blocked",60477),copilotNotConnected:f("copilot-not-connected",60478),flag:f("flag",60479),lightbulbEmpty:f("lightbulb-empty",60480),symbolMethodArrow:f("symbol-method-arrow",60481),copilotUnavailable:f("copilot-unavailable",60482),repoPinned:f("repo-pinned",60483),keyboardTabAbove:f("keyboard-tab-above",60484),keyboardTabBelow:f("keyboard-tab-below",60485),gitPullRequestDone:f("git-pull-request-done",60486),mcp:f("mcp",60487),extensionsLarge:f("extensions-large",60488),layoutPanelDock:f("layout-panel-dock",60489),layoutSidebarLeftDock:f("layout-sidebar-left-dock",60490),layoutSidebarRightDock:f("layout-sidebar-right-dock",60491),copilotInProgress:f("copilot-in-progress",60492),copilotError:f("copilot-error",60493),copilotSuccess:f("copilot-success",60494),chatSparkle:f("chat-sparkle",60495),searchSparkle:f("search-sparkle",60496),editSparkle:f("edit-sparkle",60497),copilotSnooze:f("copilot-snooze",60498),sendToRemoteAgent:f("send-to-remote-agent",60499),commentDiscussionSparkle:f("comment-discussion-sparkle",60500),chatSparkleWarning:f("chat-sparkle-warning",60501),chatSparkleError:f("chat-sparkle-error",60502),collection:f("collection",60503),newCollection:f("new-collection",60504),thinking:f("thinking",60505),build:f("build",60506),commentDiscussionQuote:f("comment-discussion-quote",60507),cursor:f("cursor",60508),eraser:f("eraser",60509),fileText:f("file-text",60510),quotes:f("quotes",60512),rename:f("rename",60513),runWithDeps:f("run-with-deps",60514),debugConnected:f("debug-connected",60515),strikethrough:f("strikethrough",60516),openInProduct:f("open-in-product",60517),indexZero:f("index-zero",60518),agent:f("agent",60519),editCode:f("edit-code",60520),repoSelected:f("repo-selected",60521),skip:f("skip",60522),mergeInto:f("merge-into",60523),gitBranchChanges:f("git-branch-changes",60524),gitBranchStagedChanges:f("git-branch-staged-changes",60525),gitBranchConflicts:f("git-branch-conflicts",60526),gitBranch:f("git-branch",60527),gitBranchCreate:f("git-branch-create",60527),gitBranchDelete:f("git-branch-delete",60527),searchLarge:f("search-large",60528),terminalGitBash:f("terminal-git-bash",60529),windowActive:f("window-active",60530),forward:f("forward",60531),download:f("download",60532),clockface:f("clockface",60533),unarchive:f("unarchive",60534),sessionInProgress:f("session-in-progress",60535),collectionSmall:f("collection-small",60536),vmSmall:f("vm-small",60537),cloudSmall:f("cloud-small",60538),addSmall:f("add-small",60539),removeSmall:f("remove-small",60540),worktreeSmall:f("worktree-small",60541),worktree:f("worktree",60542),screenCut:f("screen-cut",60543),ask:f("ask",60544),openai:f("openai",60545),claude:f("claude",60546),openInWindow:f("open-in-window",60547),newSession:f("new-session",60548),terminalSecure:f("terminal-secure",60549),chatImport:f("chat-import",60550),chatExport:f("chat-export",60551),shareWindow:f("share-window",60552),circleSlashCompact:f("circle-slash-compact",60553),copilotCompact:f("copilot-compact",60554),folderOpenedCompact:f("folder-opened-compact",60555),folderCompact:f("folder-compact",60556),gearCompact:f("gear-compact",60557),gitBranchCompact:f("git-branch-compact",60558),libraryCompact:f("library-compact",60559),recordKeysCompact:f("record-keys-compact",60560),remoteCompact:f("remote-compact",60561),repoForkedCompact:f("repo-forked-compact",60562),repoCompact:f("repo-compact",60563),shieldCompact:f("shield-compact",60564),sparkleCompact:f("sparkle-compact",60565),symbolColorCompact:f("symbol-color-compact",60566),windowCompact:f("window-compact",60567),errorCompact:f("error-compact",60568),warningCompact:f("warning-compact",60569),passCompact:f("pass-compact",60570),important:f("important",60571),importantCompact:f("important-compact",60572),rocketCompact:f("rocket-compact",60573),unpin:f("unpin",60574),addCompact:f("add-compact",60575),attachCompact:f("attach-compact",60576),beakerCompact:f("beaker-compact",60577),checkCompact:f("check-compact",60578),checklistCompact:f("checklist-compact",60579),chevronDownCompact:f("chevron-down-compact",60580),chevronLeftCompact:f("chevron-left-compact",60581),chevronRightCompact:f("chevron-right-compact",60582),chevronUpCompact:f("chevron-up-compact",60583),circleFilledCompact:f("circle-filled-compact",60584),circleSmallFilledCompact:f("circle-small-filled-compact",60585),closeCompact:f("close-compact",60586),collapseAllCompact:f("collapse-all-compact",60587),commentCompact:f("comment-compact",60588),commentUnresolvedCompact:f("comment-unresolved-compact",60589),debugConnectedCompact:f("debug-connected-compact",60590),debugDisconnectCompact:f("debug-disconnect-compact",60591),editCompact:f("edit-compact",60592),fileMediaCompact:f("file-media-compact",60593),gitFetch:f("git-fetch",60594),lightbulbCompact:f("lightbulb-compact",60595),loadingCompact:f("loading-compact",60596),passFilledCompact:f("pass-filled-compact",60597),projectCompact:f("project-compact",60598),refreshCompact:f("refresh-compact",60599),searchCompact:f("search-compact",60600),sessionInProgressCompact:f("session-in-progress-compact",60601),syncCompact:f("sync-compact",60602),terminalCompact:f("terminal-compact",60603),vmPending:f("vm-pending",60604),worktreeCompact:f("worktree-compact",60605),developerTools:f("developer-tools",60606),cloudCompact:f("cloud-compact",60607),agentCompact:f("agent-compact",60608),askCompact:f("ask-compact",60609),settingsCompact:f("settings-compact",60610),vmCompact:f("vm-compact",60611),runCompact:f("run-compact",60612),gitPullRequestComment:f("git-pull-request-comment",60613),gitPullRequestError:f("git-pull-request-error",60614),rightPanelHide:f("right-panel-hide",60615),rightPanelShow:f("right-panel-show",60616),vscodeInsidersOutline:f("vscode-insiders-outline",60617),vscodeOutline:f("vscode-outline",60618),voiceMode:f("voice-mode",60619),voiceModeCompact:f("voice-mode-compact",60620)};var aW={dialogError:f("dialog-error","error"),dialogWarning:f("dialog-warning","warning"),dialogInfo:f("dialog-info","info"),dialogClose:f("dialog-close","close"),treeItemExpanded:f("tree-item-expanded","chevron-down"),treeFilterOnTypeOn:f("tree-filter-on-type-on","list-filter"),treeFilterOnTypeOff:f("tree-filter-on-type-off","list-selection"),treeFilterClear:f("tree-filter-clear","close"),treeItemLoading:f("tree-item-loading","loading"),menuSelection:f("menu-selection","check"),menuSubmenu:f("menu-submenu","chevron-right"),menuBarMore:f("menubar-more","more"),scrollbarButtonLeft:f("scrollbar-button-left","triangle-left"),scrollbarButtonRight:f("scrollbar-button-right","triangle-right"),scrollbarButtonUp:f("scrollbar-button-up","triangle-up"),scrollbarButtonDown:f("scrollbar-button-down","triangle-down"),toolBarMore:f("toolbar-more","more"),quickInputBack:f("quick-input-back","arrow-left"),dropDownButton:f("drop-down-button",60084),symbolCustomColor:f("symbol-customcolor",60252),exportIcon:f("export",60332),workspaceUnspecified:f("workspace-unspecified",60355),newLine:f("newline",60394),thumbsDownFilled:f("thumbsdown-filled",60435),thumbsUpFilled:f("thumbsup-filled",60436),gitFetch:f("git-fetch",60445),lightbulbSparkleAutofix:f("lightbulb-sparkle-autofix",60447),debugBreakpointPending:f("debug-breakpoint-pending",60377),chatImport:f("chat-import",60550),chatExport:f("chat-export",60551)},de={...FL,...aW};var ku;(t=>{function i(e){return!!e&&typeof e=="object"&&typeof e.id=="string"}t.isThemeColor=i})(ku||={});var Qe;(S=>{S.iconNameSegment="[A-Za-z0-9]+",S.iconNameExpression="[A-Za-z0-9-]+",S.iconModifierExpression="~[A-Za-z]+",S.iconNameCharacter="[A-Za-z0-9~-]";let o=new RegExp(`^(${S.iconNameExpression})(${S.iconModifierExpression})?$`);function r(w){let P=o.exec(w.id);if(!P)return r(de.error);let[,O,L]=P,$=["codicon","codicon-"+O];return L&&$.push("codicon-modifier-"+L.substring(1)),$}S.asClassNameArray=r;function s(w){return r(w).join(" ")}S.asClassName=s;function a(w){return"."+r(w).join(".")}S.asCSSSelector=a;function l(w){return!!w&&typeof w=="object"&&typeof w.id=="string"&&(typeof w.color>"u"||ku.isThemeColor(w.color))}S.isThemeIcon=l;let d=new RegExp(`^\\$\\((${S.iconNameExpression}(?:${S.iconModifierExpression})?)\\)$`);function c(w){let P=d.exec(w);if(!P)return;let[,O]=P;return{id:O}}S.fromString=c;function u(w){return{id:w}}S.fromId=u;function m(w,P){let O=w.id,L=O.lastIndexOf("~");return L!==-1&&(O=O.substring(0,L)),P&&(O=`${O}~${P}`),{id:O}}S.modify=m;function g(w){let P=w.id.lastIndexOf("~");if(P!==-1)return w.id.substring(P+1)}S.getModifier=g;function v(w,P){return w.id===P.id&&w.color?.id===P.color?.id}S.isEqual=v;function h(w){return w?.id===de.file.id}S.isFile=h;function I(w){return w?.id===de.folder.id}S.isFolder=I})(Qe||={});var Fk=new RegExp(`\\$\\(${Qe.iconNameExpression}(?:${Qe.iconModifierExpression})?\\)`,"g"),lW=new RegExp(`(\\\\)?${Fk.source}`,"g");function HL(i){return i.replace(lW,(t,e)=>e?t:`\\${t}`)}var VQ=new RegExp(`\\\\${Fk.source}`,"g");var BQ=new RegExp(`(\\s)?(\\\\)?${Fk.source}(\\s)?`,"g");var WQ=new RegExp(`\\$\\(${Qe.iconNameCharacter}+\\)`,"g");var gt=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 Le("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+=dW(this.supportThemeIcons?HL(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+=`
${cW(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(dr(e),"g");return t.replace(n,(o,r)=>t.charAt(r-1)!=="\\"?`\\${o}`:o)}};function wo(i){return i instanceof gt?!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 dW(i){return i.replace(/[\\`*_{}[\]()#+!~]/g,"\\$&").replace(/^([ \t]*)-/gm,"$1\\-")}function cW(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 VL(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 Bk(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var Fd=Bk();function KL(i){Fd=i}var GL=/[&<>"']/,pW=new RegExp(GL.source,"g"),jL=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,mW=new RegExp(jL.source,"g"),gW={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},BL=i=>gW[i];function pr(i,t){if(t){if(GL.test(i))return i.replace(pW,BL)}else if(jL.test(i))return i.replace(mW,BL);return i}var fW=/(^|[^\[])\^/g;function Wt(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(fW,"$1"),e=e.replace(o,s),n},getRegex:()=>new RegExp(e,t)};return n}function WL(i){try{i=encodeURI(i).replace(/%25/g,"%")}catch{return null}return i}var Of={exec:()=>null};function $L(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 hW(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 zL(i,t,e,n){let o=t.href,r=t.title?pr(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:pr(s)}}function vW(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 _u=class{options;rules;lexer;constructor(t){this.options=t||Fd}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=vW(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,h=v.raw+`
`+n.join(`
`),I=this.blockquote(h);s[s.length-1]=I,o=o.substring(0,o.length-v.raw.length)+I.raw,r=r.substring(0,r.length-v.text.length)+I.text;break}else if(g?.type==="list"){let v=g,h=v.raw+`
`+n.join(`
`),I=this.list(h);s[s.length-1]=I,o=o.substring(0,o.length-g.raw.length)+I.raw,r=r.substring(0,r.length-v.raw.length)+I.raw,n=h.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+/,S=>" ".repeat(3*S.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 S=new RegExp(`^ {0,${Math.min(3,v-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ 	][^\\n]*)?(?:\\n|$))`),w=new RegExp(`^ {0,${Math.min(3,v-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),P=new RegExp(`^ {0,${Math.min(3,v-1)}}(?:\`\`\`|~~~)`),O=new RegExp(`^ {0,${Math.min(3,v-1)}}#`);for(;t;){let L=t.split(`
`,1)[0];if(m=L,this.options.pedantic&&(m=m.replace(/^ {1,4}(?=( {4})*[^ ])/g,"  ")),P.test(m)||O.test(m)||S.test(m)||w.test(t))break;if(m.search(/[^ ]/)>=v||!m.trim())c+=`
`+m.slice(v);else{if(g||u.search(/[^ ]/)>=4||P.test(u)||O.test(u)||w.test(u))break;c+=`
`+m}!g&&!m.trim()&&(g=!0),d+=L+`
`,t=t.substring(L.length+1),u=m.slice(v)}}r.loose||(a?r.loose=!0:/\n *\n *$/.test(d)&&(a=!0));let h=null,I;this.options.gfm&&(h=/^\[[ xX]\] /.exec(c),h&&(I=h[0]!=="[ ] ",c=c.replace(/^\[[ xX]\] +/,""))),r.items.push({type:"list_item",raw:d,task:!!h,checked:I,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=$L(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($L(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:pr(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=hW(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)),zL(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 zL(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 h=g.slice(1,-1);return{type:"em",raw:g,text:h,tokens:this.lexer.inlineTokens(h)}}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=pr(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=pr(e[1]),o="mailto:"+n):(n=pr(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=pr(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=pr(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=pr(e[0]),{type:"text",raw:e[0],text:n}}}},bW=/^(?: *(?:\n|$))+/,yW=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,IW=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Nf=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,xW=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,QL=/(?:[*+-]|\d{1,9}[.)])/,JL=Wt(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,QL).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(),Wk=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,SW=/^[^\n]+/,$k=/(?!\s*\])(?:\\.|[^\[\]\\])+/,CW=Wt(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",$k).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),TW=Wt(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,QL).getRegex(),Ty="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",zk=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,EW=Wt("^ {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",zk).replace("tag",Ty).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),YL=Wt(Wk).replace("hr",Nf).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",Ty).getRegex(),wW=Wt(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",YL).getRegex(),qk={blockquote:wW,code:yW,def:CW,fences:IW,heading:xW,hr:Nf,html:EW,lheading:JL,list:TW,newline:bW,paragraph:YL,table:Of,text:SW},qL=Wt("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Nf).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",Ty).getRegex(),kW={...qk,table:qL,paragraph:Wt(Wk).replace("hr",Nf).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",qL).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",Ty).getRegex()},PW={...qk,html:Wt(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",zk).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:Of,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Wt(Wk).replace("hr",Nf).replace("heading",` *#{1,6} *[^
]`).replace("lheading",JL).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},XL=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,_W=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,ZL=/^( {2,}|\\)\n(?!\s*$)/,DW=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Uf="\\p{P}\\p{S}",RW=Wt(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,Uf).getRegex(),MW=/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,AW=Wt(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,Uf).getRegex(),OW=Wt("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,Uf).getRegex(),LW=Wt("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,Uf).getRegex(),NW=Wt(/\\([punct])/,"gu").replace(/punct/g,Uf).getRegex(),UW=Wt(/^<(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(),FW=Wt(zk).replace("(?:-->|$)","-->").getRegex(),HW=Wt("^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",FW).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Cy=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,VW=Wt(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",Cy).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),eN=Wt(/^!?\[(label)\]\[(ref)\]/).replace("label",Cy).replace("ref",$k).getRegex(),tN=Wt(/^!?\[(ref)\](?:\[\])?/).replace("ref",$k).getRegex(),BW=Wt("reflink|nolink(?!\\()","g").replace("reflink",eN).replace("nolink",tN).getRegex(),Kk={_backpedal:Of,anyPunctuation:NW,autolink:UW,blockSkip:MW,br:ZL,code:_W,del:Of,emStrongLDelim:AW,emStrongRDelimAst:OW,emStrongRDelimUnd:LW,escape:XL,link:VW,nolink:tN,punctuation:RW,reflink:eN,reflinkSearch:BW,tag:HW,text:DW,url:Of},WW={...Kk,link:Wt(/^!?\[(label)\]\((.*?)\)/).replace("label",Cy).getRegex(),reflink:Wt(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Cy).getRegex()},Hk={...Kk,escape:Wt(XL).replace("])","~|])").getRegex(),url:Wt(/^((?: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.!#$%&'*+\/=?_`{\|}~-]+@)))/},$W={...Hk,br:Wt(ZL).replace("{2,}","*").getRegex(),text:Wt(Hk.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Sy={normal:qk,gfm:kW,pedantic:PW},Af={normal:Kk,gfm:Hk,breaks:$W,pedantic:WW},Ms=class i{tokens;options;state;tokenizer;inlineQueue;constructor(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||Fd,this.options.tokenizer=this.options.tokenizer||new _u,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:Sy.normal,inline:Af.normal};this.options.pedantic?(e.block=Sy.pedantic,e.inline=Af.pedantic):this.options.gfm&&(e.block=Sy.gfm,this.options.breaks?e.inline=Af.breaks:e.inline=Af.gfm),this.tokenizer.rules=e}static get rules(){return{block:Sy,inline:Af}}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}},Du=class{options;parser;constructor(t){this.options=t||Fd}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-'+pr(o)+'">'+(n?r:pr(r,!0))+`</code></pre>
`:"<pre><code>"+(n?r:pr(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=WL(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=WL(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}},Lf=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""}},As=class i{options;renderer;textRenderer;constructor(t){this.options=t||Fd,this.options.renderer=this.options.renderer||new Du,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Lf}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}},Pu=class{options;constructor(t){this.options=t||Fd}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(t){return t}postprocess(t){return t}processAllTokens(t){return t}},Vk=class{defaults=Bk();options=this.setOptions;parse=this.parseMarkdown(Ms.lex,As.parse);parseInline=this.parseMarkdown(Ms.lexInline,As.parseInline);Parser=As;Renderer=Du;TextRenderer=Lf;Lexer=Ms;Tokenizer=_u;Hooks=Pu;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 Du(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 _u(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 Pu;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];Pu.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 Ms.lex(t,e??this.defaults)}parser(t,e){return As.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>"+pr(n.message+"",!0)+"</pre>";return e?Promise.resolve(o):o}if(e)return Promise.reject(n);throw n}}},Ud=new Vk;function Ut(i,t){return Ud.parse(i,t)}Ut.options=Ut.setOptions=function(i){return Ud.setOptions(i),Ut.defaults=Ud.defaults,KL(Ut.defaults),Ut};Ut.getDefaults=Bk;Ut.defaults=Fd;Ut.use=function(...i){return Ud.use(...i),Ut.defaults=Ud.defaults,KL(Ut.defaults),Ut};Ut.walkTokens=function(i,t){return Ud.walkTokens(i,t)};Ut.parseInline=Ud.parseInline;Ut.Parser=As;Ut.parser=As.parse;Ut.Renderer=Du;Ut.TextRenderer=Lf;Ut.Lexer=Ms;Ut.lexer=Ms.lex;Ut.Tokenizer=_u;Ut.Hooks=Pu;Ut.parse=Ut;var YQ=Ut.options,XQ=Ut.setOptions,ZQ=Ut.use,eJ=Ut.walkTokens,tJ=Ut.parseInline;var nJ=As.parse,oJ=Ms.lex;function nN(i){return JSON.stringify(i,qW)}function Ey(i){let t=JSON.parse(i);return t=Mt(t),t}function qW(i,t){return t instanceof RegExp?{$mid:2,source:t.source,flags:t.flags}:t}function Mt(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]=Mt(i[e],t+1);else for(let e in i)Object.hasOwnProperty.call(i,e)&&(i[e]=Mt(i[e],t+1))}return i}var Qo=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 oN={".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 Gk(i){for(let t in oN){let e=oN[t];if(Array.isArray(e)?e.includes(i):e===i)return t}}var KW=/^(.+)\/(.+?)(;.+)?$/;function jk(i,t){let e=KW.exec(i);return e?`${e[1].toLowerCase()}/${e[2].toLowerCase()}${e[3]??""}`:t?void 0:i}function wy(i){return["application/vnd.code.notebook.stdout","application/vnd.code.notebook.stderr"].includes(i)}var ko=Symbol("unset"),ky=class{constructor(){this.root=new Ff;this._size=0}get size(){return this._size}get nodes(){return this.root.children?.values()||It.empty()}get entries(){return this.root.children?.entries()||It.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===ko?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!==ko){for(this._size--,e[n].node._value=ko;n>0;n--){let{node:r,part:s}=e[n];if(r.children?.size||r._value!==ko)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!==ko)break}for(let o of rN(n))o._value!==ko&&(this._size--,yield o._value);n===this.root&&(this.root._value=ko,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===ko?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!==ko)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!==ko}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 Ff;o.children.set(a,l),o=l}else{let l=new Ff;o.children=new Map([[a,l]]),o=l}n?.(o)}let r=o._value===ko?0:1;e(o);let s=o._value===ko?0:1;this._size+=s-r}*values(){for(let{_value:t}of rN(this.root))t!==ko&&(yield t)}};function*rN(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 Ff=class{constructor(){this._value=ko}get value(){return this._value===ko?void 0:this._value}set value(t){this._value=t===void 0?ko:t}};var iN=new class{constructor(){this._zoomLevel=0;this._onDidChangeZoomLevel=new T;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 GW=cn?1.5:1.35,Qk=8,Jk=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=GW*n:s<Qk&&(s=s*n),s=Math.round(s),s<Qk&&(s=Qk);let c=1+(d?0:iN.getZoomLevel()*.1);return n*=c,s*=c,r===Xk&&(e==="normal"||e==="bold"?r=Yk:(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=ti.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}},jW=2,Py=class extends Jk{constructor(e,n){super(e);this._editorStylingBrand=void 0;this.version=jW;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}},Yk="normal",Xk="translate",QW="Consolas, 'Courier New', monospace",JW="Menlo, Monaco, 'Courier New', monospace",YW="'Droid Sans Mono', monospace",ti={fontFamily:cn?JW:xt?QW:YW,fontWeight:"normal",fontSize:cn?12:14,lineHeight:0,letterSpacing:0};var Zk={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}};var eP="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";function XW(i=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(let e of eP)i.indexOf(e)>=0||(t+="\\"+e);return t+="\\s]+)",new RegExp(t,"g")}var ZW=XW();function tP(i){let t=ZW;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 sN=new zn;sN.unshift({maxLen:1e3,windowSize:15,timeBudget:150});function nP(i,t,e,n,o){if(t=tP(t),o||(o=It.first(sN)),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),nP(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 RJ=R("accessibilityService");var MJ=new E("accessibilityModeEnabled",!1);var t5=8;var oP=class{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}},wt=class{constructor(t,e,n,o){this.id=t,this.name=e,this.defaultValue=n,this.schema=o}applyUpdate(t,e){return _y(t,e)}compute(t,e,n){return n}},Ru=class{constructor(t,e){this.newValue=t;this.didChange=e}};function _y(i,t){if(typeof i!="object"||typeof t!="object"||!i||!t)return new Ru(t,i!==t);if(Array.isArray(i)||Array.isArray(t)){let n=Array.isArray(i)&&Array.isArray(t)&&Jt(i,t);return new Ru(t,!n)}let e=!1;for(let n in t)if(t.hasOwnProperty(n)){let o=_y(i[n],t[n]);o.didChange&&(i[n]=o.newValue,e=!0)}return new Ru(i,e)}var Hi=class{constructor(t,e){this.schema=void 0;this.id=t,this.name="_never_",this.defaultValue=e}applyUpdate(t,e){return _y(t,e)}validate(t){return this.defaultValue}},Xa=class{constructor(t,e,n,o){this.id=t,this.name=e,this.defaultValue=n,this.schema=o}applyUpdate(t,e){return _y(t,e)}compute(t,e,n){return n}};function pe(i,t){return typeof i>"u"?t:i==="false"?!1:!!i}var Ee=class extends Xa{constructor(t,e,n,o=void 0){typeof o<"u"&&(o.type="boolean",o.default=n),super(t,e,n,o)}validate(t){return pe(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 Xa{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 Jo=class i extends Xa{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 Xa{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 Et(i,t,e,n){return typeof i!="string"?t:n&&i in n?n[i]:e.indexOf(i)===-1?t:i}var Tt=class extends Xa{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 Et(t,this.defaultValue,this._allowedValues)}},Vd=class extends wt{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 rP=class extends wt{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[p(309,null),p(311,null),p(310,null)],default:"auto",tags:["accessibility"],description:p(308,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}},iP=class extends wt{constructor(){let t={insertSpace:!0,ignoreEmptyLines:!0};super(29,"comments",t,{"editor.comments.insertSpace":{type:"boolean",default:t.insertSpace,description:p(339,null)},"editor.comments.ignoreEmptyLines":{type:"boolean",default:t.ignoreEmptyLines,description:p(338,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{insertSpace:pe(e.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:pe(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 GP=(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))(GP||{});function aN(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 sP=class extends Hi{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(" ")}},aP=class extends Ee{constructor(){super(45,"emptySelectionClipboard",!0,{description:p(462,null)})}compute(t,e,n){return n&&t.emptySelectionClipboard}},lP=class extends wt{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(475,null)},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:t.seedSearchStringFromSelection,enumDescriptions:[p(398,null),p(397,null),p(399,null)],description:p(481,null)},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:t.autoFindInSelection,enumDescriptions:[p(392,null),p(390,null),p(391,null)],description:p(473,null)},"editor.find.globalFindClipboard":{type:"boolean",default:t.globalFindClipboard,description:p(477,null),included:cn},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:t.addExtraSpaceOnTop,description:p(472,null)},"editor.find.loop":{type:"boolean",default:t.loop,description:p(479,null)},"editor.find.closeOnResult":{type:"boolean",default:t.closeOnResult,description:p(474,null)},"editor.find.history":{type:"string",enum:["never","workspace"],default:"workspace",enumDescriptions:[p(393,null),p(394,null)],description:p(478,null)},"editor.find.replaceHistory":{type:"string",enum:["never","workspace"],default:"workspace",enumDescriptions:[p(395,null),p(396,null)],description:p(480,null)},"editor.find.findOnType":{type:"boolean",default:t.findOnType,description:p(476,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{cursorMoveOnType:pe(e.cursorMoveOnType,this.defaultValue.cursorMoveOnType),findOnType:pe(e.findOnType,this.defaultValue.findOnType),seedSearchStringFromSelection:typeof e.seedSearchStringFromSelection=="boolean"?e.seedSearchStringFromSelection?"always":"never":Et(e.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:typeof e.autoFindInSelection=="boolean"?e.autoFindInSelection?"always":"never":Et(e.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:pe(e.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:pe(e.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:pe(e.loop,this.defaultValue.loop),closeOnResult:pe(e.closeOnResult,this.defaultValue.closeOnResult),history:Et(e.history,this.defaultValue.history,["never","workspace"]),replaceHistory:Et(e.replaceHistory,this.defaultValue.replaceHistory,["never","workspace"])}}},dP=class i extends wt{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(491,null)},{type:"string",description:p(490,null)}],description:p(492,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}},cP=class i extends wt{static{this.OFF=Yk}static{this.TRANSLATE=Xk}constructor(){super(63,"fontVariations",i.OFF,{anyOf:[{type:"boolean",description:p(494,null)},{type:"string",description:p(495,null)}],description:p(496,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}},uP=class extends Hi{constructor(){super(59,new Py({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}},pP=class extends Hi{constructor(){super(161,1)}compute(t,e,n){return t.inputMode==="overtype"?e.get(92):e.get(34)}},mP=class extends Hi{constructor(){super(170,!1)}compute(t,e){return t.editContextSupported&&e.get(44)}},gP=class extends Hi{constructor(){super(172,!1)}compute(t,e){return t.accessibilitySupport===2?e.get(7):e.get(6)}},fP=class extends Xa{constructor(){super(61,"fontSize",ti.fontSize,{type:"number",minimum:6,maximum:100,default:ti.fontSize,description:p(493,null)})}validate(t){let e=Jo.float(t,this.defaultValue);return e===0?ti.fontSize:Jo.clamp(e,6,100)}compute(t,e,n){return t.fontInfo.fontSize}},hP=class i extends wt{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",ti.fontWeight,{anyOf:[{type:"number",minimum:i.MINIMUM_VALUE,maximum:i.MAXIMUM_VALUE,errorMessage:p(498,null)},{type:"string",pattern:"^(normal|bold|1000|[1-9][0-9]{0,2})$"},{enum:i.SUGGESTION_VALUES}],default:ti.fontWeight,description:p(497,null)})}validate(t){return t==="normal"||t==="bold"?t:String(Ze.clampedInt(t,ti.fontWeight,i.MINIMUM_VALUE,i.MAXIMUM_VALUE))}},vP=class extends wt{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(403,null),p(402,null),p(401,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(400,null)},"editor.gotoLocation.multipleDefinitions":{description:p(386,null),...e},"editor.gotoLocation.multipleTypeDefinitions":{description:p(389,null),...e},"editor.gotoLocation.multipleDeclarations":{description:p(385,null),...e},"editor.gotoLocation.multipleImplementations":{description:p(387,null),...e},"editor.gotoLocation.multipleReferences":{description:p(388,null),...e},"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:t.alternativeDefinitionCommand,enum:n,description:p(316,null)},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:t.alternativeTypeDefinitionCommand,enum:n,description:p(319,null)},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:t.alternativeDeclarationCommand,enum:n,description:p(315,null)},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:t.alternativeImplementationCommand,enum:n,description:p(317,null)},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:t.alternativeReferenceCommand,enum:n,description:p(318,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{multiple:Et(e.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:Et(e.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:Et(e.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:Et(e.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:Et(e.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:Et(e.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),multipleTests:Et(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)}}},bP=class extends wt{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(507,null),p(506,null),p(508,null,cn?"Command":"Control")],description:p(505,null),keywords:["hint","info","tooltip"]},"editor.hover.delay":{type:"number",default:t.delay,minimum:0,maximum:1e4,description:p(504,null)},"editor.hover.sticky":{type:"boolean",default:t.sticky,description:p(511,null)},"editor.hover.hidingDelay":{type:"integer",minimum:0,default:t.hidingDelay,markdownDescription:p(509,null)},"editor.hover.above":{type:"boolean",default:t.above,description:p(503,null)},"editor.hover.showLongLineWarning":{type:"boolean",default:t.showLongLineWarning,description:p(510,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{enabled:Et(e.enabled,this.defaultValue.enabled,["on","off","onKeyboardModifier"]),delay:Ze.clampedInt(e.delay,this.defaultValue.delay,0,1e4),sticky:pe(e.sticky,this.defaultValue.sticky),hidingDelay:Ze.clampedInt(e.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:pe(e.above,this.defaultValue.above),showLongLineWarning:pe(e.showLongLineWarning,this.defaultValue.showLongLineWarning)}}};var yP=class i extends Hi{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,h=t.minimap.side,I=t.verticalScrollbarWidth,S=t.viewLineCount,w=t.remainingWidth,P=t.isViewportWrapping,O=u?2:3,L=Math.floor(r*o),$=L/r,V=!1,J=!1,z=O*m,j=m/r,Y=1;if(v==="fill"||v==="fit"){let{typicalViewportLineCount:ae,extraLinesBeforeFirstLine:ne,extraLinesBeyondLastLine:oe,desiredRatio:le,minimapLineCount:Ye}=i.computeContainedMinimapLineCount({viewLineCount:S,scrollBeyondLastLine:c,paddingTop:t.paddingTop,paddingBottom:t.paddingBottom,height:o,lineHeight:l,pixelRatio:r});if(S/Ye>1)V=!0,J=!0,m=1,z=1,j=m/r;else{let Oe=!1,kt=m+1;if(v==="fit"){let Lt=Math.ceil((ne+S+oe)*z);P&&a&&w<=e.stableFitRemainingWidth?(Oe=!0,kt=e.stableFitMaxMinimapScale):Oe=Lt>L}if(v==="fill"||Oe){V=!0;let Lt=m;z=Math.min(l*r,Math.max(1,Math.floor(1/le))),P&&a&&w<=e.stableFitRemainingWidth&&(kt=e.stableFitMaxMinimapScale),m=Math.min(kt,Math.max(1,Math.floor(z/O))),m>Lt&&(Y=Math.min(2,m/Lt)),j=m/r/Y,L=Math.ceil(Math.max(ae,ne+S+oe)*z),P?(e.stableMinimapLayoutInput=t,e.stableFitRemainingWidth=w,e.stableFitMaxMinimapScale=m):(e.stableMinimapLayoutInput=null,e.stableFitRemainingWidth=0)}}}let ue=Math.floor(g*j),Je=Math.min(ue,Math.max(0,Math.floor((w-I-2)*j/(d+j)))+t5),it=Math.floor(r*Je),re=it/r;it=Math.floor(it*Y);let Q=u?1:2,ee=h==="left"?0:n-Je-I;return{renderMinimap:Q,minimapLeft:ee,minimapWidth:Je,minimapHeightIsEditorHeight:V,minimapIsSampling:J,minimapScale:m,minimapLineHeight:z,minimapCanvasInnerWidth:it,minimapCanvasInnerHeight:L,minimapCanvasOuterWidth:re,minimapCanvasOuterHeight:$}}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),h=e.isDominatedByLongLines,I=t.get(66),S=t.get(76).renderType!==0,w=t.get(77),P=t.get(119),O=t.get(96),L=t.get(81),$=t.get(117),V=$.verticalScrollbarSize,J=$.verticalHasArrows,z=$.arrowSize,j=$.horizontalScrollbarSize,Y=t.get(52),ue=t.get(126)!=="never",Je=t.get(74);Y&&ue&&(Je+=16);let it=0;if(S){let vo=Math.max(s,w);it=Math.round(vo*l)}let re=0;I&&(re=r*e.glyphMarginDecorationLaneCount);let Q=0,ee=Q+re,ae=ee+it,ne=ae+Je,oe=n-re-it-Je,le=!1,Ye=!1,Be=-1;t.get(2)===2&&m==="inherit"&&h?(le=!0,Ye=!0):g==="on"||g==="bounded"?Ye=!0:g==="wordWrapColumn"&&(Be=v);let Oe=i._computeMinimapLayout({outerWidth:n,outerHeight:o,lineHeight:r,typicalHalfwidthCharacterWidth:a,pixelRatio:d,scrollBeyondLastLine:P,paddingTop:O.top,paddingBottom:O.bottom,minimap:L,verticalScrollbarWidth:V,viewLineCount:c,remainingWidth:oe,isViewportWrapping:Ye},e.memory||new oP);Oe.renderMinimap!==0&&Oe.minimapLeft===0&&(Q+=Oe.minimapWidth,ee+=Oe.minimapWidth,ae+=Oe.minimapWidth,ne+=Oe.minimapWidth);let kt=oe-Oe.minimapWidth,Lt=Math.max(1,Math.floor((kt-V-2)/a)),st=J?z:0;return Ye&&(Be=Math.max(1,Lt),g==="bounded"&&(Be=Math.min(Be,v))),{width:n,height:o,glyphMarginLeft:Q,glyphMarginWidth:re,glyphMarginDecorationLaneCount:e.glyphMarginDecorationLaneCount,lineNumbersLeft:ee,lineNumbersWidth:it,decorationsLeft:ae,decorationsWidth:Je,contentLeft:ne,contentWidth:kt,minimap:Oe,viewportColumn:Lt,isWordWrapMinified:le,isViewportWrapping:Ye,wrappingColumn:Be,verticalScrollbarWidth:V,horizontalScrollbarHeight:j,overviewRuler:{top:st,width:V,height:o-2*st,right:0}}}},IP=class extends wt{constructor(){super(156,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[p(724,null),p(723,null)],type:"string",enum:["simple","advanced"],default:"simple",description:p(722,null)}})}validate(t){return Et(t,"simple",["simple","advanced"])}compute(t,e,n){return e.get(2)===2?"advanced":n}};var xP=class extends wt{constructor(){let t={enabled:"onCode"};super(73,"lightbulb",t,{"editor.lightbulb.enabled":{type:"string",enum:["off","onCode","on"],default:t.enabled,enumDescriptions:[p(424,null),p(426,null),p(425,null)],description:p(463,null)}})}validate(t){return!t||typeof t!="object"?this.defaultValue:{enabled:Et(t.enabled,this.defaultValue.enabled,["off","onCode","on"])}}},SP=class extends wt{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(428,null)},"editor.stickyScroll.maxLineCount":{type:"number",default:t.maxLineCount,minimum:1,maximum:20,description:p(429,null)},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:t.defaultModel,description:p(427,null)},"editor.stickyScroll.scrollWithEditor":{type:"boolean",default:t.scrollWithEditor,description:p(430,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{enabled:pe(e.enabled,this.defaultValue.enabled),maxLineCount:Ze.clampedInt(e.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:Et(e.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:pe(e.scrollWithEditor,this.defaultValue.scrollWithEditor)}}},CP=class extends wt{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(513,null),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[p(420,null),p(421,null,cn?"Ctrl+Option":"Ctrl+Alt"),p(419,null,cn?"Ctrl+Option":"Ctrl+Alt"),p(418,null)]},"editor.inlayHints.fontSize":{type:"number",default:t.fontSize,markdownDescription:p(515,null,"`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:"string",default:t.fontFamily,markdownDescription:p(514,null,"`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:"boolean",default:t.padding,description:p(517,null)},"editor.inlayHints.maximumLength":{type:"number",default:t.maximumLength,markdownDescription:p(516,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:Et(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:pe(e.padding,this.defaultValue.padding),maximumLength:Ze.clampedInt(e.maximumLength,this.defaultValue.maximumLength,0,Number.MAX_SAFE_INTEGER)}}},TP=class extends wt{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}},EP=class extends Jo{constructor(){super(75,"lineHeight",ti.lineHeight,t=>Jo.clamp(t,0,150),{markdownDescription:p(539,null)},0,150)}compute(t,e,n){return t.fontInfo.lineHeight}},wP=class extends wt{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(552,null)},"editor.minimap.autohide":{type:"string",enum:["none","mouseover","scroll"],enumDescriptions:[p(550,null),p(549,null),p(551,null)],default:t.autohide,description:p(548,null)},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[p(566,null),p(564,null),p(565,null)],default:t.size,description:p(563,null)},"editor.minimap.side":{type:"string",enum:["left","right"],default:t.side,description:p(562,null)},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:t.showSlider,description:p(561,null)},"editor.minimap.scale":{type:"number",default:t.scale,minimum:1,maximum:3,enum:[1,2,3],description:p(556,null)},"editor.minimap.renderCharacters":{type:"boolean",default:t.renderCharacters,description:p(555,null)},"editor.minimap.maxColumn":{type:"number",default:t.maxColumn,description:p(554,null)},"editor.minimap.showRegionSectionHeaders":{type:"boolean",default:t.showRegionSectionHeaders,description:p(560,null)},"editor.minimap.showMarkSectionHeaders":{type:"boolean",default:t.showMarkSectionHeaders,description:p(559,null)},"editor.minimap.markSectionHeaderRegex":{type:"string",default:t.markSectionHeaderRegex,description:p(553,null)},"editor.minimap.sectionHeaderFontSize":{type:"number",default:t.sectionHeaderFontSize,description:p(557,null)},"editor.minimap.sectionHeaderLetterSpacing":{type:"number",default:t.sectionHeaderLetterSpacing,description:p(558,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:pe(e.enabled,this.defaultValue.enabled),autohide:Et(e.autohide,this.defaultValue.autohide,["none","mouseover","scroll"]),size:Et(e.size,this.defaultValue.size,["proportional","fill","fit"]),side:Et(e.side,this.defaultValue.side,["right","left"]),showSlider:Et(e.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:pe(e.renderCharacters,this.defaultValue.renderCharacters),scale:Ze.clampedInt(e.scale,1,1,3),maxColumn:Ze.clampedInt(e.maxColumn,this.defaultValue.maxColumn,1,1e4),showRegionSectionHeaders:pe(e.showRegionSectionHeaders,this.defaultValue.showRegionSectionHeaders),showMarkSectionHeaders:pe(e.showMarkSectionHeaders,this.defaultValue.showMarkSectionHeaders),markSectionHeaderRegex:n,sectionHeaderFontSize:Jo.clamp(Jo.float(e.sectionHeaderFontSize,this.defaultValue.sectionHeaderFontSize),4,32),sectionHeaderLetterSpacing:Jo.clamp(Jo.float(e.sectionHeaderLetterSpacing,this.defaultValue.sectionHeaderLetterSpacing),0,5)}}};function i5(i){return i==="ctrlCmd"?cn?"metaKey":"ctrlKey":"altKey"}var kP=class extends wt{constructor(){super(96,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:p(591,null)},"editor.padding.bottom":{type:"number",default:0,minimum:0,maximum:1e3,description:p(590,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)}}},PP=class extends wt{constructor(){let t={enabled:!0,cycle:!0};super(98,"parameterHints",t,{"editor.parameterHints.enabled":{type:"boolean",default:t.enabled,description:p(593,null)},"editor.parameterHints.cycle":{type:"boolean",default:t.cycle,description:p(592,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{enabled:pe(e.enabled,this.defaultValue.enabled),cycle:pe(e.cycle,this.defaultValue.cycle)}}},_P=class extends Hi{constructor(){super(163,1)}compute(t,e,n){return t.pixelRatio}},DP=class extends wt{constructor(){super(100,"placeholder",void 0)}validate(t){return typeof t>"u"?this.defaultValue:typeof t=="string"?t:this.defaultValue}},RP=class extends wt{constructor(){let t={other:"offWhenInlineCompletions",comments:"off",strings:"off"},e=[{type:"boolean"},{type:"string",enum:["on","inline","off","offWhenInlineCompletions"],enumDescriptions:[p(586,null),p(518,null),p(584,null),p(585,null)]}];super(102,"quickSuggestions",t,{anyOf:[{type:"boolean"},{type:"string",enum:["on","inline","off","offWhenInlineCompletions"],enumDescriptions:[p(608,null),p(605,null),p(606,null),p(607,null)]},{type:"object",additionalProperties:!1,properties:{strings:{anyOf:e,default:t.strings,description:p(604,null)},comments:{anyOf:e,default:t.comments,description:p(602,null)},other:{anyOf:e,default:t.other,description:p(603,null)}}}],default:t,markdownDescription:p(601,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=Et(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=Et(e,this.defaultValue.other,r),typeof n=="boolean"?a=n?"on":"off":a=Et(n,this.defaultValue.comments,r),typeof o=="boolean"?l=o?"on":"off":l=Et(o,this.defaultValue.strings,r),{other:s,comments:a,strings:l}}};var MP=class extends wt{constructor(){super(76,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[p(542,null),p(543,null),p(544,null),p(541,null)],default:"on",description:p(540,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 AP=class extends wt{constructor(){let t=[],e={type:"number",description:p(625,null)};super(116,"rulers",t,{type:"array",items:{anyOf:[e,{type:["object"],properties:{column:e,color:{type:"string",description:p(624,null),format:"color-hex"}}}]},default:t,description:p(623,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}},OP=class extends wt{constructor(){super(105,"readOnlyMessage",void 0)}validate(t){return!t||typeof t!="object"?this.defaultValue:t}};function lN(i,t){if(typeof i!="string")return t;switch(i){case"hidden":return 2;case"visible":return 3;default:return 1}}var LP=class extends wt{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(635,null),p(637,null),p(636,null)],default:"auto",description:p(634,null)},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[p(628,null),p(630,null),p(629,null)],default:"auto",description:p(627,null)},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:t.verticalScrollbarSize,description:p(638,null)},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:t.horizontalScrollbarSize,description:p(631,null)},"editor.scrollbar.scrollByPage":{type:"boolean",default:t.scrollByPage,description:p(633,null)},"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight":{type:"boolean",default:t.ignoreHorizontalScrollbarInContentHeight,description:p(632,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:lN(e.vertical,this.defaultValue.vertical),horizontal:lN(e.horizontal,this.defaultValue.horizontal),useShadows:pe(e.useShadows,this.defaultValue.useShadows),verticalHasArrows:pe(e.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:pe(e.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:pe(e.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:pe(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:pe(e.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:pe(e.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}},ni="inUntrustedWorkspace",Hd={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"},NP=class extends wt{constructor(){let t={nonBasicASCII:ni,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:ni,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(142,"unicodeHighlight",t,{[Hd.nonBasicASCII]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,ni],default:t.nonBasicASCII,description:p(699,null)},[Hd.invisibleCharacters]:{restricted:!0,type:"boolean",default:t.invisibleCharacters,description:p(698,null)},[Hd.ambiguousCharacters]:{restricted:!0,type:"boolean",default:t.ambiguousCharacters,description:p(695,null)},[Hd.includeComments]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,ni],default:t.includeComments,description:p(696,null)},[Hd.includeStrings]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,ni],default:t.includeStrings,description:p(697,null)},[Hd.allowedCharacters]:{restricted:!0,type:"object",default:t.allowedCharacters,description:p(693,null),additionalProperties:{type:"boolean"}},[Hd.allowedLocales]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:t.allowedLocales,description:p(694,null)}})}applyUpdate(t,e){let n=!1;e.allowedCharacters&&t&&(Ct(t.allowedCharacters,e.allowedCharacters)||(t={...t,allowedCharacters:e.allowedCharacters},n=!0)),e.allowedLocales&&t&&(Ct(t.allowedLocales,e.allowedLocales)||(t={...t,allowedLocales:e.allowedLocales},n=!0));let o=super.applyUpdate(t,e);return n?new Ru(o.newValue,!0):o}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{nonBasicASCII:Mu(e.nonBasicASCII,ni,[!0,!1,ni]),invisibleCharacters:pe(e.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:pe(e.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:Mu(e.includeComments,ni,[!0,!1,ni]),includeStrings:Mu(e.includeStrings,ni,[!0,!1,ni]),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}},UP=class extends wt{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(525,null)},"editor.inlineSuggest.showToolbar":{type:"string",default:t.showToolbar,enum:["always","onHover","never"],enumDescriptions:[p(530,null),p(532,null),p(531,null)],description:p(529,null)},"editor.inlineSuggest.syntaxHighlightingEnabled":{type:"boolean",default:t.syntaxHighlightingEnabled,description:p(536,null)},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:t.suppressSuggestions,description:p(535,null)},"editor.inlineSuggest.suppressInSnippetMode":{type:"boolean",default:t.suppressInSnippetMode,description:p(534,null)},"editor.inlineSuggest.minShowDelay":{type:"number",default:0,minimum:0,maximum:1e4,description:p(527,null)},"editor.inlineSuggest.experimental.suppressInlineSuggestions":{type:"string",default:t.experimental.suppressInlineSuggestions,tags:["experimental"],description:p(533,null),experiment:{mode:"auto"}},"editor.inlineSuggest.experimental.emptyResponseInformation":{type:"boolean",default:t.experimental.emptyResponseInformation,tags:["experimental"],description:p(524,null),experiment:{mode:"auto"}},"editor.inlineSuggest.triggerCommandOnProviderChange":{type:"boolean",default:t.triggerCommandOnProviderChange,tags:["experimental"],description:p(537,null),experiment:{mode:"auto"}},"editor.inlineSuggest.experimental.showOnSuggestConflict":{type:"string",default:t.experimental.showOnSuggestConflict,tags:["experimental"],enum:["always","never","whenSuggestListIsIncomplete"],description:p(528,null),experiment:{mode:"auto"}},"editor.inlineSuggest.fontFamily":{type:"string",default:t.fontFamily,description:p(526,null)},"editor.inlineSuggest.edits.allowCodeShifting":{type:"string",default:t.edits.allowCodeShifting,description:p(520,null),enum:["always","horizontal","never"],tags:["nextEditSuggestions"]},"editor.inlineSuggest.edits.showLongDistanceHint":{type:"boolean",default:t.edits.showLongDistanceHint,description:p(523,null),tags:["nextEditSuggestions","experimental"]},"editor.inlineSuggest.edits.renderSideBySide":{type:"string",default:t.edits.renderSideBySide,description:p(521,null),enum:["auto","never"],enumDescriptions:[p(422,null),p(423,null)],tags:["nextEditSuggestions"]},"editor.inlineSuggest.edits.showCollapsed":{type:"boolean",default:t.edits.showCollapsed,description:p(522,null),tags:["nextEditSuggestions"]}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{enabled:pe(e.enabled,this.defaultValue.enabled),mode:Et(e.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:Et(e.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),suppressSuggestions:pe(e.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:pe(e.keepOnBlur,this.defaultValue.keepOnBlur),fontFamily:Xn.string(e.fontFamily,this.defaultValue.fontFamily),syntaxHighlightingEnabled:pe(e.syntaxHighlightingEnabled,this.defaultValue.syntaxHighlightingEnabled),minShowDelay:Ze.clampedInt(e.minShowDelay,0,0,1e4),suppressInSnippetMode:pe(e.suppressInSnippetMode,this.defaultValue.suppressInSnippetMode),edits:this._validateEdits(e.edits),triggerCommandOnProviderChange:pe(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:pe(e.enabled,this.defaultValue.edits.enabled),showCollapsed:pe(e.showCollapsed,this.defaultValue.edits.showCollapsed),allowCodeShifting:Et(e.allowCodeShifting,this.defaultValue.edits.allowCodeShifting,["always","horizontal","never"]),showLongDistanceHint:pe(e.showLongDistanceHint,this.defaultValue.edits.showLongDistanceHint),renderSideBySide:Et(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:Et(e.showOnSuggestConflict,this.defaultValue.experimental.showOnSuggestConflict,["always","never","whenSuggestListIsIncomplete"]),emptyResponseInformation:pe(e.emptyResponseInformation,this.defaultValue.experimental.emptyResponseInformation)}}},FP=class extends wt{constructor(){let t={enabled:Zk.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:Zk.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(21,"bracketPairColorization",t,{"editor.bracketPairColorization.enabled":{type:"boolean",default:t.enabled,markdownDescription:p(329,null,"`#workbench.colorCustomizations#`")},"editor.bracketPairColorization.independentColorPoolPerBracketType":{type:"boolean",default:t.independentColorPoolPerBracketType,description:p(330,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{enabled:pe(e.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:pe(e.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}},HP=class extends wt{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(407,null),p(405,null),p(406,null)],default:t.bracketPairs,description:p(404,null)},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[p(411,null),p(409,null),p(410,null)],default:t.bracketPairsHorizontal,description:p(408,null)},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:t.highlightActiveBracketPair,description:p(412,null)},"editor.guides.indentation":{type:"boolean",default:t.indentation,description:p(417,null)},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[p(416,null),p(414,null),p(415,null)],default:t.highlightActiveIndentation,description:p(413,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{bracketPairs:Mu(e.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:Mu(e.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:pe(e.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:pe(e.indentation,this.defaultValue.indentation),highlightActiveIndentation:Mu(e.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}}};function Mu(i,t,e){let n=e.indexOf(i);return n===-1?t:e[n]}var VP=class extends wt{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(665,null),p(667,null)],default:t.insertMode,description:p(663,null)},"editor.suggest.filterGraceful":{type:"boolean",default:t.filterGraceful,description:p(662,null)},"editor.suggest.localityBonus":{type:"boolean",default:t.localityBonus,description:p(670,null)},"editor.suggest.shareSuggestSelections":{type:"boolean",default:t.shareSuggestSelections,markdownDescription:p(674,null)},"editor.suggest.selectionMode":{type:"string",enum:["always","never","whenTriggerCharacter","whenQuickSuggestion"],enumDescriptions:[p(664,null),p(666,null),p(669,null),p(668,null)],default:t.selectionMode,markdownDescription:p(673,null,"`#editor.quickSuggestions#`","`#editor.suggestOnTriggerCharacters#`")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:t.snippetsPreventQuickSuggestions,description:p(678,null)},"editor.suggest.showIcons":{type:"boolean",default:t.showIcons,description:p(675,null)},"editor.suggest.showStatusBar":{type:"boolean",default:t.showStatusBar,description:p(677,null)},"editor.suggest.preview":{type:"boolean",default:t.preview,description:p(672,null)},"editor.suggest.showInlineDetails":{type:"boolean",default:t.showInlineDetails,description:p(676,null)},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:p(671,null)},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:p(355,null)},"editor.suggest.showMethods":{type:"boolean",default:!0,markdownDescription:p(448,null)},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:p(444,null)},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:p(435,null)},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:p(437,null)},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:!0,markdownDescription:p(431,null)},"editor.suggest.showFields":{type:"boolean",default:!0,markdownDescription:p(441,null)},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:p(460,null)},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:p(432,null)},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:p(454,null)},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:p(445,null)},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:p(449,null)},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:p(451,null)},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:p(440,null)},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:p(450,null)},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:p(457,null)},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:p(459,null)},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:p(434,null)},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:p(439,null)},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:p(438,null)},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:p(447,null)},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:p(455,null)},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:p(433,null)},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:p(442,null)},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:p(452,null)},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:p(436,null)},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:p(443,null)},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:p(456,null)},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:p(453,null)},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:p(458,null)},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:p(446,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{insertMode:Et(e.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:pe(e.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:pe(e.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:pe(e.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:pe(e.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:Et(e.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:pe(e.showIcons,this.defaultValue.showIcons),showStatusBar:pe(e.showStatusBar,this.defaultValue.showStatusBar),preview:pe(e.preview,this.defaultValue.preview),previewMode:Et(e.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:pe(e.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:pe(e.showMethods,this.defaultValue.showMethods),showFunctions:pe(e.showFunctions,this.defaultValue.showFunctions),showConstructors:pe(e.showConstructors,this.defaultValue.showConstructors),showDeprecated:pe(e.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:pe(e.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:pe(e.showFields,this.defaultValue.showFields),showVariables:pe(e.showVariables,this.defaultValue.showVariables),showClasses:pe(e.showClasses,this.defaultValue.showClasses),showStructs:pe(e.showStructs,this.defaultValue.showStructs),showInterfaces:pe(e.showInterfaces,this.defaultValue.showInterfaces),showModules:pe(e.showModules,this.defaultValue.showModules),showProperties:pe(e.showProperties,this.defaultValue.showProperties),showEvents:pe(e.showEvents,this.defaultValue.showEvents),showOperators:pe(e.showOperators,this.defaultValue.showOperators),showUnits:pe(e.showUnits,this.defaultValue.showUnits),showValues:pe(e.showValues,this.defaultValue.showValues),showConstants:pe(e.showConstants,this.defaultValue.showConstants),showEnums:pe(e.showEnums,this.defaultValue.showEnums),showEnumMembers:pe(e.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:pe(e.showKeywords,this.defaultValue.showKeywords),showWords:pe(e.showWords,this.defaultValue.showWords),showColors:pe(e.showColors,this.defaultValue.showColors),showFiles:pe(e.showFiles,this.defaultValue.showFiles),showReferences:pe(e.showReferences,this.defaultValue.showReferences),showFolders:pe(e.showFolders,this.defaultValue.showFolders),showTypeParameters:pe(e.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:pe(e.showSnippets,this.defaultValue.showSnippets),showUsers:pe(e.showUsers,this.defaultValue.showUsers),showIssues:pe(e.showIssues,this.defaultValue.showIssues)}}},BP=class extends wt{constructor(){super(129,"smartSelect",{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:p(647,null),default:!0,type:"boolean"},"editor.smartSelect.selectSubwords":{description:p(648,null),default:!0,type:"boolean"}})}validate(t){return!t||typeof t!="object"?this.defaultValue:{selectLeadingAndTrailingWhitespace:pe(t.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:pe(t.selectSubwords,this.defaultValue.selectSubwords)}}},WP=class extends wt{constructor(){let t=[];super(147,"wordSegmenterLocales",t,{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}],description:p(708,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 $P=class extends wt{constructor(){super(155,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[p(720,null),p(721,null),p(719,null),p(718,null)],description:p(717,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}},zP=class extends Hi{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}}},qP=class extends wt{constructor(){let t={enabled:!0,showDropSelector:"afterDrop"};super(43,"dropIntoEditor",t,{"editor.dropIntoEditor.enabled":{type:"boolean",default:t.enabled,markdownDescription:p(358,null)},"editor.dropIntoEditor.showDropSelector":{type:"string",markdownDescription:p(359,null),enum:["afterDrop","never"],enumDescriptions:[p(360,null),p(361,null)],default:"afterDrop"}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{enabled:pe(e.enabled,this.defaultValue.enabled),showDropSelector:Et(e.showDropSelector,this.defaultValue.showDropSelector,["afterDrop","never"])}}},KP=class extends wt{constructor(){let t={enabled:!0,showPasteSelector:"afterPaste"};super(97,"pasteAs",t,{"editor.pasteAs.enabled":{type:"boolean",default:t.enabled,markdownDescription:p(594,null)},"editor.pasteAs.showPasteSelector":{type:"string",markdownDescription:p(595,null),enum:["afterPaste","never"],enumDescriptions:[p(596,null),p(597,null)],default:"afterPaste"}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{enabled:pe(e.enabled,this.defaultValue.enabled),showPasteSelector:Et(e.showPasteSelector,this.defaultValue.showPasteSelector,["afterPaste","never"])}}},s5=[];function U(i){return s5[i.id]=i,i}var WJ={acceptSuggestionOnCommitCharacter:U(new Ee(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:p(304,null)})),acceptSuggestionOnEnter:U(new Tt(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",p(306,null),""],markdownDescription:p(305,null)})),accessibilitySupport:U(new rP),accessibilityPageSize:U(new Ze(3,"accessibilityPageSize",500,1,1073741824,{description:p(307,null),tags:["accessibility"]})),allowOverflow:U(new Ee(4,"allowOverflow",!0)),allowVariableLineHeights:U(new Ee(5,"allowVariableLineHeights",!0,{description:p(314,null)})),allowVariableFonts:U(new Ee(6,"allowVariableFonts",!0,{description:p(312,null)})),allowVariableFontsInAccessibilityMode:U(new Ee(7,"allowVariableFontsInAccessibilityMode",!1,{description:p(313,null),tags:["accessibility"]})),ariaLabel:U(new Xn(8,"ariaLabel",p(461,null))),ariaRequired:U(new Ee(9,"ariaRequired",!1,void 0)),screenReaderAnnounceInlineSuggestion:U(new Ee(12,"screenReaderAnnounceInlineSuggestion",!0,{description:p(626,null),tags:["accessibility"]})),autoClosingBrackets:U(new Tt(10,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",p(364,null),p(363,null),""],description:p(320,null)})),autoClosingComments:U(new Tt(11,"autoClosingComments","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",p(366,null),p(365,null),""],description:p(321,null)})),autoClosingDelete:U(new Tt(13,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",p(367,null),""],description:p(322,null)})),autoClosingOvertype:U(new Tt(14,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",p(368,null),""],description:p(323,null)})),autoClosingQuotes:U(new Tt(15,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",p(370,null),p(369,null),""],description:p(324,null)})),autoIndent:U(new Vd(16,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],o5,{enumDescriptions:[p(375,null),p(374,null),p(372,null),p(371,null),p(373,null)],description:p(325,null)})),autoIndentOnPaste:U(new Ee(17,"autoIndentOnPaste",!1,{description:p(326,null)})),autoIndentOnPasteWithinString:U(new Ee(18,"autoIndentOnPasteWithinString",!0,{description:p(327,null)})),automaticLayout:U(new Ee(19,"automaticLayout",!1)),autoSurround:U(new Tt(20,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[p(377,null),p(378,null),p(376,null),""],description:p(328,null)})),bracketPairColorization:U(new FP),bracketPairGuides:U(new HP),stickyTabStops:U(new Ee(132,"stickyTabStops",!1,{description:p(661,null)})),codeLens:U(new Ee(23,"codeLens",!0,{description:p(331,null)})),codeLensFontFamily:U(new Xn(24,"codeLensFontFamily","",{description:p(332,null)})),codeLensFontSize:U(new Ze(25,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:p(333,null)})),colorDecorators:U(new Ee(26,"colorDecorators",!0,{description:p(335,null)})),colorDecoratorActivatedOn:U(new Tt(168,"colorDecoratorsActivatedOn","clickAndHover",["clickAndHover","hover","click"],{enumDescriptions:[p(380,null),p(381,null),p(379,null)],description:p(334,null)})),colorDecoratorsLimit:U(new Ze(27,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:p(336,null)})),columnSelection:U(new Ee(28,"columnSelection",!1,{description:p(337,null)})),comments:U(new iP),contextmenu:U(new Ee(30,"contextmenu",!0)),copyWithSyntaxHighlighting:U(new Ee(31,"copyWithSyntaxHighlighting",!0,{description:p(340,null)})),cursorBlinking:U(new Vd(32,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],r5,{description:p(341,null)})),cursorSmoothCaretAnimation:U(new Tt(33,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[p(345,null),p(344,null),p(346,null)],description:p(343,null)})),cursorStyle:U(new Vd(34,"cursorStyle",1,"line",["line","block","underline","line-thin","block-outline","underline-thin"],aN,{description:p(347,null)})),overtypeCursorStyle:U(new Vd(92,"overtypeCursorStyle",2,"block",["line","block","underline","line-thin","block-outline","underline-thin"],aN,{description:p(587,null)})),cursorSurroundingLines:U(new Ze(35,"cursorSurroundingLines",0,0,1073741824,{description:p(348,null)})),cursorSurroundingLinesStyle:U(new Tt(36,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[p(351,null),p(350,null)],markdownDescription:p(349,null)})),cursorWidth:U(new Ze(37,"cursorWidth",0,0,1073741824,{markdownDescription:p(352,null)})),cursorHeight:U(new Ze(38,"cursorHeight",0,0,1073741824,{markdownDescription:p(342,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(356,null)})),dragAndDrop:U(new Ee(42,"dragAndDrop",!0,{description:p(357,null)})),emptySelectionClipboard:U(new aP),dropIntoEditor:U(new qP),editContext:U(new Ee(44,"editContext",!0,{description:p(362,null),included:of||xb||bb})),renderRichScreenReaderContent:U(new Ee(107,"renderRichScreenReaderContent",!1,{markdownDescription:p(617,null)})),stickyScroll:U(new SP),experimentalGpuAcceleration:U(new Tt(46,"experimentalGpuAcceleration","off",["off","on"],{tags:["experimental"],enumDescriptions:[p(465,null),p(466,null)],description:p(464,null)})),experimentalWhitespaceRendering:U(new Tt(47,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[p(470,null),p(468,null),p(469,null)],description:p(467,null)})),extraEditorClassName:U(new Xn(48,"extraEditorClassName","")),fastScrollSensitivity:U(new Jo(49,"fastScrollSensitivity",5,i=>i<=0?5:i,{markdownDescription:p(471,null)})),find:U(new lP),fixedOverflowWidgets:U(new Ee(51,"fixedOverflowWidgets",!1)),folding:U(new Ee(52,"folding",!0,{description:p(482,null)})),foldingStrategy:U(new Tt(53,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[p(487,null),p(488,null)],description:p(486,null)})),foldingHighlight:U(new Ee(54,"foldingHighlight",!0,{description:p(483,null)})),foldingImportsByDefault:U(new Ee(55,"foldingImportsByDefault",!1,{description:p(484,null)})),foldingMaximumRegions:U(new Ze(56,"foldingMaximumRegions",5e3,10,65e3,{description:p(485,null)})),unfoldOnClickAfterEndOfLine:U(new Ee(57,"unfoldOnClickAfterEndOfLine",!1,{description:p(692,null)})),fontFamily:U(new Xn(58,"fontFamily",ti.fontFamily,{description:p(489,null)})),fontInfo:U(new uP),fontLigatures2:U(new dP),fontSize:U(new fP),fontWeight:U(new hP),fontVariations:U(new cP),formatOnPaste:U(new Ee(64,"formatOnPaste",!1,{description:p(499,null)})),formatOnType:U(new Ee(65,"formatOnType",!1,{description:p(500,null)})),glyphMargin:U(new Ee(66,"glyphMargin",!0,{description:p(501,null)})),gotoLocation:U(new vP),hideCursorInOverviewRuler:U(new Ee(68,"hideCursorInOverviewRuler",!1,{description:p(502,null)})),hover:U(new bP),inDiffEditor:U(new Ee(70,"inDiffEditor",!1)),inertialScroll:U(new Ee(158,"inertialScroll",!1,{description:p(512,null)})),letterSpacing:U(new Jo(72,"letterSpacing",ti.letterSpacing,i=>Jo.clamp(i,-5,20),{description:p(538,null)})),lightbulb:U(new xP),lineDecorationsWidth:U(new TP),lineHeight:U(new EP),lineNumbers:U(new MP),lineNumbersMinChars:U(new Ze(77,"lineNumbersMinChars",5,1,300)),linkedEditing:U(new Ee(78,"linkedEditing",!1,{description:p(545,null)})),links:U(new Ee(79,"links",!0,{description:p(546,null)})),matchBrackets:U(new Tt(80,"matchBrackets","always",["always","near","never"],{description:p(547,null)})),minimap:U(new wP),mouseStyle:U(new Tt(82,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:U(new Jo(83,"mouseWheelScrollSensitivity",1,i=>i===0?1:i,{markdownDescription:p(568,null)})),mouseWheelZoom:U(new Ee(84,"mouseWheelZoom",!1,{markdownDescription:cn?p(570,null):p(569,null)})),multiCursorMergeOverlapping:U(new Ee(85,"multiCursorMergeOverlapping",!0,{description:p(572,null)})),multiCursorModifier:U(new Vd(86,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],i5,{markdownEnumDescriptions:[p(575,null),p(574,null)],markdownDescription:p(573,null)})),mouseMiddleClickAction:U(new Tt(87,"mouseMiddleClickAction","default",["default","openLink","ctrlLeftClick"],{description:p(567,null)})),multiCursorPaste:U(new Tt(88,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[p(578,null),p(577,null)],markdownDescription:p(576,null)})),multiCursorLimit:U(new Ze(89,"multiCursorLimit",1e4,1,1e5,{markdownDescription:p(571,null)})),occurrencesHighlight:U(new Tt(90,"occurrencesHighlight","singleFile",["off","singleFile","multiFile"],{markdownEnumDescriptions:[p(581,null),p(582,null),p(580,null)],markdownDescription:p(579,null)})),occurrencesHighlightDelay:U(new Ze(91,"occurrencesHighlightDelay",0,0,2e3,{description:p(583,null),tags:["preview"]})),overtypeOnPaste:U(new Ee(93,"overtypeOnPaste",!0,{description:p(588,null)})),overviewRulerBorder:U(new Ee(94,"overviewRulerBorder",!0,{description:p(589,null)})),overviewRulerLanes:U(new Ze(95,"overviewRulerLanes",3,0,3)),padding:U(new kP),pasteAs:U(new KP),parameterHints:U(new PP),peekWidgetDefaultFocus:U(new Tt(99,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[p(600,null),p(599,null)],description:p(598,null)})),placeholder:U(new DP),definitionLinkOpensInPeek:U(new Ee(101,"definitionLinkOpensInPeek",!1,{description:p(354,null)})),quickSuggestions:U(new RP),quickSuggestionsDelay:U(new Ze(103,"quickSuggestionsDelay",10,0,1073741824,{description:p(609,null),experiment:{mode:"auto"}})),readOnly:U(new Ee(104,"readOnly",!1)),readOnlyMessage:U(new OP),renameOnType:U(new Ee(106,"renameOnType",!1,{description:p(610,null),markdownDeprecationMessage:p(611,null)})),renderControlCharacters:U(new Ee(108,"renderControlCharacters",!0,{description:p(612,null),restricted:!0})),renderFinalNewline:U(new Tt(109,"renderFinalNewline",qn?"dimmed":"on",["off","on","dimmed"],{description:p(613,null)})),renderLineHighlight:U(new Tt(110,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",p(615,null)],description:p(614,null)})),renderLineHighlightOnlyWhenFocus:U(new Ee(111,"renderLineHighlightOnlyWhenFocus",!1,{description:p(616,null)})),renderValidationDecorations:U(new Tt(112,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:U(new Tt(113,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",p(619,null),p(620,null),p(621,null),""],description:p(618,null)})),revealHorizontalRightPadding:U(new Ze(114,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:U(new Ee(115,"roundedSelection",!0,{description:p(622,null)})),rulers:U(new AP),scrollbar:U(new LP),scrollBeyondLastColumn:U(new Ze(118,"scrollBeyondLastColumn",4,0,1073741824,{description:p(639,null)})),scrollBeyondLastLine:U(new Ee(119,"scrollBeyondLastLine",!0,{description:p(640,null)})),scrollOnMiddleClick:U(new Ee(171,"scrollOnMiddleClick",!1,{description:p(641,null)})),scrollPredominantAxis:U(new Ee(120,"scrollPredominantAxis",!0,{description:p(642,null)})),selectionClipboard:U(new Ee(121,"selectionClipboard",!0,{description:p(643,null),included:qn})),selectionHighlight:U(new Ee(122,"selectionHighlight",!0,{description:p(644,null)})),selectionHighlightMaxLength:U(new Ze(123,"selectionHighlightMaxLength",200,0,1073741824,{description:p(645,null)})),selectionHighlightMultiline:U(new Ee(124,"selectionHighlightMultiline",!1,{description:p(646,null)})),selectOnLineNumbers:U(new Ee(125,"selectOnLineNumbers",!0)),showFoldingControls:U(new Tt(126,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[p(651,null),p(653,null),p(652,null)],description:p(650,null)})),showUnused:U(new Ee(127,"showUnused",!0,{description:p(654,null)})),showDeprecated:U(new Ee(157,"showDeprecated",!0,{description:p(649,null)})),inlayHints:U(new CP),snippetSuggestions:U(new Tt(128,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[p(660,null),p(657,null),p(658,null),p(659,null)],description:p(656,null)})),smartSelect:U(new BP),smoothScrolling:U(new Ee(130,"smoothScrolling",!1,{description:p(655,null)})),stopRenderingLineAfter:U(new Ze(133,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:U(new VP),inlineSuggest:U(new UP),inlineCompletionsAccessibilityVerbose:U(new Ee(169,"inlineCompletionsAccessibilityVerbose",!1,{description:p(519,null)})),suggestFontSize:U(new Ze(135,"suggestFontSize",0,0,1e3,{markdownDescription:p(679,null,"`0`","`#editor.fontSize#`")})),suggestLineHeight:U(new Ze(136,"suggestLineHeight",0,0,1e3,{markdownDescription:p(680,null,"`0`","`#editor.lineHeight#`")})),suggestOnTriggerCharacters:U(new Ee(137,"suggestOnTriggerCharacters",!0,{description:p(681,null)})),suggestSelection:U(new Tt(138,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[p(683,null),p(684,null),p(685,null)],description:p(682,null)})),tabCompletion:U(new Tt(139,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[p(688,null),p(687,null),p(689,null)],description:p(686,null)})),tabIndex:U(new Ze(140,"tabIndex",0,-1,1073741824)),trimWhitespaceOnDelete:U(new Ee(141,"trimWhitespaceOnDelete",!1,{description:p(691,null)})),unicodeHighlight:U(new NP),unusualLineTerminators:U(new Tt(143,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[p(701,null),p(702,null),p(703,null)],description:p(700,null)})),useShadowDOM:U(new Ee(144,"useShadowDOM",!0)),useTabStops:U(new Ee(145,"useTabStops",!0,{description:p(704,null)})),wordBreak:U(new Tt(146,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[p(707,null),p(706,null)],description:p(705,null)})),wordSegmenterLocales:U(new WP),wordSeparators:U(new Xn(148,"wordSeparators",eP,{description:p(709,null)})),wordWrap:U(new Tt(149,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[p(712,null),p(713,null),p(714,null),p(711,null)],description:p(710,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(715,null)})),wordWrapOverride1:U(new Tt(153,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:U(new Tt(154,"wordWrapOverride2","inherit",["off","on","inherit"])),wrapOnEscapedLineFeeds:U(new Ee(160,"wrapOnEscapedLineFeeds",!1,{markdownDescription:p(716,null)})),effectiveCursorStyle:U(new pP),editorClassName:U(new sP),defaultColorDecorators:U(new Tt(167,"defaultColorDecorators","auto",["auto","always","never"],{enumDescriptions:[p(383,null),p(382,null),p(384,null)],description:p(353,null)})),pixelRatio:U(new _P),tabFocusMode:U(new Ee(164,"tabFocusMode",!1,{markdownDescription:p(690,null)})),layoutInfo:U(new yP),wrappingInfo:U(new zP),wrappingIndent:U(new $P),wrappingStrategy:U(new IP),effectiveEditContextEnabled:U(new mP),effectiveAllowVariableFonts:U(new gP)};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 Ue=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 Dy=class{constructor(){this._tokenizationSupports=new Map;this._factories=new Map;this._onDidChange=new T;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 jP(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}},jP=class extends F{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,de.symbolMethod),i.set(1,de.symbolFunction),i.set(2,de.symbolConstructor),i.set(3,de.symbolField),i.set(4,de.symbolVariable),i.set(5,de.symbolClass),i.set(6,de.symbolStruct),i.set(7,de.symbolInterface),i.set(8,de.symbolModule),i.set(9,de.symbolProperty),i.set(10,de.symbolEvent),i.set(11,de.symbolOperator),i.set(12,de.symbolUnit),i.set(13,de.symbolValue),i.set(15,de.symbolEnum),i.set(14,de.symbolConstant),i.set(16,de.symbolEnumMember),i.set(17,de.symbolKeyword),i.set(28,de.symbolSnippet),i.set(18,de.symbolText),i.set(19,de.symbolColor),i.set(20,de.symbolFile),i.set(21,de.symbolReference),i.set(22,de.symbolCustomColor),i.set(23,de.symbolFolder),i.set(24,de.symbolTypeParameter),i.set(25,de.account),i.set(26,de.issues),i.set(27,de.tools);function t(s){let a=i.get(s);return a||(console.info("No codicon found for CompletionItemKind "+s),a=de.symbolProperty),a}r.toIcon=t;function e(s){switch(s){case 0:return p(885,null);case 1:return p(881,null);case 2:return p(873,null);case 3:return p(878,null);case 4:return p(898,null);case 5:return p(870,null);case 6:return p(891,null);case 7:return p(882,null);case 8:return p(886,null);case 9:return p(888,null);case 10:return p(877,null);case 11:return p(887,null);case 12:return p(895,null);case 13:return p(897,null);case 14:return p(872,null);case 15:return p(875,null);case 16:return p(876,null);case 17:return p(884,null);case 18:return p(892,null);case 19:return p(871,null);case 20:return p(879,null);case 21:return p(889,null);case 22:return p(874,null);case 23:return p(880,null);case 24:return p(894,null);case 25:return p(896,null);case 26:return p(883,null);case 27:return p(893,null);case 28:return p(890,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 cN(i){return!!i&&y.isUri(i.uri)&&Ue.isIRange(i.range)&&(Ue.isIRange(i.originSelectionRange)||Ue.isIRange(i.targetSelectionRange))}function uN(i){return!!i&&y.isUri(i.uri)&&Ue.isIRange(i.range)}var mY={17:p(846,null),16:p(847,null),4:p(848,null),13:p(849,null),8:p(850,null),9:p(851,null),21:p(852,null),23:p(853,null),7:p(854,null),0:p(855,null),11:p(856,null),10:p(857,null),19:p(858,null),5:p(859,null),1:p(860,null),2:p(861,null),20:p(862,null),15:p(863,null),18:p(864,null),24:p(865,null),3:p(866,null),6:p(867,null),14:p(868,null),22:p(869,null),25:p(900,null),12:p(901,null)};var QP;(o=>{let i=new Map;i.set(0,de.symbolFile),i.set(1,de.symbolModule),i.set(2,de.symbolNamespace),i.set(3,de.symbolPackage),i.set(4,de.symbolClass),i.set(5,de.symbolMethod),i.set(6,de.symbolProperty),i.set(7,de.symbolField),i.set(8,de.symbolConstructor),i.set(9,de.symbolEnum),i.set(10,de.symbolInterface),i.set(11,de.symbolFunction),i.set(12,de.symbolVariable),i.set(13,de.symbolConstant),i.set(14,de.symbolString),i.set(15,de.symbolNumber),i.set(16,de.symbolBoolean),i.set(17,de.symbolArray),i.set(18,de.symbolObject),i.set(19,de.symbolKey),i.set(20,de.symbolNull),i.set(21,de.symbolEnumMember),i.set(22,de.symbolStruct),i.set(23,de.symbolEvent),i.set(24,de.symbolOperator),i.set(25,de.symbolTypeParameter);function t(r){let s=i.get(r);return s||(console.info("No codicon found for SymbolKind "+r),s=de.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})(QP||={});var Os=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 JP;(t=>{function i(e){return!e||typeof e!="object"?!1:typeof e.id=="string"&&typeof e.title=="string"}t.is=i})(JP||={});var gY=new Dy;var YP=(o=>(o[o.Left=1]="Left",o[o.Center=2]="Center",o[o.Right=4]="Right",o[o.Full=7]="Full",o))(YP||{});var Bd=class{constructor(t,e){this._findMatchBrand=void 0;this.range=t,this.matches=e}};var My=class{constructor(t,e,n){this.regex=t,this.wordSeparators=e,this.simpleSearch=n}},Ay=class{constructor(t,e,n){this.reverseEdits=t;this.changes=e;this.trimAutoWhitespaceLineNumbers=n}};var Au=(o=>(o[o.Hint=1]="Hint",o[o.Info=2]="Info",o[o.Warning=4]="Warning",o[o.Error=8]="Error",o))(Au||{});(a=>{function i(l,d){return d-l}a.compare=i;let t=Object.create(null);t[8]=p(2699,null),t[4]=p(2703,null),t[2]=p(2701,null);function e(l){return t[l]||""}a.toString=e;let n=Object.create(null);n[8]=p(2700,null),n[4]=p(2704,null),n[2]=p(2702,null);function o(l){return n[l]||""}a.toStringPlural=o;function r(l){switch(l){case Ge.Error:return 8;case Ge.Warning:return 4;case Ge.Info:return 2;case Ge.Ignore:return 1}}a.fromSeverity=r;function s(l){switch(l){case 8:return Ge.Error;case 4:return Ge.Warning;case 2:return Ge.Info;case 1:return Ge.Ignore}}a.toSeverity=s})(Au||={});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(Au.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 IY=R("markerService");var c5=R("progressService");var kY=Object.freeze({total(){},worked(){},done(){}}),Za=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 F{constructor(e,n){super();this.deferred=new un;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=D([C(1,c5)],Oy);var PY=R("editorProgressService");var XP=class{constructor(){this.data=new Map}add(t,e){Rn(_e(t)),Rn(nt(e)),Rn(!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=>{yw(t.dispose)&&t.dispose()}),this.data.clear()}},bt=new XP;var ZP=class extends F{constructor(e,n="",o="",r=!0,s){super();this._onDidChange=this._register(new T);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 mN=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(){}},Hf=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(){}},gN=class i extends ZP{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"},i_={id:"default",displayName:p(4971,null),providerDisplayName:p(4968,null)};function Ny(i){if(Ls(i))return!1;let t=i;return t?.original!==void 0&&t.modified!==void 0}function fN(i){if(Ls(i))return!1;let t=i;return!t||t.resources&&!Array.isArray(t.resources)?!1:!!t.resources||!!t.multiDiffSource}function e_(i){if(Ls(i)||Ny(i))return!1;let t=i;return t?.primary!==void 0&&t.secondary!==void 0}function Ly(i){if(Ls(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 t_=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}},iX=new t_;var n_=class extends F{};function Ls(i){return i instanceof n_}function p5(i){let t=i;return y.isUri(t?.preferredResource)}function m5(i){let t=i;return Ls(t?.primary)&&Ls(t?.secondary)}function vN(i){let t=i;return Ls(t?.modified)&&Ls(t?.original)}var o_=class{getOriginalUri(t,e){if(!t)return;if(Ly(t))return hN.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(Ny(t)||fN(t)||e_(t)||Ly(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)||e_(t)?{primary:t.primary,secondary:t.secondary}:vN(t)||Ny(t)?{primary:t.modified,secondary:t.original}:{primary:void 0,secondary:void 0}}getCanonicalUri(t,e){if(!t)return;if(Ly(t))return hN.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(Ny(t)||fN(t)||e_(t)||Ly(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 hN=new o_;var r_=class{constructor(){this.editorSerializerConstructors=new Map;this.editorSerializerInstances=new Map}start(t){let e=this.instantiationService=t.get(On);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 jr(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)}};bt.add(u5.EditorFactory,new r_);var dX=R("agentHostConnectionsService");var s_=class{constructor(){this._contributions=new Set}register(t){return this._contributions.add(t),{dispose:()=>this._contributions.delete(t)}}getActivators(t){return Array.from(this._contributions).filter(e=>e.matchSessionType(t))}};bt.add("workbench.contrib.chatSessions.asyncActivation",new s_);var a_;(d=>(d.CopilotCLI="copilotcli",d.CopilotCloud="copilot-cloud-agent",d.Local="local",d.ClaudeCode="claude-code",d.Codex="openai-codex",d.Growth="copilot-growth",d.AgentHostCopilot="agent-host-copilotcli",d.AgentHostClaude="agent-host-claude",d.AgentHostCodex="agent-host-codex"))(a_||={});var Ou=a_.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=R("chatSessionsService");var Yo;(s=>{s.scheme=q.vscodeLocalChatSession;function t(a){let l=so(te.wrap(new TextEncoder().encode(a)),!1,!0);return y.from({scheme:s.scheme,authority:Ou,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===Ou?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=xo(l[1]);return{chatSessionType:d,sessionId:new TextDecoder().decode(c.buffer)}}})(Yo||={});function el(i){let t=Yo.parseLocalSessionId(i);return t||i.toString()}function Wd(i){return i.scheme===q.vscodeChatEditor?Ou:i.scheme===Yo.scheme?i.authority||Ou:i.scheme}function $d(i){return i.path.startsWith("/untitled-")}var Vf;(r=>{r.icon=de.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(9088,null);return s.filterUri&&(l=p(9089,null,ot(s.filterUri))),l}r.label=o})(Vf||={});var tl;(n=>{function i(o){return y.isUri(o.value)?o.value:uN(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:so(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=xo(o.value.$base64).buffer,r}return o}n.fromExport=e})(tl||={});function bN(i){return i.kind==="implicit"}function yN(i){return i.kind==="string"}function IN(i){return i.kind==="image"}function Bf(i){return i.kind==="promptFile"}function xN(i){return i.kind==="promptText"}function SN(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||Qe.isThemeIcon(t.icon))&&y.isUri(t.uri)&&typeof t.handle=="number"}function nl(i,t,e,n=!1,o){return{id:`${t}__${i.toString()}`,name:`prompt:${ot(i)}`,value:i,kind:"promptFile",modelDescription:"Prompt instructions file",isRoot:t!=="vscode.instructions.file.reference",originLabel:e,toolReferences:o,automaticallyAdded:n}}function CN(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 TN(i,t){return{kind:"tool",id:i.id,icon:Qe.isThemeIcon(i.icon)?i.icon:void 0,name:i.displayName,value:void 0,range:t}}var zd=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 co,l_=globalThis.vscode;if(typeof l_<"u"&&typeof l_.context<"u"){let i=l_.context.configuration();if(i)co=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(co=globalThis._VSCODE_PRODUCT_JSON,So.VSCODE_DEV&&Object.assign(co,{nameShort:`${co.nameShort} Dev`,nameLong:`${co.nameLong} Dev`,dataFolderName:`${co.dataFolderName}-dev`,serverDataFolderName:co.serverDataFolderName?`${co.serverDataFolderName}-dev`:void 0}),!co.version){let i=globalThis._VSCODE_PACKAGE_JSON;Object.assign(co,{version:i.version})}Object.assign(co,{extensionsGallery:So.EXTENSIONS_GALLERY?JSON.parse(So.EXTENSIONS_GALLERY):co.extensionsGallery||{serviceUrl:"https://open-vsx.org/vscode/gallery",itemUrl:"https://open-vsx.org/vscode/item",extensionUrlTemplate:"https://open-vsx.org/vscode/gallery/{publisher}/{name}/latest",resourceUrlTemplate:"https://open-vsx.org/vscode/asset/{publisher}/{name}/{version}/Microsoft.VisualStudio.Code.WebResources/{path}",controlUrl:"",recommendationsUrl:""},telemetryEndpoint:So.CS_TELEMETRY_URL||co.telemetryEndpoint||"https://v1.telemetry.coder.com/track"})}else co={nameShort:"code-server",nameLong:"code-server",applicationName:"code-server",dataFolderName:".code-server",sharedDataFolderName:".vscode-oss-shared",win32MutexName:"codeserver",licenseName:"MIT",licenseUrl:"https://github.com/coder/code-server/blob/main/LICENSE",serverLicenseUrl:"https://github.com/microsoft/vscode/blob/main/LICENSE.txt",serverGreeting:[],serverLicense:[],serverLicensePrompt:"",serverApplicationName:"code-server-oss",serverDataFolderName:".vscode-server-oss",tunnelApplicationName:"code-tunnel-oss",win32DirName:"code-server",win32NameVersion:"code-server",win32RegValueName:"CodeOSS",win32x64AppId:"{{D77B7E06-80BA-4137-BCF4-654B95CCEBC5}",win32arm64AppId:"{{D1ACE434-89C5-48D1-88D3-E2991DF85475}",win32x64UserAppId:"{{CC6B787D-37A0-49E8-AE24-8559A032BE0C}",win32arm64UserAppId:"{{3AEBF0C8-F733-4AD4-BADE-FDB816D53D7B}",win32AppUserModelId:"coder.code-server",win32ShellNameShort:"c&ode-server",win32TunnelServiceMutex:"vscodeoss-tunnelservice",win32TunnelMutex:"vscodeoss-tunnel",darwinBundleIdentifier:"com.coder.code.server",darwinProfileUUID:"47827DD9-4734-49A0-AF80-7E19B11495CC",darwinProfilePayloadUUID:"CF808BE7-53F3-46C6-A7E2-7EDB98A5E959",linuxIconName:"com.coder.code.server",licenseFileName:"LICENSE.txt",reportIssueUrl:"https://github.com/coder/code-server/issues/new",nodejsArtifactFeed:"",electronArtifactFeed:"",urlProtocol:"code-oss",agentsTelemetryAppName:"agents",webviewContentExternalBaseUrlTemplate:"https://{{uuid}}.vscode-cdn.net/insider/ef65ac1ba57f57f2a3961bfe94aa20481caca4c6/out/vs/workbench/contrib/webview/browser/pre/",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"}}],defaultChatAgent:{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",optimizeUsageDocumentationUrl:"https://aka.ms/token-usage-tips",publicCodeMatchesUrl:"https://aka.ms/github-copilot-match-public-code",managePlanUrl:"https://aka.ms/github-copilot-manage-plan",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"},google:{id:"google",name:"Google"},apple:{id:"apple",name:"Apple"}},providerExtensionId:"vscode.github-authentication",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",mcpRegistryDataUrl:"https://api.github.com/copilot/mcp_registry",managedSettingsUrl:"https://api.github.com/copilot_internal/managed_settings"},trustedExtensionAuthAccess:["vscode.git","vscode.github","github.vscode-pull-request-github","github.copilot","github.copilot-chat"],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"}],builtInExtensionsEnabledWithAutoUpdates:["GitHub.copilot-chat"],sessionsWindowAllowedExtensions:[],voiceWsUrl:"wss://falcon-caas.mai.microsoft.com/voice-code/api/v1/realtime/voice",enableTelemetry:!0,quality:"stable",codeServerVersion:"4.128.0",documentationUrl:"https://go.microsoft.com/fwlink/?LinkID=533484#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",linkProtectionTrustedDomains:["https://open-vsx.org"],aiConfig:{ariaKey:"code-server"},version:"1.128.0",commit:"cb22f74650a539d6f824d5944ec34d9e74844f66",date:"2026-07-07T15:14:24-07:00"},Object.keys(co).length===0&&Object.assign(co,{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 mr=co;var sn=R("configurationService");function EN(i){switch(i){case 1:return"APPLICATION";case 2:return"USER";case 3:return"USER_LOCAL";case 4:return"USER_REMOTE";case 5:return"WORKSPACE";case 6:return"WORKSPACE_FOLDER";case 7:return"DEFAULT";case 8:return"MEMORY"}}function Uy(i,t){let e=Object.create(null);for(let n in i)d_(e,n,i[n],t);return e}function d_(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 wN(i,t){let e=t.split(".");kN(i,e)}function kN(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)&&(kN(o,t),Object.keys(o).length===0&&delete e[n])}}function Wf(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 PN(i){return i.replace(/^\[/,"").replace(/]$/g,"").replace(/\]\[/g,", ")}function Lu(i,t=xt){return qO(i,t)?i.charAt(0).toUpperCase()+i.slice(1):i}function c_(i,t){return i.replace(/^~($|\/|\\)/,`${t}$1`)}var _N=R("dialogService");var oZ=R("fileDialogService");var Nu=R("productService"),DN="vscode://schemas/vscode-product";function RN(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 Uu(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)Uu(d)&&s.push(d)},n=(...l)=>{for(let d of l)if(Uu(d))for(let c in d){let u=d[c];Uu(u)&&s.push(u)}},o=(...l)=>{for(let d of l)if(Array.isArray(d))for(let c of d)Uu(c)&&s.push(c)},r=l=>{if(Array.isArray(l))for(let d of l)Uu(d)&&s.push(d);else Uu(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 qd={JSONContribution:"base.contributions.json"};function MN(i){return i.length>0&&i.charAt(i.length-1)==="#"?i.substring(0,i.length-1):i}var u_=class extends F{constructor(){super(...arguments);this.schemasById={};this.schemaAssociations={};this._onDidChangeSchema=this._register(new T);this.onDidChangeSchema=this._onDidChangeSchema.event;this._onDidChangeSchemaAssociations=this._register(new T);this.onDidChangeSchemaAssociations=this._onDidChangeSchemaAssociations.event}registerSchema(e,n,o){let r=MN(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=MN(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?RN(n):void 0}hasSchemaContent(e){return!!this.schemasById[e]}getSchemaAssociations(){return this.schemaAssociations}},v5=new u_;bt.add(qd.JSONContribution,v5);var Mr={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 Fy={properties:{},patternProperties:{}},Hy={properties:{},patternProperties:{}},Vy={properties:{},patternProperties:{}},By={properties:{},patternProperties:{}},Wy={properties:{},patternProperties:{}},$y={properties:{},patternProperties:{}},$f={properties:{},patternProperties:{}},Kd="vscode://schemas/settings/resourceLanguage";var zy=bt.as(qd.JSONContribution),p_=class extends F{constructor(){super();this.registeredConfigurationDefaults=[];this.overrideIdentifiers=new Set;this._onDidSchemaChange=this._register(new T);this.onDidSchemaChange=this._onDidSchemaChange.event;this._onDidUpdateConfiguration=this._register(new T);this.onDidUpdateConfiguration=this._onDidUpdateConfiguration.event;this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:p(2391,null),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.policyReferenceConfigurations=new Map,this.excludedConfigurationProperties={},zy.registerSchema(Kd,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),zy.registerSchema(Kd,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:o})}deregisterConfigurations(e){let n=new Set;this.doDeregisterConfigurations(e,n),zy.registerSchema(Kd,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),zy.registerSchema(Kd,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}),Rr.test(a)){let c=this.mergeDefaultConfigurationsForOverrideIdentifier(a,d,s,l.configurationDefaultOverrideValue);if(!c)continue;l.configurationDefaultOverrideValue=c,this.updateDefaultOverrideProperty(a,c,s),o.push(...Fu(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),Rr.test(s)){let d;for(let c of a.configurationDefaultOverrides)d=this.mergeDefaultConfigurationsForOverrideIdentifier(s,c.value,c.source,d);d&&!Oa(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(2390,null,PN(e)),$ref:Kd,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(nt(d)&&(wi(s[l])||nt(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(nt(n)&&(s!==void 0&&s.type==="object"||s===void 0&&(wi(a)||nt(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={...nt(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];if(a?.policy?.name&&this.policyConfigurations.delete(a.policy.name),a?.policyReference?.name){let l=this.policyReferenceConfigurations.get(a.policyReference.name);l&&(l.delete(s),l.size===0&&this.policyReferenceConfigurations.delete(a.policyReference.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=Nt(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),Rr.test(c)?u.scope=void 0:(u.scope=Nt(u.scope)?s:u.scope,u.restricted=Nt(u.restricted)?!!r?.includes(c):u.restricted),u.experiment?u.tags?.some(h=>h.toLowerCase()==="onexp")||(u.tags=u.tags??[],u.tags.push("onExP")):u.tags?.some(h=>h.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,v=l[c].policyReference?.name;m?(this.excludedConfigurationProperties[c]=l[c],g&&(this.policyConfigurations.set(g,c),a.add(c)),v&&(this.addPolicyReferenceConfiguration(v,c),a.add(c)),delete l[c]):(a.add(c),g&&this.policyConfigurations.set(g,c),v&&this.addPolicyReferenceConfiguration(v,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)}addPolicyReferenceConfiguration(e,n){let o=this.policyReferenceConfigurations.get(e);o||(o=new Set,this.policyReferenceConfigurations.set(e,o)),o.add(n)}getConfigurations(){return this.configurationContributors}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}getPolicyReferenceConfigurations(){return this.policyReferenceConfigurations}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(Fy.properties[e]=n,n.scope){case 1:Hy.properties[e]=n;break;case 2:By.properties[e]=n;break;case 3:Vy.properties[e]=n;break;case 7:Wy.properties[e]=n;break;case 4:$y.properties[e]=n;break;case 5:$f.properties[e]=n;break;case 6:$f.properties[e]=n,this.resourceLanguageSettingsSchema.properties[e]=n;break}}removeFromSchema(e,n){switch(delete Fy.properties[e],n.scope){case 1:delete Hy.properties[e];break;case 2:delete By.properties[e];break;case 3:delete Vy.properties[e];break;case 7:delete Wy.properties[e];break;case 4:delete $y.properties[e];break;case 5:case 6:delete $f.properties[e],delete this.resourceLanguageSettingsSchema.properties[e];break}}updateOverridePropertyPatternKey(){for(let e of this.overrideIdentifiers.values()){let n=`[${e}]`,o={type:"object",description:p(2392,null),errorMessage:p(2393,null),$ref:Kd};this.updatePropertyDefaultValue(n,o),Fy.properties[n]=o,Hy.properties[n]=o,Vy.properties[n]=o,By.properties[n]=o,Wy.properties[n]=o,$y.properties[n]=o,$f.properties[n]=o}}registerOverridePropertyPatternKey(){let e={type:"object",description:p(2392,null),errorMessage:p(2393,null),$ref:Kd};Fy.patternProperties[rl]=e,Hy.patternProperties[rl]=e,Vy.patternProperties[rl]=e,By.patternProperties[rl]=e,Wy.patternProperties[rl]=e,$y.patternProperties[rl]=e,$f.patternProperties[rl]=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),wi(r)&&(r=n.defaultDefaultValue,s=void 0),wi(r)&&(r=y5(n.type)),n.default=r,n.defaultValueSource=s}},ON="\\[([^\\]]+)\\]",AN=new RegExp(ON,"g"),rl=`^(${ON})+$`,Rr=new RegExp(rl);function Fu(i){let t=[];if(Rr.test(i)){let e=AN.exec(i);for(;e?.length;){let n=e[1].trim();n&&t.push(n),e=AN.exec(i)}}return Bo(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 qy=new p_;bt.add(Mr.Configuration,qy);function I5(i,t,e){return i.trim()?Rr.test(i)?p(2389,null,i):qy.getConfigurationProperties()[i]!==void 0&&(!e||!x5.has(e.toLowerCase()))?p(2387,null,i):t.policy&&t.policyReference?p(2385,null,i):t.policy?.name&&qy.getPolicyConfigurations().get(t.policy?.name)!==void 0?p(2386,null,i,t.policy?.name,qy.getPolicyConfigurations().get(t.policy?.name)):null:p(2388,null)}var x5=new Set(mr.defaultChatAgent?[mr.defaultChatAgent.extensionId,mr.defaultChatAgent.chatExtensionId].map(i=>i.toLowerCase()):[]);var Ky=R("requestService");function S5(i){return i.res.statusCode&&i.res.statusCode>=200&&i.res.statusCode<300||i.res.statusCode===1223}function UN(i){return i.res.statusCode===204}async function g_(i){return UN(i)?null:(await ww(i.stream)).toString()}async function FN(i){if(!S5(i))throw new Error("Server returned "+i.res.statusCode);if(UN(i))return null;let e=(await ww(i.stream)).toString();try{return JSON.parse(e)}catch(n){throw n.message+=`:
`+e,n}}var C5=!1,m_=[],LN,NN;function T5(i=!0,t=!0){if(LN===i&&NN===t)return;LN=i,NN=t;let e=bt.as(Mr.Configuration),n=m_;m_=[{id:"http",order:15,title:p(2759,null),type:"object",scope:2,properties:{"http.useLocalProxyConfiguration":{type:"boolean",default:t,markdownDescription:p(2774,null),restricted:!0}}},{id:"http",order:15,title:p(2759,null),type:"object",scope:1,properties:{"http.electronFetch":{type:"boolean",default:!1,description:p(2757,null),restricted:!0}}},{id:"http",order:15,title:p(2759,null),type:"object",scope:i?1:2,properties:{"http.proxy":{type:"string",pattern:"^(https?|socks|socks4a?|socks5h?)://([^:]*(:[^@]*)?@)?([^:]+|\\[[:0-9a-fA-F]+\\])(:\\d+)?/?$|^$",markdownDescription:p(2762,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.proxyStrictSSL":{type:"boolean",default:!0,markdownDescription:p(2770,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.proxyKerberosServicePrincipal":{type:"string",markdownDescription:p(2764,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.noProxy":{type:"array",items:{type:"string"},markdownDescription:p(2761,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.proxyAuthorization":{type:["null","string"],default:null,markdownDescription:p(2763,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.proxySupport":{type:"string",enum:["off","on","fallback","override"],enumDescriptions:[p(2767,null),p(2768,null),p(2766,null),p(2769,null)],default:"override",markdownDescription:p(2765,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.systemCertificates":{type:"boolean",default:!0,markdownDescription:p(2771,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.systemCertificatesNode":{type:"boolean",tags:["experimental"],default:C5,markdownDescription:p(2772,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0,experiment:{mode:"auto"}},"http.experimental.systemCertificatesV2":{type:"boolean",tags:["experimental"],default:!1,markdownDescription:p(2773,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.fetchAdditionalSupport":{type:"boolean",default:!0,markdownDescription:p(2758,null,"`#http.useLocalProxyConfiguration#`","`#http.proxySupport#`","`#http.systemCertificates#`"),restricted:!0},"http.webSocketAdditionalSupport":{type:"boolean",default:!0,markdownDescription:p(2775,null,"`#http.useLocalProxyConfiguration#`","`#http.proxySupport#`","`#http.systemCertificates#`"),restricted:!0},"http.experimental.networkInterfaceCheckInterval":{type:"number",default:300,minimum:-1,tags:["experimental"],markdownDescription:p(2760,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0,experiment:{mode:"auto"}}}}],e.updateConfigurations({add:m_,remove:n})}T5();var il=class i extends F{constructor(e,n=Object.create(null)){super();this.database=e;this.options=n;this._onDidChangeStorage=this._register(new Ba);this.onDidChangeStorage=this._onDidChangeStorage.event;this.state=0;this.cache=new Map;this.flushDelayer=this._register(new Kb(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;Nt(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 Nt(o)?n:o}getBoolean(e,n){let o=this.get(e);return Nt(o)?n:o==="true"}getNumber(e,n){let o=this.get(e);return Nt(o)?n:parseInt(o,10)}getObject(e,n){let o=this.get(e);return Nt(o)?n:Ey(o)}async set(e,n,o=!1){if(this.state===2)return;if(Nt(n))return this.delete(e,o);let r=nt(n)||Array.isArray(n)?nN(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}},Gd=class{constructor(){this.onDidChangeItemsExternal=Ae.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(){}},HN="__$__migratedStorageMarker",VN=class i extends il{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)&&wi(super.get(e))){this.migratedKeys.add(e);let o=this.fallbackStorage?.items.get(e);wi(o)||(this.set(e,o),this.isFallbackStorageReadonly||this.fallbackStorage?.delete(e),this.persistMigratedKeys())}return super.get(e,n)}loadMigratedKeys(){let e=super.get(HN);if(e)try{return new Set(JSON.parse(e))}catch{}return new Set}persistMigratedKeys(){this.set(HN,JSON.stringify([...this.migratedKeys]))}};var jd=R("environmentService"),KZ=jd;var gr=R("IUriIdentityService");var qf="agents",E5={settings:!0,keybindings:!0,prompts:!0,mcp:!0,languageModels:!0,snippets:!0,tasks:!0,extensions:!0};function WN(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 sl=R("IUserDataProfilesService");function Vi(i,t){return{id:i.id,isDefault:i.isDefault,name:i.name,icon:i.icon,location:y.revive(i.location).with({scheme:t}),globalStorageHome:y.revive(i.globalStorageHome).with({scheme:t}),settingsResource:y.revive(i.settingsResource).with({scheme:t}),keybindingsResource:y.revive(i.keybindingsResource).with({scheme:t}),tasksResource:y.revive(i.tasksResource).with({scheme:t}),snippetsHome:y.revive(i.snippetsHome).with({scheme:t}),promptsHome:y.revive(i.promptsHome).with({scheme:t}),extensionsResource:y.revive(i.extensionsResource).with({scheme:t}),mcpResource:y.revive(i.mcpResource).with({scheme:t}),languageModelsResource:y.revive(i.languageModelsResource).with({scheme:t}),agentPluginsHome:y.revive(i.agentPluginsHome),cacheHome:y.revive(i.cacheHome).with({scheme:t}),useDefaultFlags:i.useDefaultFlags,isTransient:i.isTransient,isInternal:i.isInternal,isAgentsWindowProfile:i.isAgentsWindowProfile,workspaces:i.workspaces?.map(e=>y.revive(e))}}function Gy(i,t,e,n,o,r){let s=i===qf;return{id:i,name:t,location:e,isDefault:!1,icon:o?.icon,globalStorageHome:r&&o?.useDefaultFlags?.globalState?r.globalStorageHome:Ht(e,"globalStorage"),settingsResource:r&&o?.useDefaultFlags?.settings?r.settingsResource:Ht(e,"settings.json"),keybindingsResource:r&&o?.useDefaultFlags?.keybindings?r.keybindingsResource:Ht(e,"keybindings.json"),tasksResource:r&&o?.useDefaultFlags?.tasks?r.tasksResource:Ht(e,"tasks.json"),snippetsHome:r&&o?.useDefaultFlags?.snippets?r.snippetsHome:Ht(e,"snippets"),promptsHome:r&&o?.useDefaultFlags?.prompts?r.promptsHome:Ht(e,"prompts"),extensionsResource:r&&o?.useDefaultFlags?.extensions?r.extensionsResource:Ht(e,"extensions.json"),mcpResource:r&&o?.useDefaultFlags?.mcp?r.mcpResource:Ht(e,"mcp.json"),languageModelsResource:r&&o?.useDefaultFlags?.languageModels?r.languageModelsResource:Ht(e,"chatLanguageModels.json"),agentPluginsHome:r?r.agentPluginsHome:Ht(e,"agent-plugins"),cacheHome:Ht(n,i),useDefaultFlags:o?.useDefaultFlags,isTransient:o?.transient,isInternal:s||o?.transient,isAgentsWindowProfile:s,workspaces:o?.workspaces}}var BN="builtin",jy=class extends F{constructor(e,n,o,r){super();this.environmentService=e;this.fileService=n;this.uriIdentityService=o;this.logService=r;this._onDidChangeProfiles=this._register(new T);this.onDidChangeProfiles=this._onDidChangeProfiles.event;this._onWillCreateProfile=this._register(new T);this.onWillCreateProfile=this._onWillCreateProfile.event;this._onWillRemoveProfile=this._register(new T);this.onWillRemoveProfile=this._onWillRemoveProfile.event;this._onDidResetWorkspaces=this._register(new T);this.onDidResetWorkspaces=this._onDidResetWorkspaces.event;this.profileCreationPromises=new Map;this.transientProfilesObject={profiles:[],emptyWindows:new Map};this.profilesHome=Ht(this.environmentService.userRoamingDataHome,"profiles"),this.profilesCacheHome=Ht(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=ot(r.location);n.push(Gy(s,r.name,r.location,this.profilesCacheHome,{icon:r.icon,useDefaultFlags:s===qf?E5: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||!_e(e.name)||!e.location}createDefaultProfile(){let e=Gy("__default__profile__",p(3200,null),this.environmentService.userRoamingDataHome,this.profilesCacheHome);return{...e,extensionsResource:this.getDefaultProfileExtensionsLocation()??e.extensionsResource,isDefault:!0}}async createTransientProfile(e){let n="Temp",o=new RegExp(`${dr(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(cr(Ve()).toString(16),s,{transient:!0},e)}async createNamedProfile(e,n,o){return this.createProfile(cr(Ve()).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(!_e(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!==qf&&!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=Gy(e,n,this.uriIdentityService.extUri.joinPath(this.profilesHome,...e===qf?[BN,e]:[e]),this.profilesCacheHome,e===qf?{}:o,this.defaultProfile);await this.fileService.createFolder(d.location);let c=[];return this._onWillCreateProfile.fire({profile:d,join(u){c.push(u)}}),await ja.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=Gy(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){_f(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!==BN&&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 EL(e)?e.uri:wL(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(){}};jy=D([C(0,jd),C(1,Eo),C(2,gr),C(3,se)],jy);var w5="__$__isNewStorageMarker",Jy="__$__targetStorageMarker",No=R("storageService");function k5(i){let t=i.get(Jy);if(t)try{return JSON.parse(t)}catch{}return Object.create(null)}var h_=class i extends F{constructor(e={flushInterval:i.DEFAULT_FLUSH_INTERVAL}){super();this._onDidChangeValue=this._register(new Ba);this._onDidChangeTarget=this._register(new Ba);this.onDidChangeTarget=this._onDidChangeTarget.event;this._onWillSaveState=this._register(new T);this.onWillSaveState=this._onWillSaveState.event;this.runFlushWhenIdle=this._register(new dn);this._workspaceKeyTargets=void 0;this._profileKeyTargets=void 0;this._applicationKeyTargets=void 0;this._applicationSharedKeyTargets=void 0;this.flushWhenIdleScheduler=this._register(new Jn(()=>this.doFlushWhenIdle(),e.flushInterval))}static{this.DEFAULT_FLUSH_INTERVAL=60*1e3}onDidChangeValue(e,n,o){return Ae.filter(this._onDidChangeValue.event,r=>r.scope===e&&(n===void 0||r.key===n),o)}doFlushWhenIdle(){this.runFlushWhenIdle.value=mk(()=>{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===Jy){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(Nt(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(Jy,JSON.stringify(s),r)):typeof s[e]=="number"&&(delete s[e],this.getStorage(n)?.set(Jy,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?k5(n):Object.create(null)}isNew(e){return this.getBoolean(w5,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 ja.settled([n?.whenFlushed()??Promise.resolve(),o?.whenFlushed()??Promise.resolve(),r?.whenFlushed()??Promise.resolve(),s?.whenFlushed()??Promise.resolve()]);break;case 1:await ja.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 P5(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),WN(e)?this.switchToProfile(e,n):this.switchToWorkspace(e,n)}canSwitchProfile(e,n){return!(e.id===n.id||$N(n)&&$N(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 $N(i){return i.isDefault||!!i.useDefaultFlags?.globalState}var Yy=class extends h_{constructor(){super();this.applicationStorage=this._register(new il(new Gd,{hint:1}));this.applicationSharedStorage=this._register(new il(new Gd,{hint:1}));this.profileStorage=this._register(new il(new Gd,{hint:1}));this.workspaceStorage=this._register(new il(new Gd,{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 P5(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,L)=>{d.set(L,O),c.set(L,l(O))});let u=new Map,m=new Map;t.forEach((O,L)=>{u.set(L,O),m.set(L,l(O))});let g=new Map,v=new Map;e.forEach((O,L)=>{g.set(L,O),v.set(L,l(O))});let h=new Map,I=new Map;n.forEach((O,L)=>{h.set(L,O),I.set(L,l(O))}),console.group(o!==s?`Storage: Application (path: ${o})`:`Storage: Application & Profile (path: ${o}, default profile)`);let S=[];d.forEach((O,L)=>{S.push({key:L,value:O})}),console.table(S),console.groupEnd(),console.log(c),console.group(`Storage: Application Shared (path: ${r})`);let w=[];if(u.forEach((O,L)=>{w.push({key:L,value:O})}),console.table(w),console.groupEnd(),console.log(m),o!==s){console.group(`Storage: Profile (path: ${s}, profile specific)`);let O=[];g.forEach((L,$)=>{O.push({key:$,value:L})}),console.table(O),console.groupEnd(),console.log(v)}console.group(`Storage: Workspace (path: ${a})`);let P=[];h.forEach((O,L)=>{P.push({key:L,value:O})}),console.table(P),console.groupEnd(),console.log(I)}var Ar=R("telemetryService");var Oee=R("customEndpointTelemetryService");var Xy="__";function zN(i){return typeof i=="object"&&i!==null&&"wwwAuthenticate"in i&&typeof i.wwwAuthenticate=="string"}var qN=R("IAuthenticationService");var Uee=R("IAuthenticationExtensionsService");var Zy=R("openerService");var Hu=jd;var KN=R("lifecycleService");var kn=class{constructor(t,e,n){this.owner=t;this.debugNameSource=e;this.referenceFn=n}getDebugName(t){return JN(t,this)}},GN=new Map,v_=new WeakMap;function JN(i,t){let e=v_.get(i);if(e)return e;let n=_5(i,t);if(n){let o=GN.get(n)??0;o++,GN.set(n,o);let r=o===1?n:`${n}#${o}`;return v_.set(i,r),r}}function _5(i,t){let e=v_.get(i);if(e)return e;let n=t.owner?R5(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=D5(t.owner,i);if(a!==void 0)return n+a}}function D5(i,t){for(let e in i)if(i[e]===t)return e}var jN=new Map,QN=new WeakMap;function R5(i){let t=QN.get(i);if(t)return t;let e=b_(i)??"Object",n=jN.get(e)??0;n++,jN.set(e,n);let o=n===1?e:`${e}#${n}`;return QN.set(i,o),o}function b_(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 Po(i,t){return i===t}function M5(){return(i,t)=>i===t}function y_(i,t,e){return Jt(i,t,e??Po)}function A5(i){return(t,e)=>Jt(t,e,i??Po)}function Vu(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(!Vu(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)||!Vu(e[a],n[a]))return!1;return!0}return!1}function O5(){return(i,t)=>Vu(i,t)}function L5(i,t){return JSON.stringify(i)===JSON.stringify(t)}function N5(){return(i,t)=>JSON.stringify(i)===JSON.stringify(t)}function U5(){return(i,t)=>i.equals(t)}function F5(i,t,e){return i==null||t===void 0||t===null?t===i:e(i,t)}function H5(i){return(t,e)=>t==null||e===void 0||e===null?e===t:i(t,e)}var V5;(u=>(u.strict=Po,u.strictC=M5,u.array=y_,u.arrayC=A5,u.structural=Vu,u.structuralC=O5,u.jsonStringify=L5,u.jsonStringifyC=N5,u.thisC=U5,u.ifDefined=F5,u.ifDefinedC=H5))(V5||={});function I_(i){let t=new Error("BugIndicatingErrorRecovery: "+i);Rt(t),console.error("recovered from an error that indicates a bug",t)}var Qd;function Gf(i){Qd?Qd instanceof eI?Qd.loggers.push(i):Qd=new eI([Qd,i]):Qd=i}function $t(){return Qd}var x_;function YN(i){x_=i}function XN(i){x_&&x_(i)}var eI=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 ll(i,t){let e=new al(i,t);try{i(e)}finally{e.finish()}}function S_(i,t,e){i?t(i):ll(t,e)}var al=class{constructor(t,e){this._fn=t;this._getDebugName=e;this._updatingObservers=[];$t()?.handleBeginTransaction(this)}getDebugName(){return this._getDebugName?this._getDebugName():Kf(this._fn)}updateObserver(t,e){if(!this._updatingObservers){I_("Transaction already finished!"),ll(n=>{n.updateObserver(t,e)});return}this._updatingObservers.push({observer:t,observable:e}),t.beginUpdate(e)}finish(){let t=this._updatingObservers;if(!t){I_("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,$t()?.handleEndTransaction(this)}debugGetUpdatingObservers(){return this._updatingObservers}};var an;(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,C_.fromStack(s,2)}n.ofCaller=e})(an||={});var C_=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=B5(n[e+1]);if(o)return new i(o.fileName,o.line,o.column,o.id)}};function B5(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 T_;function ZN(i){T_=i}var eU;function tU(i){eU=i}var nU;function oU(i){nU=i}var E_;function rU(i){E_=i}var jf=class{get TChange(){return null}reportChanges(){this.get()}read(t){return t?t.readObservable(this):this.get()}map(t,e,n=an.ofCaller()){let o=e===void 0?void 0:t,r=e===void 0?t:e;return T_({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 T_({owner:void 0,debugName:()=>`${this.debugName} (flattened)`},t=>this.read(t).read(t))}recomputeInitiallyAndOnChange(t,e){return t.add(eU(this,e)),this}keepObserved(t){return t.add(nU(this)),this}get debugValue(){return this.get()}get debug(){return new w_(this)}},w_=class{constructor(t){this.observable=t}getDependencyGraph(){return E_(this.observable,{type:"dependencies"})}getObserverGraph(){return E_(this.observable,{type:"observers"})}},fr=class extends jf{constructor(e){super();this._observers=new Set;$t()?.handleObservableCreated(this,e)}addObserver(e){let n=this._observers.size;this._observers.add(e),n===0&&this.onFirstObserverAdded(),n!==this._observers.size&&$t()?.handleOnListenerCountChanged(this,this._observers.size)}removeObserver(e){let n=this._observers.delete(e);n&&this._observers.size===0&&this.onLastObserverRemoved(),n&&$t()?.handleOnListenerCountChanged(this,this._observers.size)}onFirstObserverAdded(){}onLastObserverRemoved(){}log(){let e=!!$t();return XN(this),e||$t()?.handleObservableCreated(this,an.ofCaller()),this}debugGetObservers(){return this._observers}};function pn(i,t,e=an.ofCaller()){let n;return typeof i=="string"?n=new kn(void 0,i,void 0):n=new kn(i,void 0,void 0),new Bi(n,t,Po,e)}var Bi=class extends fr{constructor(e,n,o,r){super(r);this._debugNameData=e;this._equalityComparator=o;this._value=n,$t()?.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 al(()=>{},()=>`Setting ${this.debugName}`));try{let s=this._value;this._setValue(e),$t()?.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 tI=class extends fr{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){$t()?.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{$t()?.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 al(()=>{},()=>`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 Ns(i,t,e=an.ofCaller()){return i.lazy?new tI(new kn(i.owner,i.debugName,void 0),t,i.equalsFn??Po,e):new Bi(new kn(i.owner,i.debugName,void 0),t,i.equalsFn??Po,e)}function W5(i){switch(i){case 1:return"dependenciesMightHaveChanged";case 2:return"stale";case 3:return"upToDate";default:return"<unknown>"}}var Us=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),$t()?.handleAutorunCreated(this,o),this._run(),Na(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(),$t()?.handleAutorunDisposed(this),Ua(this)}}_run(){let t=this._dependenciesToBeRemoved;this._dependenciesToBeRemoved=this._dependencies,this._dependencies=t,this._state=3;try{if(!this._disposed){$t()?.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){Ra(o)}finally{this._isRunning=!1,n!==void 0&&n.dispose()}}}finally{this._disposed||$t()?.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--}jg(()=>this._updateCount>=0)}handlePossibleChange(t){this._state===3&&this._isDependency(t)&&(this._checkIterations(),this._state=1)}handleChange(t,e){if(this._isDependency(t)){$t()?.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){Ra(n)}}}_isDependency(t){return this._dependencies.has(t)&&!this._dependenciesToBeRemoved.has(t)}_ensureNoRunning(){if(!this._isRunning)throw new Dt("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 Dt("Cannot access store after dispose");return this._store===void 0&&(this._store=new G),this._store}get delayedStore(){if(this._ensureNoRunning(),this._disposed)throw new Dt("Cannot access store after dispose");return this._delayedStore===void 0&&(this._delayedStore=new G),this._delayedStore}debugGetState(){return{isRunning:this._isRunning,updateCount:this._updateCount,dependencies:this._dependencies,state:this._state,stateStr:W5(this._state)}}debugRerun(){this._isRunning?this._state=2:this._run()}_checkIterations(){return this._iteration>100?(Ra(new Dt(`Autorun '${this.debugName}' is stuck in an infinite update loop.`)),!0):!1}};function uo(i,t=an.ofCaller()){return new Us(new kn(void 0,void 0,i),i,void 0,t)}function k_(i,t,e=an.ofCaller()){let n,o=!1;n=uo(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 $5(i){switch(i){case 0:return"initial";case 1:return"dependenciesMightHaveChanged";case 2:return"stale";case 3:return"upToDate";default:return"<unknown>"}}var Ln=class extends fr{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,$t()?.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),$t()?.handleObservableUpdated(this,{oldValue:s,newValue:this._value,change:void 0,didChange:e,hadValue:r})}catch(o){Ra(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 Dt("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)}}jg(()=>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){$t()?.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){Ra(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 Dt("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 G),this._store}get delayedStore(){return this._ensureReaderValid(),this._delayedStore===void 0&&(this._delayedStore=new G),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:$5(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 Fs(i,t,e=an.ofCaller()){return t!==void 0?new Ln(new kn(i,void 0,t),t,void 0,void 0,Po,e):new Ln(new kn(void 0,void 0,i),i,void 0,void 0,Po,e)}function Qf(i,t,e=an.ofCaller()){return new Ln(new kn(i.owner,i.debugName,i.debugReferenceFn),t,void 0,i.onLastObserverRemoved,i.equalsFn??Po,e)}ZN(Qf);function po(...i){let t,e,n,o;return i.length===2?[e,n]=i:[t,e,n,o]=i,new Or(new kn(t,void 0,n),e,n,()=>Or.globalTransaction,Po,o??an.ofCaller())}var Or=class extends fr{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,S_(this._getTransaction(),a=>{$t()?.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||$t()?.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=Or;function t(n,o){let r=!1;Or.globalTransaction===void 0&&(Or.globalTransaction=n,r=!0);try{o()}finally{r&&(Or.globalTransaction=void 0)}}e.batchEventsGlobally=t})(po||={});function iU(i){let t=new nI(!1,void 0);return i.addObserver(t),X(()=>{i.removeObserver(t)})}oU(iU);function sU(i,t){let e=new nI(!0,t);i.addObserver(e);try{e.beginUpdate(i)}finally{e.endUpdate(i)}return X(()=>{i.removeObserver(e)})}tU(sU);var nI=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 __(i){return new P_(i)}var P_=class extends jf{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 Jf(i,t,e=an.ofCaller()){return new D_(typeof i=="string"?i:new kn(i,void 0,void 0),t,e)}var D_=class extends fr{constructor(e,n,o){super(o);this.event=n;this.handleEvent=()=>{ll(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 oI;function aU(i){oI||(oI=new Yf,Gf(oI)),oI.addFilteredObj(i)}var Yf=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 Q5([Bu(X5("|  ",this.indentation)),t])}formatInfo(t){return t.hadValue?t.didChange?[Bu(" "),Lr(hr(t.oldValue,70),{color:"red",strikeThrough:!0}),Bu(" "),Lr(hr(t.newValue,60),{color:"green"})]:[Bu(" (unchanged)")]:[Bu(" "),Lr(hr(t.newValue,60),{color:"green"}),Bu(" (initial)")]}handleObservableCreated(t){if(t instanceof Ln){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 Ln){this._handleDerivedRecomputed(t,e);return}console.log(...this.textToConsoleArgs([Wu("observable value changed"),Lr(t.debugName,{color:"BlueViolet"}),...this.formatInfo(e)]))}}formatChanges(t){if(t.size!==0)return Lr(" (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"),Lr(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"),Lr(t.debugName,{color:"BlueViolet"})]))}handleFromEventObservableTriggered(t,e){this._isIncluded(t)&&console.log(...this.textToConsoleArgs([Wu("observable from event triggered"),Lr(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"),Lr(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"),Lr(e,{color:"BlueViolet"}),{data:[{fn:t._fn}]}])),this.indentation++}handleEndTransaction(){this.indentation--}};function Q5(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 Bu(i){return Lr(i,{color:"black"})}function Wu(i){return Lr(Z5(`${i}: `,10),{color:"black",bold:!0})}function Lr(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 hr(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)?J5(i,t):Y5(i,t);case"symbol":return i.toString();case"function":return`[[Function${i.name?" "+i.name:""}]]`;default:return""+i}}function J5(i,t){let e="[ ",n=!0;for(let o of i){if(n||(e+=", "),e.length-5>t){e+="...";break}n=!1,e+=`${hr(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=b_(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}: ${hr(s,t-n.length)}`}return n+=e?")":" }",n}function X5(i,t){let e="";for(let n=1;n<=t;n++)e+=i;return e}function Z5(i,t){for(;i.length<t;)i+=" ";return i}var rI=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 lU(i,t){let e=globalThis,n=[],o,{channel:r,handler:s}=e$({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},rI.createClient(r,()=>{if(!a)throw new Error("Not supported");return a})}function e$(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 iI=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 R_(i,t){for(let e in t)i[e]&&typeof i[e]=="object"&&t[e]&&typeof t[e]=="object"?R_(i[e],t[e]):i[e]=t[e]}function M_(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"?M_(i[e],t[e]):i[e]=t[e]}var sI=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=lU("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(io)}),getDerivedInfo:t=>{let e=this._aliveInstances.get(t);return{dependencies:[...e.debugGetState().dependencies].map(n=>this._formatObservable(n)).filter(io),observers:[...e.debugGetObservers()].map(n=>this._formatObserver(n)).filter(io)}},getAutorunInfo:t=>({dependencies:[...this._aliveInstances.get(t).debugGetState().dependencies].map(n=>this._formatObservable(n)).filter(io)}),getTransactionState:()=>this.getTransactionState(),setValue:(t,e)=>{let n=this._aliveInstances.get(t);if(n instanceof Ln)n.debugSetValue(e);else if(n instanceof Bi)n.debugSetValue(e);else if(n instanceof Or)n.debugSetValue(e);else throw new Dt("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 Ln)return hr(e.debugGetState().value,200);if(e instanceof Bi)return hr(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 Dt("Observable is not supported")},rerun:t=>{let e=this._aliveInstances.get(t);if(e instanceof Ln)e.debugRecompute();else if(e instanceof Us)e.debugRerun();else throw new Dt("Observable is not supported")}}}));this._pendingChanges=null;this._changeThrottler=new iI;this._fullState={};this._flushUpdates=()=>{this._pendingChanges!==null&&(this._channel.api.notifications.handleChange(this._pendingChanges,!1),this._pendingChanges=null)};an.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){Rt(new Dt("No info found"));return}return e}_getAutorunInfo(t){let e=this._instanceInfos.get(t);if(!e){Rt(new Dt("No info found"));return}return e}_getInfo(t,e){if(t instanceof Ln){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(io);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 Us){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 Ln)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){M_(this._fullState,t),this._pendingChanges===null?this._pendingChanges=t:R_(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 Ln?"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 Ln){this._handleDerivedRecomputed(t,e);return}let n=this._getObservableInfo(t);n&&e.didChange&&(n.lastValue=hr(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=hr(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 dU(i,t){let e=t?.debugNamePostProcessor??(r=>r),n=Jd.from(i,e);if(!n)return"";let o=new Set;return t.type==="observers"?uU(n,0,o,t).trim():cU(n,0,o,t).trim()}function cU(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: ${hr(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=Jd.from(a,n.debugNamePostProcessor??(d=>d))??Jd.unknown(a);r.push(cU(l,t+1,e,n))}}return r.join(`
`)}function uU(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: ${hr(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=Jd.from(a,n.debugNamePostProcessor??(d=>d))??Jd.unknown(a);r.push(uU(l,t+1,e,n))}}return r.join(`
`)}var Jd=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 Us){let n=t.debugGetState();return new i(t,e(t.debugName),"autorun",void 0,n.stateStr,Array.from(n.dependencies),[])}else if(t instanceof Ln){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 Bi){let n=t.debugGetState();return new i(t,e(t.debugName),"observableValue",n.value,"upToDate",[],Array.from(t.debugGetObservers()))}else if(t instanceof Or){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",[],[])}};rU(dU);YN(aU);var o$=!1;o$&&Gf(new Yf);So&&So.VSCODE_DEV_DEBUG_OBSERVABLES&&Gf(sI.getInstance());var aI=R("defaultAccountService");var ye;(a=>(a.Setup={hidden:new E("chatSetupHidden",!1,!0),installed:new E("chatSetupInstalled",!1,!0),disabled:new E("chatSetupDisabled",!1,!0),disabledInWorkspace:new E("chatSetupDisabledInWorkspace",!1,!0),untrusted:new E("chatSetupUntrusted",!1,!0),later:new E("chatSetupLater",!1,!0),registered:new E("chatSetupRegistered",!1,!0),completed:new E("chatSetupCompleted",!1,!0)},a.Entitlement={signedOut:new E("chatEntitlementSignedOut",!1,!0),canSignUp:new E("chatPlanCanSignUp",!1,!0),planFree:new E("chatPlanFree",!1,!0),planPro:new E("chatPlanPro",!1,!0),planEdu:new E("chatPlanEdu",!1,!0),planProPlus:new E("chatPlanProPlus",!1,!0),planMax:new E("chatPlanMax",!1,!0),planBusiness:new E("chatPlanBusiness",!1,!0),planEnterprise:new E("chatPlanEnterprise",!1,!0),organisations:new E("chatEntitlementOrganisations",void 0,!0),internal:new E("chatEntitlementInternal",!1,!0),sku:new E("chatEntitlementSku",void 0,!0)},a.chatQuotaExceeded=new E("chatQuotaExceeded",!1,!0),a.completionsQuotaExceeded=new E("completionsQuotaExceeded",!1,!0),a.chatAnonymous=new E("chatAnonymous",!1,!0),a.clientByokEnabled=new E("github.copilot.clientByokEnabled",!0,!0),a.hasByokModels=new E("github.copilot.hasByokModels",!1,!0)))(ye||={});var r$=R("chatEntitlementService");function i$(i){return i===10||i===6||i===7||i===11||i===8||i===9}var lI={upgradePlanUrl:mr.defaultChatAgent?.upgradePlanUrl??"",providerUriSetting:mr.defaultChatAgent?.providerUriSetting??"",entitlementSignupLimitedUrl:mr.defaultChatAgent?.entitlementSignupLimitedUrl??"",chatQuotaExceededContext:mr.defaultChatAgent?.chatQuotaExceededContext??"",completionsQuotaExceededContext:mr.defaultChatAgent?.completionsQuotaExceededContext??""},gU="chat.allowAnonymousAccess";function A_(i,t,e){return!(i.getValue(gU)!==!0||t!==1||e.hidden||e.disabledInWorkspace)}function fU(i,t,e){e.publicLog2("chatEntitlements",{chatHidden:!!i.hidden,chatDisabled:!!i.disabled,chatEntitlement:i.entitlement,chatRegistered:!!i.registered,chatAnonymous:A_(t,i.entitlement,i)})}var Hs=class extends F{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 T);this.onDidChangeQuotaExceeded=this._onDidChangeQuotaExceeded.event;this._onDidChangeQuotaRemaining=this._register(new T);this.onDidChangeQuotaRemaining=this._onDidChangeQuotaRemaining.event;this._onDidChangeUsageBasedBilling=this._register(new T);this.onDidChangeUsageBasedBilling=this._onDidChangeUsageBasedBilling.event;this.ExtensionQuotaContextKeys={chatQuotaExceeded:lI.chatQuotaExceededContext,completionsQuotaExceeded:lI.completionsQuotaExceededContext};this._onDidChangeAnonymous=this._register(new T);this.onDidChangeAnonymous=this._onDidChangeAnonymous.event;this.anonymousObs=po(this.onDidChangeAnonymous,()=>this.anonymous);let c=this.storageService.getBoolean(Hs.CACHED_UBB_STORAGE_KEY,0);if(this._quotas=c!==void 0?{usageBasedBilling:c}:{},this.chatQuotaExceededContextKey=ye.chatQuotaExceeded.bindTo(this.contextKeyService),this.completionsQuotaExceededContextKey=ye.completionsQuotaExceeded.bindTo(this.contextKeyService),this.anonymousContextKey=ye.chatAnonymous.bindTo(this.contextKeyService),this.anonymousContextKey.set(this.anonymous),this.contextKeyService.getContextKeyValue(ye.clientByokEnabled.key)===void 0&&ye.clientByokEnabled.bindTo(this.contextKeyService),this.onDidChangeEntitlement=Ae.map(Ae.filter(this.contextKeyService.onDidChangeContext,m=>m.affectsSome(new Set([ye.Entitlement.planEdu.key,ye.Entitlement.planPro.key,ye.Entitlement.planBusiness.key,ye.Entitlement.planEnterprise.key,ye.Entitlement.planProPlus.key,ye.Entitlement.planMax.key,ye.Entitlement.planFree.key,ye.Entitlement.canSignUp.key,ye.Entitlement.signedOut.key,ye.Entitlement.organisations.key,ye.Entitlement.internal.key,ye.Entitlement.sku.key])),this._store),()=>{},this._store),this.entitlementObs=po(this.onDidChangeEntitlement,()=>this.entitlement),this.onDidChangeSentiment=Ae.map(Ae.filter(this.contextKeyService.onDidChangeContext,m=>m.affectsSome(new Set([ye.Setup.completed.key,ye.Setup.hidden.key,ye.Setup.disabled.key,ye.Setup.untrusted.key,ye.Setup.installed.key,ye.Setup.later.key,ye.Setup.registered.key])),this._store),()=>{},this._store),this.sentimentObs=po(this.onDidChangeSentiment,()=>this.sentiment),$o&&!o.remoteAuthority&&!o.isSessionsWindow){ye.Setup.hidden.bindTo(this.contextKeyService).set(!0);return}if(!n.defaultChatAgent)return;let u=this.context=new yt(()=>this._register(e.createInstance(vr)));this.requests=new yt(()=>this._register(e.createInstance(Xf,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(ye.Entitlement.planEdu.key)===!0?10:this.contextKeyService.getContextKeyValue(ye.Entitlement.planPro.key)===!0?6:this.contextKeyService.getContextKeyValue(ye.Entitlement.planBusiness.key)===!0?8:this.contextKeyService.getContextKeyValue(ye.Entitlement.planEnterprise.key)===!0?9:this.contextKeyService.getContextKeyValue(ye.Entitlement.planProPlus.key)===!0?7:this.contextKeyService.getContextKeyValue(ye.Entitlement.planMax.key)===!0?11:this.contextKeyService.getContextKeyValue(ye.Entitlement.planFree.key)===!0?5:this.contextKeyService.getContextKeyValue(ye.Entitlement.canSignUp.key)===!0?3:this.contextKeyService.getContextKeyValue(ye.Entitlement.signedOut.key)===!0?1:2}get isInternal(){return this.contextKeyService.getContextKeyValue(ye.Entitlement.internal.key)===!0}get organisations(){return this.contextKeyService.getContextKeyValue(ye.Entitlement.organisations.key)}get sku(){return this.contextKeyService.getContextKeyValue(ye.Entitlement.sku.key)}get copilotTrackingId(){return this.context?.value.state.copilotTrackingId}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 dn);this._register(this.contextKeyService.onDidChangeContext(s=>{s.affectsSome(e)&&(n.value&&n.value.cancel(),n.value=new Re,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&&fU(this.context.value.state,this.configurationService,this.telemetryService),this._onDidChangeAnonymous.fire())};this._register(this.configurationService.onDidChangeConfiguration(s=>{s.affectsConfiguration(gU)&&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(Hs.CACHED_UBB_STORAGE_KEY,e.usageBasedBilling,0,1):this.storageService.remove(Hs.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(ye.Setup.completed.key)===!0,installed:this.contextKeyService.getContextKeyValue(ye.Setup.installed.key)===!0,hidden:this.contextKeyService.getContextKeyValue(ye.Setup.hidden.key)===!0,disabledInWorkspace:this.contextKeyService.getContextKeyValue(ye.Setup.disabledInWorkspace.key)===!0,disabled:this.contextKeyService.getContextKeyValue(ye.Setup.disabled.key)===!0,untrusted:this.contextKeyService.getContextKeyValue(ye.Setup.untrusted.key)===!0,later:this.contextKeyService.getContextKeyValue(ye.Setup.later.key)===!0,registered:this.contextKeyService.getContextKeyValue(ye.Setup.registered.key)===!0}}get anonymous(){return A_(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):ye.Setup.hidden.bindTo(this.contextKeyService).set(e)}async update(e){await this.requests?.value.forceResolveEntitlement(e)}};Hs=D([C(0,On),C(1,Nu),C(2,Hu),C(3,Pr),C(4,sn),C(5,Ar),C(6,se),C(7,No)],Hs);function s$(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,t.additionalUsageEntitlement=e?.overage_entitlement??0}return t}var Xf=class extends F{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 Re;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 Re,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 s$(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=be.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(lI.entitlementSignupLimitedUrl,"POST",n,e,be.None,"chatEntitlementService.signUpFree");if(!o)return await this.onUnknownSignUpError(p(18329,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 g_(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(18330,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 g_(o)}catch{}if(!r)return await this.onUnknownSignUpError(p(18328,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(18327,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:Ge.Error,message:p(18331,null),detail:e,primaryButton:p(18326,null)});return o}return!1}onUnprocessableSignUpError(e,n){this.logService.error(e),this.lifecycleService.willShutdown||this.dialogService.prompt({type:Ge.Error,message:p(18332,null),detail:n,buttons:[{label:p(18318,null),run:()=>{}},{label:p(18317,null),run:()=>this.openerService.open(y.parse(lI.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,be.None);return{defaultAccount:n,entitlements:o}}dispose(){this.pendingResolveCts.dispose(!0),super.dispose()}};Xf=D([C(2,Ar),C(3,se),C(4,Ky),C(5,_N),C(6,Zy),C(7,KN),C(8,aI),C(9,qN)],Xf);var vr=class extends F{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 T);this.onDidChange=this._onDidChange.event;this.updateBarrier=void 0;this._forceHidden=!1;this.canSignUpContextKey=ye.Entitlement.canSignUp.bindTo(e),this.signedOutContextKey=ye.Entitlement.signedOut.bindTo(e),this.freeContextKey=ye.Entitlement.planFree.bindTo(e),this.eduContextKey=ye.Entitlement.planEdu.bindTo(e),this.proContextKey=ye.Entitlement.planPro.bindTo(e),this.proPlusContextKey=ye.Entitlement.planProPlus.bindTo(e),this.maxContextKey=ye.Entitlement.planMax.bindTo(e),this.businessContextKey=ye.Entitlement.planBusiness.bindTo(e),this.enterpriseContextKey=ye.Entitlement.planEnterprise.bindTo(e),this.organisationsContextKey=ye.Entitlement.organisations.bindTo(e),this.isInternalContextKey=ye.Entitlement.internal.bindTo(e),this.skuContextKey=ye.Entitlement.sku.bindTo(e),this.completedContext=ye.Setup.completed.bindTo(e),this.hiddenContext=ye.Setup.hidden.bindTo(e),this.disabledInWorkspaceContext=ye.Setup.disabledInWorkspace.bindTo(e),this.laterContext=ye.Setup.later.bindTo(e),this.installedContext=ye.Setup.installed.bindTo(e),this.disabledContext=ye.Setup.disabled.bindTo(e),this.untrustedContext=ye.Setup.untrusted.bindTo(e),this.registeredContext=ye.Setup.registered.bindTo(e),this._state=this.storageService.getObject(vr.CHAT_ENTITLEMENT_CONTEXT_STORAGE_KEY,0)??{entitlement:1,organisations:void 0,sku:void 0,copilotTrackingId:void 0},this.storageService.getBoolean(vr.CHAT_ENTITLEMENT_CONTEXT_MIGRATED_STORAGE_KEY,0)===!0||(this.storageService.store(vr.CHAT_ENTITLEMENT_CONTEXT_MIGRATED_STORAGE_KEY,!0,0,1),this._state.installed&&!this._state.completed&&(this._state.completed=!0,this.storageService.store(vr.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(vr.CHAT_DISABLED_CONFIGURATION_KEY)&&this.updateContext()}))}withConfiguration(e){return this._forceHidden||this.configurationService.getValue(vr.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||i$(this._state.entitlement)?this._state.registered=!0:this._state.entitlement===3&&(this._state.registered=!1)),A_(this.configurationService,this._state.entitlement,this._state)&&(this._state.sku="no_auth_limited_copilot"),n!==JSON.stringify(this._state))return this.storageService.store(vr.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)}`),fU(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}};vr=D([C(0,Pr),C(1,No),C(2,se),C(3,sn),C(4,Ar)],vr);ze(r$,Hs,0);var O_=R("languageService");var L_=R("modelService");var Sse=new E("workbenchState",void 0,{type:"string",description:p(4966,null)}),Cse=new E("workspaceFolderCount",0,p(4967,null)),Tse=new E("openFolderWorkspaceSupport",!0,!0),Ese=new E("enterMultiRootWorkspaceSupport",!0,!0),wse=new E("emptyWorkspaceSupport",!0,!0),kse=new E("dirtyWorkingCopies",!1,p(4908,null)),hU=new E("remoteName","",p(4944,null)),Pse=new E("virtualWorkspace","",p(4965,null)),_se=new E("temporaryWorkspace",!1,p(4959,null)),vU=new E("isSessionsWindow",!1,p(4930,null)),Dse=new E("hasWebFileSystemAccess",!1,!0),Rse=new E("embedderIdentifier",void 0,p(4919,null)),Mse=new E("inAutomation",!1,p(4922,null)),Ase=new E("isEnabledFileDownloads",!0,!0),Ose=new E("isEnabledFileUploads",!0,!0),Lse=new E("isEnabledCoderGettingStarted",!0,!0),Nse=new E("isFullscreen",!1,p(4928,null)),Use=new E("isAuxiliaryWindowFocusedContext",!1,p(4925,null)),Fse=new E("isWindowAlwaysOnTop",!1,p(4932,null)),bU=new E("isAuxiliaryWindow",!1,p(4924,null)),Hse=new E("activeEditorIsDirty",!1,p(4896,null)),Vse=new E("activeEditorIsNotPreview",!1,p(4899,null)),Bse=new E("activeEditorIsFirstInGroup",!1,p(4897,null)),Wse=new E("activeEditorIsLastInGroup",!1,p(4898,null)),$se=new E("activeEditorIsPinned",!1,p(4900,null)),zse=new E("activeEditorIsReadonly",!1,p(4901,null)),qse=new E("activeCompareEditorCanSwap",!1,p(4885,null)),Kse=new E("activeEditorCanToggleReadonly",!0,p(4891,null)),Gse=new E("activeEditorCanRevert",!1,p(4890,null)),jse=new E("activeEditorCanSplitInGroup",!0),Qse=new E("activeEditor",null,{type:"string",description:p(4888,null)}),Jse=new E("activeEditorAvailableEditorIds","",p(4889,null)),Yse=new E("textCompareEditorVisible",!1,p(4961,null)),Xse=new E("textCompareEditorActive",!1,p(4960,null)),Zse=new E("sideBySideEditorActive",!1,p(4956,null)),eae=new E("activeCustomEditorDiffCanToggleLayout",!1,p(4886,null)),tae=new E("activeCustomEditorTextDiff",!1,p(4887,null)),nae=new E("groupEditorsCount",0,p(4921,null)),oae=new E("isTopRightEditorGroup",!1,p(4931,null)),rae=new E("activeEditorGroupEmpty",!1,p(4892,null)),iae=new E("activeEditorGroupIndex",0,p(4893,null)),sae=new E("activeEditorGroupLast",!1,p(4894,null)),aae=new E("activeEditorGroupLocked",!1,p(4895,null)),a$=new E("multipleEditorGroups",!1,p(4934,null)),lae=a$.toNegated(),dae=new E("multipleEditorsSelectedInGroup",!1,p(4935,null)),cae=new E("twoEditorsSelectedInGroup",!1,p(4964,null)),uae=new E("SelectedEditorsInGroupFileOrUntitledResourceContextKey",!0,p(4953,null)),l$=new E("editorPartMultipleEditorGroups",!1,p(4917,null)),pae=l$.toNegated(),mae=new E("editorPartMaximizedEditorGroup",!1,p(4911,null)),gae=new E("editorPartModal",!1,p(4912,null)),fae=new E("editorPartModalMaximized",!1,p(4913,null)),hae=new E("editorPartModalNavigation",!1,p(4914,null)),vae=new E("editorPartModalSidebar",!1,p(4915,null)),bae=new E("editorPartModalSidebarVisible",!1,p(4916,null)),yae=new E("editorIsOpen",!1,p(4910,null)),Iae=new E("editorAreaFocus",!1,p(4909,null)),xae=new E("inZenMode",!1,p(4923,null)),Sae=new E("isCenteredLayout",!1,p(4929,null)),Cae=new E("splitEditorsVertically",!1,p(4957,null)),Tae=new E("mainEditorAreaVisible",!0,p(4933,null)),Eae=new E("editorTabsVisible",!0,p(4918,null)),wae=new E("sideBarVisible",!1,p(4955,null)),kae=new E("sideBarFocus",!1,p(4954,null)),Pae=new E("activeViewlet","",p(4903,null)),_ae=new E("statusBarFocused",!1,p(4958,null)),Dae=new E("titleBarStyle","custom",p(4962,null)),Rae=new E("titleBarVisible",!1,p(4963,null)),Mae=new E("isCompactTitleBar",!1,p(4926,null)),Aae=new E("bannerFocused",!1,p(4907,null)),Oae=new E("notificationFocus",!0,p(4937,null)),Lae=new E("notificationCenterVisible",!1,p(4936,null)),Nae=new E("notificationToastsVisible",!1,p(4938,null)),Uae=new E("activeAuxiliary","",p(4884,null)),Fae=new E("auxiliaryBarFocus",!1,p(4904,null)),Hae=new E("auxiliaryBarVisible",!1,p(4906,null)),Vae=new E("auxiliaryBarMaximized",!1,p(4905,null)),Bae=new E("activePanel","",p(4902,null)),Wae=new E("panelFocus",!1,p(4940,null)),$ae=new E("panelPosition","bottom",p(4942,null)),zae=new E("panelAlignment","center",p(4939,null)),qae=new E("panelVisible",!1,p(4943,null)),Kae=new E("panelMaximized",!1,p(4941,null)),Gae=new E("focusedView","",p(4920,null));var Uo=class{constructor(t,e,n,o){this._contextKeyService=t;this._fileService=e;this._languageService=n;this._modelService=o;this._schemeKey=Uo.Scheme.bindTo(this._contextKeyService),this._filenameKey=Uo.Filename.bindTo(this._contextKeyService),this._dirnameKey=Uo.Dirname.bindTo(this._contextKeyService),this._pathKey=Uo.Path.bindTo(this._contextKeyService),this._langIdKey=Uo.LangId.bindTo(this._contextKeyService),this._resourceKey=Uo.Resource.bindTo(this._contextKeyService),this._extensionKey=Uo.Extension.bindTo(this._contextKeyService),this._hasResource=Uo.HasResource.bindTo(this._contextKeyService),this._isFileSystemResource=Uo.IsFileSystemResource.bindTo(this._contextKeyService)}static{this.Scheme=new E("resourceScheme",void 0,{type:"string",description:p(4951,null)})}static{this.Filename=new E("resourceFilename",void 0,{type:"string",description:p(4948,null)})}static{this.Dirname=new E("resourceDirname",void 0,{type:"string",description:p(4946,null)})}static{this.Path=new E("resourcePath",void 0,{type:"string",description:p(4950,null)})}static{this.LangId=new E("resourceLangId",void 0,{type:"string",description:p(4949,null)})}static{this.Resource=new E("resource",void 0,{type:"URI",description:p(4945,null)})}static{this.Extension=new E("resourceExtname",void 0,{type:"string",description:p(4947,null)})}static{this.HasResource=new E("resourceSet",void 0,{type:"boolean",description:p(4952,null)})}static{this.IsFileSystemResource=new E("isFileSystemResource",void 0,{type:"boolean",description:p(4927,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,!En(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?ot(t):null),this._dirnameKey.set(t?this.uriToPath(Go(t)):null),this._pathKey.set(t?this.uriToPath(t):null),this._setLangId(),this._extensionKey.set(t?Wb(t):null),this._hasResource.set(!!t),this._isFileSystemResource.set(t?this._fileService.hasProvider(t):!1)}))}uriToPath(t){return t.scheme===q.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}};Uo=D([C(0,Pr),C(1,Eo),C(2,O_),C(3,L_)],Uo);var dI=class extends Uo{constructor(e,n,o,r){super(e,n,o,r);this._disposables=new G;this._disposables.add(n.onDidChangeFileSystemProviderRegistrations(()=>{let s=this.get();this._isFileSystemResource.set(!!(s&&n.hasProvider(s)))})),this._disposables.add(r.onModelAdded(s=>{En(s.uri,this.get())&&this._setLangId()})),this._disposables.add(r.onModelLanguageChanged(s=>{En(s.model.uri,this.get())&&this._setLangId()}))}dispose(){this._disposables.dispose()}};dI=D([C(0,Pr),C(1,Eo),C(2,O_),C(3,L_)],dI);var cI=(n=>(n.Default="default",n.AutoApprove="autoApprove",n.Autopilot="autopilot",n))(cI||{}),rle=new Set(Object.values(cI));var oi=(o=>(o.Chat="panel",o.Terminal="terminal",o.Notebook="notebook",o.EditorInline="editor",o))(oi||{});(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})(oi||={});var ile=new Set([q.vscodeChatEditor,q.walkThrough,q.vscodeLocalChatSession,q.vscodeSettings,q.webviewPanel,q.vscodeUserData,q.extension,"ccreq","openai-codex"]);var sle=ht.and(ye.Setup.hidden.negate(),ye.Setup.disabledInWorkspace.negate(),vU.negate(),ht.has("config.chat.agent.enabled"),bU.negate());var ale=new E("inModelsEditor",!1),lle=new E("inModelsSearch",!1),cl="General Purpose";var U_;(t=>t.DEFAULT={allowTrailingComma:!0})(U_||={});function d$(i,t=!1){let e=0,n=i.length,o="",r=0,s=16,a=0;function l(h){let I=0,S=0;for(;I<h;){let w=i.charCodeAt(e);if(w>=48&&w<=57)S=S*16+w-48;else if(w>=65&&w<=70)S=S*16+w-65+10;else if(w>=97&&w<=102)S=S*16+w-97+10;else break;e++,I++}return I<h&&(S=-1),S}function d(h){e=h,o="",r=0,s=16,a=0}function c(){let h=e;if(i.charCodeAt(e)===48)e++;else for(e++;e<i.length&&$u(i.charCodeAt(e));)e++;if(e<i.length&&i.charCodeAt(e)===46)if(e++,e<i.length&&$u(i.charCodeAt(e)))for(e++;e<i.length&&$u(i.charCodeAt(e));)e++;else return a=3,i.substring(h,e);let I=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&&$u(i.charCodeAt(e))){for(e++;e<i.length&&$u(i.charCodeAt(e));)e++;I=e}else a=3;return i.substring(h,I)}function u(){let h="",I=e;for(;;){if(e>=n){h+=i.substring(I,e),a=2;break}let S=i.charCodeAt(e);if(S===34){h+=i.substring(I,e),e++;break}if(S===92){if(h+=i.substring(I,e),e++,e>=n){a=2;break}switch(i.charCodeAt(e++)){case 34:h+='"';break;case 92:h+="\\";break;case 47:h+="/";break;case 98:h+="\b";break;case 102:h+="\f";break;case 110:h+=`
`;break;case 114:h+="\r";break;case 116:h+="	";break;case 117:{let P=l(4);P>=0?h+=String.fromCharCode(P):a=4;break}default:a=5}I=e;continue}if(S>=0&&S<=31)if(uI(S)){h+=i.substring(I,e),a=2;break}else a=6;e++}return h}function m(){if(o="",a=0,r=e,e>=n)return r=n,s=17;let h=i.charCodeAt(e);if(N_(h)){do e++,o+=String.fromCharCode(h),h=i.charCodeAt(e);while(N_(h));return s=15}if(uI(h))return e++,o+=String.fromCharCode(h),h===13&&i.charCodeAt(e)===10&&(e++,o+=`
`),s=14;switch(h){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 I=e-1;if(i.charCodeAt(e+1)===47){for(e+=2;e<n&&!uI(i.charCodeAt(e));)e++;return o=i.substring(I,e),s=12}if(i.charCodeAt(e+1)===42){e+=2;let S=n-1,w=!1;for(;e<S;){if(i.charCodeAt(e)===42&&i.charCodeAt(e+1)===47){e+=2,w=!0;break}e++}return w||(e++,a=1),o=i.substring(I,e),s=13}return o+=String.fromCharCode(h),e++,s=16}case 45:if(o+=String.fromCharCode(h),e++,e===n||!$u(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(h);)e++,h=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(h),e++,s=16}}function g(h){if(N_(h)||uI(h))return!1;switch(h){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function v(){let h;do h=m();while(h>=12&&h<=15);return h}return{setPosition:d,getPosition:()=>e,scan:t?v:m,getToken:()=>s,getTokenValue:()=>o,getTokenOffset:()=>r,getTokenLength:()=>e-r,getTokenError:()=>a}}function N_(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 uI(i){return i===10||i===13||i===8232||i===8233}function $u(i){return i>=48&&i<=57}function pI(i,t=[],e=U_.DEFAULT){let n=null,o=[],r=[];function s(l){Array.isArray(o)?o.push(l):n!==null&&(o[n]=l)}return F_(i,{onObjectBegin:()=>{let l={};s(l),r.push(o),o=l,n=null},onObjectProperty:l=>{n=l},onObjectEnd:()=>{o=r.pop()},onArrayBegin:()=>{let l=[];s(l),r.push(o),o=l,n=null},onArrayEnd:()=>{o=r.pop()},onLiteralValue:s,onError:(l,d,c)=>{t.push({error:l,offset:d,length:c})}},e),o[0]}function F_(i,t,e=U_.DEFAULT){let n=d$(i,!1);function o(z){return z?()=>z(n.getTokenOffset(),n.getTokenLength()):()=>!0}function r(z){return z?j=>z(j,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),h=e&&e.disallowComments,I=e&&e.allowTrailingComma;function S(){for(;;){let z=n.scan();switch(n.getTokenError()){case 4:w(14);break;case 5:w(15);break;case 3:w(13);break;case 1:h||w(11);break;case 2:w(12);break;case 6:w(16);break}switch(z){case 12:case 13:h?w(10):g();break;case 16:w(1);break;case 15:case 14:break;default:return z}}}function w(z,j=[],Y=[]){if(v(z),j.length+Y.length>0){let ue=n.getToken();for(;ue!==17;){if(j.indexOf(ue)!==-1){S();break}else if(Y.indexOf(ue)!==-1)break;ue=S()}}}function P(z){let j=n.getTokenValue();return z?u(j):a(j),S(),!0}function O(){switch(n.getToken()){case 11:{let z=0;try{z=JSON.parse(n.getTokenValue()),typeof z!="number"&&(w(2),z=0)}catch{w(2)}u(z);break}case 7:u(null);break;case 8:u(!0);break;case 9:u(!1);break;default:return!1}return S(),!0}function L(){return n.getToken()!==10?(w(3,[],[2,5]),!1):(P(!1),n.getToken()===6?(m(":"),S(),J()||w(4,[],[2,5])):w(5,[],[2,5]),!0)}function $(){s(),S();let z=!1;for(;n.getToken()!==2&&n.getToken()!==17;){if(n.getToken()===5){if(z||w(4,[],[]),m(","),S(),n.getToken()===2&&I)break}else z&&w(6,[],[]);L()||w(4,[],[2,5]),z=!0}return l(),n.getToken()!==2?w(7,[2],[]):S(),!0}function V(){d(),S();let z=!1;for(;n.getToken()!==4&&n.getToken()!==17;){if(n.getToken()===5){if(z||w(4,[],[]),m(","),S(),n.getToken()===4&&I)break}else z&&w(6,[],[]);J()||w(4,[],[4,5]),z=!0}return c(),n.getToken()!==4?w(8,[4],[]):S(),!0}function J(){switch(n.getToken()){case 3:return V();case 1:return $();case 10:return P(!0);default:return O()}}return S(),n.getToken()===17?e.allowEmptyContent?!0:(w(4,[],[]),!1):J()?(n.getToken()!==17&&w(9,[],[]),!0):(w(4,[],[]),!1)}var y$="subagent",dde=`/${y$}/`;var H_;(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&&En(e.cwd,n.cwd)&&Ct(e.env,n.env)&&e.timeout===n.timeout&&En(e.sourceUri,n.sourceUri)}t.isEquals=i})(H_||={});var IU="github.copilot.chat.agentDebugLog.fileLogging.enabled";var xU="troubleshoot/SKILL.md";var zu=(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))(zu||{}),SU={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(zu).map(i=>[i,i]))},CU={SessionStart:{label:p(9303,null),description:p(9302,null)},UserPromptSubmit:{label:p(9311,null),description:p(9310,null)},PreToolUse:{label:p(9299,null),description:p(9298,null)},PostToolUse:{label:p(9295,null),description:p(9294,null)},PreCompact:{label:p(9297,null),description:p(9296,null)},SubagentStart:{label:p(9307,null),description:p(9306,null)},SubagentStop:{label:p(9309,null),description:p(9308,null)},Stop:{label:p(9305,null),description:p(9304,null)},SessionEnd:{label:p(9301,null),description:p(9300,null)},ErrorOccurred:{label:p(9293,null),description:p(9292,null)}};var x$;(t=>{function i(e,n){if(e===n)return!0;if(!e||!n)return!1;for(let o of Object.values(zu)){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(!H_.isEquals(r[a],s[a]))return!1}}return!0}t.isEquals=i})(x$||={});function TU(i,t){if(!i)return t;let e={...i};for(let n of Object.values(zu)){let o=i[n],r=t[n];r&&r.length>0&&(e[n]=o?[...o,...r]:r)}return e}var Xo={type:p(9285,null),command:p(9276,null),windows:p(9286,null),linux:p(9280,null),osx:p(9281,null),bash:p(9274,null),powershell:p(9282,null),cwd:p(9278,null),env:p(9279,null),timeout:p(9283,null),timeoutSec:p(9284,null)},S$={type:"object",additionalProperties:!0,required:["type"],anyOf:[{required:["command"]},{required:["windows"]},{required:["linux"]},{required:["osx"]},{required:["bash"]},{required:["powershell"]}],errorMessage:p(9277,null),properties:{type:{type:"string",enum:["command"],description:Xo.type},command:{type:"string",description:Xo.command},windows:{type:"string",description:Xo.windows},linux:{type:"string",description:Xo.linux},osx:{type:"string",description:Xo.osx},cwd:{type:"string",description:Xo.cwd},env:{type:"object",additionalProperties:{type:"string"},description:Xo.env},timeout:{type:"number",default:30,description:Xo.timeout}}},C$={type:"array",items:S$};function EU(i,t){return Object.fromEntries(Object.entries(SU[i]).map(([e,n])=>[e,{...t,description:CU[n]?.description}]))}var T$=EU("vscode",C$),E$={type:"object",additionalProperties:!0,required:["type"],anyOf:[{required:["bash"]},{required:["powershell"]}],errorMessage:p(9275,null),properties:{type:{type:"string",enum:["command"],description:Xo.type},bash:{type:"string",description:Xo.bash},powershell:{type:"string",description:Xo.powershell},cwd:{type:"string",description:Xo.cwd},env:{type:"object",additionalProperties:{type:"string"},description:Xo.env},timeoutSec:{type:"number",default:10,description:Xo.timeoutSec}}},w$={type:"array",items:E$},k$=EU("github-copilot",w$),Gde={$schema:"http://json-schema.org/draft-07/schema#",type:"object",description:p(9287,null),additionalProperties:!0,required:["hooks"],properties:{hooks:{type:"object",description:p(9288,null),additionalProperties:!0}},if:{required:["version"],properties:{version:{type:"number"}}},then:{properties:{version:{type:"number",description:p(9291,null)},hooks:{properties:k$}}},else:{properties:{hooks:{properties:T$}}},defaultSnippets:[{label:p(9289,null),description:p(9290,null),body:{hooks:{SessionStart:[{type:"command",command:'${1:echo "Session started" >> session.log}'}],PreToolUse:[{type:"command",command:"${2:./scripts/validate.sh}",timeout:15}]}}}]};function wU(i,t){return t===1&&i.windows?i.windows:t===2&&i.osx?i.osx:t===3&&i.linux?i.linux:i.command}var Qt;(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(9679,null)}:s.type==="mcp"?{ordinal:2,label:s.serverLabel||s.label}:s.type==="user"?{ordinal:0,label:p(9681,null)}:{ordinal:3,label:s.label}}r.classify=o})(Qt||={});function kU(i){return i!==null&&typeof i=="object"&&y.isUri(i.sessionResource)}function PU(i){return typeof i=="object"&&typeof i?.input=="string"&&(typeof i?.output=="string"||Array.isArray(i?.output))}function _U(i){return typeof i=="object"&&typeof i?.output=="object"&&typeof i?.output?.mimeType=="string"&&i?.output?.type==="data"}function DU(i){return!!i&&i.getTools!==void 0}var qu=R("ILanguageModelToolsService");var P$;(a=>(a.execute="execute",a.edit="edit",a.search="search",a.agent="agent",a.read="read",a.web="web",a.todo="todo"))(P$||={});var th;(e=>(e.runSubagent="runSubagent",e.vscode="vscode"))(th||={});var V_=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===q.file?t.resource.fsPath:t.resource?.path}},gce=new V_,RU=R("quickInputService");var MU=R("encryptionService"),vce=R("encryptionMainService");var nh="secret://";function B_(i){return`${nh}${i}`}async function _$(i,t,e,n){let o=B_(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 D$(i,t,e,n,o){o?.trace("[secrets] encrypting secret for key:",i);let r=await n(t),s=B_(i);o?.trace("[secrets] storing encrypted secret for key:",s),e(s,r),o?.trace("[secrets] stored encrypted secret for key:",s)}var R$=['{"extensionId":"vscode.github-authentication","key":"github.auth"}'],AU=R("secretStorageService"),mI=class extends F{constructor(e,n,o,r){super();this._useInMemoryStorage=e;this._storageService=n;this._encryptionService=o;this._logService=r;this.onDidChangeSecretEmitter=this._register(new T);this.onDidChangeSecret=this.onDidChangeSecretEmitter.event;this._sequencer=new Ka;this._type="unknown";this._onDidChangeValueDisposable=this._register(new G);this._lazyStorageService=new yt(()=>this.initialize())}useSharedStorage(e){return xt&&R$.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 _$(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 D$(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=B_(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(nh)).map(o=>o.slice(nh.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 Yy)}return this._onDidChangeValueDisposable.clear(),this._onDidChangeValueDisposable.add(Ae.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 yt(()=>this.initialize())}onDidChangeValue(e){if(!e.startsWith(nh))return;let n=e.slice(nh.length);this._logService.trace(`[SecretStorageService] Notifying change in value for secret: ${n}`),this.onDidChangeSecretEmitter.fire(n)}};mI=D([C(1,No),C(2,MU),C(3,se)],mI);var Mce={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 oh="^([a-z0-9A-Z][a-z0-9-A-Z]*)\\.([a-z0-9A-Z][a-z0-9-A-Z]*)$",Jce=new RegExp(oh);var Yce=R("extensionGalleryService");var Xce=R("extensionManagementService");var Zce=R("IGlobalExtensionEnablementService"),eue=R("IExtensionTipsService"),tue=R("IAllowedExtensionsService");var nue=xs(2512,"Extensions"),oue=xs(2529,"Preferences"),M$="extensions.allowed";bt.as(Mr.Configuration).registerConfiguration({id:"extensions",order:30,title:p(2528,null),type:"object",properties:{[M$]:{type:"object",markdownDescription:p(2518,null),default:"*",defaultSnippets:[{body:{},description:p(2523,null)},{body:{"*":!0},description:p(2519,null)}],scope:1,policy:{name:"AllowedExtensions",category:"Extensions",minimumVersion:"1.96",localization:{description:{key:"extensions.allowed.policy",value:p(2524,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(2516,null),enumDescriptions:[p(2522,null),p(2520,null),p(2521,null)]},{type:"array",items:{type:"string"},description:p(2517,null)}]},"([a-z0-9A-Z][a-z0-9-A-Z]*)$":{type:["boolean","string"],enum:[!0,!1,"stable"],description:p(2511,null),enumDescriptions:[p(2527,null),p(2525,null),p(2526,null)]},"\\*":{type:"boolean",enum:[!0,!1],description:p(2513,null),enumDescriptions:[p(2515,null),p(2514,null)]}}}}});var ul=class{constructor(t){this.value=t;this.isTrustedTelemetryValue=!0}},W_=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(){}},Eue=new W_;var O$="telemetry",UU={id:O$,name:p(2799,null)};function FU(i,t){if(!i)return"none";let e=mf(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 L$(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 HU=[{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 NU(i,t=i){for(let e of HU)if(e.regex.test(t))return`<REDACTED: ${e.label}>`;return i}function N$(i){if(!i)return i;let t=!1;for(let n of HU)if(n.regex.test(i)){t=!0;break}if(!t)return i;if(!i.includes(`
`))return NU(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]=NU(e[n],o)}return e.join(`
`)}function $_(i,t){return i?Zr(i,e=>{if(e instanceof ul||Object.hasOwnProperty.call(e,"isTrustedTelemetryValue"))return e.value;if(typeof e=="string"){let n=e.replaceAll("%20"," ");n=L$(n,t);for(let o of t)n=n.replace(o,"");return n=N$(n),n}}):{}}function VU(i,t){return i.uuid&&t.uuid?i.uuid===t.uuid:i.id===t.id?!0:kd(i.id,t.id)===0}var $ue=new xe("pprice.better-merge");var z_=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[xe.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:${xe.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){Rt(a)}}return e}},q_=new z_;var BU=Object.freeze({identifier:new xe("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 WU=R("extensionService"),rh=class{constructor(t){this.dependency=t}};function De(i,t){return!0}function M(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 U$={activeComment:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.activeComment.d.ts"},agentEditorComments:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.agentEditorComments.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"},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"},chatHooks:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatHooks.d.ts"},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"},chatParticipantPrivate:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts"},chatPromptFiles:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatPromptFiles.d.ts"},chatProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatProvider.d.ts"},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"},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"},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"},documentSyntaxHighlighting:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.documentSyntaxHighlighting.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"},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"},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"},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"},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"}},ih=Object.freeze(U$);var J_=bt.as(qd.JSONContribution);var K_=class i{constructor(t,e){this.added=t;this.removed=e}static _toSet(t){let e=new Co;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)}},G_=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=K_.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){Rt(t)}}},F$={type:"string",enum:["ui","workspace"],enumDescriptions:[p(18600,null),p(18680,null)]},$U="vscode://schemas/vscode-extensions",j_={properties:{engines:{type:"object",description:p(18664,null),properties:{vscode:{type:"string",description:p(18665,null),default:"^1.105.0"}}},publisher:{description:p(18676,null),type:"string"},displayName:{description:p(18661,null),type:"string"},categories:{description:p(18655,null),type:"array",uniqueItems:!0,items:{oneOf:[{type:"string",enum:Zb},{type:"string",const:"Languages",deprecationMessage:p(18656,null)}]}},galleryBanner:{type:"object",description:p(18668,null),properties:{color:{description:p(18669,null),type:"string"},theme:{description:p(18670,null),type:"string",enum:["dark","light"]}}},contributes:{description:p(18657,null),type:"object",properties:{},default:{}},preview:{type:"boolean",description:p(18674,null)},enableProposedApi:{type:"boolean",deprecationMessage:p(18663,null)},enabledApiProposals:{markdownDescription:p(18662,null),type:"array",uniqueItems:!0,items:{type:"string",enum:Object.keys(ih).map(i=>i),markdownEnumDescriptions:Object.values(ih).map(i=>i.proposal)}},api:{markdownDescription:p(18635,null),type:"string",enum:["none"],enumDescriptions:[p(18636,null)]},activationEvents:{description:p(18601,null),type:"array",items:{type:"string",defaultSnippets:[{label:"onWebviewPanel",description:p(18632,null),body:"onWebviewPanel:viewType"},{label:"onLanguage",description:p(18615,null),body:"onLanguage:${1:languageId}"},{label:"onCommand",description:p(18605,null),body:"onCommand:${2:commandId}"},{label:"onDebug",description:p(18607,null),body:"onDebug"},{label:"onDebugInitialConfigurations",description:p(18610,null),body:"onDebugInitialConfigurations"},{label:"onDebugDynamicConfigurations",description:p(18609,null),body:"onDebugDynamicConfigurations"},{label:"onDebugResolve",description:p(18611,null),body:"onDebugResolve:${6:type}"},{label:"onDebugAdapterProtocolTracker",description:p(18608,null),body:"onDebugAdapterProtocolTracker:${6:type}"},{label:"workspaceContains",description:p(18634,null),body:"workspaceContains:${4:filePattern}"},{label:"onStartupFinished",description:p(18623,null),body:"onStartupFinished"},{label:"onTaskType",description:p(18624,null),body:"onTaskType:${1:taskType}"},{label:"onFileSystem",description:p(18613,null),body:"onFileSystem:${1:scheme}"},{label:"onEditSession",description:p(18612,null),body:"onEditSession:${1:scheme}"},{label:"onSearch",description:p(18622,null),body:"onSearch:${7:scheme}"},{label:"onView",body:"onView:${5:viewId}",description:p(18630,null)},{label:"onUri",body:"onUri",description:p(18629,null)},{label:"onOpenExternalUri",body:"onOpenExternalUri",description:p(18620,null)},{label:"onCustomEditor",body:"onCustomEditor:${9:viewType}",description:p(18606,null)},{label:"onNotebook",body:"onNotebook:${1:type}",description:p(18619,null)},{label:"onAuthenticationRequest",body:"onAuthenticationRequest:${11:authenticationProviderId}",description:p(18602,null)},{label:"onRenderer",description:p(18621,null),body:"onRenderer:${11:rendererId}"},{label:"onTerminalProfile",body:"onTerminalProfile:${1:terminalId}",description:p(18626,null)},{label:"onTerminalQuickFixRequest",body:"onTerminalQuickFixRequest:${1:quickFixId}",description:p(18627,null)},{label:"onWalkthrough",body:"onWalkthrough:${1:walkthroughID}",description:p(18631,null)},{label:"onIssueReporterOpened",body:"onIssueReporterOpened",description:p(18614,null)},{label:"onChatParticipant",body:"onChatParticipant:${1:participantId}",description:p(18604,null)},{label:"onChatContextProvider",body:"onChatContextProvider:${1:contextProviderId}",description:p(18603,null)},{label:"onLanguageModelChatProvider",body:"onLanguageModelChatProvider:${1:vendor}",description:p(18616,null)},{label:"onLanguageModelTool",body:"onLanguageModelTool:${1:toolId}",description:p(18617,null)},{label:"onTerminal",body:"onTerminal:{1:shellType}",description:p(18625,null)},{label:"onTerminalShellIntegration",body:"onTerminalShellIntegration:${1:shellType}",description:p(18628,null)},{label:"onMcpCollection",description:p(18618,null),body:"onMcpCollection:${2:collectionId}"},{label:"*",description:p(18633,null),body:"*"}]}},badges:{type:"array",description:p(18637,null),items:{type:"object",required:["url","href","description"],properties:{url:{type:"string",description:p(18640,null)},href:{type:"string",description:p(18639,null)},description:{type:"string",description:p(18638,null)}}}},markdown:{type:"string",description:p(18673,null),enum:["github","standard"],default:"github"},qna:{default:"marketplace",description:p(18677,null),anyOf:[{type:["string","boolean"],enum:["marketplace",!1]},{type:"string"}]},extensionDependencies:{description:p(18667,null),type:"array",uniqueItems:!0,items:{type:"string",pattern:oh}},extensionAffinity:{description:p(18666,null),type:"array",uniqueItems:!0,items:{type:"string",pattern:oh}},extensionPack:{description:p(18658,null),type:"array",uniqueItems:!0,items:{type:"string",pattern:oh}},extensionKind:{description:p(18593,null),type:"array",items:F$,default:["workspace"],defaultSnippets:[{body:["ui"],description:p(18595,null)},{body:["workspace"],description:p(18597,null)},{body:["ui","workspace"],description:p(18596,null)},{body:["workspace","ui"],description:p(18598,null)},{body:[],description:p(18594,null)}]},capabilities:{description:p(18641,null),type:"object",properties:{virtualWorkspaces:{description:p(18649,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(18651,null),type:["string","boolean"],enum:["limited",!0,!1],enumDescriptions:[p(18653,null),p(18654,null),p(18652,null)]},description:{type:"string",markdownDescription:p(18650,null)}}},untrustedWorkspaces:{description:p(18642,null),type:"object",required:["supported"],defaultSnippets:[{body:{supported:"${1:limited}",description:"${2}"}}],properties:{supported:{markdownDescription:p(18645,null),type:["string","boolean"],enum:["limited",!0,!1],enumDescriptions:[p(18647,null),p(18648,null),p(18646,null)]},restrictedConfigurations:{description:p(18644,null),type:"array",items:{type:"string"}},description:{type:"string",markdownDescription:p(18643,null)}}}}},sponsor:{description:p(18659,null),type:"object",defaultSnippets:[{body:{url:"${1:https:}"}}],properties:{url:{description:p(18660,null),type:"string"}}},scripts:{type:"object",properties:{"vscode:prepublish":{description:p(18678,null),type:"string"},"vscode:uninstall":{description:p(18679,null),type:"string"}}},icon:{type:"string",description:p(18671,null)},l10n:{type:"string",description:p(18672,null)},pricing:{type:"string",markdownDescription:p(18675,null),enum:["Free","Trial"],default:"Free"}}},Q_=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 G_(t.extensionPoint,t.defaultExtensionKind,t.canHandleResolver);return this._extensionPoints.set(t.extensionPoint,e),t.activationEventsGenerator&&q_.register(t.extensionPoint,t.activationEventsGenerator),j_.properties.contributes.properties[t.extensionPoint]=t.jsonSchema,J_.registerSchema($U,j_),e}getExtensionPoints(){return Array.from(this._extensionPoints.values())}},zU={ExtensionsRegistry:"ExtensionsRegistry"};bt.add(zU.ExtensionsRegistry,new Q_);var gI=bt.as(zU.ExtensionsRegistry);J_.registerSchema($U,j_);J_.registerSchema(DN,{properties:{extensionEnabledApiProposals:{description:p(18599,null),type:"object",properties:{},additionalProperties:{anyOf:[{type:"array",uniqueItems:!0,items:{type:"string",enum:Object.keys(ih),markdownEnumDescriptions:Object.values(ih).map(i=>i.proposal)}}]}}}});var Epe=new E("isMac",cn,p(2409,null)),wpe=new E("isLinux",qn,p(2408,null)),kpe=new E("isWindows",xt,p(2413,null)),qU=new E("isWeb",$o,p(2412,null)),Ppe=new E("isMacNative",cn&&!$o,p(2410,null)),_pe=new E("isIOS",sO,p(2407,null)),Dpe=new E("isMobile",aO,p(2411,null)),Rpe=new E("isDevelopment",!1,!0),Mpe=new E("productQualityType","",p(2414,null)),H$="inputFocus",Ape=new E(H$,!1,p(2406,null));var Wpe=R("nativeManagedSettingsService");function GU(i){let t={};for(let e in i){let n=i[e].managedSettings;if(n)for(let o in n)t[o]=n[o]}return t}function jU(i){for(let t in i){let e=i[t].managedSettings;if(e&&!Oa(e))return!0}return!1}function QU(i,t,e){let n={};for(let o in t){let r=i[o];r!==void 0&&(typeof r===t[o].type?n[o]=r:e?.(`Ignoring managed setting "${o}": expected ${t[o].type}, got ${typeof r}`))}return n}var KU=["nativeMdm","server","file"];function JU(i,t,e){let n={nativeMdm:i,server:t,file:e},o=new Map;for(let a of KU){let l=n[a];if(l)for(let d of Object.keys(l)){let c=l[d];if(c===void 0)continue;let u=o.get(d);u?u.contributions.push({channel:a,value:c}):o.set(d,{value:c,source:a,contributions:[{channel:a,value:c}]})}}let r=new Set,s=[];for(let[a,l]of o)s.push([a,l.value]),r.add(l.source);return{values:Object.fromEntries(s),resolutions:o,activeSources:KU.filter(a=>r.has(a))}}var $pe=R("fileManagedSettingsService");function V$(i){return{type:i.type,managedSettings:i.managedSettings,restrictedValue:i.restrictedValue}}function YU(i){if(i.restrictedValue!==void 0)return i.restrictedValue;switch(i.type){case"boolean":return!1;case"number":return 0;case"string":return""}}var Qpe=R("policy"),fI=class extends F{constructor(){super(...arguments);this.policyDefinitions={};this.policies=new Map;this._onDidChange=this._register(new T);this.onDidChange=this._onDidChange.event}async updatePolicyDefinitions(e){let n=!1;for(let o of Object.keys(e))this.policyDefinitions[o]!==e[o]&&(this.policyDefinitions[o]=e[o],n=!0);return n&&await this._updatePolicyDefinitions(this.policyDefinitions),It.reduce(this.policies.entries(),(o,[r,s])=>({...o,[r]:s}),{})}getPolicyValue(e){return this.policies.get(e)}serialize(){return It.reduce(Object.entries(this.policyDefinitions),(e,[n,o])=>({...e,[n]:{definition:V$(o),value:this.policies.get(n)}}),{})}};var XU="ChatApprovedAccountOrganizations";var ZU=new E("chatAccountPolicyGateActive",!1,{type:"boolean",description:p(18785,null)}),ume=R("accountPolicyGateService"),hI=class extends fI{constructor(e,n,o,r,s){super();this.logService=e;this.defaultAccountService=n;this._gateInfo={state:"inactive"};this._onDidChangeGateInfo=this._register(new T);this.onDidChangeGateInfo=this._onDidChangeGateInfo.event;this.managedPolicyReader=o,this.nativeManagedSettingsService=r,this.fileManagedSettingsService=s,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(a=>{a.includes(XU)&&this._updatePolicyDefinitions(this.policyDefinitions)})),this.nativeManagedSettingsService&&this._register(this.nativeManagedSettingsService.onDidChangeManagedSettings(()=>{this._updatePolicyDefinitions(this.policyDefinitions)})),this.fileManagedSettingsService&&this._register(this.fileManagedSettingsService.onDidChangeManagedSettings(()=>{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=await this.updateCopilotManagedSettingDefinitions(e),o=[],r=this.getPolicyData(n),s=this._gateInfo;this._gateInfo=this.computeGateInfo();let a=s.approvedOrganizations?.join(`
`)??"",l=this._gateInfo.approvedOrganizations?.join(`
`)??"",d=s.state!==this._gateInfo.state||s.reason!==this._gateInfo.reason||a!==l,c=this._gateInfo.state==="restricted"&&this._gateInfo.reason!=="policyNotResolved";for(let u in e){let m=e[u],g;c&&(m.value!==void 0||m.restrictedValue!==void 0)?g=YU(m):r&&m.value&&(g=m.value(r)),g!==void 0?this.policies.get(u)!==g&&(this.policies.set(u,g),o.push(u)):this.policies.delete(u)&&o.push(u)}o.length&&this._onDidChange.fire(o),d&&this._onDidChangeGateInfo.fire(this._gateInfo)}async updateCopilotManagedSettingDefinitions(e){return!this.nativeManagedSettingsService||!jU(e)?this.nativeManagedSettingsService?.managedSettings:this.nativeManagedSettingsService.updatePolicyDefinitions(e)}getPolicyData(e){let n=this.defaultAccountService.policyData??void 0,o=e??this.nativeManagedSettingsService?.managedSettings,r=this.fileManagedSettingsService?.managedSettings,s=JU(o,n?.managedSettings,r);if(!n&&s.activeSources.length===0)return;let a=GU(this.policyDefinitions),l=QU(s.values,a,d=>this.logService.warn(`[AccountPolicy] ${d}`));return{...n,managedSettings:l}}computeGateInfo(){if(!this.managedPolicyReader)return{state:"inactive"};let e=this.managedPolicyReader.getPolicyValue(XU),n=B$(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}}};hI=D([C(0,se),C(1,aI)],hI);function B$(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 Zo;(ie=>{ie.responseVote=new E("chatSessionResponseVote","",{type:"string",description:p(9082,null)}),ie.responseDetectedAgentCommand=new E("chatSessionResponseDetectedAgentOrCommand",!1,{type:"boolean",description:p(9058,null)}),ie.responseSupportsIssueReporting=new E("chatResponseSupportsIssueReporting",!1,{type:"boolean",description:p(9049,null)}),ie.responseIsFiltered=new E("chatSessionResponseFiltered",!1,{type:"boolean",description:p(9048,null)}),ie.responseHasError=new E("chatSessionResponseError",!1,{type:"boolean",description:p(9047,null)}),ie.requestInProgress=new E("chatSessionRequestInProgress",!1,{type:"boolean",description:p(9081,null)}),ie.hasActiveRequest=new E("chatSessionHasActiveRequest",!1,{type:"boolean",description:p(9050,null)}),ie.currentlyEditing=new E("chatSessionCurrentlyEditing",!1,{type:"boolean",description:p(9079,null)}),ie.currentlyEditingInput=new E("chatSessionCurrentlyEditingInput",!1,{type:"boolean",description:p(9080,null)});let d;(Pa=>(Pa.Sent="s",Pa.Queue="q",Pa.Steer="st"))(d=ie.EditingRequestType||={}),ie.editingRequestType=new E("chatEditingSentRequest",void 0,{type:"string",description:p(9017,null)}),ie.isResponse=new E("chatResponse",!1,{type:"boolean",description:p(9046,null)}),ie.isRequest=new E("chatRequest",!1,{type:"boolean",description:p(9044,null)}),ie.isFirstRequest=new E("chatFirstRequest",!1,{type:"boolean",description:p(9019,null)}),ie.isPendingRequest=new E("chatRequestIsPending",!1,{type:"boolean",description:p(9045,null)}),ie.itemId=new E("chatItemId","",{type:"string",description:p(9031,null)}),ie.lastItemId=new E("chatLastItemId",[],{type:"string",description:p(9032,null)}),ie.editApplied=new E("chatEditApplied",!1,{type:"boolean",description:p(9011,null)}),ie.inputHasText=new E("chatInputHasText",!1,{type:"boolean",description:p(9078,null)}),ie.inputHasSendableContent=new E("chatInputHasSendableContent",!1,{type:"boolean",description:p(9077,null)}),ie.inputHasFocus=new E("chatInputHasFocus",!1,{type:"boolean",description:p(9076,null)}),ie.inChatInput=new E("inChatInput",!1,{type:"boolean",description:p(9074,null)}),ie.inChatSession=new E("inChat",!1,{type:"boolean",description:p(9068,null)}),ie.inChatQuestionCarousel=new E("inChatQuestionCarousel",!1,{type:"boolean",description:p(9070,null)}),ie.chatQuestionCarouselHasTerminal=new E("chatQuestionCarouselHasTerminal",!1,{type:"boolean",description:p(9042,null)}),ie.inChatEditor=new E("inChatEditor",!1,{type:"boolean",description:p(9069,null)}),ie.inChatTodoList=new E("inChatTodoList",!1,{type:"boolean",description:p(9073,null)}),ie.inChatTip=new E("inChatTip",!1,{type:"boolean",description:p(9072,null)}),ie.multipleChatTips=new E("multipleChatTips",!1,{type:"boolean",description:p(9085,null)}),ie.inChatTerminalToolOutput=new E("inChatTerminalToolOutput",!1,{type:"boolean",description:p(9071,null)}),ie.chatModeKind=new E("chatAgentKind","ask",{type:"string",description:p(8995,null)}),ie.chatPermissionLevel=new E("chatPermissionLevel","default",{type:"string",description:p(9041,null)}),ie.chatModeName=new E("chatModeName","",{type:"string",description:p(9035,null)}),ie.chatModelId=new E("chatModelId","",{type:"string",description:p(9033,null)}),ie.supported=ht.or(qU.negate(),hU.notEqualsTo(""),ht.has("config.chat.experimental.serverlessWebEnabled")),ie.enabled=new E("chatIsEnabled",!1,{type:"boolean",description:p(9028,null)}),ie.accountPolicyGateActive=ZU,ie.lockedToCodingAgent=new E("lockedToCodingAgent",!1,{type:"boolean",description:p(9084,null)}),ie.lockedCodingAgentId=new E("lockedCodingAgentId","",{type:"string",description:p(9083,null)}),ie.readOnly=new E("chatIsReadonly",!1,{type:"boolean",description:p(9030,null)}),ie.chatIsAgentHostSession=new E("chatIsAgentHostSession",!1,{type:"boolean",description:p(9027,null)}),ie.chatAgentHostProviderId=new E("chatAgentHostProviderId","",{type:"string",description:p(9008,null)}),ie.chatSessionHasCustomAgentTarget=new E("chatSessionHasCustomAgentTarget",!1,{type:"boolean",description:p(9051,null)}),ie.chatSessionHasTargetedModels=new E("chatSessionHasTargetedModels",!1,{type:"boolean",description:p(9055,null)}),ie.agentSupportsAttachments=new E("agentSupportsAttachments",!1,{type:"boolean",description:p(9007,null)}),ie.withinEditSessionDiff=new E("withinEditSessionDiff",!1,{type:"boolean",description:p(9087,null)}),ie.filePartOfEditSession=new E("filePartOfEditSession",!1,{type:"boolean",description:p(9064,null)}),ie.extensionParticipantRegistered=new E("chatPanelExtensionParticipantRegistered",!1,{type:"boolean",description:p(9038,null)}),ie.panelParticipantRegistered=new E("chatPanelParticipantRegistered",!1,{type:"boolean",description:p(9040,null)}),ie.chatEditingCanUndo=new E("chatEditingCanUndo",!1,{type:"boolean",description:p(9013,null)}),ie.chatEditingCanRedo=new E("chatEditingCanRedo",!1,{type:"boolean",description:p(9012,null)}),ie.languageModelsAreUserSelectable=new E("chatModelsAreUserSelectable",!1,{type:"boolean",description:p(9034,null)}),ie.nonCopilotLanguageModelsAreUserSelectable=new E("chatNonCopilotModelsAreUserSelectable",!1,{type:"boolean",description:p(9037,null)}),ie.chatSessionHasModels=new E("chatSessionHasModels",!1,{type:"boolean",description:p(9054,null)}),ie.chatSessionOptionsValid=new E("chatSessionOptionsValid",!0,{type:"boolean",description:p(9057,null)}),ie.extensionInvalid=new E("chatExtensionInvalid",!1,{type:"boolean",description:p(9018,null)}),ie.inputCursorAtTop=new E("chatCursorAtTop",!1),ie.inputHasAgent=new E("chatInputHasAgent",!1),ie.location=new E("chatLocation",void 0),ie.inQuickChat=new E("quickChatHasFocus",!1,{type:"boolean",description:p(9075,null)}),ie.inAgentSessionsWelcome=new E("inAgentSessionsWelcome",!1,{type:"boolean",description:p(9066,null)}),ie.inAutomationsDialog=new E("inAutomationsDialog",!1,{type:"boolean",description:p(9067,null)}),ie.chatSessionType=new E("chatSessionType","",{type:"string",description:p(9061,null)}),ie.hasFileAttachments=new E("chatHasFileAttachments",!1,{type:"boolean",description:p(9023,null)}),ie.chatSessionIsEmpty=new E("chatSessionIsEmpty",!0,{type:"boolean",description:p(9056,null)}),ie.hasPendingRequests=new E("chatHasPendingRequests",!1,{type:"boolean",description:p(9025,null)}),ie.chatSessionHasDebugData=new E("chatSessionHasDebugData",!1,{type:"boolean",description:p(9052,null)}),ie.chatSessionHasDebugTools=new E("chatSessionHasDebugTools",!1,{type:"boolean",description:p(9053,null)}),ie.remoteJobCreating=new E("chatRemoteJobCreating",!1,{type:"boolean",description:p(9043,null)}),ie.hasRemoteCodingAgent=new E("hasRemoteCodingAgent",!1,p(9065,null)),ie.hasCanDelegateProviders=new E("chatHasCanDelegateProviders",!1,{type:"boolean",description:p(9022,null)}),ie.enableRemoteCodingAgentPromptFileOverlay=new E("enableRemoteCodingAgentPromptFileOverlay",!1,p(9063,null)),ie.skipChatRequestInProgressMessage=new E("chatSkipRequestInProgressMessage",!1,{type:"boolean",description:p(9062,null)}),ie.Setup=ye.Setup,ie.Entitlement=ye.Entitlement,ie.chatQuotaExceeded=ye.chatQuotaExceeded,ie.completionsQuotaExceeded=ye.completionsQuotaExceeded,ie.Editing={hasToolConfirmation:new E("chatHasToolConfirmation",!1,{type:"boolean",description:p(9016,null)}),hasElicitationRequest:new E("chatHasElicitationRequest",!1,{type:"boolean",description:p(9014,null)}),hasQuestionCarousel:new E("chatHasQuestionCarousel",!1,{type:"boolean",description:p(9015,null)})},ie.Tools={toolsCount:new E("toolsCount",0,{type:"number",description:p(9086,null)})},ie.foregroundSessionCount=new E("chatForegroundSessionCount",0,{type:"number",description:p(9020,null)}),ie.Modes={hasCustomChatModes:new E("chatHasCustomAgents",!1,{type:"boolean",description:p(9021,null)}),agentModeDisabledByPolicy:new E("chatAgentModeDisabledByPolicy",!1,{type:"boolean",description:p(9009,null)})},ie.panelLocation=new E("chatPanelLocation",void 0,{type:"number",description:p(9039,null)}),ie.agentSessionsViewerFocused=new E("agentSessionsViewerFocused",!0,{type:"boolean",description:p(9002,null)}),ie.agentSessionsViewerOrientation=new E("agentSessionsViewerOrientation",void 0,{type:"number",description:p(9003,null)}),ie.agentSessionsViewerPosition=new E("agentSessionsViewerPosition",void 0,{type:"number",description:p(9004,null)}),ie.agentSessionsViewerVisible=new E("agentSessionsViewerVisible",void 0,{type:"boolean",description:p(9005,null)}),ie.agentSessionType=new E("chatSessionType","",{type:"string",description:p(9006,null)}),ie.chatSessionSupportsDelegation=new E("chatSessionSupportsDelegation",!0,{type:"boolean",description:p(9059,null)}),ie.hasPendingDelegationTarget=new E("chatHasPendingDelegationTarget",!1,{type:"boolean",description:p(9024,null)}),ie.chatSessionSupportsFork=new E("chatSessionSupportsFork",!1,{type:"boolean",description:p(9060,null)}),ie.agentSessionSection=new E("agentSessionSection","",{type:"string",description:p(9001,null)}),ie.isArchivedAgentSession=new E("agentSessionIsArchived",!1,{type:"boolean",description:p(8998,null)}),ie.isPinnedAgentSession=new E("agentSessionIsPinned",!1,{type:"boolean",description:p(8999,null)}),ie.isReadAgentSession=new E("agentSessionIsRead",!1,{type:"boolean",description:p(9000,null)}),ie.hasMultipleAgentSessionsSelected=new E("agentSessionHasMultipleSelected",!1,{type:"boolean",description:p(8997,null)}),ie.hasAgentSessionChanges=new E("agentSessionHasChanges",!1,{type:"boolean",description:p(8996,null)}),ie.isKatexMathElement=new E("chatIsKatexMathElement",!1,{type:"boolean",description:p(9029,null)}),ie.hasUsedCreateSlashCommands=new E("chatHasUsedCreateSlashCommands",!1,{type:"boolean",description:p(9026,null)}),ie.contextUsageHasBeenOpened=new E("chatContextUsageHasBeenOpened",!1,{type:"boolean",description:p(9010,null)}),ie.newChatButtonExperimentIcon=new E("chatNewChatButtonExperimentIcon","",{type:"string",description:p(9036,null)})})(Zo||={});var W$;(n=>(n.inEditingMode=ht.or(Zo.chatModeKind.isEqualTo("edit"),Zo.chatModeKind.isEqualTo("agent")),n.isAgentHostSession=Zo.chatIsAgentHostSession.isEqualTo(!0),n.isAgentHostSessionItem=ht.or(ht.regex(Zo.agentSessionType.key,/^agent-host-/),ht.regex(Zo.agentSessionType.key,/^remote-/))))(W$||={});var eF=R("ILanguageModelsConfigurationService");var Vs="copilot",$$=new Set(["openai","anthropic","gemini","ollama","openrouter","azure","xai","customoai","customendpoint"]),z$="3p-extension",q$=["github.copilot-chat","github.copilot"];function K$(i,t){if(!(!i||i===Vs))return $$.has(i)&&t&&q$.some(e=>xe.equals(t,e))?i:z$}var ah;(r=>{function i(s){return(typeof s.capabilities?.agentMode>"u"||s.capabilities.agentMode)&&!!s.capabilities?.toolCalling}r.suitableForAgentMode=i;function t(s){return`${s.name} (${s.vendor})`}r.asQualifiedName=t;function e(s,a){return a.vendor===Vs&&s===a.name?!0:s===t(a)}r.matchesQualifiedName=e,r.autoModelSelectionDocsUrl="https://docs.github.com/en/copilot/concepts/models/auto-model-selection";function o(s){let a=p(9184,null),l=p(9186,null,r.autoModelSelectionDocsUrl);if(typeof s=="number"&&s>0){let d=p(9185,null,s);return`${a} ${d} ${l}`}return`${a} ${l}`}r.getAutoModelDescription=o})(ah||={});var bI=R("ILanguageModelsService"),tF={type:"object",required:["vendor","displayName"],properties:{vendor:{type:"string",description:p(9206,null)},displayName:{type:"string",description:p(9202,null)},configuration:{type:"object",description:p(9198,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(9199,null)}}}},additionalProperties:{$ref:"http://json-schema.org/draft-07/schema#",properties:{secret:{type:"boolean",description:p(9199,null)}}}}}]},managementCommand:{type:"string",description:p(9204,null),deprecated:!0,deprecationMessage:p(9205,null)},deprecation:{type:"object",description:p(9200,null),properties:{link:{type:"string",description:p(9201,null)}}},when:{type:"string",description:p(9208,null)}}};function G$(i,t){let e=y.parse(i);return e.scheme===q.vscode&&t?e.with({scheme:t}):e}var j$=gI.registerExtensionPoint({extensionPoint:"languageModelChatProviders",jsonSchema:{description:p(9197,null),oneOf:[tF,{type:"array",items:tF}]},activationEventsGenerator:function*(i){for(let t of i)yield`onLanguageModelChatProvider:${t.vendor}`}}),nF="chatModelRecentlyUsed",oF="chatModelPinned",rF="chatModelVisibility",sh="copilot/auto";var Y_="chat.participantNameRegistry",X_="chat.modelsControl";function Q$(i,t,e){if(!i?.properties)return[];let n=[];for(let[o,r]of Object.entries(i.properties)){if(!r.enum||!Array.isArray(r.enum)||r.enum.length<1)continue;let s=t[o]??r.default,a=(typeof r.title=="string"?r.title:void 0)??o.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/^./,m=>m.toUpperCase()),l=r.default,d=r.enumItemLabels,c=r.enumDescriptions,u=r.enum.map((m,g)=>{let v=d?.[g]??String(m),h=m===l?p(9193,null,v):v,I=c?.[g]??"";return{id:`configureModel.${o}.${m}`,label:h,class:void 0,enabled:!0,tooltip:I,checked:s===m,run:()=>e(o,m)}});n.push(new Hf(`configureModel.${o}`,a,u))}return n}var Yd=class{constructor(t,e,n,o,r,s,a,l,d,c,u,m){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._notificationService=c;this._openerService=u;this._telemetryService=m;this._store=new G;this._providers=new Map;this._vendors=new Map;this._deprecationNoticeShownVendors=new Set;this._onDidChangeLanguageModelVendors=this._store.add(new T);this.onDidChangeLanguageModelVendors=this._onDidChangeLanguageModelVendors.event;this._modelsGroups=new Map;this._modelCache=new Map;this._resolveLMSequencer=new Ka;this._modelConfigurations=new Map;this._onLanguageModelChange=this._store.add(new T);this.onDidChangeLanguageModels=this._onLanguageModelChange.event;this._recentlyUsedModelIds=[];this._pinnedModelIds=[];this._hiddenModelIds=new Set;this._onDidChangeModelsControlManifest=this._store.add(new T);this.onDidChangeModelsControlManifest=this._onDidChangeModelsControlManifest.event;this._onDidChangePinnedModels=this._store.add(new T);this.onDidChangePinnedModels=this._onDidChangePinnedModels.event;this._onDidChangeModelVisibility=this._store.add(new T);this.onDidChangeModelVisibility=this._onDidChangeModelVisibility.event;this._modelsControlManifest={free:{},paid:{}};this._chatControlDisposed=!1;this._restrictedChatParticipants=pn(this,Object.create(null));this.restrictedChatParticipants=this._restrictedChatParticipants;this._hasUserSelectableModels=Zo.languageModelsAreUserSelectable.bindTo(o),this._hasNonCopilotUserSelectableModels=Zo.nonCopilotLanguageModelsAreUserSelectable.bindTo(o),this._recentlyUsedModelIds=this._readRecentlyUsedModels(),this._pinnedModelIds=this._readPinnedModels(),this._readVisibility(),this._initChatControlData(),this._store.add(this.onDidChangeLanguageModels(()=>{let g=!1,v=!1;for(let h of this._modelCache.values())if(h.isUserSelectable!==!1&&(g=!0,h.vendor!==Vs)){v=!0;break}this._hasUserSelectableModels.set(g),this._hasNonCopilotUserSelectableModels.set(v),this._refreshModelsControlManifest()})),this._store.add(this._languageModelsConfigurationService.onDidChangeLanguageModelGroups(g=>this._onDidChangeLanguageModelGroups(g))),this._store.add(j$.setHandler((g,{added:v,removed:h})=>{let I=[],S=[];for(let w of v)for(let P of It.wrap(w.value)){if(this._vendors.has(P.vendor)){w.collector.error(p(9207,null,P.vendor));continue}if(Oi(P.vendor)){w.collector.error(p(9203,null));continue}if(P.vendor.trim()!==P.vendor){w.collector.error(p(9209,null));continue}I.push(P)}for(let w of h)for(let P of It.wrap(w.value))S.push(P);this.deltaLanguageModelChatProviderDescriptors(I,S)}))}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(Oi(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,deprecation:r.deprecation,when:r.when,isDefault:r.vendor===Vs};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=ht.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(ah.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},be.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:bd(m),severity:Ge.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 h=m.settings[v.metadata.id];h&&l.set(v.identifier,{...h})}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},be.None);if(v.length){for(let h=0;h<v.length;h++)v[h].metadata.detail||(v[h]={...v[h],metadata:{...v[h].metadata,detail:m.name}});r.push(...v),s.push({group:m,modelIdentifiers:v.map(h=>h.identifier)})}if(m.settings)for(let h of v){let I=m.settings[h.metadata.id];I&&l.set(h.identifier,{...I})}}catch(v){s.push({group:m,modelIdentifiers:[],status:{message:bd(v),severity:Ge.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||!Ct(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.`);s&&(this._logProviderUsageTelemetry(s),this._maybeShowProviderDeprecationNotice(s));let l=this.getModelConfiguration(t),d=l?{...o,configuration:{...l,...o.configuration}}:o;return a.sendChatRequest(t,n,e,d,r)}_maybeShowProviderDeprecationNotice(t){let e=this._vendors.get(t.vendor),n=e?.deprecation?.link;if(!n||this._deprecationNoticeShownVendors.has(t.vendor))return;this._deprecationNoticeShownVendors.add(t.vendor);let o=(e.displayName||t.vendor).replace(/\s*\(deprecated\)\s*$/i,"");this._notificationService.prompt(Ge.Info,p(9188,null,o),[{label:p(9187,null),run:()=>{this._openerService.open(G$(n,this._productService.urlProtocol))}}],{neverShowAgain:{id:`chat.providerDeprecation.${t.vendor}`,scope:2}})}_logProviderUsageTelemetry(t){let e=K$(t?.vendor,t?.extension);e&&this._telemetryService.publicLog2("chat.languageModelRequest",{provider:e,isBYOK:!!t?.isBYOK})}_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;if(r=o.find(d=>d.vendor===n.vendor&&d.settings?.[n.id]!==void 0),!r){let c=this._modelsGroups.get(n.vendor)?.find(u=>u.modelIdentifiers.includes(t)&&u.group)?.group;c&&(r=o.find(u=>u.vendor===c.vendor&&u.name===c.name)??c)}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 e=this._modelCache.get(t),n=this._modelConfigurations.get(t)??{};return Q$(e?.configurationSchema,n,(o,r)=>this.setModelConfiguration(t,{[o]:r}))}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(Cn(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(Cn(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 G;try{await new Promise(a=>{let l=s.add(this._quickInputService.createInputBox());l.title=p(9189,null),l.placeholder=p(9192,null),l.value=o,l.ignoreFocusOut=!0,s.add(l.onDidChangeValue(d=>{if(!d){l.validationMessage=p(9190,null),l.severity=Ge.Error;return}if(t.some(c=>c!==n&&c.vendor===e.vendor&&c.name===d)){l.validationMessage=p(9194,null),l.severity=Ge.Error;return}l.validationMessage=void 0,l.severity=Ge.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 G;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(9195,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 G;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(9195,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 G;try{let a=d=>{if(!d&&o)return p(9196,null)},l=await new Promise((d,c)=>{let u=s.add(this._quickInputService.createInputBox());u.title=`${t}: ${n.title??e}`,u.placeholder=p(9191,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=Ge.Error):(u.validationMessage=void 0,u.severity=Ge.Ignore)})),s.add(u.onDidAccept(()=>{let g=a(u.value);if(g){u.validationMessage=g,u.severity=Ge.Error;return}d(u.value),u.hide()})),s.add(u.onDidHide(g=>{g.reason===2?c(new lt):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 MO(Yd.SECRET_INPUT,t)}decodeSecretKey(t){if(_e(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&&_e(a)){let l=`${Yd.SECRET_KEY_PREFIX}${cr(Ve()).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},be.None),await this.addLanguageModelsProviderGroup(n,e,o)}_readRecentlyUsedModels(){return this._storageService.getObject(nF,0,[])}_saveRecentlyUsedModels(){this._storageService.store(nF,this._recentlyUsedModelIds,0,0)}getRecentlyUsedModelIds(){return this._recentlyUsedModelIds.filter(t=>this._modelCache.has(t)&&t!==sh).slice(0,4)}addToRecentlyUsedList(t){if(t===sh)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(oF,0,[])}_savePinnedModels(){this._storageService.store(oF,this._pinnedModelIds,0,0)}getPinnedModelIds(){return this._pinnedModelIds.filter(t=>t!==sh&&this._modelCache.has(t))}pinModel(t){t===sh||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!==sh&&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(rF,0,{});this._hiddenModelIds=new Set(Array.isArray(t?.hiddenModels)?t.hiddenModels:[])}_saveVisibility(){this._storageService.store(rF,{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||!nt(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||!nt(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(Y_,-1);try{this._restrictedChatParticipants.set(JSON.parse(t??"{}"),void 0)}catch{this._storageService.remove(Y_,-1)}let e=this._storageService.get(X_,-1);try{let n=JSON.parse(e??"{}");nt(n)&&this._setModelsControlManifest(n)}catch{this._storageService.remove(X_,-1)}this._refreshChatControlData()}_refreshChatControlData(){this._chatControlDisposed||this._fetchChatControlData().catch(t=>this._logService.warn("Failed to fetch chat control data",t)).then(()=>wn(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"},be.None)}catch(o){this._logService.warn("[LM] Failed to request chat control data",bd(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 FN(t)}catch(o){this._logService.warn("[LM] Failed to parse chat control response",bd(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(Y_,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(X_,JSON.stringify(e.models),-1,1))}dispose(){this._chatControlDisposed=!0,this._store.dispose(),this._providers.clear()}};Yd=D([C(0,WU),C(1,se),C(2,No),C(3,Pr),C(4,eF),C(5,RU),C(6,AU),C(7,Nu),C(8,Ky),C(9,TL),C(10,Zy),C(11,Ar)],Yd);var yge=new E("debugType",void 0,{type:"string",description:p(10817,null)}),Ige=new E("debugConfigurationType",void 0,{type:"string",description:p(10808,null)}),xge=new E("debugState","inactive",{type:"string",description:p(10816,null)}),Y$="debugUx",Sge=new E(Y$,"default",{type:"string",description:p(10818,null)}),Cge=new E("hasDebugged",!1,{type:"boolean",description:p(10826,null)}),Tge=new E("inDebugMode",!1,{type:"boolean",description:p(10828,null)}),Ege=new E("inDebugRepl",!1,{type:"boolean",description:p(10829,null)}),wge=new E("breakpointWidgetVisible",!1,{type:"boolean",description:p(10798,null)}),kge=new E("inBreakpointWidget",!1,{type:"boolean",description:p(10827,null)}),Pge=new E("breakpointsFocused",!0,{type:"boolean",description:p(10796,null)}),_ge=new E("watchExpressionsFocused",!0,{type:"boolean",description:p(10854,null)}),Dge=new E("watchExpressionsExist",!1,{type:"boolean",description:p(10853,null)}),Rge=new E("variablesFocused",!0,{type:"boolean",description:p(10850,null)}),Mge=new E("expressionSelected",!1,{type:"boolean",description:p(10822,null)}),Age=new E("breakpointInputFocused",!1,{type:"boolean",description:p(10792,null)}),Oge=new E("callStackItemType",void 0,{type:"string",description:p(10804,null)}),Lge=new E("callStackSessionIsAttach",!1,{type:"boolean",description:p(10806,null)}),Nge=new E("callStackItemStopped",!1,{type:"boolean",description:p(10803,null)}),Uge=new E("callStackSessionHasOneThread",!1,{type:"boolean",description:p(10805,null)}),Fge=new E("callStackFocused",!0,{type:"boolean",description:p(10802,null)}),Hge=new E("watchItemType",void 0,{type:"string",description:p(10855,null)}),Vge=new E("canViewMemory",void 0,{type:"boolean",description:p(10807,null)}),Bge=new E("breakpointItemType",void 0,{type:"string",description:p(10794,null)}),Wge=new E("breakpointItemBytes",void 0,{type:"boolean",description:p(10793,null)}),$ge=new E("breakpointHasModes",!1,{type:"boolean",description:p(10791,null)}),zge=new E("breakpointSupportsCondition",!1,{type:"boolean",description:p(10797,null)}),qge=new E("loadedScriptsSupported",!1,{type:"boolean",description:p(10834,null)}),Kge=new E("loadedScriptsItemType",void 0,{type:"string",description:p(10833,null)}),Gge=new E("focusedSessionIsAttach",!1,{type:"boolean",description:p(10823,null)}),jge=new E("focusedSessionIsNoDebug",!1,{type:"boolean",description:p(10824,null)}),Qge=new E("stepBackSupported",!1,{type:"boolean",description:p(10839,null)}),Jge=new E("restartFrameSupported",!1,{type:"boolean",description:p(10837,null)}),Yge=new E("stackFrameSupportsRestart",!1,{type:"boolean",description:p(10838,null)}),Xge=new E("jumpToCursorSupported",!1,{type:"boolean",description:p(10831,null)}),Zge=new E("stepIntoTargetsSupported",!1,{type:"boolean",description:p(10840,null)}),efe=new E("breakpointsExist",!1,{type:"boolean",description:p(10795,null)}),tfe=new E("debuggersAvailable",!1,{type:"boolean",description:p(10811,null)}),nfe=new E("debugExtensionAvailable",!0,{type:"boolean",description:p(10809,null)}),ofe=new E("debugProtocolVariableMenuContext",void 0,{type:"string",description:p(10812,null)}),rfe=new E("debugSetVariableSupported",!1,{type:"boolean",description:p(10815,null)}),ife=new E("debugSetDataBreakpointAddressSupported",!1,{type:"boolean",description:p(10813,null)}),sfe=new E("debugSetExpressionSupported",!1,{type:"boolean",description:p(10814,null)}),afe=new E("breakWhenValueChangesSupported",!1,{type:"boolean",description:p(10799,null)}),lfe=new E("breakWhenValueIsAccessedSupported",!1,{type:"boolean",description:p(10800,null)}),dfe=new E("breakWhenValueIsReadSupported",!1,{type:"boolean",description:p(10801,null)}),cfe=new E("terminateDebuggeeSupported",!1,{type:"boolean",description:p(10842,null)}),ufe=new E("suspendDebuggeeSupported",!1,{type:"boolean",description:p(10841,null)}),pfe=new E("terminateThreadsSupported",!1,{type:"boolean",description:p(10843,null)}),mfe=new E("variableEvaluateNamePresent",!1,{type:"boolean",description:p(10844,null)}),gfe=new E("variableIsReadonly",!1,{type:"boolean",description:p(10847,null)}),ffe=new E("variableValue",!1,{type:"string",description:p(10852,null)}),hfe=new E("variableType",!1,{type:"string",description:p(10851,null)}),vfe=new E("variableInterfaces",!1,{type:"array",description:p(10846,null)}),bfe=new E("variableName",!1,{type:"string",description:p(10849,null)}),yfe=new E("variableLanguage",!1,{type:"string",description:p(10848,null)}),Ife=new E("variableExtensionId",!1,{type:"string",description:p(10845,null)}),xfe=new E("exceptionWidgetVisible",!1,{type:"boolean",description:p(10821,null)}),Sfe=new E("multiSessionRepl",!1,{type:"boolean",description:p(10836,null)}),Cfe=new E("multiSessionDebug",!1,{type:"boolean",description:p(10835,null)}),Tfe=new E("disassembleRequestSupported",!1,{type:"boolean",description:p(10819,null)}),Efe=new E("disassemblyViewFocus",!1,{type:"boolean",description:p(10820,null)}),wfe=new E("languageSupportsDisassembleRequest",!1,{type:"boolean",description:p(10832,null)}),kfe=new E("focusedStackFrameHasInstructionReference",!1,{type:"boolean",description:p(10825,null)});var Pfe={enum:["neverOpen","openOnSessionStart","openOnFirstSessionStart"],default:"openOnFirstSessionStart",description:p(10830,null)};var Z_=(e=>(e[e.Initial=1]="Initial",e[e.Dynamic=2]="Dynamic",e))(Z_||{});var _fe=R("debugService");var X$;(e=>(e.deserialize=n=>n,e.serialize=n=>n))(X$||={});var Z$;(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))(Z$||={});var Mfe=R("IMcpGalleryManifestService");var lh=R("IMcpGalleryService"),iF=R("IMcpManagementService"),pl=R("IAllowedMcpServersService");var e7={IconContribution:"base.contributions.icons"},t7;(t=>{function i(e,n){let o=e.defaults;for(;Qe.isThemeIcon(o);){let r=Ku.getIcon(o.id);if(!r)return;o=r.defaults}return o}t.getDefinition=i})(t7||={});var n7;(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=>_e(r)?r:void 0;if(n&&Array.isArray(n.src)&&n.src.every(r=>_e(r.format)&&_e(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})(n7||={});var o7=/^([\w_-]+)$/;var r7=p(3100,null),eD=class extends F{constructor(){super();this._onDidChange=this._register(new T);this.onDidChange=this._onDidChange.event;this.iconSchema={definitions:{icons:{type:"object",properties:{fontId:{type:"string",description:p(3097,null),pattern:o7.source,patternErrorMessage:r7},fontCharacter:{type:"string",description:p(3096,null)}},additionalProperties:!1,defaultSnippets:[{body:{fontCharacter:"\\\\e030"}}]}},type:"object",properties:{}};this.iconReferenceSchema={type:"string",pattern:`^${Qe.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(;Qe.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}|${Qe.isThemeIcon(s.defaults)?s.defaults.id:s.id}|${s.description||""}|`);o.push("| preview     | identifier                        "),o.push("| ----------- | --------------------------------- |");for(let s of r.filter(a=>!Qe.isThemeIcon(a.defaults)).sort(e))o.push(`|<i class="${n(s)}"></i>|${s.id}|`);return o.join(`
`)}},Ku=new eD;bt.add(e7.IconContribution,Ku);function Bs(i,t,e,n){return Ku.registerIcon(i,t,e,n)}function i7(){let i=UL();for(let t in i){let e="\\"+i[t].toString(16);Ku.registerIcon(t,{fontCharacter:e})}}i7();var aF="vscode://schemas/icons",lF=bt.as(qd.JSONContribution);lF.registerSchema(aF,Ku.getIconSchema());var sF=new Jn(()=>lF.notifySchemaChanged(aF),200);Ku.onDidChange(()=>{sF.isScheduled()||sF.schedule()});var Qfe=Bs("widget-close",de.close,p(3101,null)),Jfe=Bs("goto-previous-location",de.arrowUp,p(3099,null)),Yfe=Bs("goto-next-location",de.arrowDown,p(3098,null)),Xfe=Qe.modify(de.sync,"spin"),Zfe=Qe.modify(de.loading,"spin");var yI=R("IUserDataProfileService"),lhe=R("IUserDataProfileManagementService");var dhe=R("IUserDataProfileImportExportService"),che=Bs("defaultProfile-icon",de.settings,p(19170,null)),s7=xs(19172,"Profiles"),uhe={...s7},a7="code-profile",phe=[{name:p(19171,null),extensions:[a7]}],mhe=new E("currentProfile",""),ghe=new E("hasProfiles",!1);var Gu=R("IMcpResourceScannerService"),dh=class extends F{constructor(e,n){super();this.fileService=e;this.uriIdentityService=n;this.resourcesAccessQueueMap=new Ne}async scanMcpServers(e,n){return this.withProfileMcpServers(e,n)}async addMcpServers(e,n,o){await this.withProfileMcpServers(n,o,r=>{let s=r.inputs??[],a=r.servers??{};for(let{name:l,config:d,inputs:c}of e)if(a[l]=d,c){let u=new Set(s.map(g=>g.id)),m=c.filter(g=>!u.has(g.id));s=[...s,...m]}return{servers:a,inputs:s,sandbox:r.sandbox}})}async updateSandboxConfig(e,n,o){await this.withProfileMcpServers(n,o,e)}async removeMcpServers(e,n,o){await this.withProfileMcpServers(n,o,r=>{for(let s of e)r.servers?.[s]&&delete r.servers[s];return r})}async withProfileMcpServers(e,n,o){return this.getResourceAccessQueue(e).queue(async()=>{n=n??2;let r={};try{let s=await this.fileService.readFile(e),a=[],l=pI(s.value.toString(),a,{allowTrailingComma:!0,allowEmptyContent:!0})||{};if(a.length>0)throw new Error("Failed to parse scanned MCP servers: "+a.join(", "));if(n===2)r=this.fromUserMcpServers(l);else if(n===6)r=this.fromWorkspaceFolderMcpServers(l);else if(n===5){let d=l;d.settings?.mcp&&(r=this.fromWorkspaceFolderMcpServers(d.settings?.mcp))}}catch(s){if(_f(s)!==1)throw s}return o&&(r=o(r??{}),n===2?await this.writeScannedMcpServers(e,r):n===6?await this.writeScannedMcpServersToWorkspaceFolder(e,r):n===5?await this.writeScannedMcpServersToWorkspace(e,r):Aa(n,`Invalid Target: ${EN(n)}`)),r})}async writeScannedMcpServers(e,n){n.servers&&Object.keys(n.servers).length>0||n.inputs&&n.inputs.length>0||n.sandbox!==void 0?await this.fileService.writeFile(e,te.fromString(JSON.stringify(n,null,"	"))):await this.fileService.del(e)}async writeScannedMcpServersToWorkspaceFolder(e,n){await this.fileService.writeFile(e,te.fromString(JSON.stringify(n,null,"	")))}async writeScannedMcpServersToWorkspace(e,n){let o;try{let r=await this.fileService.readFile(e),s=[];if(o=pI(r.value.toString(),s,{allowTrailingComma:!0,allowEmptyContent:!0}),s.length>0)throw new Error("Failed to parse scanned MCP servers: "+s.join(", "))}catch(r){if(_f(r)!==1)throw r;o={settings:{}}}o.settings||(o.settings={}),o.settings.mcp=n,await this.fileService.writeFile(e,te.fromString(JSON.stringify(o,null,"	")))}fromUserMcpServers(e){let n={inputs:e.inputs,sandbox:e.sandbox},o=Object.entries(e.servers??{});if(o.length>0){n.servers={};for(let[r,s]of o)n.servers[r]=this.sanitizeServer(s)}return n}fromWorkspaceFolderMcpServers(e){let n={inputs:e.inputs,sandbox:e.sandbox},o=Object.entries(e.servers??{});if(o.length>0){n.servers={};for(let[r,s]of o){let a=this.sanitizeServer(s);n.servers[r]=a}}return n}sanitizeServer(e){let n;if(e.config){let o=e;n={...o.config,version:o.version,gallery:o.gallery}}else n=e;return(n.type===void 0||n.type!=="http"&&n.type!=="stdio")&&(n.type=n.command?"stdio":"http"),n}getResourceAccessQueue(e){let n=this.resourcesAccessQueueMap.get(e);return n||(n=new uf,this.resourcesAccessQueueMap.set(e,n)),n}};dh=D([C(0,Eo),C(1,gr)],dh);ze(Gu,dh,1);var xI=".vscode",l7="settings",Hhe=`${xI}/${l7}.json`;var Vhe=[1,3],Bhe=[2,4,5,6,7],d7=[4,5,6],Whe=[1,...d7],$he=[2,3,4,5,6,7],zhe=[4,5,6,7],qhe=[5,6,7],II="tasks",dF="launch",Wi="mcp",Ws=Object.create(null);Ws[II]=`${xI}/${II}.json`;Ws[dF]=`${xI}/${dF}.json`;Ws[Wi]=`${xI}/${Wi}.json`;var cF=Object.create(null);cF[II]=`${II}.json`;cF[Wi]=`${Wi}.json`;var Khe=sn;var $i=R("remoteAgentService"),Jhe=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 wn(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 ju=class extends F{constructor(e){super();this.logService=e}getMcpServerConfigurationFromManifest(e,n){if(n==="remote"&&e.remotes?.length){let d=e.remotes[0].url,c=e.remotes[0].headers??[],{inputs:u,variables:m}=this.processKeyValueInputs(d.startsWith("https://api.githubcopilot.com/mcp")?c.filter(g=>g.name.toLowerCase()!=="authorization"):c);return{mcpServerConfiguration:{config:{type:"http",url:e.remotes[0].url,headers:Object.keys(u).length?u:void 0},inputs:m.length?m:void 0},notices:[]}}let o=e.packages?.find(d=>d.registryType===n)??e.packages?.[0];if(!o)throw new Error("No server package found");let r=[],s=[],a={},l=[];if(o.registryType==="oci"&&(r.push("run"),r.push("-i"),r.push("--rm")),o.runtimeArguments?.length){let d=this.processArguments(o.runtimeArguments??[]);r.push(...d.args),s.push(...d.variables),l.push(...d.notices)}if(o.environmentVariables?.length){let{inputs:d,variables:c,notices:u}=this.processKeyValueInputs(o.environmentVariables??[]);s.push(...c),l.push(...u);for(let[m,g]of Object.entries(d))a[m]=g,o.registryType==="oci"&&(r.push("-e"),r.push(m))}switch(o.registryType){case"npm":o.registryBaseUrl&&r.push("--registry",o.registryBaseUrl),r.push(o.version?`${o.identifier}@${o.version}`:o.identifier);break;case"pypi":o.registryBaseUrl&&r.push("--index-url",o.registryBaseUrl),r.push(o.version?`${o.identifier}@${o.version}`:o.identifier);break;case"oci":{let d=o.registryBaseUrl?`${o.registryBaseUrl}/${o.identifier}`:o.identifier;r.push(o.version?`${d}:${o.version}`:d);break}case"nuget":r.push(o.version?`${o.identifier}@${o.version}`:o.identifier),r.push("--yes"),o.registryBaseUrl&&r.push("--source",o.registryBaseUrl),o.packageArguments?.length&&r.push("--");break}if(o.packageArguments?.length){let d=this.processArguments(o.packageArguments);r.push(...d.args),s.push(...d.variables),l.push(...d.notices)}return{notices:l,mcpServerConfiguration:{config:{type:"stdio",command:this.getCommandName(o.registryType),args:r.length?r:void 0,env:Object.keys(a).length?a:void 0},inputs:s.length?s:void 0}}}getCommandName(e){switch(e){case"npm":return"npx";case"oci":return"docker";case"pypi":return"uvx";case"nuget":return"dnx"}return e}getVariables(e){let n=[];for(let[o,r]of Object.entries(e))n.push({id:o,type:r.choices?"pickString":"promptString",description:r.description??"",password:!!r.isSecret,default:r.default,options:r.choices});return n}processKeyValueInputs(e){let n=[],o={},r=[];for(let s of e){let a=s.variables?this.getVariables(s.variables):[],l=s.value||"";if(a.length){for(let d of a)l=l.replace(`{${d.id}}`,`\${input:${d.id}}`);r.push(...a)}else!l&&(s.description||s.choices||s.default!==void 0)&&(r.push({id:s.name,type:s.choices?"pickString":"promptString",description:s.description??"",password:!!s.isSecret,default:s.default,options:s.choices}),l=`\${input:${s.name}}`);o[s.name]=l}return{inputs:o,variables:r,notices:n}}processArguments(e){let n=[],o=[],r=[];for(let s of e){let a=s.variables?this.getVariables(s.variables):[];if(s.type==="positional"){let l=s.value;if(l){for(let d of a)l=l.replace(`{${d.id}}`,`\${input:${d.id}}`);n.push(l),a.length&&o.push(...a)}else s.valueHint&&(s.description||s.default!==void 0)?(o.push({id:s.valueHint,type:"promptString",description:s.description??"",password:!1,default:s.default}),n.push(`\${input:${s.valueHint}}`)):n.push(s.valueHint??"")}else if(s.type==="named"){if(!s.name){r.push(`Named argument is missing a name. ${JSON.stringify(s)}`);continue}if(n.push(s.name),s.value){let l=s.value;for(let d of a)l=l.replace(`{${d.id}}`,`\${input:${d.id}}`);n.push(l),a.length&&o.push(...a)}else if(s.description||s.default!==void 0){let l=s.name.replace(/^--?/,"");o.push({id:l,type:"promptString",description:s.description??"",password:!1,default:s.default}),n.push(`\${input:${l}}`)}}}return{args:n,variables:o,notices:r}}};ju=D([C(0,se)],ju);var Zd=class extends ju{constructor(e,n,o,r,s,a,l){super(a);this.mcpResource=e;this.target=n;this.mcpGalleryService=o;this.fileService=r;this.uriIdentityService=s;this.mcpResourceScannerService=l;this.local=new Map;this._onInstallMcpServer=this._register(new T);this.onInstallMcpServer=this._onInstallMcpServer.event;this._onDidInstallMcpServers=this._register(new T);this._onDidUpdateMcpServers=this._register(new T);this._onUninstallMcpServer=this._register(new T);this._onDidUninstallMcpServer=this._register(new T);this.reloadConfigurationScheduler=this._register(new Jn(()=>this.updateLocal(),50))}get onDidInstallMcpServers(){return this._onDidInstallMcpServers.event}get onDidUpdateMcpServers(){return this._onDidUpdateMcpServers.event}get onUninstallMcpServer(){return this._onUninstallMcpServer.event}get onDidUninstallMcpServer(){return this._onDidUninstallMcpServer.event}initialize(){return this.initializePromise||(this.initializePromise=(async()=>{try{this.local=await this.populateLocalServers()}finally{this.startWatching()}})()),this.initializePromise}async populateLocalServers(){this.logService.trace("AbstractMcpResourceManagementService#populateLocalServers",this.mcpResource.toString());let e=new Map;try{let n=await this.mcpResourceScannerService.scanMcpServers(this.mcpResource,this.target);n.servers&&await Promise.allSettled(Object.entries(n.servers).map(async([o,r])=>{let s=await this.scanLocalServer(o,r,n.sandbox);e.set(o,s)}))}catch(n){throw this.logService.debug("Could not read user MCP servers:",n),n}return e}startWatching(){this._register(this.fileService.watch(this.mcpResource)),this._register(this.fileService.onDidFilesChange(e=>{e.affects(this.mcpResource)&&this.reloadConfigurationScheduler.schedule()}))}async updateLocal(){try{let e=await this.populateLocalServers(),n=[],o=[],r=[...this.local.keys()].filter(s=>!e.has(s));for(let s of r)this.local.delete(s);for(let[s,a]of e){let l=this.local.get(s);l?Ct(l,a)||(o.push(a),this.local.set(s,a)):(n.push(a),this.local.set(s,a))}for(let s of r)this.local.delete(s),this._onDidUninstallMcpServer.fire({name:s,mcpResource:this.mcpResource});o.length&&this._onDidUpdateMcpServers.fire(o.map(s=>({name:s.name,local:s,mcpResource:this.mcpResource}))),n.length&&this._onDidInstallMcpServers.fire(n.map(s=>({name:s.name,local:s,mcpResource:this.mcpResource})))}catch(e){this.logService.error("Failed to load installed MCP servers:",e)}}async getInstalled(){return await this.initialize(),Array.from(this.local.values())}async scanLocalServer(e,n,o){let r=await this.getLocalServerInfo(e,n);return r||(r={name:e,version:n.version,galleryUrl:_e(n.gallery)?n.gallery:void 0}),{name:e,config:n,rootSandbox:o,mcpResource:this.mcpResource,version:r.version,location:r.location,displayName:r.displayName,description:r.description,publisher:r.publisher,publisherDisplayName:r.publisherDisplayName,galleryUrl:r.galleryUrl,galleryId:r.galleryId,repositoryUrl:r.repositoryUrl,readmeUrl:r.readmeUrl,icon:r.icon,codicon:r.codicon,manifest:r.manifest,source:n.gallery?"gallery":"local"}}async install(e,n){this.logService.trace("MCP Management Service: install",e.name),this._onInstallMcpServer.fire({name:e.name,mcpResource:this.mcpResource});try{await this.mcpResourceScannerService.addMcpServers([e],this.mcpResource,this.target),await this.updateLocal();let o=this.local.get(e.name);if(!o)throw new Error(`Failed to install MCP server: ${e.name}`);return o}catch(o){throw this._onDidInstallMcpServers.fire([{name:e.name,error:o,mcpResource:this.mcpResource}]),o}}async uninstall(e,n){this.logService.trace("MCP Management Service: uninstall",e.name),this._onUninstallMcpServer.fire({name:e.name,mcpResource:this.mcpResource});try{if(!(await this.mcpResourceScannerService.scanMcpServers(this.mcpResource,this.target)).servers)return;await this.mcpResourceScannerService.removeMcpServers([e.name],this.mcpResource,this.target),e.location&&await this.fileService.del(y.revive(e.location),{recursive:!0}),await this.updateLocal()}catch(o){throw this._onDidUninstallMcpServer.fire({name:e.name,error:o,mcpResource:this.mcpResource}),o}}};Zd=D([C(2,lh),C(3,Eo),C(4,gr),C(5,se),C(6,Gu)],Zd);var ch=class extends Zd{constructor(t,e,n,o,r,s,a){super(t,2,e,n,o,r,s),this.mcpLocation=o.extUri.joinPath(a.userRoamingDataHome,"mcp")}async installFromGallery(t,e){throw new Error("Not supported")}async updateMetadata(t,e){await this.updateMetadataFromGallery(e),await this.updateLocal();let n=(await this.getInstalled()).find(o=>o.name===t.name);if(!n)throw new Error(`Failed to find MCP server: ${t.name}`);return n}async updateMetadataFromGallery(t){let e=t.configuration,n=this.getLocation(t.name,t.version),o=this.uriIdentityService.extUri.joinPath(n,"manifest.json"),r={galleryUrl:t.galleryUrl,galleryId:t.id,name:t.name,displayName:t.displayName,description:t.description,version:t.version,publisher:t.publisher,publisherDisplayName:t.publisherDisplayName,repositoryUrl:t.repositoryUrl,licenseUrl:t.license,icon:t.icon,codicon:t.codicon,manifest:e};if(await this.fileService.writeFile(o,te.fromString(JSON.stringify(r))),t.readmeUrl||t.readme){let s=t.readme?t.readme:await this.mcpGalleryService.getReadme(t,be.None);await this.fileService.writeFile(this.uriIdentityService.extUri.joinPath(n,"README.md"),te.fromString(s))}return e}async getLocalServerInfo(t,e){let n,o,r;if(e.gallery){o=this.getLocation(t,e.version);let s=this.uriIdentityService.extUri.joinPath(o,"manifest.json");try{let a=await this.fileService.readFile(s);n=JSON.parse(a.value.toString()),n.galleryUrl?.includes("/v0/")&&(n.galleryUrl=n.galleryUrl.substring(0,n.galleryUrl.indexOf("/v0/")),await this.fileService.writeFile(s,te.fromString(JSON.stringify(n)))),n.location=o,r=this.uriIdentityService.extUri.joinPath(o,"README.md"),await this.fileService.exists(r)||(r=void 0),n.readmeUrl=r}catch(a){this.logService.error("MCP Management Service: failed to read manifest",o.toString(),a)}}return n}getLocation(t,e){return t=t.replace("/","."),this.uriIdentityService.extUri.joinPath(this.mcpLocation,e?`${t}-${e}`:t)}installFromUri(t,e){throw new Error("Method not supported.")}canInstall(){throw new Error("Not supported")}};ch=D([C(1,lh),C(2,Eo),C(3,gr),C(4,se),C(5,Gu),C(6,jd)],ch);var zi=class extends ju{constructor(e,n){super(n);this.allowedMcpServersService=e}canInstall(e){let n=this.allowedMcpServersService.isAllowed(e);return n!==!0?new gt(p(2710,null,n.value)):!0}};zi=D([C(0,pl),C(1,se)],zi);var SI=class extends zi{constructor(e,n,o,r){super(e,n);this.userDataProfilesService=o;this.instantiationService=r;this._onInstallMcpServer=this._register(new T);this.onInstallMcpServer=this._onInstallMcpServer.event;this._onDidInstallMcpServers=this._register(new T);this.onDidInstallMcpServers=this._onDidInstallMcpServers.event;this._onDidUpdateMcpServers=this._register(new T);this.onDidUpdateMcpServers=this._onDidUpdateMcpServers.event;this._onUninstallMcpServer=this._register(new T);this.onUninstallMcpServer=this._onUninstallMcpServer.event;this._onDidUninstallMcpServer=this._register(new T);this.onDidUninstallMcpServer=this._onDidUninstallMcpServer.event;this.mcpResourceManagementServices=new Ne}getMcpResourceManagementService(e){let n=this.mcpResourceManagementServices.get(e);if(!n){let o=new G,r=o.add(this.createMcpResourceManagementService(e));o.add(r.onInstallMcpServer(s=>this._onInstallMcpServer.fire(s))),o.add(r.onDidInstallMcpServers(s=>this._onDidInstallMcpServers.fire(s))),o.add(r.onDidUpdateMcpServers(s=>this._onDidUpdateMcpServers.fire(s))),o.add(r.onUninstallMcpServer(s=>this._onUninstallMcpServer.fire(s))),o.add(r.onDidUninstallMcpServer(s=>this._onDidUninstallMcpServer.fire(s))),this.mcpResourceManagementServices.set(e,n={service:r,dispose:()=>o.dispose()})}return n.service}async getInstalled(e){let n=e||this.userDataProfilesService.defaultProfile.mcpResource;return this.getMcpResourceManagementService(n).getInstalled()}async install(e,n){let o=n?.mcpResource||this.userDataProfilesService.defaultProfile.mcpResource;return this.getMcpResourceManagementService(o).install(e,n)}async uninstall(e,n){let o=n?.mcpResource||this.userDataProfilesService.defaultProfile.mcpResource;return this.getMcpResourceManagementService(o).uninstall(e,n)}async installFromGallery(e,n){let o=n?.mcpResource||this.userDataProfilesService.defaultProfile.mcpResource;return this.getMcpResourceManagementService(o).installFromGallery(e,n)}async updateMetadata(e,n,o){return this.getMcpResourceManagementService(o||this.userDataProfilesService.defaultProfile.mcpResource).updateMetadata(e,n)}dispose(){this.mcpResourceManagementServices.forEach(e=>e.dispose()),this.mcpResourceManagementServices.clear(),super.dispose()}createMcpResourceManagementService(e){return this.instantiationService.createInstance(ch,e)}};SI=D([C(0,pl),C(1,se),C(2,sl),C(3,On)],SI);function uh(i,t){return i?y.revive(t?t.transformIncoming(i):i):void 0}function Qu(i,t){t=t||nL;let e=i.manifest;return{...oL({...i,manifest:void 0},t),manifest:e}}var Ju=class extends zi{constructor(e,n,o){super(n,o);this.channel=e;this._onInstallMcpServer=this._register(new T);this._onDidInstallMcpServers=this._register(new T);this._onUninstallMcpServer=this._register(new T);this._onDidUninstallMcpServer=this._register(new T);this._onDidUpdateMcpServers=this._register(new T);this._register(this.channel.listen("onInstallMcpServer")(r=>this._onInstallMcpServer.fire({...r,mcpResource:uh(r.mcpResource,null)}))),this._register(this.channel.listen("onDidInstallMcpServers")(r=>this._onDidInstallMcpServers.fire(r.map(s=>({...s,local:s.local?Qu(s.local,null):s.local,mcpResource:uh(s.mcpResource,null)}))))),this._register(this.channel.listen("onDidUpdateMcpServers")(r=>this._onDidUpdateMcpServers.fire(r.map(s=>({...s,local:s.local?Qu(s.local,null):s.local,mcpResource:uh(s.mcpResource,null)}))))),this._register(this.channel.listen("onUninstallMcpServer")(r=>this._onUninstallMcpServer.fire({...r,mcpResource:uh(r.mcpResource,null)}))),this._register(this.channel.listen("onDidUninstallMcpServer")(r=>this._onDidUninstallMcpServer.fire({...r,mcpResource:uh(r.mcpResource,null)})))}get onInstallMcpServer(){return this._onInstallMcpServer.event}get onDidInstallMcpServers(){return this._onDidInstallMcpServers.event}get onUninstallMcpServer(){return this._onUninstallMcpServer.event}get onDidUninstallMcpServer(){return this._onDidUninstallMcpServer.event}get onDidUpdateMcpServers(){return this._onDidUpdateMcpServers.event}install(e,n){return Promise.resolve(this.channel.call("install",[e,n])).then(o=>Qu(o,null))}installFromGallery(e,n){return Promise.resolve(this.channel.call("installFromGallery",[e,n])).then(o=>Qu(o,null))}uninstall(e,n){return Promise.resolve(this.channel.call("uninstall",[e,n]))}getInstalled(e){return Promise.resolve(this.channel.call("getInstalled",[e])).then(n=>n.map(o=>Qu(o,null)))}updateMetadata(e,n,o){return Promise.resolve(this.channel.call("updateMetadata",[e,n,o])).then(r=>Qu(r,null))}};Ju=D([C(1,pl),C(2,se)],Ju);var CI=class extends F{constructor(e,n,o){super();this.profilesHome=n;this.channel=o;this._profiles=[];this._onDidChangeProfiles=this._register(new T);this.onDidChangeProfiles=this._onDidChangeProfiles.event;this._profiles=e.map(r=>Vi(r,this.profilesHome.scheme)),this._register(this.channel.listen("onDidChangeProfiles")(r=>{let s=r.added.map(d=>Vi(d,this.profilesHome.scheme)),a=r.removed.map(d=>Vi(d,this.profilesHome.scheme)),l=r.updated.map(d=>Vi(d,this.profilesHome.scheme));this._profiles=r.all.map(d=>Vi(d,this.profilesHome.scheme)),this._onDidChangeProfiles.fire({added:s,removed:a,updated:l,all:this.profiles})})),this.onDidResetWorkspaces=this.channel.listen("onDidResetWorkspaces")}get defaultProfile(){return this.profiles[0]}get profiles(){return this._profiles}async createNamedProfile(e,n,o){let r=await this.channel.call("createNamedProfile",[e,n,o]);return Vi(r,this.profilesHome.scheme)}async createProfile(e,n,o,r){let s=await this.channel.call("createProfile",[e,n,o,r]);return Vi(s,this.profilesHome.scheme)}async createTransientProfile(e){let n=await this.channel.call("createTransientProfile",[e]);return Vi(n,this.profilesHome.scheme)}async setProfileForWorkspace(e,n){await this.channel.call("setProfileForWorkspace",[e,n])}removeProfile(e){return this.channel.call("removeProfile",[e])}async updateProfile(e,n){let o=await this.channel.call("updateProfile",[e,n]);return Vi(o,this.profilesHome.scheme)}resetWorkspaces(){return this.channel.call("resetWorkspaces")}cleanUp(){return this.channel.call("cleanUp")}cleanUpTransientProfiles(){return this.channel.call("cleanUpTransientProfiles")}};var tD="associatedRemoteProfiles",nD=R("IRemoteUserDataProfilesService"),ph=class extends F{constructor(e,n,o,r,s,a){super();this.environmentService=e;this.remoteAgentService=n;this.userDataProfilesService=o;this.userDataProfileService=r;this.storageService=s;this.logService=a;this.initPromise=this.init()}async init(){let e=this.remoteAgentService.getConnection();if(!e)return;let n=await this.remoteAgentService.getEnvironment();if(!n)return;this.remoteUserDataProfilesService=new CI(n.profiles.all,n.profiles.home,e.getChannel("userDataProfiles")),this._register(this.userDataProfilesService.onDidChangeProfiles(r=>this.onDidChangeLocalProfiles(r)));let o=await this.getAssociatedRemoteProfile(this.userDataProfileService.currentProfile,this.remoteUserDataProfilesService);o.isDefault||this.setAssociatedRemoteProfiles([...this.getAssociatedRemoteProfiles(),o.id]),this.cleanUp()}async onDidChangeLocalProfiles(e){for(let n of e.removed){let o=this.remoteUserDataProfilesService?.profiles.find(r=>r.id===n.id);o&&await this.remoteUserDataProfilesService?.removeProfile(o)}}async getRemoteProfiles(){if(await this.initPromise,!this.remoteUserDataProfilesService)throw new ro("Remote profiles service not available in the current window");return this.remoteUserDataProfilesService.profiles}async getRemoteProfile(e){if(await this.initPromise,!this.remoteUserDataProfilesService)throw new ro("Remote profiles service not available in the current window");return this.getAssociatedRemoteProfile(e,this.remoteUserDataProfilesService)}async getAssociatedRemoteProfile(e,n){if(e.isDefault)return n.defaultProfile;let o=n.profiles.find(r=>r.id===e.id);return o||(o=await n.createProfile(e.id,e.name,{transient:e.isTransient,useDefaultFlags:e.useDefaultFlags}),this.setAssociatedRemoteProfiles([...this.getAssociatedRemoteProfiles(),this.userDataProfileService.currentProfile.id])),o}getAssociatedRemoteProfiles(){return this.environmentService.remoteAuthority?this.parseAssociatedRemoteProfiles()[this.environmentService.remoteAuthority]??[]:[]}setAssociatedRemoteProfiles(e){if(this.environmentService.remoteAuthority){let n=this.parseAssociatedRemoteProfiles();e=Bo(e),e.length?n[this.environmentService.remoteAuthority]=e:delete n[this.environmentService.remoteAuthority],Object.keys(n).length?this.storageService.store(tD,JSON.stringify(n),-1,1):this.storageService.remove(tD,-1)}}parseAssociatedRemoteProfiles(){if(this.environmentService.remoteAuthority){let e=this.storageService.get(tD,-1);try{return e?JSON.parse(e):{}}catch(n){this.logService.error(n)}}return{}}async cleanUp(){let e=[];for(let n of this.getAssociatedRemoteProfiles()){let o=this.remoteUserDataProfilesService?.profiles.find(s=>s.id===n);if(!o)continue;let r=this.userDataProfilesService.profiles.find(s=>s.id===n);if(r){r.name!==o.name&&await this.remoteUserDataProfilesService?.updateProfile(o,{name:r.name}),e.push(n);continue}o&&await this.remoteUserDataProfilesService?.removeProfile(o)}this.setAssociatedRemoteProfiles(e)}};ph=D([C(0,Hu),C(1,$i),C(2,sl),C(3,yI),C(4,No),C(5,se)],ph);ze(nD,ph,1);var u7="usrlocal",p7="usrremote",m7="workspace",oD="ws";var yye=iF,TI=class extends zi{constructor(e,n,o,r,s,a,l,d,c,u){super(n,o);this.mcpManagementService=e;this.userDataProfileService=r;this.uriIdentityService=s;this.workspaceContextService=a;this.userDataProfilesService=d;this.remoteUserDataProfilesService=c;this._onInstallMcpServer=this._register(new T);this.onInstallMcpServer=this._onInstallMcpServer.event;this._onDidInstallMcpServers=this._register(new T);this.onDidInstallMcpServers=this._onDidInstallMcpServers.event;this._onDidUpdateMcpServers=this._register(new T);this.onDidUpdateMcpServers=this._onDidUpdateMcpServers.event;this._onUninstallMcpServer=this._register(new T);this.onUninstallMcpServer=this._onUninstallMcpServer.event;this._onDidUninstallMcpServer=this._register(new T);this.onDidUninstallMcpServer=this._onDidUninstallMcpServer.event;this._onInstallMcpServerInCurrentProfile=this._register(new T);this.onInstallMcpServerInCurrentProfile=this._onInstallMcpServerInCurrentProfile.event;this._onDidInstallMcpServersInCurrentProfile=this._register(new T);this.onDidInstallMcpServersInCurrentProfile=this._onDidInstallMcpServersInCurrentProfile.event;this._onDidUpdateMcpServersInCurrentProfile=this._register(new T);this.onDidUpdateMcpServersInCurrentProfile=this._onDidUpdateMcpServersInCurrentProfile.event;this._onUninstallMcpServerInCurrentProfile=this._register(new T);this.onUninstallMcpServerInCurrentProfile=this._onUninstallMcpServerInCurrentProfile.event;this._onDidUninstallMcpServerInCurrentProfile=this._register(new T);this.onDidUninstallMcpServerInCurrentProfile=this._onDidUninstallMcpServerInCurrentProfile.event;this._onDidChangeProfile=this._register(new T);this.onDidChangeProfile=this._onDidChangeProfile.event;this.workspaceMcpManagementService=this._register(u.createInstance(gh));let m=l.getConnection();m&&(this.remoteMcpManagementService=this._register(u.createInstance(Ju,m.getChannel("mcpManagement")))),this._register(this.mcpManagementService.onInstallMcpServer(g=>{this._onInstallMcpServer.fire(g),s.extUri.isEqual(g.mcpResource,this.userDataProfileService.currentProfile.mcpResource)&&this._onInstallMcpServerInCurrentProfile.fire({...g,scope:"user"})})),this._register(this.mcpManagementService.onDidInstallMcpServers(g=>{let{mcpServerInstallResult:v,mcpServerInstallResultInCurrentProfile:h}=this.createInstallMcpServerResultsFromEvent(g,"user");this._onDidInstallMcpServers.fire(v),h.length&&this._onDidInstallMcpServersInCurrentProfile.fire(h)})),this._register(this.mcpManagementService.onDidUpdateMcpServers(g=>{let{mcpServerInstallResult:v,mcpServerInstallResultInCurrentProfile:h}=this.createInstallMcpServerResultsFromEvent(g,"user");this._onDidUpdateMcpServers.fire(v),h.length&&this._onDidUpdateMcpServersInCurrentProfile.fire(h)})),this._register(this.mcpManagementService.onUninstallMcpServer(g=>{this._onUninstallMcpServer.fire(g),s.extUri.isEqual(g.mcpResource,this.userDataProfileService.currentProfile.mcpResource)&&this._onUninstallMcpServerInCurrentProfile.fire({...g,scope:"user"})})),this._register(this.mcpManagementService.onDidUninstallMcpServer(g=>{this._onDidUninstallMcpServer.fire(g),s.extUri.isEqual(g.mcpResource,this.userDataProfileService.currentProfile.mcpResource)&&this._onDidUninstallMcpServerInCurrentProfile.fire({...g,scope:"user"})})),this._register(this.workspaceMcpManagementService.onInstallMcpServer(async g=>{this._onInstallMcpServer.fire(g),this._onInstallMcpServerInCurrentProfile.fire({...g,scope:"workspace"})})),this._register(this.workspaceMcpManagementService.onDidInstallMcpServers(async g=>{let{mcpServerInstallResult:v}=this.createInstallMcpServerResultsFromEvent(g,"workspace");this._onDidInstallMcpServers.fire(v),this._onDidInstallMcpServersInCurrentProfile.fire(v)})),this._register(this.workspaceMcpManagementService.onUninstallMcpServer(async g=>{this._onUninstallMcpServer.fire(g),this._onUninstallMcpServerInCurrentProfile.fire({...g,scope:"workspace"})})),this._register(this.workspaceMcpManagementService.onDidUninstallMcpServer(async g=>{this._onDidUninstallMcpServer.fire(g),this._onDidUninstallMcpServerInCurrentProfile.fire({...g,scope:"workspace"})})),this._register(this.workspaceMcpManagementService.onDidUpdateMcpServers(g=>{let{mcpServerInstallResult:v}=this.createInstallMcpServerResultsFromEvent(g,"workspace");this._onDidUpdateMcpServers.fire(v),this._onDidUpdateMcpServersInCurrentProfile.fire(v)})),this.remoteMcpManagementService&&(this._register(this.remoteMcpManagementService.onInstallMcpServer(async g=>{this._onInstallMcpServer.fire(g);let v=await this.getRemoteMcpResource(this.userDataProfileService.currentProfile.mcpResource);(v?s.extUri.isEqual(g.mcpResource,v):this.userDataProfileService.currentProfile.isDefault)&&this._onInstallMcpServerInCurrentProfile.fire({...g,scope:"remoteUser"})})),this._register(this.remoteMcpManagementService.onDidInstallMcpServers(g=>this.handleRemoteInstallMcpServerResultsFromEvent(g,this._onDidInstallMcpServers,this._onDidInstallMcpServersInCurrentProfile))),this._register(this.remoteMcpManagementService.onDidUpdateMcpServers(g=>this.handleRemoteInstallMcpServerResultsFromEvent(g,this._onDidInstallMcpServers,this._onDidInstallMcpServersInCurrentProfile))),this._register(this.remoteMcpManagementService.onUninstallMcpServer(async g=>{this._onUninstallMcpServer.fire(g);let v=await this.getRemoteMcpResource(this.userDataProfileService.currentProfile.mcpResource);(v?s.extUri.isEqual(g.mcpResource,v):this.userDataProfileService.currentProfile.isDefault)&&this._onUninstallMcpServerInCurrentProfile.fire({...g,scope:"remoteUser"})})),this._register(this.remoteMcpManagementService.onDidUninstallMcpServer(async g=>{this._onDidUninstallMcpServer.fire(g);let v=await this.getRemoteMcpResource(this.userDataProfileService.currentProfile.mcpResource);(v?s.extUri.isEqual(g.mcpResource,v):this.userDataProfileService.currentProfile.isDefault)&&this._onDidUninstallMcpServerInCurrentProfile.fire({...g,scope:"remoteUser"})}))),this._register(r.onDidChangeCurrentProfile(g=>{this.uriIdentityService.extUri.isEqual(g.previous.mcpResource,g.profile.mcpResource)||this._onDidChangeProfile.fire()}))}createInstallMcpServerResultsFromEvent(e,n){let o=[],r=[];for(let s of e){let a={...s,local:s.local?this.toWorkspaceMcpServer(s.local,n):void 0};o.push(a),this.uriIdentityService.extUri.isEqual(s.mcpResource,this.userDataProfileService.currentProfile.mcpResource)&&r.push(a)}return{mcpServerInstallResult:o,mcpServerInstallResultInCurrentProfile:r}}async handleRemoteInstallMcpServerResultsFromEvent(e,n,o){let r=[],s=[],a=await this.getRemoteMcpResource(this.userDataProfileService.currentProfile.mcpResource);for(let l of e){let d={...l,local:l.local?this.toWorkspaceMcpServer(l.local,"remoteUser"):void 0};r.push(d),(a?this.uriIdentityService.extUri.isEqual(l.mcpResource,a):this.userDataProfileService.currentProfile.isDefault)&&s.push(d)}n.fire(r),s.length&&o.fire(s)}async getInstalled(){let e=[],[n,o,r]=await Promise.all([this.mcpManagementService.getInstalled(this.userDataProfileService.currentProfile.mcpResource),this.remoteMcpManagementService?.getInstalled(await this.getRemoteMcpResource())??Promise.resolve([]),this.workspaceMcpManagementService?.getInstalled()??Promise.resolve([])]);for(let s of n)e.push(this.toWorkspaceMcpServer(s,"user"));for(let s of o)e.push(this.toWorkspaceMcpServer(s,"remoteUser"));for(let s of r)e.push(this.toWorkspaceMcpServer(s,"workspace"));return e}toWorkspaceMcpServer(e,n){return{...e,id:`mcp.config.${this.getConfigId(e,n)}.${e.name}`,scope:n}}getConfigId(e,n){if(n==="user")return u7;if(n==="remoteUser")return p7;if(n==="workspace"){let o=this.workspaceContextService.getWorkspace();if(o.configuration&&this.uriIdentityService.extUri.isEqual(o.configuration,e.mcpResource))return m7;let r=o.folders;for(let s=0;s<r.length;s++){let a=r[s];if(this.uriIdentityService.extUri.isEqual(this.uriIdentityService.extUri.joinPath(a.uri,Ws[Wi]),e.mcpResource))return`${oD}${s}`}}return"unknown"}async install(e,n){if(n=n??{},n.target===5||Rk(n.target)){let r=n.target===5?this.workspaceContextService.getWorkspace().configuration:n.target.toResource(Ws[Wi]);if(!r)throw new Error(`Illegal target: ${n.target}`);n.mcpResource=r;let s=await this.workspaceMcpManagementService.install(e,n);return this.toWorkspaceMcpServer(s,"workspace")}if(n.target===4){if(!this.remoteMcpManagementService)throw new Error(`Illegal target: ${n.target}`);n.mcpResource=await this.getRemoteMcpResource(n.mcpResource);let r=await this.remoteMcpManagementService.install(e,n);return this.toWorkspaceMcpServer(r,"remoteUser")}if(n.target&&n.target!==2&&n.target!==3)throw new Error(`Illegal target: ${n.target}`);n.mcpResource=this.userDataProfileService.currentProfile.mcpResource;let o=await this.mcpManagementService.install(e,n);return this.toWorkspaceMcpServer(o,"user")}async installFromGallery(e,n){if(n=n??{},n.target===5||Rk(n.target)){let r=n.target===5?this.workspaceContextService.getWorkspace().configuration:n.target.toResource(Ws[Wi]);if(!r)throw new Error(`Illegal target: ${n.target}`);n.mcpResource=r;let s=await this.workspaceMcpManagementService.installFromGallery(e,n);return this.toWorkspaceMcpServer(s,"workspace")}if(n.target===4){if(!this.remoteMcpManagementService)throw new Error(`Illegal target: ${n.target}`);n.mcpResource=await this.getRemoteMcpResource(n.mcpResource);let r=await this.remoteMcpManagementService.installFromGallery(e,n);return this.toWorkspaceMcpServer(r,"remoteUser")}if(n.target&&n.target!==2&&n.target!==3)throw new Error(`Illegal target: ${n.target}`);n.mcpResource||(n.mcpResource=this.userDataProfileService.currentProfile.mcpResource);let o=await this.mcpManagementService.installFromGallery(e,n);return this.toWorkspaceMcpServer(o,"user")}async updateMetadata(e,n,o){if(e.scope==="workspace"){let s=await this.workspaceMcpManagementService.updateMetadata(e,n,o);return this.toWorkspaceMcpServer(s,"workspace")}if(e.scope==="remoteUser"){if(!this.remoteMcpManagementService)throw new Error(`Illegal target: ${e.scope}`);let s=await this.remoteMcpManagementService.updateMetadata(e,n,o);return this.toWorkspaceMcpServer(s,"remoteUser")}let r=await this.mcpManagementService.updateMetadata(e,n,o);return this.toWorkspaceMcpServer(r,"user")}async uninstall(e){if(e.scope==="workspace")return this.workspaceMcpManagementService.uninstall(e);if(e.scope==="remoteUser"){if(!this.remoteMcpManagementService)throw new Error(`Illegal target: ${e.scope}`);return this.remoteMcpManagementService.uninstall(e)}return this.mcpManagementService.uninstall(e,{mcpResource:this.userDataProfileService.currentProfile.mcpResource})}async getRemoteMcpResource(e){if(!e&&this.userDataProfileService.currentProfile.isDefault)return;e=e??this.userDataProfileService.currentProfile.mcpResource;let n=this.userDataProfilesService.profiles.find(o=>this.uriIdentityService.extUri.isEqual(o.mcpResource,e));return n?n=await this.remoteUserDataProfilesService.getRemoteProfile(n):n=(await this.remoteUserDataProfilesService.getRemoteProfiles()).find(o=>this.uriIdentityService.extUri.isEqual(o.mcpResource,e)),n?.mcpResource}};TI=D([C(1,pl),C(2,se),C(3,yI),C(4,gr),C(5,ei),C(6,$i),C(7,sl),C(8,nD),C(9,On)],TI);var mh=class extends Zd{constructor(t,e,n,o,r,s,a){super(t,e,n,o,r,s,a)}async installFromGallery(t,e){this.logService.trace("MCP Management Service: installGallery",t.name,t.galleryUrl),this._onInstallMcpServer.fire({name:t.name,mcpResource:this.mcpResource});try{let n=e?.packageType??t.configuration.packages?.[0]?.registryType??"remote",{mcpServerConfiguration:o,notices:r}=this.getMcpServerConfigurationFromManifest(t.configuration,n);r.length>0&&this.logService.warn(`MCP Management Service: Warnings while installing ${t.name}`,r);let s={name:t.name,config:{...o.config,gallery:t.galleryUrl??!0,version:t.version},inputs:o.inputs};await this.mcpResourceScannerService.addMcpServers([s],this.mcpResource,this.target),await this.updateLocal();let a=(await this.getInstalled()).find(l=>l.name===t.name);if(!a)throw new Error(`Failed to install MCP server: ${t.name}`);return a}catch(n){throw this._onDidInstallMcpServers.fire([{name:t.name,source:t,error:n,mcpResource:this.mcpResource}]),n}}updateMetadata(){throw new Error("Not supported")}installFromUri(){throw new Error("Not supported")}async getLocalServerInfo(t,e){if(!e.gallery)return;let[n]=await this.mcpGalleryService.getMcpServersFromGallery([{name:t}]);if(n)return{name:n.name,version:e.version,displayName:n.displayName,description:n.description,galleryUrl:n.galleryUrl,manifest:n.configuration,publisher:n.publisher,publisherDisplayName:n.publisherDisplayName,repositoryUrl:n.repositoryUrl,icon:n.icon}}canInstall(t){throw new Error("Not supported")}};mh=D([C(2,lh),C(3,Eo),C(4,gr),C(5,se),C(6,Gu)],mh);var gh=class extends zi{constructor(e,n,o,r,s){super(e,o);this.uriIdentityService=n;this.workspaceContextService=r;this.instantiationService=s;this._onInstallMcpServer=this._register(new T);this.onInstallMcpServer=this._onInstallMcpServer.event;this._onDidInstallMcpServers=this._register(new T);this.onDidInstallMcpServers=this._onDidInstallMcpServers.event;this._onDidUpdateMcpServers=this._register(new T);this.onDidUpdateMcpServers=this._onDidUpdateMcpServers.event;this._onUninstallMcpServer=this._register(new T);this.onUninstallMcpServer=this._onUninstallMcpServer.event;this._onDidUninstallMcpServer=this._register(new T);this.onDidUninstallMcpServer=this._onDidUninstallMcpServer.event;this.allMcpServers=[];this.workspaceMcpManagementServices=new Ne;this.initialize()}async initialize(){try{await this.onDidChangeWorkbenchState(),await this.onDidChangeWorkspaceFolders({added:this.workspaceContextService.getWorkspace().folders,removed:[],changed:[]}),this._register(this.workspaceContextService.onDidChangeWorkspaceFolders(e=>this.onDidChangeWorkspaceFolders(e))),this._register(this.workspaceContextService.onDidChangeWorkbenchState(e=>this.onDidChangeWorkbenchState()))}catch(e){this.logService.error("Failed to initialize workspace folders",e)}}async onDidChangeWorkbenchState(){this.workspaceConfiguration&&await this.removeWorkspaceService(this.workspaceConfiguration),this.workspaceConfiguration=this.workspaceContextService.getWorkspace().configuration,this.workspaceConfiguration&&await this.addWorkspaceService(this.workspaceConfiguration,5)}async onDidChangeWorkspaceFolders(e){try{await Promise.allSettled(e.removed.map(n=>this.removeWorkspaceService(n.toResource(Ws[Wi]))))}catch(n){this.logService.error(n)}try{await Promise.allSettled(e.added.map(n=>this.addWorkspaceService(n.toResource(Ws[Wi]),6)))}catch(n){this.logService.error(n)}}async addWorkspaceService(e,n){if(this.workspaceMcpManagementServices.has(e))return;let o=new G,r=o.add(this.instantiationService.createInstance(mh,e,n));try{let s=await r.getInstalled();if(this.allMcpServers.push(...s),s.length>0){let a=s.map(l=>({name:l.name,local:l,mcpResource:l.mcpResource}));this._onDidInstallMcpServers.fire(a)}}catch(s){this.logService.warn("Failed to get installed servers from",e.toString(),s)}o.add(r.onInstallMcpServer(s=>this._onInstallMcpServer.fire(s))),o.add(r.onDidInstallMcpServers(s=>{for(let{local:a}of s)a&&this.allMcpServers.push(a);this._onDidInstallMcpServers.fire(s)})),o.add(r.onDidUpdateMcpServers(s=>{for(let{local:a,mcpResource:l}of s)if(a){let d=this.allMcpServers.findIndex(c=>this.uriIdentityService.extUri.isEqual(c.mcpResource,l)&&c.name===a.name);d!==-1&&this.allMcpServers.splice(d,1,a)}this._onDidUpdateMcpServers.fire(s)})),o.add(r.onUninstallMcpServer(s=>this._onUninstallMcpServer.fire(s))),o.add(r.onDidUninstallMcpServer(s=>{let a=this.allMcpServers.findIndex(l=>this.uriIdentityService.extUri.isEqual(l.mcpResource,s.mcpResource)&&l.name===s.name);a!==-1&&(this.allMcpServers.splice(a,1),this._onDidUninstallMcpServer.fire(s))})),this.workspaceMcpManagementServices.set(e,{service:r,dispose:()=>o.dispose()})}async removeWorkspaceService(e){let n=this.workspaceMcpManagementServices.get(e);if(n){try{let o=await n.service.getInstalled();this.allMcpServers=this.allMcpServers.filter(r=>!o.some(s=>this.uriIdentityService.extUri.isEqual(s.mcpResource,r.mcpResource)));for(let r of o)this._onDidUninstallMcpServer.fire({name:r.name,mcpResource:r.mcpResource})}catch(o){this.logService.warn("Failed to get installed servers from",e.toString(),o)}this.workspaceMcpManagementServices.delete(e),n.dispose()}}async getInstalled(){return this.allMcpServers}async install(e,n){if(!n?.mcpResource)throw new Error("MCP resource is required");let o=this.workspaceMcpManagementServices.get(n?.mcpResource);if(!o)throw new Error(`No MCP management service found for resource: ${n?.mcpResource.toString()}`);return o.service.install(e,n)}async uninstall(e,n){let o=e.mcpResource,r=this.workspaceMcpManagementServices.get(o);if(!r)throw new Error(`No MCP management service found for resource: ${o.toString()}`);return r.service.uninstall(e,n)}installFromGallery(e,n){if(!n?.mcpResource)throw new Error("MCP resource is required");let o=this.workspaceMcpManagementServices.get(n?.mcpResource);if(!o)throw new Error(`No MCP management service found for resource: ${n?.mcpResource.toString()}`);return o.service.installFromGallery(e,n)}updateMetadata(){throw new Error("Not supported")}dispose(){this.workspaceMcpManagementServices.forEach(e=>e.dispose()),this.workspaceMcpManagementServices.clear(),super.dispose()}};gh=D([C(0,pl),C(1,gr),C(2,se),C(3,ei),C(4,On)],gh);var fh;(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))(fh||={});var g7="mcp.config.";function uF(i,t){return xe.toKey(i)+"/"+t}var f7;(n=>{function i(o,r){return o.id===r.id&&o.remoteAuthority===r.remoteAuthority&&o.label===r.label&&o.trustBehavior===r.trustBehavior&&Ct(o.sandbox,r.sandbox)}n.equals=i;function t(o){return o.configTarget===5||o.configTarget===6}n.isWorkspaceDiscovered=t;function e(o){return o.id.startsWith(`${g7}${oD}`)}n.isVscodeMcpJson=e})(f7||={});var h7;(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:ec.fromSerialized(o.launch),sandboxEnabled:o.sandboxEnabled,variableReplacement:o.variableReplacement?pF.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&&Jt(o.roots,r.roots,(s,a)=>s.toString()===a.toString())&&Ct(o.launch,r.launch)&&Ct(o.presentation,r.presentation)&&Ct(o.variableReplacement,r.variableReplacement)&&Ct(o.devMode,r.devMode)&&o.sandboxEnabled===r.sandboxEnabled}n.equals=e})(h7||={});var pF;(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})(pF||={});var v7;(t=>t.Empty={working:!1,starting:[],serversRequiringInteraction:[]})(v7||={});var Kye=R("IMcpService");var b7;(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||={})})(b7||={});var ec;(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 Fa(te.wrap(new Uint8Array(r)))}n.hash=e})(ec||={});var ri;(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(13010,null);case 1:return p(13009,null);case 2:return p(13008,null);case 3:return p(13007,null,s.message);default:Aa(s)}},r.toKindString=s=>{switch(s){case 0:return"stopped";case 1:return"starting";case 2:return"running";case 3:return"error";default:Aa(s)}},r.canBeStarted=s=>s===3||s===0,r.isRunning=s=>!(0,r.canBeStarted)(s.state)})(ri||={});var hh=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 y7=R("IMcpWorkbenchService"),EI=class extends F{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()}};EI=D([C(1,y7)],EI);var Gye=new E("mcpServersGalleryStatus","unavailable"),jye=new E("hasInstalledMcpServers",!0);var I7;(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:Fa(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:Zg(r.authority).toString(),resourceURL:c}}o.toServer=n})(I7||={});var Qye=R("IMcpServerSampling");var Jye=R("IMcpElicitationService");var $s="**",PI="/",wI="[/\\\\]",kI="[^/\\\\]",x7=/\//g;function mF(i,t){switch(i){case 0:return"";case 1:return`${kI}*?`;default:return`(?:${wI}|${kI}+${wI}${t?`|${wI}${kI}+`:""})*?`}}function Yu(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 bF(i){if(!i)return"";let t="",e=Yu(i,PI);if(e.every(n=>n===$s))t=".*";else{let n=!1;e.forEach((o,r)=>{if(o===$s){if(n)return;t+=mF(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===PI?u="":u=dr(c),d+=u;continue}switch(c){case"{":s=!0;continue;case"[":l=!0;continue;case"}":{let m=`(?:${Yu(a,",").map(g=>bF(g)).join("|")})`;t+=m,s=!1,a="";break}case"]":{t+="["+d+"]",l=!1,d="";break}case"?":t+=kI;continue;case"*":t+=mF(1);continue;default:t+=dr(c)}}r<e.length-1&&(e[r+1]!==$s||r+2<e.length)&&(t+=wI)}n=o===$s})}return t}var S7=/^\*\*\/\*\.[\w\.-]+$/,C7=/^\*\*\/([\w\.-]+)\/?$/,T7=/^{\*\*\/\*?[\w\.-]+\/?(,\*\*\/\*?[\w\.-]+\/?)*}$/,E7=/^{\*\*\/\*?[\w\.-]+(\/(\*\*)?)?(,\*\*\/\*?[\w\.-]+(\/(\*\*)?)?)*}$/,w7=/^\*\*((\/[\w\.-]+)+)\/?$/,k7=/^([\w\.-]+(\/[\w\.-]+)*)\/?$/,gF=new Tr(1e4),fF=function(){return!1},qi=function(){return null};function iD(i,t){if(!i)return qi;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?NO:(l,d)=>l.endsWith(d),isEqualOrParent:(l,d)=>Dd(l,d,t.ignoreCase??!qn)},r=`${n?e.toLowerCase():e}_${!!t.trimForExclusions}_${n}`,s=gF.get(r);if(s)return hF(s,i,o);let a;return S7.test(e)?s=P7(e.substring(4),e,o):(a=C7.exec(rD(e,o)))?s=_7(a[1],e,o):(t.trimForExclusions?E7:T7).test(e)?s=D7(e,o):(a=w7.exec(rD(e,o)))?s=vF(a[1].substring(1),e,!0,o):(a=k7.exec(rD(e,o)))?s=vF(a[1],e,!1,o):s=R7(e,o),gF.set(r,s),hF(s,i,o)}function hF(i,t,e){if(typeof t=="string")return i;let n=function(o,r){return e.isEqualOrParent(o,t.base)?i(Yw(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 rD(i,t){return t.trimForExclusions&&i.endsWith("/**")?i.substring(0,i.length-2):i}function P7(i,t,e){return function(n,o){return typeof n=="string"&&e.endsWith(n,i)?t:null}}function _7(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 D7(i,t){let e=IF(i.slice(1,-1).split(",").map(a=>iD(a,t)).filter(a=>a!==qi),i),n=e.length;if(!n)return qi;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 vF(i,t,e,n){let o=Gn===He.sep,r=o?i:i.replace(x7,Gn),s=Gn+r,a=He.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 R7(i,t){try{let e=new RegExp(`^${bF(i)}$`,t.ignoreCase?"i":void 0);return function(n){return e.lastIndex=0,typeof n=="string"&&e.test(n)?i:null}}catch{return qi}}function er(i,t,e){return!i||typeof t!="string"?!1:ii(i,e)(t)}function ii(i,t={}){if(!i)return fF;if(typeof i=="string"||yF(i)){let e=iD(i,t);if(e===qi)return fF;let n=function(o,r){return!!e(o,r)};return e.allBasenames&&(n.allBasenames=e.allBasenames),e.allPaths&&(n.allPaths=e.allPaths),n}return M7(i,t)}function yF(i){let t=i;return t?typeof t.base=="string"&&typeof t.pattern=="string":!1}function M7(i,t){let e=IF(Object.getOwnPropertyNames(i).map(a=>A7(a,i[a],t)).filter(a=>a!==qi)),n=e.length;if(!n)return qi;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 h=e[g](c,u);if(typeof h=="string")return h;kr(h)&&(m||(m=[]),m.push(h))}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-Ps(a).length)));let h=v(a,l,c,d);if(typeof h=="string")return h;kr(h)&&(u||(u=[]),u.push(h))}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 qi;let n=iD(i,e);if(n===qi)return qi;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 kr(u)?u.then(m=>m?i:null):u?i:null};return r.requiresSiblings=!0,r}}return n}function IF(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 O7=R("notebookDocumentService"),sD=["W","X","Y","Z","a","b","c","d","e","f"],L7=new RegExp(`^[${sD.join("")}]+`),xF=7;function _I(i){if(i.scheme!==q.vscodeNotebookCell)return;let t=i.fragment.indexOf("s");if(t<0)return;let e=parseInt(i.fragment.substring(0,t).replace(L7,""),xF),n=xo(i.fragment.substring(t+1)).toString();if(!isNaN(e))return{handle:e,notebook:i.with({scheme:n,fragment:null})}}function SF(i,t){let e=t.toString(xF),o=`${e.length<sD.length?sD[e.length-1]:"z"}${e}s${so(te.fromString(i.scheme),!0,!0)}`;return i.with({scheme:q.vscodeNotebookCell,fragment:o})}function CF(i){if(i.scheme!==q.vscodeNotebookMetadata)return;let t=xo(i.fragment).toString();return i.with({scheme:t,fragment:null})}function TF(i){let t=`${so(te.fromString(i.scheme),!0,!0)}`;return i.with({scheme:q.vscodeNotebookMetadata,fragment:t})}function lD(i){if(i.scheme!==q.vscodeNotebookCellOutput)return;let t=new URLSearchParams(i.query),e=t.get("openIn");if(!e)return;let n=t.get("outputId")??void 0,o=_I(i.with({scheme:q.vscodeNotebookCell,query:null})),r=t.get("outputIndex")?parseInt(t.get("outputIndex")||"",10):void 0,s=o?o.notebook:i.with({scheme:t.get("notebookScheme")||q.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 aD=class{constructor(){this._documents=new Ne}getNotebook(t){if(t.scheme===q.vscodeNotebookCell){let e=_I(t);if(e){let n=this._documents.get(e.notebook);if(n)return n}}if(t.scheme===q.vscodeNotebookCellOutput){let e=lD(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)}};ze(O7,aD,1);var xIe=["application/json","application/javascript","text/html","image/svg+xml",Qo.latex,Qo.markdown,"image/png","image/jpeg",Qo.text],SIe=[Qo.latex,Qo.markdown,"application/json","text/html","image/svg+xml","image/png","image/jpeg",Qo.text];var N7;(n=>{n.scheme=q.vscodeNotebookMetadata;function t(o){return TF(o)}n.generate=t;function e(o){return CF(o)}n.parse=e})(N7||={});var bh;(d=>{d.scheme=q.vscodeNotebookCell;function t(c,u){return SF(c,u)}d.generate=t;function e(c){return _I(c)}d.parse=e;function n(c,u){return c.with({scheme:q.vscodeNotebookCellOutput,query:new URLSearchParams({openIn:"editor",outputId:u??"",notebookScheme:c.scheme!==q.file?c.scheme:""}).toString()})}d.generateCellOutputUriWithId=n;function o(c,u,m){return c.with({scheme:q.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:q.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 lD(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})(bh||={});var CIe=new E("notebookEditorCursorAtBoundary","none"),TIe=new E("notebookEditorCursorAtLineBoundary","none");var EF=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 wF(i){let t=[],e=!1;for(let s of i)(t.length===0||e)&&(t.push(s),e=!0);let n=H7(t),o=te.concat(t.map(s=>te.wrap(s))),r=z7(o);return n=n||r.byteLength!==o.byteLength,{data:r,didCompression:n}}var DI="\x1B[A",dD=DI.split("").map(i=>i.charCodeAt(0)),F7=10;function H7(i){let t=!1;return i.forEach((e,n)=>{if(n===0||e.length<DI.length)return;let o=i[n-1],r=e.subarray(0,DI.length);if(r[0]===dD[0]&&r[1]===dD[1]&&r[2]===dD[2]){let s=o.lastIndexOf(F7);if(s===-1)return;t=!0,i[n-1]=o.subarray(0,s),i[n]=e.subarray(DI.length)}}),t}function V7(i){let t=i;do i=t,t=i.replace(/[^\n]\x08/gm,"");while(t.length<i.length);return i}function B7(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 W7=8,$7=13;function z7(i){return!i.buffer.includes(W7)&&!i.buffer.includes($7)?i:te.fromString(B7(V7(U7.decode(i.buffer))))}var wIe=R("scm");var kIe=R("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 FIe={2:p(17125,null),4:p(17124,null),8:p(17123,null)};var PF=i=>"runId"in i,yh;(e=>(e.serialize=n=>({range:n.range.toJSON(),uri:n.uri.toJSON()}),e.deserialize=(n,o)=>({range:Ue.lift(o.range),uri:n.asCanonicalUri(y.revive(o.uri))})))(yh||={});var cD;(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})))(cD||={});var uD;(e=>(e.serialize=n=>({message:n.message,type:0,expected:n.expected,actual:n.actual,contextValue:n.contextValue,location:n.location&&yh.serialize(n.location),stackTrace:n.stackTrace?.map(cD.serialize)}),e.deserialize=(n,o)=>({message:o.message,type:0,expected:o.expected,actual:o.actual,contextValue:o.contextValue,location:o.location&&yh.deserialize(n,o.location),stackTrace:o.stackTrace&&o.stackTrace.map(r=>cD.deserialize(n,r))})))(uD||={});var pD;(e=>(e.serialize=n=>({message:n.message,type:1,offset:n.offset,length:n.length,location:n.location&&yh.serialize(n.location)}),e.deserialize=(n,o)=>({message:o.message,type:1,offset:o.offset,length:o.length,location:o.location&&yh.deserialize(n,o.location)})))(pD||={});var mD;(n=>(n.serialize=o=>o.type===0?uD.serialize(o):pD.serialize(o),n.deserialize=(o,r)=>r.type===0?uD.deserialize(o,r):pD.deserialize(o,r),n.isDiffable=o=>o.type===0&&o.actual!==void 0&&o.expected!==void 0))(mD||={});var RI;(n=>(n.serializeWithoutMessages=o=>({state:o.state,duration:o.duration,messages:[]}),n.serialize=o=>({state:o.state,duration:o.duration,messages:o.messages.map(mD.serialize)}),n.deserialize=(o,r)=>({state:r.state,duration:r.duration,messages:r.messages.map(s=>mD.deserialize(o,s))})))(RI||={});var _F="\0",Xu=(i,t)=>i+_F+t,OI=i=>{let t=i.indexOf(_F);return{ctrlId:i.slice(0,t),tagId:i.slice(t+1)}},gD;(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?Ue.lift(o.range):null,description:o.description,error:o.error,sortText:o.sortText})))(gD||={});var tc;(e=>(e.serialize=n=>({expand:n.expand,item:gD.serialize(n.item)}),e.deserialize=(n,o)=>({controllerId:qe.root(o.item.extId),expand:o.expand,item:gD.deserialize(n,o.item)})))(tc||={});var MI;(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?Ue.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}}))(MI||={});var LI=(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)},q7;(n=>(n.serializeWithoutMessages=o=>({...tc.serialize(o),ownComputedState:o.ownComputedState,computedState:o.computedState,tasks:o.tasks.map(RI.serializeWithoutMessages)}),n.serialize=o=>({...tc.serialize(o),ownComputedState:o.ownComputedState,computedState:o.computedState,tasks:o.tasks.map(RI.serialize)}),n.deserialize=(o,r)=>({...tc.deserialize(o,r),ownComputedState:r.ownComputedState,computedState:r.computedState,tasks:r.tasks.map(s=>RI.deserialize(o,s)),retired:!0})))(q7||={});var DF;(e=>(e.empty=()=>({covered:0,total:0}),e.sum=(n,o)=>{n.covered+=o.covered,n.total+=o.total}))(DF||={});var K7;(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:DF.empty()})))(K7||={});function bD(i){return{...i,location:i.location?.toJSON()}}function yD(i){return i.location=i.location?vn.isIPosition(i.location)?vn.lift(i.location):Ue.lift(i.location):void 0,i}var G7;(e=>(e.serialize=n=>n.type===0?hD.serialize(n):vD.serialize(n),e.deserialize=n=>n.type===0?hD.deserialize(n):vD.deserialize(n)))(G7||={});var fD;(e=>(e.serialize=bD,e.deserialize=yD))(fD||={});var hD;(e=>(e.serialize=bD,e.deserialize=yD))(hD||={});var vD;(e=>(e.serialize=n=>({...bD(n),branches:n.branches?.map(fD.serialize)}),e.deserialize=n=>({...yD(n),branches:n.branches?.map(fD.deserialize)})))(vD||={});var NI;(e=>(e.deserialize=(n,o)=>o.op===0?{op:o.op,item:tc.deserialize(n,o.item)}:o.op===1?{op:o.op,item:MI.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:tc.serialize(n.item)}:n.op===1?{op:n.op,item:MI.serialize(n.item)}:n))(NI||={});var AI=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(tc.deserialize(this.uriIdentity,n.item),e);break;case 1:this.update(MI.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++),LI(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 BIe=R("IAiSettingsSearchService");var RF=R("editorGroupsService");var gxe=R("editorService"),MF=-1,AF=-2;var Ih=(i,t)=>i===t,j7={range:(i,t)=>i===t?!0:!i||!t?!1:i.equalsRange(t),busy:Ih,label:Ih,description:Ih,error:Ih,sortText:Ih,tags:(i,t)=>!(i.length!==t.length||i.some(e=>!t.includes(e)))},Q7=Object.entries(j7),J7=(i,t)=>{let e;for(let[n,o]of Q7)o(i[n],t[n])||(e?e[n]=t[n]:e={[n]:t[n]});return e},UI=class extends F{constructor(e){super();this.options=e;this.debounceSendDiff=this._register(new Jn(()=>this.flushDiff(),200));this.diffOpEmitter=this._register(new T);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){LI(n.item,e.item);return}if(n.op===0&&n.item.item.extId===e.item.extId){LI(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:Aa(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=J7(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=>Xu(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:Xu(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:Xu(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);kr(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 kr(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)}},ID=class extends Error{constructor(t){super(`Attempted to insert a duplicate test item ID ${t}`)}},ml=class extends Error{constructor(t){super(`TestItem with ID "${t}" is invalid. Make sure to create it from the createTestItem method.`)}},xD=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}".`)}},OF=(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 ml(l.id);let d=t(l).controllerId;if(d!==i.controllerId)throw new xD(l.id,d,i.controllerId);if(r.has(l.id))throw new ID(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 ml(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 LF=new WeakMap,NF=(i,t)=>{let e={controllerId:t};return LF.set(i,e),e},Zu=i=>{let t=LF.get(i);if(!t)throw new ml(i?.id||"<unknown>");return t};var Nxe=R("remoteAuthorityResolverService");var FI=class{constructor(t){this.id=t;this.type=1}toString(){return`Managed(${this.id})`}},HI=class{constructor(t,e){this.host=t;this.port=e;this.type=0}toString(){return`WebSocket(${this.host}:${this.port})`}};function SD(i){let t=i.indexOf("+");return t===-1?i:i.substring(0,t)}function he(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,Bt=class{constructor(t,e=!1){ru(this,Bn);$g(this,Bn,new gt(t,{supportThemeIcons:e}))}static isMarkdownString(t){return t instanceof Bt?!0:!t||typeof t!="object"?!1:t.appendCodeblock&&t.appendMarkdown&&t.appendText&&t.value!==void 0}get value(){return en(this,Bn).value}set value(t){en(this,Bn).value=t}get isTrusted(){return en(this,Bn).isTrusted}set isTrusted(t){en(this,Bn).isTrusted=t}get supportThemeIcons(){return en(this,Bn).supportThemeIcons}set supportThemeIcons(t){en(this,Bn).supportThemeIcons=t}get supportHtml(){return en(this,Bn).supportHtml}set supportHtml(t){en(this,Bn).supportHtml=t}get supportAlertSyntax(){return en(this,Bn).supportAlertSyntax}set supportAlertSyntax(t){en(this,Bn).supportAlertSyntax=t}get baseUri(){return en(this,Bn).baseUri}set baseUri(t){en(this,Bn).baseUri=t}appendText(t){return en(this,Bn).appendText(t),this}appendMarkdown(t){return en(this,Bn).appendMarkdown(t),this}appendCodeblock(t,e){return en(this,Bn).appendCodeblock(e??"",t),this}};Bn=new WeakMap,Bt=D([he],Bt);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 Le("line must be non-negative");if(e<0)throw Le("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 Le();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 Le();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=D([he],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 Le();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 CD(this)}};ve=D([he],ve);function CD(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=D([he],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 xh=(e=>(e[e.Unnecessary=1]="Unnecessary",e[e.Deprecated=2]="Deprecated",e))(xh||{}),nc=(o=>(o[o.Hint=3]="Hint",o[o.Information=2]="Information",o[o.Warning=1]="Warning",o[o.Error=0]="Error",o))(nc||{}),Ki=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()}};Ki=D([he],Ki);var zs=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:nc[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)&&Jt(t.tags,e.tags)&&Jt(t.relatedInformation,e.relatedInformation,Ki.isEqual)}};zs=D([he],zs);var zt=class{static isLocation(t){return t instanceof zt?!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}}};zt=D([he],zt);var Sh=(e=>(e[e.Markup=1]="Markup",e[e.Code=2]="Code",e))(Sh||{}),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 Le("start must be positive");if(e<0)throw Le("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)}},Gi=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)}},oc=class{constructor(t){this.cells=t}},_o=class{static isNotebookCellEdit(t){return t instanceof _o?!0:t?Wn.isNotebookRange(t)&&Array.isArray(t.newCells):!1}static replaceCells(t,e){return new _o(t,e)}static insertCells(t,e){return new _o(new Wn(t,t),e)}static deleteCells(t){return new _o(t,[])}static updateCellMetadata(t,e){let n=new _o(new Wn(t,t),[]);return n.newCellMetadata=e,n}static updateNotebookMetadata(t){let e=new _o(new Wn(0,0),[]);return e.newNotebookMetadata=t,e}constructor(t,e){this.range=t,this.newCells=e}};_o=D([he],_o);var rc=class i{constructor(t,e){this.data=t;this.mime=e;let n=jk(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=Qo.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)}},ji=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=jk(s.mime);if(!n.has(a)||wy(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=Ve(),this.metadata=e??n)}};var Nn=class extends ve{static isSelection(t){return t instanceof Nn?!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 Y7(this)}};Nn=D([he],Nn);function Y7(i){let t=CD(i);return i.isEmpty||(i.active.isEqual(i.start)?t=`|${t}`:t=`${t}|`),t}var Un=class{constructor(t){this._tabstop=1;this.value=t||""}static isSnippetString(t){return t instanceof Un?!0:!t||typeof t!="object"?!1:typeof t.value=="string"}static _escape(t){return t.replace(/\$|}|\\/g,"\\$&")}appendText(t){return this.value+=Un._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 Un;n._tabstop=this._tabstop,t(n),this._tabstop=n._tabstop,t=n.value}else t=Un._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 Un;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}};Un=D([he],Un);var qs=class i{static isSnippetTextEdit(t){return t instanceof i?!0:t?ve.isRange(t.range)&&Un.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 ep=(j=>(j[j.File=0]="File",j[j.Module=1]="Module",j[j.Namespace=2]="Namespace",j[j.Package=3]="Package",j[j.Class=4]="Class",j[j.Method=5]="Method",j[j.Property=6]="Property",j[j.Field=7]="Field",j[j.Constructor=8]="Constructor",j[j.Enum=9]="Enum",j[j.Interface=10]="Interface",j[j.Function=11]="Function",j[j.Variable=12]="Variable",j[j.Constant=13]="Constant",j[j.String=14]="String",j[j.Number=15]="Number",j[j.Boolean=16]="Boolean",j[j.Array=17]="Array",j[j.Object=18]="Object",j[j.Key=19]="Key",j[j.Null=20]="Null",j[j.EnumMember=21]="EnumMember",j[j.Struct=22]="Struct",j[j.Event=23]="Event",j[j.Operator=24]="Operator",j[j.TypeParameter=25]="TypeParameter",j))(ep||{}),Ch=(t=>(t[t.Deprecated=1]="Deprecated",t))(Ch||{}),br=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 zt?this.location=o:n instanceof ve&&(this.location=new zt(o,n)),br.validate(this)}toJSON(){return{name:this.name,kind:ep[this.kind],location:this.location,containerName:this.containerName}}};br=D([he],br);var ic=(e=>(e[e.LF=1]="LF",e[e.CRLF=2]="CRLF",e))(ic||{}),Pn=class{static isTextEdit(t){return t instanceof Pn?!0:!t||typeof t!="object"?!1:ve.isRange(t)&&typeof t.newText=="string"}static replace(t,e){return new Pn(t,e)}static insert(t,e){return Pn.replace(new ve(t,t),e)}static delete(t){return Pn.replace(t,"")}static setEndOfLine(t){let e=new Pn(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 Le("range");this._range=t}get newText(){return this._newText||""}set newText(t){if(t&&typeof t!="string")throw Le("newText");this._newText=t}get newEol(){return this._newEol}set newEol(t){if(t&&typeof t!="number")throw Le("newEol");this._newEol=t}constructor(t,e){this._range=t,this._newText=e}toJSON(){return{range:this.range,newText:this.newText,newEol:this._newEol}}};Pn=D([he],Pn);var tr=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 Pn(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,_o.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):qs.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}}w0(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 Ne;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()}};tr=D([he],tr);var TD=(e=>(e[e.Top=0]="Top",e[e.Bottom=1]="Bottom",e))(TD||{});var cc,Ie=class{constructor(t){ru(this,cc);$g(this,cc,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 en(this,cc)=="function"&&(en(this,cc).call(this),$g(this,cc,void 0))}};cc=new WeakMap,Ie=D([he],Ie);var HF=i=>{if(typeof i!="string"||i.length===0||!/^[0-9A-Za-z_\-]+$/.test(i))throw Le("connectionToken")},VI=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 Le("host");if(typeof e!="number"||e===0||Math.round(e)!==e)throw Le("port");typeof n<"u"&&HF(n),this.host=t,this.port=Math.round(e),this.connectionToken=n}},Rl=class{constructor(t,e){this.makeConnection=t;this.connectionToken=e;typeof e<"u"&&HF(e)}static isManagedResolvedAuthority(t){return t&&typeof t=="object"&&typeof t.makeConnection=="function"&&(t.connectionToken===void 0||typeof t.connectionToken=="string")}},ns=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)}},hx=(n=>(n[n.Replace=1]="Replace",n[n.Append=2]="Append",n[n.Prepend=3]="Prepend",n))(hx||{}),sc=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}};sc=D([he],sc);var gl=class extends sc{constructor(t,e,n,o){super(t,e),this.canIncreaseVerbosity=n,this.canDecreaseVerbosity=o}};gl=D([he],gl);var ED=(e=>(e[e.Increase=0]="Increase",e[e.Decrease=1]="Decrease",e))(ED||{}),vx=(n=>(n[n.Text=0]="Text",n[n.Read=1]="Read",n[n.Write=2]="Write",n))(vx||{}),fl=class{constructor(t,e=0){this.range=t,this.kind=e}toJSON(){return{range:this.range,kind:vx[this.kind]}}};fl=D([he],fl);var hl=class{constructor(t,e){this.uri=t,this.highlights=e}toJSON(){return{uri:this.uri,highlights:this.highlights.map(t=>t.toJSON())}}};hl=D([he],hl);var yr=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(yr.validate)}constructor(t,e,n,o,r){this.name=t,this.detail=e,this.kind=n,this.range=o,this.selectionRange=r,this.children=[],yr.validate(this)}};yr=D([he],yr);var bx=(e=>(e[e.Invoke=1]="Invoke",e[e.Automatic=2]="Automatic",e))(bx||{}),Ji=class{constructor(t,e){this.title=t,this.kind=e}};Ji=D([he],Ji);var Yi=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")}};Yi=D([he],Yi);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}},cp=class{constructor(t,e){this.fromRanges=e,this.from=t}},up=class{constructor(t,e){this.fromRanges=e,this.to=t}},yx=(n=>(n[n.Information=0]="Information",n[n.Warning=1]="Warning",n[n.Error=2]="Error",n))(yx||{}),vl=class{constructor(t,e){this.range=t,this.command=e}get isResolved(){return!!this.command}};vl=D([he],vl);var tp=class{constructor(t,e){this.label=t,this.documentation=e}};tp=D([he],tp);var np=class{constructor(t,e){this.label=t,this.documentation=e,this.parameters=[]}};np=D([he],np);var op=class{constructor(){this.activeSignature=0;this.activeParameter=0;this.signatures=[]}};op=D([he],op);var wD=(n=>(n[n.Invoke=1]="Invoke",n[n.TriggerCharacter=2]="TriggerCharacter",n[n.ContentChange=3]="ContentChange",n))(wD||{}),kD=(e=>(e[e.Type=1]="Type",e[e.Parameter=2]="Parameter",e))(kD||{}),bl=class{constructor(t){this.value=t}};bl=D([he],bl);var yl=class{constructor(t,e,n){this.position=t,this.label=e,this.kind=n}};yl=D([he],yl);var Ix=(n=>(n[n.Invoke=0]="Invoke",n[n.TriggerCharacter=1]="TriggerCharacter",n[n.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions",n))(Ix||{}),Eh=(Y=>(Y[Y.Text=0]="Text",Y[Y.Method=1]="Method",Y[Y.Function=2]="Function",Y[Y.Constructor=3]="Constructor",Y[Y.Field=4]="Field",Y[Y.Variable=5]="Variable",Y[Y.Class=6]="Class",Y[Y.Interface=7]="Interface",Y[Y.Module=8]="Module",Y[Y.Property=9]="Property",Y[Y.Unit=10]="Unit",Y[Y.Value=11]="Value",Y[Y.Enum=12]="Enum",Y[Y.Keyword=13]="Keyword",Y[Y.Snippet=14]="Snippet",Y[Y.Color=15]="Color",Y[Y.File=16]="File",Y[Y.Reference=17]="Reference",Y[Y.Folder=18]="Folder",Y[Y.EnumMember=19]="EnumMember",Y[Y.Constant=20]="Constant",Y[Y.Struct=21]="Struct",Y[Y.Event=22]="Event",Y[Y.Operator=23]="Operator",Y[Y.TypeParameter=24]="TypeParameter",Y[Y.User=25]="User",Y[Y.Issue=26]="Issue",Y))(Eh||{}),xx=(t=>(t[t.Deprecated=1]="Deprecated",t))(xx||{}),Il=class{constructor(t,e){this.label=t,this.kind=e}toJSON(){return{label:this.label,kind:this.kind&&Eh[this.kind],detail:this.detail,documentation:this.documentation,sortText:this.sortText,filterText:this.filterText,preselect:this.preselect,insertText:this.insertText,textEdit:this.textEdit}}};Il=D([he],Il);var si=class{constructor(t=[],e=!1){this.items=t,this.isIncomplete=e}};si=D([he],si);var rp=class{constructor(t,e,n){this.insertText=t,this.range=e,this.command=n}};rp=D([he],rp);var ip=class{constructor(t){this.commands=void 0;this.suppressSuggestions=void 0;this.items=t}};ip=D([he],ip);var Sx=(o=>(o[o.Unknown=0]="Unknown",o[o.Word=1]="Word",o[o.Line=2]="Line",o[o.Suggest=3]="Suggest",o))(Sx||{}),Cx=(n=>(n[n.Accepted=0]="Accepted",n[n.Rejected=1]="Rejected",n[n.Ignored=2]="Ignored",n))(Cx||{}),Tx=(e=>(e[e.Code=1]="Code",e[e.Label=2]="Label",e))(Tx||{}),Ex=(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))(Ex||{}),wx=(e=>(e[e.Left=1]="Left",e[e.Right=2]="Right",e))(wx||{});function VF(i,t){return`${xe.toKey(i)}.${t}`}var kx=(o=>(o[o.Off=0]="Off",o[o.On=1]="On",o[o.Relative=2]="Relative",o[o.Interval=3]="Interval",o))(kx||{}),Px=(n=>(n[n.Manual=1]="Manual",n[n.AfterDelay=2]="AfterDelay",n[n.FocusOut=3]="FocusOut",n))(Px||{}),_x=(o=>(o[o.Default=0]="Default",o[o.InCenter=1]="InCenter",o[o.InCenterIfOutsideViewport=2]="InCenterIfOutsideViewport",o[o.AtTop=3]="AtTop",o))(_x||{}),Cc=(n=>(n[n.Keyboard=1]="Keyboard",n[n.Mouse=2]="Mouse",n[n.Command=3]="Command",n))(Cc||{}),wh=(n=>(n[n.Addition=1]="Addition",n[n.Deletion=2]="Deletion",n[n.Modification=3]="Modification",n))(wh||{}),Dx=(e=>(e[e.Undo=1]="Undo",e[e.Redo=2]="Redo",e))(Dx||{}),Rx=(o=>(o[o.OpenOpen=0]="OpenOpen",o[o.ClosedClosed=1]="ClosedClosed",o[o.OpenClosed=2]="OpenClosed",o[o.ClosedOpen=3]="ClosedOpen",o))(Rx||{});(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})(Cc||={});var Tc=(o=>(o[o.Other=0]="Other",o[o.Comment=1]="Comment",o[o.String=2]="String",o[o.RegEx=3]="RegEx",o))(Tc||{});(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})(Tc||={});var xl=class{constructor(t,e){if(e&&!y.isUri(e))throw Le("target");if(!ve.isRange(t)||t.isEmpty)throw Le("range");this.range=t,this.target=e}};xl=D([he],xl);var ai=class{constructor(t,e,n,o){this.red=t,this.green=e,this.blue=n,this.alpha=o}};ai=D([he],ai);var Sl=class{constructor(t,e){if(e&&!(e instanceof ai))throw Le("color");if(!ve.isRange(t)||t.isEmpty)throw Le("range");this.range=t,this.color=e}};Sl=D([he],Sl);var Cl=class{constructor(t){if(!t||typeof t!="string")throw Le("label");this.label=t}};Cl=D([he],Cl);var Mx=(n=>(n[n.Error=0]="Error",n[n.Warning=1]="Warning",n[n.Information=2]="Information",n))(Mx||{}),PD=(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))(PD||{}),Ax=(n=>(n[n.Low=0]="Low",n[n.Medium=1]="Medium",n[n.High=2]="High",n))(Ax||{}),_D=(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))(_D||{}),BI=class{constructor(t,e,n){this.startIndex=t;this.length=e;this.tooltip=n;if(typeof t!="number"||t<0)throw Le("startIndex");if(typeof e!="number"||e<1)throw Le("length");if(n!==void 0&&typeof n!="string")throw Le("tooltip")}},WI=class{constructor(t){this.uri=t}},$I=class{constructor(t){this.terminalCommand=t}},DD=(e=>(e[e.Panel=1]="Panel",e[e.Editor=2]="Editor",e))(DD||{}),zI=class{constructor(t){this.options=t;if(typeof t!="object")throw Le("options")}},RD=(S=>(S[S.File=0]="File",S[S.Folder=1]="Folder",S[S.Method=2]="Method",S[S.Alias=3]="Alias",S[S.Argument=4]="Argument",S[S.Option=5]="Option",S[S.OptionValue=6]="OptionValue",S[S.Flag=7]="Flag",S[S.SymbolicLinkFile=8]="SymbolicLinkFile",S[S.SymbolicLinkFolder=9]="SymbolicLinkFolder",S[S.ScmCommit=10]="ScmCommit",S[S.ScmBranch=11]="ScmBranch",S[S.ScmTag=12]="ScmTag",S[S.ScmStash=13]="ScmStash",S[S.ScmRemote=14]="ScmRemote",S[S.PullRequest=15]="PullRequest",S[S.PullRequestDone=16]="PullRequestDone",S))(RD||{}),qI=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}},KI=class{constructor(t,e){this.items=t??[],this.resourceOptions=e}},MD=(n=>(n[n.Always=1]="Always",n[n.Silent=2]="Silent",n[n.Never=3]="Never",n))(MD||{}),AD=(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))(AD||{}),OD=(n=>(n[n.Shared=1]="Shared",n[n.Dedicated=2]="Dedicated",n[n.New=3]="New",n))(OD||{}),bn=class{constructor(t,e){this.label=e;if(typeof t!="string")throw Le("name");if(typeof e!="string")throw Le("name");this._id=t}static from(t){switch(t){case"clean":return bn.Clean;case"build":return bn.Build;case"rebuild":return bn.Rebuild;case"test":return bn.Test;default:return}}get id(){return this._id}};bn.Clean=new bn("clean","Clean"),bn.Build=new bn("build","Build"),bn.Rebuild=new bn("rebuild","Rebuild"),bn.Test=new bn("test","Test"),bn=D([he],bn);function BF(i){let t="";for(let e=0;e<i.length;e++)t+=i[e].replace(/,/g,",,")+",";return t}var Xi=class{constructor(t,e,n){if(typeof t!="string")throw Le("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 Le("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 BF(t)}};Xi=D([he],Xi);var li=class{constructor(t,e,n){this._args=[];if(Array.isArray(e)){if(!t)throw Le("command can't be undefined or null");if(typeof t!="string"&&typeof t.value!="string")throw Le("command");this._command=t,e&&(this._args=e),this._options=n}else{if(typeof t!="string")throw Le("commandLine");this._commandLine=t,this._options=e}}get commandLine(){return this._commandLine}set commandLine(t){if(typeof t!="string")throw Le("commandLine");this._commandLine=t}get command(){return this._command?this._command:""}set command(t){if(typeof t!="string"&&typeof t.value!="string")throw Le("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 BF(t)}};li=D([he],li);var LD=(n=>(n[n.Escape=1]="Escape",n[n.Strong=2]="Strong",n[n.Weak=3]="Weak",n))(LD||{}),Ox=(e=>(e[e.Global=1]="Global",e[e.Workspace=2]="Workspace",e))(Ox||{}),ND=(n=>(n[n.Default=1]="Default",n[n.FolderOpen=2]="FolderOpen",n[n.WorktreeCreated=3]="WorktreeCreated",n))(ND||{}),mc=class{constructor(t){this._callback=t}computeId(){return"customExecution"+Ve()}set callback(t){this._callback=t}get callback(){return this._callback}},_n=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 Xi?this._definition={type:_n.ProcessType,id:this._execution.computeId()}:this._execution instanceof li?this._definition={type:_n.ShellType,id:this._execution.computeId()}:this._execution instanceof mc?this._definition={type:_n.ExtensionCallbackType,id:this._execution.computeId()}:this._definition={type:_n.EmptyType,id:Ve()}}get definition(){return this._definition}set definition(t){if(t==null)throw Le("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 Le("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;(_n.EmptyType===e||_n.ProcessType===e||_n.ShellType===e||_n.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 Le("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}};_n.ExtensionCallbackType="customExecution",_n.ProcessType="process",_n.ShellType="shell",_n.EmptyType="$empty",_n=D([he],_n);var kh=(n=>(n[n.SourceControl=1]="SourceControl",n[n.Window=10]="Window",n[n.Notification=15]="Notification",n))(kh||{}),UD;(t=>{function i(e){let n=e;return ar(n.value)?n.tooltip&&!_e(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})(UD||={});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=ar(n.checkboxState)?n.checkboxState:nt(n.checkboxState)&&ar(n.checkboxState.state)?n.checkboxState.state:void 0,r=!ar(n.checkboxState)&&nt(n.checkboxState)?n.checkboxState.tooltip:void 0;if(o===void 0||o!==1&&o!==0||r!==void 0&&!_e(r))return console.log("INVALID tree item, invalid checkboxState",n.checkboxState),!1}if(t instanceof Zi)return!0;if(n.label!==void 0&&!_e(n.label)&&!n.label?.label)return console.log("INVALID tree item, invalid label",n.label),!1;if(n.id!==void 0&&!_e(n.id))return console.log("INVALID tree item, invalid id",n.id),!1;if(n.iconPath!==void 0&&!_e(n.iconPath)&&!y.isUri(n.iconPath)&&(!n.iconPath||!_e(n.iconPath.id))){let o=n.iconPath;if(!o||!_e(o.light)&&!y.isUri(o.light)&&!_e(o.dark)&&!y.isUri(o.dark))return console.log("INVALID tree item, invalid iconPath",n.iconPath),!1}return n.description!==void 0&&!_e(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&&!_e(n.tooltip)&&!(n.tooltip instanceof Bt)?(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&&!_e(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=D([he],Zi);var Lx=(n=>(n[n.None=0]="None",n[n.Collapsed=1]="Collapsed",n[n.Expanded=2]="Expanded",n))(Lx||{}),Nx=(e=>(e[e.Unchecked=0]="Unchecked",e[e.Checked=1]="Checked",e))(Nx||{}),ac=class{constructor(t){this.value=t}async asString(){return typeof this.value=="string"?this.value:JSON.stringify(this.value)}asFile(){}};ac=D([he],ac);var Al=class extends ac{},GI=class extends Al{#e;constructor(t){super(""),this.#e=t}asFile(){return this.#e}},jI=class{constructor(t,e,n,o){this.name=t,this.uri=e,this._itemId=n,this._getData=o}data(){return this._getData()}},Ks,uc,Th,Nr=class{constructor(t){ru(this,uc);ru(this,Ks,new Map);for(let[e,n]of t??[]){let o=en(this,Ks).get(zg(this,uc,Th).call(this,e));o?o.push(n):en(this,Ks).set(zg(this,uc,Th).call(this,e),[n])}}get(t){return en(this,Ks).get(zg(this,uc,Th).call(this,t))?.[0]}set(t,e){en(this,Ks).set(zg(this,uc,Th).call(this,t),[e])}forEach(t,e){for(let[n,o]of en(this,Ks))for(let r of o)t.call(e,r,n,this)}*[Symbol.iterator](){for(let[t,e]of en(this,Ks))for(let n of e)yield[t,n]}};Ks=new WeakMap,uc=new WeakSet,Th=function(t){return t.toLowerCase()},Nr=D([he],Nr);var sp=class{constructor(t,e,n){this.insertText=t,this.title=e,this.kind=n}};sp=D([he],sp);var FD=(e=>(e[e.Automatic=0]="Automatic",e[e.PasteAs=1]="PasteAs",e))(FD||{}),Ur=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)}};Ur.Empty=new Ur("");Ur.Text=new Ur("text");Ur.TextUpdateImports=Ur.Text.append("updateImports");var QI=class{constructor(t,e,n){this.title=e,this.insertText=t,this.kind=n}},ln=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}};ln=D([he],ln);ln.File=new ln("file");ln.Folder=new ln("folder");var Gs=class{constructor(t){this.id=t}};Gs=D([he],Gs);var Ux=(n=>(n[n.Global=1]="Global",n[n.Workspace=2]="Workspace",n[n.WorkspaceFolder=3]="WorkspaceFolder",n))(Ux||{}),es=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 Le("base");if(typeof e!="string")throw Le("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()}}};es=D([he],es);var WF=new WeakMap;function $F(i,t){WF.set(i,t)}var js=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=WF.get(this)??Ve()),this._id}};js=D([he],js);var di=class extends js{constructor(t,e,n,o,r,s){if(super(e,n,o,r,s),t===null)throw Le("location");this.location=t}};di=D([he],di);var ci=class extends js{constructor(t,e,n,o,r,s){super(e,n,o,r,s),this.functionName=t}};ci=D([he],ci);var lc=class extends js{constructor(t,e,n,o,r,s,a,l){if(super(o,r,s,a,l),!e)throw Le("dataId");this.label=t,this.dataId=e,this.canPersist=n}};lc=D([he],lc);var Tl=class{constructor(t,e,n){this.command=t,this.args=e||[],this.options=n}};Tl=D([he],Tl);var Qs=class{constructor(t,e){this.port=t,this.host=e}};Qs=D([he],Qs);var El=class{constructor(t){this.path=t}};El=D([he],El);var Js=class{constructor(t){this.implementation=t}};Js=D([he],Js);var pp=class{constructor(t,e,n){this.session=t;this.threadId=e;this.frameId=n}},mp=class{constructor(t,e){this.session=t;this.threadId=e}},wl=class{constructor(t,e){this.range=t,this.expression=e}};wl=D([he],wl);var Fx=(e=>(e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic",e))(Fx||{}),Hx=(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))(Hx||{}),kl=class{constructor(t,e){this.range=t,this.text=e}};kl=D([he],kl);var Pl=class{constructor(t,e,n=!0){this.range=t,this.variableName=e,this.caseSensitiveLookup=n}};Pl=D([he],Pl);var _l=class{constructor(t,e){this.range=t,this.expression=e}};_l=D([he],_l);var ap=class{constructor(t,e){this.frameId=t,this.stoppedLocation=e}};ap=D([he],ap);var HD=(t=>(t[t.AIGenerated=1]="AIGenerated",t))(HD||{}),Vx=(e=>(e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic",e))(Vx||{}),JI=class{constructor(t,e){this.newSymbolName=t,this.tags=e}},Bx=(n=>(n[n.Changed=1]="Changed",n[n.Created=2]="Created",n[n.Deleted=3]="Deleted",n))(Bx||{}),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",_k(this,e),Object.setPrototypeOf(this,ut.prototype),typeof Error.captureStackTrace=="function"&&typeof n=="function"&&Error.captureStackTrace(this,n)}};ut=D([he],ut);var lp=class{constructor(t,e,n){this.start=t,this.end=e,this.kind=n}};lp=D([he],lp);var Wx=(n=>(n[n.Comment=1]="Comment",n[n.Imports=2]="Imports",n[n.Region=3]="Region",n))(Wx||{}),$x=(e=>(e[e.Collapsed=0]="Collapsed",e[e.Expanded=1]="Expanded",e))($x||{}),VD=(e=>(e[e.Editing=0]="Editing",e[e.Preview=1]="Preview",e))(VD||{}),BD=(e=>(e[e.Published=0]="Published",e[e.Draft=1]="Draft",e))(BD||{}),zx=(e=>(e[e.Unresolved=0]="Unresolved",e[e.Resolved=1]="Resolved",e))(zx||{}),qx=(e=>(e[e.Current=0]="Current",e[e.Outdated=1]="Outdated",e))(qx||{}),Kx=(e=>(e[e.Reply=1]="Reply",e[e.Comment=2]="Comment",e))(Kx||{}),gc=class{constructor(t,e=[]){this.tokenTypes=t,this.tokenModifiers=e}};function e9(i){return typeof i>"u"||U0(i)}var YI=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"&&e9(n))return this._push(t,e,n);throw Le()}_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,h=v===0?c-s:c,I=5*a;o[I+0]=v,o[I+1]=h,o[I+2]=u,o[I+3]=m,o[I+4]=g,r=d,s=c}return o}build(t){return this._dataIsSortedAndDeltaEncoded?new ui(new Uint32Array(this._data),t):new ui(i._sortAndDeltaEncode(this._data),t)}},ui=class{constructor(t,e){this.resultId=e,this.data=t}},gp=class{constructor(t,e,n){this.start=t,this.deleteCount=e,this.data=n}},Ol=class{constructor(t,e){this.resultId=e,this.edits=t}},Gx=(e=>(e[e.Separate=0]="Separate",e[e.MergeWithParent=1]="MergeWithParent",e))(Gx||{}),XI=class{constructor(t){this.name=t}},WD=(n=>(n[n.Title=1]="Title",n[n.Inline=2]="Inline",n[n.Input=3]="Input",n))(WD||{}),Qi=class{constructor(){}};Qi.Back={iconPath:new ln("arrow-left")},Qi=D([he],Qi);var jx=(e=>(e[e.Separator=-1]="Separator",e[e.Default=0]="Default",e))(jx||{}),Qx=(n=>(n[n.Info=1]="Info",n[n.Warning=2]="Warning",n[n.Error=3]="Error",n))(Qx||{}),Jx=(e=>(e[e.UI=1]="UI",e[e.Workspace=2]="Workspace",e))(Jx||{}),fc=class{static validate(t){if(typeof t.badge=="string"){let e=Zw(t.badge,0);if(e<t.badge.length&&(e+=Zw(t.badge,e)),t.badge.length>e)throw new Error("The 'badge'-property must be undefined or a short character")}else if(t.badge&&!ln.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}},dc=class{constructor(t){this.kind=t}};dc=D([he],dc);var Yx=(o=>(o[o.Light=1]="Light",o[o.Dark=2]="Dark",o[o.HighContrast=3]="HighContrast",o[o.HighContrastLight=4]="HighContrastLight",o))(Yx||{}),ZI=class{constructor(t,e,n){this.label=t;this.uri=e;this.position=n}},$D=(n=>(n[n.Idle=1]="Idle",n[n.Pending=2]="Pending",n[n.Executing=3]="Executing",n))($D||{}),Xx=(e=>(e[e.Left=1]="Left",e[e.Right=2]="Right",e))(Xx||{}),Zx=(o=>(o[o.Default=0]="Default",o[o.InCenter=1]="InCenter",o[o.InCenterIfOutsideViewport=2]="InCenterIfOutsideViewport",o[o.AtTop=3]="AtTop",o))(Zx||{}),ex=class{constructor(t,e){this.text=t;this.alignment=e}},zD=(e=>(e[e.Default=1]="Default",e[e.Preferred=2]="Preferred",e))(zD||{}),eS=(n=>(n[n.Default=1]="Default",n[n.Preferred=2]="Preferred",n[n.Hidden=-1]="Hidden",n))(eS||{}),fp=class{constructor(t,e=[]){this.uri=t;this.provides=gn(e)}},tx=class{constructor(t){this.label=t}},tS=(e=>(e[e.Named=1]="Named",e[e.Indexed=2]="Indexed",e))(tS||{}),dp=class{constructor(t,e){this.label=t;this.timestamp=e}};dp=D([he],dp);var nS=(n=>(n[n.Production=1]="Production",n[n.Development=2]="Development",n[n.Test=3]="Test",n))(nS||{}),oS=(e=>(e[e.Node=1]="Node",e[e.Webworker=2]="Webworker",e))(oS||{}),Ph=(o=>(o[o.Other=0]="Other",o[o.Comment=1]="Comment",o[o.String=2]="String",o[o.RegEx=3]="RegEx",o))(Ph||{}),qD=(r=>(r[r.None=0]="None",r[r.Italic=1]="Italic",r[r.Bold=2]="Bold",r[r.Underline=4]="Underline",r[r.Strikethrough=8]="Strikethrough",r))(qD||{}),nx=class{constructor(t,e){this.ranges=t;this.wordPattern=e}},ox=class{constructor(t){this._autoForwardAction=t}get autoForwardAction(){return this._autoForwardAction}},KD=(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))(KD||{}),rS=(n=>(n[n.Run=1]="Run",n[n.Debug=2]="Debug",n[n.Coverage=3]="Coverage",n))(rS||{}),hp=class{constructor(t,e,n){this.controllerId=t;this.profileId=e;this.kind=n}},Dl=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}};Dl=D([he],Dl);var ts=class{constructor(t){this.message=t}static diff(t,e,n){let o=new ts(t);return o.expectedOutput=e,o.actualOutput=n,o}};ts=D([he],ts);var Ys=class{constructor(t){this.id=t}};Ys=D([he],Ys);var rx=class{constructor(t,e,n){this.label=t;this.uri=e;this.position=n}},pc=class{constructor(t,e){this.covered=t;this.total=e;_h(this)}};function _h(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 Xs=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 pc(0,0),o=new pc(0,0),r=new pc(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}},vp=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}},bp=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}},yp=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}},GD=(o=>(o[o.None=0]="None",o[o.Option=1]="Option",o[o.Default=2]="Default",o[o.Preferred=3]="Preferred",o))(GD||{}),jD=(n=>(n[n.Untrusted=0]="Untrusted",n[n.Trusted=1]="Trusted",n[n.Unspecified=2]="Unspecified",n))(jD||{}),QD=(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))(QD||{}),Ll=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}},Nl=class{constructor(t){this.uri=t}},Zs=class{constructor(t,e){this.original=t;this.modified=e}},Ip=class{constructor(t,e,n,o){this.base=t;this.input1=e;this.input2=n;this.result=o}},Ul=class{constructor(t,e){this.uri=t;this.viewType=e}},xp=class{constructor(t){this.viewType=t}},Fl=class{constructor(t,e){this.uri=t;this.notebookType=e}},Hl=class{constructor(t,e,n){this.original=t;this.modified=e;this.notebookType=n}},Sp=class{constructor(){}},Cp=class{constructor(t,e){this.uri=t;this.inputBoxUri=e}},Tp=class{constructor(){}},Ep=class{constructor(t){this.textDiffs=t}},JD=(e=>(e[e.Down=0]="Down",e[e.Up=1]="Up",e))(JD||{}),YD=(e=>(e[e.Action=1]="Action",e[e.Toolbar=2]="Toolbar",e))(YD||{}),XD=(n=>(n[n.Short=1]="Short",n[n.Medium=2]="Medium",n[n.Full=3]="Full",n))(XD||{}),ix=class{constructor(t,e,n){this.id=t,this.label=e,this.values=n}},iS=(n=>(n[n.Accepted=1]="Accepted",n[n.Rejected=2]="Rejected",n[n.Saved=3]="Saved",n))(iS||{}),ZD=(n=>(n[n.Keep=1]="Keep",n[n.Undo=2]="Undo",n[n.UserModification=3]="UserModification",n))(ZD||{}),eR=(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))(eR||{}),sS=(e=>(e[e.Unhelpful=0]="Unhelpful",e[e.Helpful=1]="Helpful",e))(sS||{}),ea=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 Bt(t):t}},os=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 Bt(t):t,this.vulnerabilities=e}},ta=class{constructor(t,e,n,o){this.title=t,this.message=e,this.data=n,this.buttons=o}},na=class{constructor(t,e){this.value=t,this.baseUri=e}},hc=class{constructor(t,e,n){this.value=t,this.title=e,this.readOnly=n}},sx=class{constructor(t,e){this.data=t,this.mimeType=e}},wp=class{constructor(t,e,n,o){this.description=t,this.agentName=e,this.prompt=n,this.result=o}},vc=class{constructor(t,e){this.uris=t;this.callback=e;this.applied=new Promise(n=>{this.didGetApplied=n})}},rs=class{constructor(t,e){this.value=t,this.value2=t,this.title=e}},bc=class{constructor(t){this.value=t}},Vl=class{constructor(t,e){this.value=t,this.task=e}},pi=class{constructor(t,e,n){this.value=t,this.id=e,this.metadata=n}},oa=class{constructor(t,e,n,o){this.hookType=t,this.stopReason=e,this.systemMessage=n,this.metadata=o}},is=class{constructor(t,e,n,o){this.resolvedModel=t,this.resolvedModelName=e,this.predictedLabel=n,this.confidence=o}},ss=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 Bt(t):t}},ra=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 Bt(t):t}},ia=class{constructor(t){this.value=t}},Fr=class{constructor(t,e,n){this.value=t,this.iconPath=e,this.options=n}},sa=class{constructor(t,e,n){this.value=t,this.isEdit=e,this.undoStopId=n}},aa=class{constructor(t,e,n){this.value=t,this.license=e,this.snippet=n}},la=class{constructor(t,e){this.uri=t;this.range=e}},Bl=class{constructor(t){this.extensions=t}},Wl=class{constructor(t,e,n,o,r){this.title=e;this.description=n;this.author=o;this.linkTag=r;$a(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}}},aS=(n=>(n[n.Text=1]="Text",n[n.SingleSelect=2]="SingleSelect",n[n.MultiSelect=3]="MultiSelect",n))(aS||{}),kp=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}},as=class{constructor(t,e=!0){this.questions=t,this.allowSkip=e}},ls=class{constructor(t,e){this.uri=t,e===!0?(this.isDone=!0,this.edits=[]):this.edits=Array.isArray(e)?e:[e]}},da=class{constructor(t,e){this.uri=t,e===!0?(this.isDone=!0,this.edits=[]):this.edits=Array.isArray(e)?e:[e]}},$l=class{constructor(t){this.edits=t}},lS=(n=>(n[n.NotStarted=1]="NotStarted",n[n.InProgress=2]="InProgress",n[n.Completed=3]="Completed",n))(lS||{}),dS=(n=>(n[n.Running=0]="Running",n[n.Completed=1]="Completed",n[n.Failed=2]="Failed",n))(dS||{}),yc=class{constructor(t,e,n){this.toolName=t,this.toolCallId=e,this.errorMessage=n}},ds=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}},Pp=class{constructor(t,e,n,o){this.response=t;this.result=e;this.participant=n;this.command=o}},ax=class{constructor(t,e,n,o){this.response=t;this.result=e;this.participant=n;this.command=o}},cS=(o=>(o[o.Panel=1]="Panel",o[o.Terminal=2]="Terminal",o[o.Notebook=3]="Notebook",o[o.Editor=4]="Editor",o))(cS||{}),tR=(o=>(o[o.Failed=0]="Failed",o[o.Completed=1]="Completed",o[o.InProgress=2]="InProgress",o[o.NeedsInput=3]="NeedsInput",o))(tR||{}),Hr=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")}},nR=(o=>(o[o.Trace=0]="Trace",o[o.Info=1]="Info",o[o.Warning=2]="Warning",o[o.Error=3]="Error",o))(nR||{}),uS=(e=>(e[e.Success=0]="Success",e[e.Error=1]="Error",e))(uS||{}),pS=(n=>(n[n.Success=0]="Success",n[n.Error=1]="Error",n[n.NonBlockingError=2]="NonBlockingError",n))(pS||{}),_p=class{constructor(t,e){this._kind="toolCall";this.toolName=t,this.created=e}},Dp=class{constructor(t){this._kind="modelTurn";this.created=t}},Rp=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}},Ic=class{constructor(t,e){this.name=t,this.content=e}},Ap=class{constructor(t,e){this._kind="userMessage";this.message=t,this.created=e,this.sections=[]}},Op=class{constructor(t,e){this._kind="agentResponse";this.message=t,this.created=e,this.sections=[]}},lx=class{constructor(t){this._kind="text";this.value=t}},mS=(e=>(e[e.User=0]="User",e[e.Agent=1]="Agent",e))(mS||{}),dx=class{constructor(t,e,n){this._kind="messageContent";this.type=t,this.message=e,this.sections=n}},cx=class{constructor(t){this._kind="toolCallContent";this.toolName=t}},ux=class{constructor(t){this._kind="modelTurnContent";this.requestName=t}},px=class{constructor(t){this._kind="hookContent";this.hookType=t}},mx=class{constructor(t,e,n,o,r){this.uri=t;this.originalUri=e;this.modifiedUri=n;this.insertions=o;this.deletions=r}},oR=(n=>(n[n.Complete=1]="Complete",n[n.Partial=2]="Partial",n[n.Omitted=3]="Omitted",n))(oR||{}),rR=(n=>(n[n.NoReason=0]="NoReason",n[n.FilteredContentRetry=1]="FilteredContentRetry",n[n.CopyrightContentRetry=2]="CopyrightContentRetry",n))(rR||{}),Lp=class{constructor(t,e,n,o){this.editor=t;this.document=e;this.selection=n;this.wholeRange=o}},Np=class{constructor(t){this.cell=t}},Up=class{constructor(t,e,n,o,r){this.mimeType=t,this.data=e,this.reference=n,this.isPasted=o,this.isURL=r}},zl=class{constructor(t){this.diagnostics=t}},Dh=(n=>(n[n.User=1]="User",n[n.Assistant=2]="Assistant",n[n.System=3]="System",n))(Dh||{}),cs=class{constructor(t,e,n){this.callId=t,this.content=e,this.isError=n??!1}},iR=(n=>(n[n.Info=0]="Info",n[n.Warning=1]="Warning",n[n.Error=2]="Error",n))(iR||{}),sR=(n=>(n[n.Info=0]="Info",n[n.Warning=1]="Warning",n[n.Error=2]="Error",n))(sR||{}),Fp=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 qt(t)]:this._content=t}get content(){return this._content}},Hp=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 qt(t)]:this._content=t}get content(){return this._content}set content2(t){t&&(this.content=t.map(e=>typeof e=="string"?new qt(e):e))}get content2(){return this.content.map(t=>t instanceof qt?t.value:t)}},Vr=class{constructor(t,e,n){this.callId=t,this.name=e,this.input=n}},gS=(n=>(n[n.Assistant=0]="Assistant",n[n.User=1]="User",n[n.Extension=2]="Extension",n))(gS||{}),qt=class{constructor(t,e){this.value=t,e=e}toJSON(){return{$mid:21,value:this.value,audience:this.audience}}},yn=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=Qo.text){return new i(te.fromString(t).buffer,e)}toJSON(){return{$mid:24,mimeType:this.mimeType,data:so(te.wrap(this.data)),audience:this.audience}}},aR=(r=>(r.PNG="image/png",r.JPEG="image/jpeg",r.GIF="image/gif",r.WEBP="image/webp",r.BMP="image/bmp",r))(aR||{}),mi=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}}},Br=class{constructor(t){this.value=t}toJSON(){return{$mid:23,value:this.value}}};var nr=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??""}},ql=class{constructor(t){this.content=t}toJSON(){return{$mid:20,content:this.content}}},gx=class{constructor(t){this.content=t}toJSON(){return{$mid:20,content:this.content}}},fx=class extends ql{},fS=(e=>(e[e.Auto=1]="Auto",e[e.Required=2]="Required",e))(fS||{}),Vp=class{constructor(t,e){this.id=t;this.label=e}},Bp=class{constructor(t,e,n){this.label=t;this.name=e;this.instructions=n}},lR=(o=>(o[o.SymbolInformation=1]="SymbolInformation",o[o.CommandInformation=2]="CommandInformation",o[o.SearchInformation=3]="SearchInformation",o[o.SettingInformation=4]="SettingInformation",o))(lR||{}),dR=(n=>(n[n.EMBEDDED=1]="EMBEDDED",n[n.LLM_RANKED=2]="LLM_RANKED",n[n.CANCELED=3]="CANCELED",n))(dR||{}),cR=(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))(cR||{}),uR=(n=>(n[n.Started=1]="Started",n[n.Stopped=2]="Stopped",n[n.Error=3]="Error",n))(uR||{}),pR=(e=>(e[e.Recognized=1]="Recognized",e[e.Stopped=2]="Stopped",e))(pR||{}),hS=(e=>(e[e.Initial=0]="Initial",e[e.Dynamic=1]="Dynamic",e))(hS||{}),xc=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}},Sc=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 go;(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 Nn(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})(go||={});var B;(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})(B||={});var Wr;(e=>{function i(n){return{uri:n.uri,range:B.from(n.range)}}e.from=i;function t(n){return new zt(y.revive(n.uri),B.to(n.range))}e.to=t})(Wr||={});var IR;(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})(IR||={});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 gi;(n=>{function i(o,r,s){return dt(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:Do.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}})(gi||={});var mR;(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})(mR||={});var pa;(e=>{function i(n){let o;return n.code&&(_e(n.code)||ar(n.code)?o=String(n.code):o={value:String(n.code.value),target:n.code.target}),{...B.from(n.range),message:n.message,source:n.source,code:o,severity:vS.from(n.severity),relatedInformation:n.relatedInformation&&n.relatedInformation.map(gR.from),tags:Array.isArray(n.tags)?dt(n.tags.map(mR.from)):void 0}}e.from=i;function t(n){let o=new zs(B.to(n),n.message,vS.to(n.severity));return o.source=n.source,o.code=_e(n.code)?n.code:n.code?.value,o.relatedInformation=n.relatedInformation&&n.relatedInformation.map(gR.to),o.tags=n.tags&&dt(n.tags.map(mR.to)),o}e.to=t})(pa||={});var gR;(e=>{function i(n){return{...B.from(n.location.range),message:n.message,resource:n.location.uri}}e.from=i;function t(n){return new Ki(new zt(n.resource,B.to(n)),n.message)}e.to=t})(gR||={});var vS;(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})(vS||={});var Ot;(e=>{function i(n){return typeof n=="number"&&n>=1?n-1:n===-2?AF:MF}e.from=i;function t(n){if(typeof n=="number"&&n>=0)return n+1;throw new Error("invalid 'EditorGroupColumn'")}e.to=t})(Ot||={});function a9(i){return typeof i.range<"u"}function xR(i){return i.length===0?!0:!!a9(i[0])}var ge;(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 Bt.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 Ut.walkTokens(Ut.lexer(l.value),u=>{u.type==="link"?c({href:u.href}):u.type==="image"&&typeof u.href=="string"&&c(VL(u.href))}),l}s.from=e;function n(a,l){if(!a)return a;let d;try{d=Ey(a)}catch{}if(!d)return a;let c=!1;return d=Zr(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 Bt(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})(ge||={});function zF(i){return xR(i)?i.map(t=>({range:B.from(t.range),hoverMessage:Array.isArray(t.hoverMessage)?ge.fromMany(t.hoverMessage):t.hoverMessage?ge.from(t.hoverMessage):void 0,renderOptions:t.renderOptions})):i.map(t=>({range:B.from(t)}))}function Fh(i){return typeof i>"u"?i:typeof i=="string"?y.file(i):i}var Rh;(t=>{function i(e){return typeof e>"u"?e:{contentText:e.contentText,contentIconPath:e.contentIconPath?Fh(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})(Rh||={});var fR;(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?Fh(e.gutterIconPath):void 0,gutterIconSize:e.gutterIconSize,overviewRulerColor:e.overviewRulerColor,before:e.before?Rh.from(e.before):void 0,after:e.after?Rh.from(e.after):void 0}}t.from=i})(fR||={});var qF;(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})(qF||={});var SR;(t=>{function i(e){return{isWholeLine:e.isWholeLine,rangeBehavior:e.rangeBehavior?qF.from(e.rangeBehavior):void 0,overviewRulerLane:e.overviewRulerLane,light:e.light?fR.from(e.light):void 0,dark:e.dark?fR.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?Fh(e.gutterIconPath):void 0,gutterIconSize:e.gutterIconSize,overviewRulerColor:e.overviewRulerColor,before:e.before?Rh.from(e.before):void 0,after:e.after?Rh.from(e.after):void 0}}t.from=i})(SR||={});var mn;(e=>{function i(n){return{text:n.newText,eol:n.newEol&&kc.from(n.newEol),range:B.from(n.range)}}e.from=i;function t(n){let o=new Pn(B.to(n.range),n.text);return o.newEol=typeof n.eol>"u"?void 0:kc.to(n.eol),o}e.to=t})(mn||={});var eo;(e=>{function i(n,o){let r={edits:[]};if(n instanceof tr){let s=new sr;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:so(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:mn.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:B.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(Ah.from)}})}return r}e.from=i;function t(n){let o=new tr,r=new Ne;for(let s of n.edits)if(s.textEdit){let a=s,l=y.revive(a.resource),d=B.to(a.textEdit.range),c=a.textEdit.text,u=a.textEdit.insertAsSnippet,m;u?m=qs.replace(d,new Un(c)):m=Pn.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})(eo||={});var Ir;(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})(Ir||={});var ca;(e=>{function i(n){if(n===1)return 1}e.from=i;function t(n){if(n===1)return 1}e.to=t})(ca||={});var Kl;(e=>{function i(n){return{name:n.name,kind:Ir.from(n.kind),tags:n.tags&&n.tags.map(ca.from),containerName:n.containerName,location:Zn.from(n.location)}}e.from=i;function t(n){let o=new br(n.name,Ir.to(n.kind),n.containerName,Zn.to(n.location));return o.tags=n.tags&&n.tags.map(ca.to),o}e.to=t})(Kl||={});var CR;(e=>{function i(n){let o={name:n.name||"!!MISSING: name!!",detail:n.detail,range:B.from(n.range),selectionRange:B.from(n.selectionRange),kind:Ir.from(n.kind),tags:n.tags?.map(ca.from)??[]};return n.children&&(o.children=n.children.map(i)),o}e.from=i;function t(n){let o=new yr(n.name,n.detail,Ir.to(n.kind),B.to(n.range),B.to(n.selectionRange));return Ma(n.tags)&&(o.tags=n.tags.map(ca.to)),n.children&&(o.children=n.children.map(t)),o}e.to=t})(CR||={});var ma;(e=>{function i(n){let o=new Ml(Ir.to(n.kind),n.name,n.detail||"",y.revive(n.uri),B.to(n.range),B.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:Ir.from(n.kind),uri:n.uri,range:B.from(n.range),selectionRange:B.from(n.selectionRange),tags:n.tags?.map(ca.from)}}e.from=t})(ma||={});var TR;(t=>{function i(e){return new cp(ma.to(e.from),e.fromRanges.map(n=>B.to(n)))}t.to=i})(TR||={});var ER;(t=>{function i(e){return new up(ma.to(e.to),e.fromRanges.map(n=>B.to(n)))}t.to=i})(ER||={});var Zn;(e=>{function i(n){return{range:n.range&&B.from(n.range),uri:n.uri}}e.from=i;function t(n){return new zt(y.revive(n.uri),B.to(n.range))}e.to=t})(Zn||={});var qp;(e=>{function i(n){let o=n,r=n;return{originSelectionRange:o.originSelectionRange?B.from(o.originSelectionRange):void 0,uri:o.targetUri?o.targetUri:r.uri,range:B.from(o.targetRange?o.targetRange:r.range),targetSelectionRange:o.targetSelectionRange?B.from(o.targetSelectionRange):void 0}}e.from=i;function t(n){return{targetUri:y.revive(n.uri),targetRange:B.to(n.range),targetSelectionRange:n.targetSelectionRange?B.to(n.targetSelectionRange):void 0,originSelectionRange:n.originSelectionRange?B.to(n.originSelectionRange):void 0}}e.to=t})(qp||={});var Kp;(e=>{function i(n){return{range:B.from(n.range),contents:ge.fromMany(n.contents),canIncreaseVerbosity:n.canIncreaseVerbosity,canDecreaseVerbosity:n.canDecreaseVerbosity}}e.from=i;function t(n){let o=n.contents.map(ge.to),r=B.to(n.range),s=n.canIncreaseVerbosity,a=n.canDecreaseVerbosity;return new gl(o,r,s,a)}e.to=t})(Kp||={});var wR;(e=>{function i(n){return{range:B.from(n.range),expression:n.expression}}e.from=i;function t(n){return new wl(B.to(n.range),n.expression)}e.to=t})(wR||={});var Hh;(e=>{function i(n){if(n instanceof kl)return{type:"text",range:B.from(n.range),text:n.text};if(n instanceof Pl)return{type:"variable",range:B.from(n.range),variableName:n.variableName,caseSensitiveLookup:n.caseSensitiveLookup};if(n instanceof _l)return{type:"expression",range:B.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:B.to(n.range),text:n.text};case"variable":return{range:B.to(n.range),variableName:n.variableName,caseSensitiveLookup:n.caseSensitiveLookup};case"expression":return{range:B.to(n.range),expression:n.expression}}}e.to=t})(Hh||={});var Vh;(e=>{function i(n){return{frameId:n.frameId,stoppedLocation:B.from(n.stoppedLocation)}}e.from=i;function t(n){return new ap(n.frameId,B.to(n.stoppedLocation))}e.to=t})(Vh||={});var wc;(e=>{function i(n){return{range:B.from(n.range),kind:n.kind}}e.from=i;function t(n){return new fl(B.to(n.range),n.kind)}e.to=t})(wc||={});var kR;(e=>{function i(n){return{uri:n.uri,highlights:n.highlights.map(wc.from)}}e.from=i;function t(n){return new hl(y.revive(n.uri),n.highlights.map(wc.to))}e.to=t})(kR||={});var KF;(t=>{function i(e){switch(e){case 1:return 1;case 2:return 2;case 0:default:return 0}}t.to=i})(KF||={});var PR;(t=>{function i(e){return{triggerKind:KF.to(e.triggerKind),triggerCharacter:e.triggerCharacter}}t.to=i})(PR||={});var bS;(e=>{function i(n){if(n===1)return 1}e.from=i;function t(n){if(n===1)return 1}e.to=t})(bS||={});var _R;(t=>{function i(e,n,o){return"icon"in e&&"command"in e?{command:n.toInternal(e.command,o),icon:fi.fromThemeIcon(e.icon)}:{command:n.toInternal(e,o)}}t.from=i})(_R||={});var yS;(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})(yS||={});var DR;(t=>{function i(e,n){let o=new Il(e.label);return o.insertText=e.insertText,o.kind=yS.to(e.kind),o.tags=e.tags?.map(bS.to),o.detail=e.detail,o.documentation=wo(e.documentation)?ge.to(e.documentation):e.documentation,o.sortText=e.sortText,o.filterText=e.filterText,o.preselect=e.preselect,o.commitCharacters=e.commitCharacters,Ue.isIRange(e.range)?o.range=B.to(e.range):typeof e.range=="object"&&(o.range={inserting:B.to(e.range.insert),replacing:B.to(e.range.replace)}),o.keepWhitespace=typeof e.insertTextRules>"u"?!1:!!(e.insertTextRules&1),typeof e.insertTextRules<"u"&&e.insertTextRules&4?o.insertText=new Un(e.insertText):(o.insertText=e.insertText,o.textEdit=o.range instanceof ve?new Pn(o.range,o.insertText):void 0),e.additionalTextEdits&&e.additionalTextEdits.length>0&&(o.additionalTextEdits=e.additionalTextEdits.map(r=>mn.to(r))),o.command=n&&e.command?n.fromInternal(e.command):void 0,o}t.to=i})(DR||={});var hR;(e=>{function i(n){if(typeof n.label!="string"&&!Array.isArray(n.label))throw new TypeError("Invalid label");return{label:n.label,documentation:ge.fromStrict(n.documentation)}}e.from=i;function t(n){return{label:n.label,documentation:wo(n.documentation)?ge.to(n.documentation):n.documentation}}e.to=t})(hR||={});var vR;(e=>{function i(n){return{label:n.label,documentation:ge.fromStrict(n.documentation),parameters:Array.isArray(n.parameters)?n.parameters.map(hR.from):[],activeParameter:n.activeParameter}}e.from=i;function t(n){return{label:n.label,documentation:wo(n.documentation)?ge.to(n.documentation):n.documentation,parameters:Array.isArray(n.parameters)?n.parameters.map(hR.to):[],activeParameter:n.activeParameter}}e.to=t})(vR||={});var Gp;(e=>{function i(n){return{activeSignature:n.activeSignature,activeParameter:n.activeParameter,signatures:Array.isArray(n.signatures)?n.signatures.map(vR.from):[]}}e.from=i;function t(n){return{activeSignature:n.activeSignature,activeParameter:n.activeParameter,signatures:Array.isArray(n.signatures)?n.signatures.map(vR.to):[]}}e.to=t})(Gp||={});var RR;(t=>{function i(e,n){let o=new yl(et.to(n.position),typeof n.label=="string"?n.label:n.label.map(GF.to.bind(void 0,e)),n.kind&&IS.to(n.kind));return o.textEdits=n.textEdits&&n.textEdits.map(mn.to),o.tooltip=wo(n.tooltip)?ge.to(n.tooltip):n.tooltip,o.paddingLeft=n.paddingLeft,o.paddingRight=n.paddingRight,o}t.to=i})(RR||={});var GF;(t=>{function i(e,n){let o=new bl(n.label);return o.tooltip=wo(n.tooltip)?ge.to(n.tooltip):n.tooltip,JP.is(n.command)&&(o.command=e.fromInternal(n.command)),n.location&&(o.location=Zn.to(n.location)),o}t.to=i})(GF||={});var IS;(e=>{function i(n){return n}e.from=i;function t(n){return n}e.to=t})(IS||={});var ga;(e=>{function i(n){return{range:B.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 xl(B.to(n.range),o);return r.tooltip=n.tooltip,r}e.to=t})(ga||={});var Bh;(e=>{function i(n){let o=new Cl(n.label);return n.textEdit&&(o.textEdit=mn.to(n.textEdit)),n.additionalTextEdits&&(o.additionalTextEdits=n.additionalTextEdits.map(r=>mn.to(r))),o}e.to=i;function t(n){return{label:n.label,textEdit:n.textEdit?mn.from(n.textEdit):void 0,additionalTextEdits:n.additionalTextEdits?n.additionalTextEdits.map(o=>mn.from(o)):void 0}}e.from=t})(Bh||={});var Rc;(e=>{function i(n){return new ai(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})(Rc||={});var MR;(e=>{function i(n){return{range:B.from(n.range)}}e.from=i;function t(n){return new Yi(B.to(n.range))}e.to=t})(MR||={});var Wh;(t=>{function i(e){switch(e){case 2:return 2;case 1:return 1;case 3:case 4:return 3}}t.to=i})(Wh||={});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 kc;(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})(kc||={});var xS;(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})(xS||={});var $h;(e=>{function i(n){let o={start:n.start+1,end:n.end+1};return n.kind&&(o.kind=bR.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=bR.to(n.kind)),o}e.to=t})($h||={});var bR;(e=>{function i(n){if(n)switch(n){case 1:return Os.Comment;case 2:return Os.Imports;case 3:return Os.Region}}e.from=i;function t(n){if(n)switch(n.value){case Os.Comment.value:return 1;case Os.Imports.value:return 2;case Os.Region.value:return 3}}e.to=t})(bR||={});var zh;(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"?B.from(e.selection):void 0,override:typeof e.override=="boolean"?i_.id:void 0}}t.from=i})(zh||={});var Do;(o=>{function i(r){return r instanceof es?r.toJSON():typeof r=="string"?r:t(r)||e(r)?new es(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 es(y.revive(r.baseUri),r.pattern)}o.to=n})(Do||={});var AR;(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:Do.from(n.pattern)??void 0,exclusive:n.exclusive,notebookType:n.notebookType}}}else return}t.from=i})(AR||={});var xr;(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})(xr||={});var Wp;(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})(Wp||={});var Mh;(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})(Mh||={});var Gl;(e=>{function i(n){let o={metadata:n.metadata??Object.create(null),cells:[]};for(let r of n.cells)Gi.validate(r),o.cells.push(Ah.from(r));return o}e.from=i;function t(n){let o=new oc(n.cells.map(Ah.to));return Oa(n.metadata)||(o.metadata=n.metadata),o}e.to=t})(Gl||={});var Ah;(e=>{function i(n){return{cellKind:Mh.from(n.kind),language:n.languageId,mime:n.mime,source:n.value,metadata:n.metadata,internalMetadata:Wp.from(n.executionSummary??{}),outputs:n.outputs?n.outputs.map(ua.from):[]}}e.from=i;function t(n){return new Gi(Mh.to(n.cellKind),n.source,n.language,n.mime,n.outputs?n.outputs.map(ua.to):void 0,n.metadata,n.internalMetadata?Wp.to(n.internalMetadata):void 0)}e.to=t})(Ah||={});var Pc;(e=>{function i(n){return{mime:n.mime,valueBytes:te.wrap(n.data)}}e.from=i;function t(n){return new rc(n.valueBytes.buffer,n.mime)}e.to=t})(Pc||={});var ua;(e=>{function i(n){return{outputId:n.id,items:n.items.map(Pc.from),metadata:n.metadata}}e.from=i;function t(n){let o=n.items.map(Pc.to);return new ji(o,n.outputId,n.metadata)}e.to=t})(ua||={});var qh;(n=>{function i(o){return e(o)?{include:Do.from(o.include)??void 0,exclude:Do.from(o.exclude)??void 0}:Do.from(o)??void 0}n.from=i;function t(o){return e(o)?{include:Do.to(o.include),exclude:Do.to(o.exclude)}:Do.to(o)}n.to=t;function e(o){let r=o;return r?!Nt(r.include)&&!Nt(r.exclude):!1}})(qh||={});var OR;(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})(OR||={});var LR;(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})(LR||={});var NR;(t=>{function i(e){return{transientOutputs:e?.transientOutputs??!1,transientCellMetadata:e?.transientCellMetadata??{},transientDocumentMetadata:e?.transientDocumentMetadata??{},cellContentMetadata:e?.cellContentMetadata??{}}}t.from=i})(NR||={});var SS;(e=>{function i(n){return{uri:n.uri,provides:n.provides}}e.from=i;function t(n){return new fp(y.revive(n.uri),n.provides)}e.to=t})(SS||={});var jp;(e=>{function i(n){return{message:ge.fromStrict(n.message)||"",type:0,expected:n.expectedOutput,actual:n.actualOutput,contextValue:n.contextValue,location:n.location&&{range:B.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 ts(typeof n.message=="string"?n.message:ge.to(n.message));return o.actualOutput=n.actual,o.expectedOutput=n.expected,o.contextValue=n.contextValue,o.location=n.location?Zn.to(n.location):void 0,o}e.to=t})(jp||={});var $r;(e=>(e.namespace=Xu,e.denamespace=OI))($r||={});var UR;(t=>{function i(e){return{controllerId:e.controllerId,profileId:e.profileId,group:Qp.from(e.kind)}}t.from=i})(UR||={});var Qp;(e=>{let i={3:8,2:4,1:2};function t(n){return i.hasOwnProperty(n)?i[n]:2}e.from=t})(Qp||={});var us;(e=>{function i(n){let o=Zu(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=>$r.namespace(o,r.id)),range:Ue.lift(B.from(n.range)),description:n.description||null,sortText:n.sortText||null,error:n.error&&ge.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}=$r.denamespace(o);return new Ys(r)}),children:{add:()=>{},delete:()=>{},forEach:()=>{},*[Symbol.iterator](){},get:()=>{},replace:()=>{},size:0},range:B.to(n.range||void 0),canResolveChildren:!1,busy:n.busy,description:n.description||void 0,sortText:n.sortText||void 0}}e.toPlain=t})(us||={});(e=>{function i(n){return{id:n.id}}e.from=i;function t(n){return new Ys(n.id)}e.to=t})($r||={});var FR;(e=>{let i=(n,o)=>{let r=n.value;if(!r)return;let s={...us.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(jp.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 ky;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(io)}}e.to=t})(FR||={});var Kh;(s=>{function i(a){return{covered:a.covered,total:a.total}}function t(a){return"line"in a?et.from(a):B.from(a)}function e(a){if(a)return"endLineNumber"in a?B.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 vp(a.count,e(a.location),a.branches?.map(d=>new bp(d.count,e(d.location),d.label)))}else return new yp(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 _h(d.statementCoverage),_h(d.branchCoverage),_h(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 Xs&&d.includesTests.length?d.includesTests.map(c=>qe.fromExtHostTestItem(c,a).toString()):void 0}}s.fromFile=r})(Kh||={});var HR;(t=>{function i(e){switch(e){case 1:return 1;case 2:return 2}}t.to=i})(HR||={});var fa;(e=>{function i(n){let o=new Ll(Ir.to(n.kind),n.name,n.detail||"",y.revive(n.uri),B.to(n.range),B.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:Ir.from(n.kind),name:n.name,detail:n.detail??"",uri:n.uri,range:B.from(n.range),selectionRange:B.from(n.selectionRange),tags:n.tags?.map(ca.from)}}e.from=t})(fa||={});var Gh;(t=>{function i(e){if(e)return{value:e.value,tooltip:e.tooltip}}t.from=i})(Gh||={});var Ec;(o=>{function i(r,s,a){let l=s.fileData;return l?new GI(new jI(l.name,y.revive(l.uri),l.id,lu(()=>a(l.id)))):r===Qo.uriList&&s.uriListData?new Al(n(s.uriListData)):new Al(s.asString)}o.to=i;async function t(r,s,a=Ve()){let l=await s.asString();if(r===Qo.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 yy.split(r).map(s=>{if(s.startsWith("#"))return s;try{return y.parse(s)}catch{}return s})}function n(r){return yy.create(r.map(s=>typeof s=="string"?s:y.revive(s)))}})(Ec||={});var Ac;(n=>{function i(o,r){let s=o.items.map(([a,l])=>[a,Ec.to(a,l,r)]);return new Nr(s)}n.toDataTransfer=i;async function t(o){return{items:await Promise.all(Array.from(o,async([s,a])=>[s,await Ec.from(s,a)]))}}n.from=t;async function e(o){return{items:await Promise.all(Array.from(o,async([s,a])=>[s,await Ec.from(s,a,a.id)]))}}n.fromList=e})(Ac||={});var CS;(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})(CS||={});var Oh;(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})(Oh||={});var l9;(e=>{function i(n){let o=n.content.map(a=>{if(a.type==="text")return new qt(a.value,a.audience);if(a.type==="tool_result"){let l=dt(a.value.map(d=>d.type==="text"?new qt(d.value,d.audience):d.type==="data"?new yn(d.data.buffer,d.mimeType):d.type==="prompt_tsx"?new Br(d.value):void 0));return new cs(a.toolCallId,l,a.isError)}else{if(a.type==="image_url")return new yn(a.value.data.buffer,a.value.mimeType);if(a.type==="data")return new yn(a.data.buffer,a.mimeType);if(a.type==="tool_use")return new Vr(a.toolCallId,a.name,a.parameters)}}).filter(a=>a!==void 0),r=Oh.to(n.role);return new Fp(r,o,n.name)}e.to=i;function t(n){let o=Oh.from(n.role),r=n.name,s=n.content;typeof s=="string"&&(s=[new qt(s)]);let a=s.map(l=>{if(l instanceof cs)return{type:"tool_result",toolCallId:l.callId,value:dt(l.content.map(d=>d instanceof qt?{type:"text",value:d.value,audience:d.audience}:d instanceof Br?{type:"prompt_tsx",value:d.value}:d instanceof yn?{type:"data",mimeType:d.mimeType,data:te.wrap(d.data),audience:d.audience}:void 0)),isError:l.isError};if(l instanceof yn)return jF(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 Vr)return{type:"tool_use",toolCallId:l.callId,name:l.name,parameters:l.input};if(l instanceof qt)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})(l9||={});var TS;(e=>{function i(n){let o=n.content.map(a=>{if(a.type==="text")return new qt(a.value,a.audience);if(a.type==="tool_result"){let l=a.value.map(d=>d.type==="text"?new qt(d.value,d.audience):d.type==="data"?new yn(d.data.buffer,d.mimeType):new Br(d.value));return new cs(a.toolCallId,l,a.isError)}else return a.type==="image_url"?new yn(a.value.data.buffer,a.value.mimeType):a.type==="data"?new yn(a.data.buffer,a.mimeType):a.type==="thinking"?new mi(a.value,a.id,a.metadata):new Vr(a.toolCallId,a.name,a.parameters)}),r=Oh.to(n.role);return new Hp(r,o,n.name)}e.to=i;function t(n){let o=Oh.from(n.role),r=n.name,s=n.content;typeof s=="string"&&(s=[new qt(s)]);let a=s.map(l=>{if(l instanceof cs)return{type:"tool_result",toolCallId:l.callId,value:dt(l.content.map(d=>d instanceof qt?{type:"text",value:d.value,audience:d.audience}:d instanceof Br?{type:"prompt_tsx",value:d.value}:d instanceof yn?{type:"data",mimeType:d.mimeType,data:te.wrap(d.data),audience:d.audience}:void 0)),isError:l.isError};if(l instanceof yn)return jF(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 Vr)return{type:"tool_use",toolCallId:l.callId,name:l.name,parameters:l.input};if(l instanceof qt)return{type:"text",value:l.value};if(l instanceof mi)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})(TS||={});function jF(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 Lh;(e=>{function i(n){return{kind:"markdownContent",content:ge.from(n.value)}}e.from=i;function t(n){return new ea(ge.to(n.content))}e.to=t})(Lh||={});var ES;(e=>{function i(n){return{kind:"codeblockUri",uri:n.value,isEdit:n.isEdit,undoStopId:n.undoStopId}}e.from=i;function t(n){return new sa(y.revive(n.uri),n.isEdit,n.undoStopId)}e.to=t})(ES||={});var wS;(e=>{function i(n){return{kind:"markdownVuln",content:ge.from(n.value),vulnerabilities:n.vulnerabilities}}e.from=i;function t(n){return new os(ge.to(n.content),n.vulnerabilities)}e.to=t})(wS||={});var kS;(t=>{function i(e){return{kind:"confirmation",title:e.title,message:ge.from(e.message),data:e.data,buttons:e.buttons}}t.from=i})(kS||={});var PS;(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?ge.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 kp(a.id,t(a.type),a.title,{message:a.message?typeof a.message=="string"?new Bt(a.message):ge.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 as(s,r.allowSkip)}o.to=n})(PS||={});var Nh;(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:ot(r),uri:r,children:s(o,r)}}}e.from=i;function t(n){let o=Mt(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 na(a,s)}e.to=t})(Nh||={});var QF;(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 hc(o,n.multiDiffData.title,n.readOnly)}e.to=t})(QF||={});var $p;(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):Wr.from(n.value)}}e.from=i;function t(n){let o=Mt(n);return new rs(y.isUri(o.inlineReference)?o.inlineReference:"location"in o.inlineReference?Kl.to(o.inlineReference):Wr.to(o.inlineReference),n.name)}e.to=t})($p||={});var jh;(e=>{function i(n){return{kind:"progressMessage",content:ge.from(n.value)}}e.from=i;function t(n){return new bc(n.content.value)}e.to=t})(jh||={});var Qh;(e=>{function i(n){return{kind:"thinking",value:n.value,id:n.id,metadata:n.metadata}}e.from=i;function t(n){return new pi(n.value??"",n.id,n.metadata)}e.to=t})(Qh||={});var _S;(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 oa(n.hookType,n.stopReason,n.systemMessage,n.metadata)}e.to=t})(_S||={});var DS;(n=>{let i=new Set(["needs_reasoning","no_reasoning","fallback"]);function t(o){let r=i.has(o.predictedLabel)?o.predictedLabel:"fallback";return{kind:"autoModeResolution",resolvedModel:o.resolvedModel,resolvedModelName:o.resolvedModelName,predictedLabel:r,confidence:Math.max(0,Math.min(1,o.confidence))}}n.from=t;function e(o){return new is(o.resolvedModel,o.resolvedModelName,o.predictedLabel,o.confidence)}n.to=e})(DS||={});var Jh;(e=>{function i(n){return{kind:"warning",content:ge.from(n.value)}}e.from=i;function t(n){return new ss(n.content.value)}e.to=t})(Jh||={});var RS;(e=>{function i(n){return{kind:"info",content:ge.from(n.value)}}e.from=i;function t(n){return new ra(n.content.value)}e.to=t})(RS||={});var JF;(t=>{function i(e){return{kind:"extensions",extensions:e.extensions}}t.from=i})(JF||={});var YF;(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})(YF||={});var XF;(e=>{function i(n){return{kind:"move",uri:n.uri,range:B.from(n.range)}}e.from=i;function t(n){return new la(y.revive(n.uri),B.to(n.range))}e.to=t})(XF||={});var ZF;(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?ge.from(d.invocationMessage):void 0,pastTenseMessage:d.pastTenseMessage?ge.from(d.pastTenseMessage):void 0,toolSpecificData:u,subagentInvocationId:d.subAgentInvocationId,resultDetails:c}:{kind:"toolInvocationSerialized",toolCallId:d.toolCallId,toolId:d.toolName,invocationMessage:d.invocationMessage?ge.from(d.invocationMessage):d.toolName,originMessage:d.originMessage?ge.from(d.originMessage):void 0,pastTenseMessage:d.pastTenseMessage?ge.from(d.pastTenseMessage):void 0,isConfirmed:d.isConfirmed,isComplete:!0,source:Qt.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():so(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 zt?Wr.from(c):y.revive(c))}:d instanceof wp?{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 yc(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}})(ZF||={});var MS;(t=>{function i(e){return{kind:"progressTask",content:ge.from(e.value)}}t.from=i})(MS||={});var VR;(t=>{function i(e){return{kind:"progressTaskResult",content:typeof e=="string"?ge.from(e):void 0}}t.from=i})(VR||={});var Uh;(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 ia(o.fromInternal(n.command)??{command:n.command.id,title:n.command.title})}e.to=t})(Uh||={});var AS;(e=>{function i(n){return{kind:"textEdit",uri:n.uri,edits:n.edits.map(o=>mn.from(o)),done:n.isDone}}e.from=i;function t(n){let o=new ls(y.revive(n.uri),n.edits.map(r=>mn.to(r)));return o.isDone=n.done,o}e.to=t})(AS||={});var OS;(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(Ah.from)}}t.from=i})(OS||={});var LS;(t=>{function i(e){return{kind:"notebookEdit",uri:e.uri,edits:e.edits.map(OS.from),done:e.isDone}}t.from=i})(LS||={});var NS;(t=>{function i(e){return{kind:"workspaceEdit",edits:e.edits.map(n=>({oldResource:n.oldResource,newResource:n.newResource}))}}t.from=i})(NS||={});var _c;(e=>{function i(n){let o=Qe.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:Wr.from(n.value.value)},iconPath:o,options:n.options}:{kind:"reference",reference:y.isUri(n.value)||typeof n.value=="string"?n.value:Wr.from(n.value),iconPath:o,options:n.options}}e.from=i;function t(n){let o=Mt(n),r=s=>y.isUri(s)?s:Wr.to(s);return new Fr(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})(_c||={});var US;(t=>{function i(e){return{kind:"codeCitation",value:e.value,license:e.license,snippet:e.snippet}}t.from=i})(US||={});var Jp;(n=>{function i(o,r,s){return o instanceof ea?Lh.from(o):o instanceof rs?$p.from(o):o instanceof Fr?_c.from(o):o instanceof bc?jh.from(o):o instanceof pi?Qh.from(o):o instanceof oa?_S.from(o):o instanceof na?Nh.from(o):o instanceof hc?QF.from(o):o instanceof ia?Uh.from(o,r,s):o instanceof ls?AS.from(o):o instanceof da?LS.from(o):o instanceof os?wS.from(o):o instanceof sa?ES.from(o):o instanceof ss?Jh.from(o):o instanceof ra?RS.from(o):o instanceof ta?kS.from(o):o instanceof as?PS.from(o):o instanceof aa?US.from(o):o instanceof la?XF.from(o):o instanceof Bl?JF.from(o):o instanceof Wl?YF.from(o,r,s):o instanceof yc?ZF.from(o):o instanceof $l?NS.from(o):o instanceof is?DS.from(o):{kind:"markdownContent",content:ge.from("")}}n.from=i;function t(o,r){switch(o.kind){case"reference":return _c.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 Lh.to(o);case"inlineReference":return $p.to(o);case"progressMessage":return;case"treeData":return Nh.to(o);case"command":return Uh.to(o,r)}}n.toContent=e})(Jp||={});var Yp;(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=Yo.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=>FS.to(v,s,d)).filter(io),toolReferences:c.map(Dc.to),location:Xp.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:Oc.to(e.modeInstructions),permissionLevel:e.permissionLevel,subAgentInvocationId:e.subAgentInvocationId,subAgentName:e.subAgentName,parentRequestId:e.parentRequestId,hasHooksEnabled:e.hasHooksEnabled??!1,hooks:e.hooks?n2.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})(Yp||={});var Xp;(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})(Xp||={});var Yh;(e=>{function i(n){return n.id}e.from=i;function t(n){switch(n){case"agent":return Hr.Agent;case"skill":return Hr.Skill;case"instructions":return Hr.Instructions;case"prompt":return Hr.Prompt;case"hook":return Hr.Hook;case"plugins":return Hr.Plugins;default:return new Hr(n)}}e.to=t})(Yh||={});var FS;(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($a(r))r=y.revive(r);else if(r&&typeof r=="object"&&"uri"in r&&"range"in r&&$a(r.uri))r=Wr.to(Mt(r));else if(IN(e)){let a=e.references?.[0]?.reference;r=new Up(e.mimeType??"image/png",()=>Promise.resolve(new Uint8Array(Object.values(e.value))),a&&y.isUri(a)?a:void 0,e.isPasted,e.isURL)}else if(e.kind==="diagnostic"){let a=e.filterSeverity&&vS.to(e.filterSeverity),l=e.filterUri&&y.revive(e.filterUri).toString();r=new zl(n.map(([d,c])=>e.filterUri&&d.toString()!==l?[d,[]]:[d,c.filter(u=>!(a&&u.severity>a||e.filterRange&&!Ue.areIntersectingOrTouching(e.filterRange,B.from(u.range))))]).filter(([,d])=>d.length>0))}let s;return(Bf(e)||xN(e))&&e.toolReferences&&(s=BR.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})(FS||={});var Dc;(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})(Dc||={});var BR;(t=>{function i(e){let n=[];for(let o of e)if(o.kind==="tool")n.push(Dc.to(o));else if(o.kind==="toolset")n.push(...o.value.map(Dc.to));else throw new Error("Invalid tool reference in prompt variables");return n}t.to=i})(BR||={});var Oc;(e=>{function i(n){if(n)return{uri:y.revive(n.uri),name:n.name,content:n.content,toolReferences:BR.to(Mt(n.toolReferences)),allowedSubagents:n.allowedSubagents,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}))??[],allowedSubagents:n.allowedSubagents,metadata:n.metadata,isBuiltin:n.isBuiltin}}e.from=t})(Oc||={});var WR;(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})(WR||={});var Zp;(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 Zr(o,r=>{if(r.$mid===20)return new ql(Zr(r.content,e));if(r.$mid===21)return new qt(r.value);if(r.$mid===22)return new mi(r.value,r.id,r.metadata);if(r.$mid===23)return new Br(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=xo(r.data).buffer}catch{s=new Uint8Array(0)}else s=new Uint8Array(0);return new yn(s,r.mimeType,r.audience)}})}})(Zp||={});var $R;(t=>{function i(e,n,o){if(n.action.kind==="vote")return;let r=Zp.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:CS.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})($R||={});var HS;(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})(HS||={});var yR;(t=>{function i(e){return{...e,documentation:ge.fromStrict(e.documentation)}}t.from=i})(yR||={});var zR;(t=>{function i(e,n){return Array.isArray(e)?{items:e.map(o=>yR.from(o))}:{items:e.items.map(o=>yR.from(o)),resourceOptions:e.resourceOptions?e2.from(e.resourceOptions,n):void 0}}t.from=i})(zR||={});var e2;(t=>{function i(e,n){return{...e,pathSeparator:n,cwd:e.cwd,globPattern:Do.from(e.globPattern)??void 0}}t.from=i})(e2||={});var qR;(t=>{function i(e){return{kind:t2.to(e.kind),acceptedLength:e.acceptedLength}}t.to=i})(qR||={});var t2;(t=>{function i(e){switch(e){case 0:return 1;case 1:return 2;case 2:return 3;default:return 0}}t.to=i})(t2||={});var KR;(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})(KR||={});var GR;(e=>{function i(n){return n===2?2:1}e.from=i;function t(n){return n===2?2:1}e.to=t})(GR||={});var jR;(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})(jR||={});var QR;(t=>{function i(e){return e.type==="mcp"?new Bp(e.label,e.serverLabel||e.label,e.instructions):e.type==="extension"?new Vp(e.extensionId.value,e.label):void 0}t.to=i})(QR||={});var VS;(e=>{function i(n){let o=new ql(n.content.map(r=>r.kind==="text"?new qt(r.value,r.audience):r.kind==="data"?new yn(r.value.data.buffer,r.value.mimeType,r.audience):new Br(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&&M(o,"chatParticipantPrivate");let r=d=>{d.audience&&M(o,"languageModelToolResultAudience")},s=!1,a;Array.isArray(n.toolResultDetails)?a=n.toolResultDetails?.map(d=>y.isUri(d)?d:Wr.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 qt)return r(d),{kind:"text",value:d.value,audience:d.audience};if(d instanceof Br)return{kind:"promptTsx",value:d.value};if(d instanceof yn)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:ge.fromStrict(n.toolResultMessage),toolResultDetails:a,toolMetadata:n.toolMetadata,toolResultError:n.hasError};return s?new Vt(l):l}e.from=t})(VS||={});var fi;(n=>{function i(o){return o}n.fromThemeIcon=i;function t(o){if(o){if(Qe.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(Qe.isThemeIcon(o))return o;if($a(o))return y.revive(o);{let r=o;return{light:y.revive(r.light),dark:y.revive(r.dark)}}}else return}n.to=e})(fi||={});var JR;(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")}}})(JR||={});var em;(n=>{function i(o){return!!o.uri}function t(o){return ec.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=ec.fromSerialized(o.launch);if(r.type===2)return new Sc(o.label,r.uri,Object.fromEntries(r.headers),o.cacheNonce==="$$NONE"?void 0:o.cacheNonce);{let s=new xc(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})(em||={});var YR;(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})(YR||={});var n2;(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=o2.to(a);l&&s.push(l)}s.length>0&&(n[o]=s)}return n}t.to=i})(n2||={});var o2;(t=>{function i(e){let n=wU(e,_i);if(n)return{command:n,cwd:e.cwd,env:e.env,timeout:e.timeout}}t.to=i})(o2||={});var ha;(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?ge.from(n.description):void 0,badge:n.badge?ge.from(n.badge):void 0,status:i(n.status),archived:n.archived,tooltip:ge.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})(ha||={});var or=class{constructor(t,e,n){this.uri=t;this.ranges=e;this.previewText=n}},jl=class{constructor(t,e,n){this.uri=t;this.text=e;this.lineNumber=n}},Lc=class{constructor(t){this.keyword=t}},BS=(n=>(n[n.None=1]="None",n[n.FilesExclude=2]="FilesExclude",n[n.SearchAndFilesExclude=3]="SearchAndFilesExclude",n))(BS||{}),Xh=(e=>(e[e.Information=1]="Information",e[e.Warning=2]="Warning",e))(Xh||{});var zS=2e4,r2="\u27EA ",i2=" characters skipped \u27EB",d9=(r2.length+i2.length+5)*2,c9=R("searchService");function ZR(i){return!!i.rangeLocations&&!!i.previewText}var WS=class{constructor(t,e,n,o){this.rangeLocations=[];this.webviewIndex=o;let r=Array.isArray(e)?e:[e];if(n&&n.matchLines===1&&u9(r)){t=BO(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+d9){let g=r2+(u-l)+i2;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 XR(0,c.startColumn-a,c.endColumn-a)})}this.previewText=s}else{let s=Array.isArray(e)?e[0].startLineNumber:e.startLineNumber,a=Gg(e,l=>({preview:new $S(l.startLineNumber-s,l.startColumn,l.endLineNumber-s,l.endColumn),source:l}));this.rangeLocations=Array.isArray(a)?a:[a],this.previewText=t}}};function u9(i){let t=i[0].startLineNumber;for(let e of i)if(e.startLineNumber!==t||e.endLineNumber!==t)return!1;return!0}var $S=class{constructor(t,e,n,o){this.startLineNumber=t,this.startColumn=e,this.endLineNumber=n,this.endColumn=o}},XR=class extends $S{constructor(t,e,n){super(t,e,t,n)}};function s2(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=_r(o,vt(e)),o=_r(o,vt(n),!0),o}function qS(i,t){let e=i.ignoreGlobCase?{ignoreCase:!0}:void 0;return i.excludePattern&&er(i.excludePattern,t,e)?!1:i.includePattern||i.usingSearchPaths?i.includePattern&&er(i.includePattern,t,e)?!0:i.usingSearchPaths?!!i.folderQueries&&i.folderQueries.some(n=>{let o=n.folder.fsPath;if(Dd(t,o,i.ignoreGlobCase)){let r=ks(o,t);return!n.includePattern||!!er(n.includePattern,r,e)}else return!1}):!1:!0}function Ql(i,t){let e={...i||{},...t||{}};return Object.keys(e).filter(n=>{let o=e[n];return typeof o=="boolean"&&o})}var tm=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=>ii(r,n));let o=t.includePattern;e.includePattern&&(o?o={...o,...e.includePattern}:o=e.includePattern),o&&(this._parsedIncludeExpression=ii(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 kr(s)?s.then(a=>a?!1:o()):o()})).then(r=>r.some(s=>!!s))}hasSiblingExcludeClauses(){return this._excludeExpression.reduce((t,e)=>p9(e)||t,!1)}};function p9(i){for(let t in i)if(typeof i[t]!="boolean")return!0;return!1}function a2(i){if(!i)return;let t;return e=>(t||(t=(i()||Promise.resolve([])).then(n=>n?d2(n):{})),t.then(n=>!!n[e]))}function l2(i){if(!i)return;let t;return e=>{if(!t){let n=i();t=n?d2(n):{}}return!!t[e]}}function d2(i){let t={};for(let e of i)t[e]=!0;return t}function KS(i){return i.flatMap(t=>t.patterns.map(e=>t.baseUri?{baseUri:t.baseUri,pattern:e}:e))}var Zh={matchLines:100,charsPerLine:1e4};var m9=!1,tM=class{constructor(t,e,n){this.id=t;this.dependencies=e;this.callback=n}};var nM=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 tM(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(`${q.vscodeFileResource}://${rk}`))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=Ve();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}}},eM=new Map;async function GS(i,t,e){e===void 0&&(e=!!(globalThis._VSCODE_PRODUCT_JSON??globalThis.vscode?.context?.configuration()?.product)?.commit);let n=t?`${i}/${t}`:i;if(eM.has(n))return eM.get(n);let o;if(/^\w[\w\d+.-]*:\/\//.test(n))o=n;else{let l=`${m9&&e&&!$o?QO:jO}/${n}`;o=Bb.asBrowserUri(l).toString(!0)}let r=nM.INSTANCE.load(o);return eM.set(n,r),r}var tv="utf8",aM="utf8bom",QS="utf16be",JS="utf16le";var jS=[254,255],rM=[255,254],ev=[239,187,191],g9=512,f9=512,h9=512*8,v9=512*128;var iM=class extends Error{constructor(e,n){super(e);this.decodeStreamErrorKind=n}},sM=class i{constructor(t){this.iconvLiteDecoder=t}static async create(t){let e;if(t!==tv)e=(await GS("@vscode/iconv-lite-umd","lib/iconv-lite-umd.js")).getDecoder(p2(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 c2(i,t){let e=t.minBytesRequiredForDetection??(t.guessEncoding?h9:f9);return new Promise((n,o)=>{let r=mb(u=>u.join("")),s=[],a=0,l,d=new Re,c=async()=>{try{let u=await E9({buffer:te.concat(s),bytesRead:a},t.guessEncoding,t.candidateGuessEncodings);if(u.seemsBinary&&t.acceptTextOnly)throw new iM("Stream is binary but only text is accepted for decoding",1);u.encoding=await t.overwriteEncoding(u.encoding),l=await sM.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)}};Cw(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 u2(i,t,e){let o=(await GS("@vscode/iconv-lite-umd","lib/iconv-lite-umd.js")).getEncoder(p2(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 tv:case aM:return te.wrap(Uint8Array.from(ev));case QS:return te.wrap(Uint8Array.from(jS));case JS:return te.wrap(Uint8Array.from(rM))}let l=o.end();return l&&l.length>0?(r=!0,te.wrap(l)):null}return r=!0,te.wrap(o.write(a))}}}function p2(i){return i===aM||i===null?tv:i}function b9(i,t){if(!i||t<jS.length)return null;let e=i.readUInt8(0),n=i.readUInt8(1);if(e===jS[0]&&n===jS[1])return QS;if(e===rM[0]&&n===rM[1])return JS;if(t<ev.length)return null;let o=i.readUInt8(2);return e===ev[0]&&n===ev[1]&&o===ev[2]?aM:null}var y9=["ascii","utf-16","utf-32"];async function I9(i,t){let e=await GS("jschardet","dist/jschardet.min.js"),n=i.slice(0,v9),o=T9(n.buffer);t&&(t=dt(t.map(a=>C9(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<=y9.indexOf(s)?null:S9(r.encoding)}var x9={ibm866:"cp866",big5:"cp950"};function m2(i){return i.replace(/[^a-zA-Z0-9]/g,"").toLowerCase()}function S9(i){let t=m2(i);return x9[t]||t}function C9(i){let t=m2(i),e=w9[t];return e?e.guessableName:void 0}function T9(i){let t="";for(let e=0;e<i.length;e++)t+=String.fromCharCode(i[e]);return t}function E9({buffer:i,bytesRead:t},e,n){let o=b9(i,t),r=!1;if(o!==QS&&o!==JS&&i){let s=!0,a=!0,l=!1;for(let d=0;d<t&&d<g9;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=JS:a?o=QS:r=!0)}return e&&!r&&!o&&i?I9(i.slice(0,t),n).then(s=>({seemsBinary:!1,encoding:s})):{seemsBinary:r,encoding:o}}var oM={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}},w9=(()=>{let i={};for(let t in oM)oM[t].guessableName&&(i[t]=oM[t]);return i})();var ZEe=R("textFileService");function g2(i){let t=!1;return{read(){return t?null:(t=!0,i)}}}function ov(i,t,e){return new Ni(n=>XS(n,e)).isEqual(i,t)}function k9(i,t,e){return ov(i.uri,t.uri,e)?0:Jr(i.uri.toString(),t.uri.toString())}function P9(i,t,e){return i.index!==t.index?i.index<t.index?-1:1:ov(i.uri,t.uri,e)?Jr(i.name,t.name):Jr(i.uri.toString(),t.uri.toString())}function h2(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 E0(o,r,(s,a)=>e(s,a,n))}function XS(i,t){let e=t.getCapabilities(i.scheme);return!(e&&e&1024)}var nv=class i extends hy{constructor(e,n,o,r,s,a,l){super(e,o.map(d=>new Df(d)),r,s,l);this._name=n;this._isUntitled=a;this._workspaceFolders=[];this._structure=Lo.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((S,w)=>{let P=y.revive(S.uri),O=i._findFolder(o||n,P,r);O?(O.name=S.name,O.index=S.index,m.push(O)):m.push({uri:P,name:S.name,index:w})}):m.push(...l.map(({uri:S,name:w,index:P})=>({uri:y.revive(S),name:w,index:P}))),m.sort((S,w)=>S.index<w.index?-1:1);let v=new i(s,a,m,!!c,d?y.revive(d):null,!!u,S=>XS(S,r)),{added:h,removed:I}=h2(g?g.workspaceFolders:[],v.workspaceFolders,k9,r);return{workspace:v,added:h,removed:I}}static _findFolder(e,n,o){for(let r=0;r<e.folders.length;r++){let s=e.workspaceFolders[r];if(ov(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=Go(e)),this._structure.findSubstr(e)}resolveWorkspaceFolder(e){return this._structure.get(e)}},nm=class{constructor(t,e,n,o,r){this._onDidChangeWorkspace=new T;this.onDidChangeWorkspace=this._onDidChangeWorkspace.event;this._onDidGrantWorkspaceTrust=new T;this.onDidGrantWorkspaceTrust=this._onDidGrantWorkspaceTrust.event;this._onDidChangeWorkspaceTrustedFolders=new T;this.onDidChangeWorkspaceTrustedFolders=this._onDidChangeWorkspaceTrustedFolders.event;this._activeSearchCallbacks=[];this._trusted=!1;this._editSessionIdentityProviders=new Map;this._providerHandlePool=0;this._onWillCreateEditSessionIdentityEvent=new Di;this._canonicalUriProviders=new Map;this._logService=o,this._extHostFileSystemInfo=n,this._uriTransformerService=r,this._requestIdProvider=new my,this._barrier=new An,this._proxy=t.getProxy(N.MainThreadWorkspace),this._messageService=t.getProxy(N.MainThreadMessageService),this._telemetryProxy=t.getProxy(N.MainThreadTelemetry);let s=e.workspace;this._confirmedWorkspace=s?new nv(s.id,s.name,[],!!s.transient,s.configuration?y.revive(s.configuration):null,!!s.isUntitled,a=>XS(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:q.untitled,path:ot(Go(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=>ov(u.uri,c.uri,this._extHostFileSystemInfo))&&r.push({uri:c.uri,name:c.name||df(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||df(c.uri),index:void 0})));for(let c=0;c<a.length;c++){let u=a[c];if(a.some((m,g)=>g!==c&&ov(u.uri,m.uri,this._extHostFileSystemInfo)))return!1}a.forEach((c,u)=>c.index=u);let{added:l,removed:d}=h2(s,a,P9,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(CL.Error,p(3525,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=cf(r.uri,n);return e&&r.name&&(s=`${r.name}/${s}`),s}trySetWorkspaceFolders(t){this._actualWorkspace&&(this._unconfirmedWorkspace=nv.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}=nv.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=be.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=be.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 h=v.map(w=>{let P=f2(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:P.length>0?P:void 0,ignoreGlobCase:e.caseInsensitive,_reason:"startFileSearch",shouldGlobSearch:t.type==="include"?void 0:!0},L=YS(Do.from(w)),$=L?.folder;return t.type==="include"?O.includePattern=L?.pattern:O.filePattern=L?.pattern,{folder:$,options:O}});d=h.length;let I=this._userIgnoreFilesSetting();c=h.every(w=>w.options.disregardIgnoreFiles===!0?!1:w.options.disregardIgnoreFiles===!1?!0:I);let S=await this._findFilesBase(h,s);return u=S.length,m=s.isCancellationRequested,S}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(!be.isCancellationToken(e)){o=new Re;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 Ni(d=>XS(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=be.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?YS(Do.from(m)):void 0,v=e.exclude?f2(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 G,d=l.add(new T),c=this.findTextInFilesBase(t,a,(m,g)=>d.fire({result:m,uri:g}),o);return{results:new hu(async m=>{l.add(d.event(g=>{let v=g.result,h=g.uri;ZR(v)?m.emitOne(new or(h,v.rangeLocations.map(I=>({previewRange:new ve(I.preview.startLineNumber,I.preview.startColumn,I.preview.endLineNumber,I.preview.endColumn),sourceRange:new ve(I.source.startLineNumber,I.source.startColumn,I.source.endLineNumber,I.source.endColumn)})),v.previewText)):m.emitOne(new jl(h,v.text,v.lineNumber))})),await c}),complete:c.then(m=>(l.dispose(),{limitHit:m?.limitHit??!1}))}}async findTextInFilesBase(t,e,n,o=be.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=Mt(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=be.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=YS(Do.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)=>{ZR(u)?n({uri:m,preview:{text:u.previewText,matches:Gg(u.rangeLocations,g=>new ve(g.preview.startLineNumber,g.preview.startColumn,g.preview.endLineNumber,g.preview.endColumn))},ranges:Gg(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 c2(Q0(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 gb(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===tv&&!s)return te.fromString(t).buffer;let a=await u2(g2(t),r,{addBOM:s});return j0(a).buffer}toEncodeDecodeParameters(t){let e=$a(t?.uri)?t.uri:void 0,n=typeof t?.encoding=="string"?t.encoding:void 0;return[e,n?{encoding:n}:void 0]}};nm=D([C(0,fe),C(1,rt),C(2,Dr),C(3,se),C(4,Ya)],nm);var to=R("IExtHostWorkspace");function YS(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 f2(i){return(i?.map(t=>{if(typeof t=="string")return t===""?void 0:{pattern:t,uri:void 0};{let e=YS(t);return e?{pattern:e.pattern,uri:e.folder}:void 0}})??[]).filter(t=>!!t)}function rv(i){return Object.isFrozen(i)?i:wf(i)}var Yl=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 lM("",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?Wf(this.contents,t):this.contents}inspect(t,e){let n=this;return{get value(){return rv(n.rawConfiguration.getValue(t))},get override(){return e?rv(n.rawConfiguration.getOverrideValue(t,e)):void 0},get merged(){return rv(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?rv(o):void 0}}}getOverrideValue(t,e){let n=this.getContentsForOverrideIdentifer(e);return n?t?Wf(n,t):n:void 0}getKeysForOverrideIdentifier(t){let e=[];for(let n of this.overrides)n.identifiers.includes(t)&&e.push(...n.keys);return Bo(e)}getAllOverrideIdentifiers(){let t=[];for(let e of this.overrides)t.push(...e.identifiers);return Bo(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=vt(this.contents),n=vt(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=>Jt(d.identifiers,a.identifiers));l?(this.mergeContents(l.contents,a.contents),l.keys.push(...a.keys),l.keys=Bo(l.keys)):n.push(vt(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 Bo([...Object.keys(this.contents),...Object.keys(e)])){let r=this.contents[o],s=e[o];s&&(typeof r=="object"&&typeof s=="object"?(r=vt(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&&nt(t[n])&&nt(e[n])){this.mergeContents(t[n],e[n]);continue}t[n]=vt(e[n])}}getContentsForOverrideIdentifer(t){let e=null,n=null,o=r=>{r&&(n?this.mergeContents(n,r):n=vt(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),wN(this.contents,t),Rr.test(t)&&this.overrides.splice(this.overrides.findIndex(n=>Jt(n.identifiers,Fu(t))),1))}updateValue(t,e,n){if(d_(this.contents,t,e,o=>this.logService.error(o)),n=n||this.keys.indexOf(t)===-1,n&&this.keys.push(t),Rr.test(t)){let o=this.contents[t],r=Fu(t),s={identifiers:r,keys:Object.keys(o),contents:Uy(o,l=>this.logService.error(l))},a=this.overrides.findIndex(l=>Jt(l.identifiers,r));a!==-1?this.overrides[a]=s:this.overrides.push(s)}}},lM=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||Yl.createEmptyModel(this.logService)}get restrictedConfigurations(){return this._restrictedConfigurations}get errors(){return this._parseErrors}parse(t,e){if(!Nt(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 Yl(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{F_(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=bt.as(Mr.Configuration),o=n.getConfigurationProperties(),r=n.getExcludedConfigurationProperties(),s=this.filter(t,o,r,!0,e);t=s.raw;let a=Uy(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(Rr.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(Rr.test(o)){let r={},s=t[o];for(let a in s)r[a]=s[a];n.push({identifiers:Fu(o),keys:Object.keys(r),contents:Uy(r,e)})}return n}};var dM=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 rv(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)}},om=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 Ne;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=Yl.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 dM(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}=Jl(this._defaultConfiguration,t);e=[...o,...r,...s]}for(let o of e)for(let r of Fu(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=>!Ct(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}=Jl(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}=Jl(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}=Jl(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}=Jl(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}=Jl(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}=Jl(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}=Jl(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 Yl(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 Ne);return new i(n,o,r,s,a,l,d,Yl.createEmptyModel(e),new Ne,e)}static parseConfigurationModel(t,e){return new Yl(t.contents,t.keys,t.overrides,t.raw,e)}};var ZS=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=om.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!Ct(a,l)}return!0}};function Jl(i,t){let{added:e,removed:n,updated:o}=v2(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=v2({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 v2(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=Wf(t.contents,r),a=Wf(i.contents,r);Ct(s,a)||o.push(r)}}return{added:e,removed:n,updated:o}}function eC(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 D9(i){return i instanceof y}function R9(i){return nt(i)&&i.uri instanceof y&&!!i.languageId&&typeof i.languageId=="string"}function M9(i){return nt(i)&&!i.uri&&!!i.languageId&&typeof i.languageId=="string"}function A9(i){return nt(i)&&i.uri instanceof y&&(!i.name||typeof i.name=="string")&&(!i.index||typeof i.index=="number")}function b2(i){if(D9(i))return{resource:i};if(R9(i))return{resource:i.uri,overrideIdentifier:i.languageId};if(M9(i))return{overrideIdentifier:i.languageId};if(A9(i))return{resource:i.uri};if(i===null)return{resource:null}}var rm=class{constructor(t,e,n){this._proxy=t.getProxy(N.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 cM(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))}};rm=D([C(0,fe),C(1,to),C(2,se)],rm);var cM=class{constructor(t,e,n,o){this._onDidChangeConfiguration=new T;this._proxy=t,this._logService=o,this._extHostWorkspace=e,this._configuration=om.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=om.parse(t,this._logService),this._configurationScopes=this._toMap(t.configurationScopes),this._onDidChangeConfiguration.fire(this._toConfigurationChangeEvent(e,n))}getConfiguration(t,e,n){let o=b2(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 eC(r,l)<"u"},get:(l,d)=>{this._validateConfigurationAccess(t?`${t}.${l}`:l,o,n?.identifier);let c=eC(r,l);if(typeof c>"u")c=d;else{let u,m=(g,v)=>{if(nt(g)){let h,I=()=>{u=u||vt(r),h=h||eC(u,v)};return new Proxy(g,{get:(S,w)=>{if(typeof w=="string"&&w.toLowerCase()==="tojson")return I(),()=>h;if(u)return h=h||eC(u,v),h[w];let P=S[w];return typeof w=="string"?m(P,`${v}.${w}`):P},set:(S,w,P)=>(I(),h&&(h[w]=P),!0),deleteProperty:(S,w)=>(I(),h&&delete h[w],!0),defineProperty:(S,w,P)=>(I(),h&&Object.defineProperty(h,w,P),!0)})}return Array.isArray(g)?vt(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:vt(d.policy?.value??d.default?.value),globalLocalValue:vt(d.userLocal?.value),globalRemoteValue:vt(d.userRemote?.value),globalValue:vt(d.user?.value??d.application?.value),workspaceValue:vt(d.workspace?.value),workspaceFolderValue:vt(d.workspaceFolder?.value),defaultLanguageValue:vt(d.default?.override),globalLocalLanguageValue:vt(d.userLocal?.override),globalRemoteLanguageValue:vt(d.userRemote?.override),globalLanguageValue:vt(d.user?.override??d.application?.override),workspaceLanguageValue:vt(d.workspace?.override),workspaceFolderLanguageValue:vt(d.workspaceFolder?.override),languageIds:vt(d.overrideIdentifiers)}}};return typeof r=="object"&&_r(a,r,!1),Object.freeze(a)}_toReadonlyValue(t){let e=n=>nt(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=Rr.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 ZS(t,e,this._configuration,this._extHostWorkspace.workspace,this._logService);return Object.freeze({affectsConfiguration:(o,r)=>n.affectsConfiguration(o,b2(r))})}_toMap(t){return t.reduce((e,n)=>(e.set(n[0],n[1]),e),new Map)}},Ro=R("IExtHostConfiguration");var uM=class{constructor(t,e){this.versionId=t;this.removedDueToLooping=e}},va=class i extends F{constructor(e,n){super();this._activationEventsReader=e;this._onDidChange=this._register(new T);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(O9),this._extensionsMap=new Yn,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=y2(this._extensionDescriptions,n),this._extensionDescriptions=this._extensionDescriptions.concat(e);let o=i._findLoopingExtensions(this._extensionDescriptions);return this._extensionDescriptions=y2(this._extensionDescriptions,o.map(r=>r.identifier)),this._initialize(),this._versionId++,this._onDidChange.fire(void 0),new uM(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 Yn;for(let l of e)if(o.set(l.identifier,l),l.extensionDependencies)for(let d of l.extensionDependencies)n.addArc(xe.toKey(l.identifier),xe.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 pM(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)}},pM=class{constructor(t,e){this.versionId=t;this.extensions=e}};function O9(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=He.basename(i.extensionLocation.path),r=He.basename(t.extensionLocation.path);return o<r?-1:o>r?1:0}function y2(i,t){let e=new Co(t);return i.filter(n=>!e.has(n.identifier))}var Nc=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}},sm=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 Nc(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()}},Uc=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}},tC=class extends Uc{constructor(t){super(!1,null,t,{activate:void 0,deactivate:void 0},void 0,F.None)}},nC=class extends Uc{constructor(){super(!1,null,Nc.NONE,{activate:void 0,deactivate:void 0},void 0,F.None)}},am=class extends Uc{constructor(t){super(!0,t,Nc.NONE,{activate:void 0,deactivate:void 0},void 0,F.None)}},im=class{constructor(t,e,n,o){this._logService=o;this._registry=t,this._globalRegistry=e,this._host=n,this._operations=new Yn,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 am(r));return this._host.onExtensionActivationError(t.id,r,new rh(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 am(d));return this._host.onExtensionActivationError(e.identifier,d,new rh(r)),c}return this._createAndSaveOperation(t,e.displayName,n,null)}_createAndSaveOperation(t,e,n,o){let r=new iv(t.id,e,t.reason,n,o,this._host,this._logService);return this._operations.set(t.id,r),r}_isHostExtension(t){return va.isHostExtension(t,this._registry,this._globalRegistry)}_isResolvedExtension(t){let e=this._globalRegistry.getExtensionDescription(t);return e?!e.main&&!e.browser:!1}};im=D([C(3,se)],im);var iv=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 am(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 am(e),this._isDisposed&&Cn(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)}}};iv=D([C(6,se)],iv);var lm=class{constructor(t,e){this._logService=e;this._onDidChangeStorage=new T;this.onDidChangeStorage=this._onDidChangeStorage.event;this._proxy=t.getProxy(N.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}`)}}},dm=R("IExtHostStorage");var sv=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 Jn(()=>{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 un;return this._deferredPromises.set(t,o),this._scheduler.isScheduled()||this._scheduler.schedule(),o.p}dispose(){this._storageListener.dispose()}},oC=class extends sv{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 Fo=class{constructor(t,e){this._fileSystemProvider=new Map;this._writeQueue=new Gb;this._proxy=t.getProxy(N.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){Fo._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 Fo._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 Fo._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 Fo._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 Fo._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 Fo._handleError(s)}},async rename(o,r,s){try{return await n._proxy.$rename(o,r,{overwrite:!1,...s})}catch(a){return Fo._handleError(a)}},async copy(o,r,s){try{return await n._proxy.$copy(o,r,{overwrite:!1,...s})}catch(a){return Fo._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===q.file?n.fsPath:n.toString(!0)}' that already exists but is not a directory`);break}catch(r){if(wu(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(wu(s)!=="EntryExists")throw s}}}static _handleError(t){if(t instanceof ut)throw t;if(t instanceof kf)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:sk,isReadonly:!!n?.isReadonly}),X(()=>this._fileSystemProvider.delete(t))}getFileSystemProviderExtUri(t){return this._fileSystemProvider.get(t)?.extUri??ct}};Fo=D([C(0,fe),C(1,Dr)],Fo);var Xl=R("IExtHostConsumerFileSystem");var um=R("IExtensionStoragePaths"),cm=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(){}};cm=D([C(0,rt),C(1,se),C(2,Xl)],cm);var qPe=R("tunnelService"),KPe=R("sharedTunnelsService");function L9(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 mM=["localhost","127.0.0.1","0:0:0:0:0:0:0:1","::1"];function I2(i){return mM.indexOf(i)>=0}var gM=["0.0.0.0","0:0:0:0:0:0:0:0","::"];function x2(i){return gM.indexOf(i)>=0}var iC=class{constructor(t,e,n){this.remoteAddress=t;this.localAddress=e;this._dispose=n;this._onDispose=new T;this.onDidDispose=this._onDispose.event}dispose(){return this._onDispose.fire(),this._onDispose.dispose(),this._dispose()}},rC=class extends F{constructor(e,n){super();this.logService=e;this.configurationService=n;this._onTunnelOpened=this._register(new T);this.onTunnelOpened=this._onTunnelOpened.event;this._onTunnelClosed=this._register(new T);this.onTunnelClosed=this._onTunnelClosed.event;this._onAddedTunnelProvider=this._register(new T);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){(x2(e)||I2(e))&&(e=mM[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];I2(e)?(o.push(...mM),o.push(...gM)):x2(e)&&o.push(...gM);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!!L9(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}};rC=D([C(0,se),C(1,sn)],rC);var fM=class extends iC{},S2;(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})(S2||={});var mm=R("IExtHostTunnelService"),pm=class extends F{constructor(e,n,o){super();this.logService=o;this._showCandidatePort=()=>Promise.resolve(!0);this._extensionTunnels=new Map;this._onDidChangeTunnels=this._register(new T);this.onDidChangeTunnels=this._onDidChangeTunnels.event;this._providerHandleCounter=0;this._portAttributesProviders=new Map;this._proxy=e.getProxy(N.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 fM(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,be.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(3523,null),themeIcon:"lock"},{id:"public",label:p(3524,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}),S2.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}};pm=D([C(0,fe),C(1,rt),C(2,se)],pm);function C2(i){return[...i.entries()]}function T2(i){return i?[...i.entries()]:[]}var I_e=R("ptyService");var N9={Backend:"workbench.contributions.terminal.processBackend"},hM=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()??""}};bt.add(N9.Backend,new hM);var x_e=R("localPtyService"),S_e=R("terminalLogService");var sC=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=_e(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 Fc=(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))}}}},gm=(i,t)=>i===t,Zl={range:(i,t)=>i===t?!0:!i||!t?!1:i.isEqual(t),label:gm,description:gm,sortText:gm,busy:gm,error:gm,canResolveChildren:gm,tags:(i,t)=>!(i.length!==t.length||i.some(e=>!t.find(n=>e.id===n.id)))},fm=i=>t=>({op:4,update:i(t)}),U9=(i,t)=>({range:(()=>{let e,n=fm(o=>({range:Ue.lift(B.from(o))}));return{enumerable:!0,configurable:!1,get(){return e},set(o){i.listener?.({op:6}),Zl.range(e,o)||(e=o,i.listener?.(n(o)))}}})(),label:Fc(i,t,Zl.label,fm(e=>({label:e}))),description:Fc(i,void 0,Zl.description,fm(e=>({description:e}))),sortText:Fc(i,void 0,Zl.sortText,fm(e=>({sortText:e}))),canResolveChildren:Fc(i,!1,Zl.canResolveChildren,e=>({op:2,state:e})),busy:Fc(i,!1,Zl.busy,fm(e=>({busy:e}))),error:Fc(i,void 0,Zl.error,fm(e=>({error:ge.fromStrict(e)||null}))),tags:Fc(i,[],Zl.tags,(e,n)=>({op:1,new:e.map($r.from),old:n.map($r.from)}))}),F9=i=>{let t=qe.fromString(i.extId),e=new ba(t.controllerId,t.localId,i.label,y.revive(i.uri)||void 0);return e.range=B.to(i.range||void 0),e.description=i.description||void 0,e.sortText=i.sortText||void 0,e.tags=i.tags.map(n=>$r.to({id:OI(n).tagId})),e},vM=i=>{let t;for(let e of i.tests){let n=F9(e.item);Zu(n).parent=t,t=n}return t},ba=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=NF(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 hm?void 0:r.parent}},children:{value:OF(r,Zu,i),enumerable:!0,writable:!1},...U9(r,n)})}},hm=class extends ba{constructor(e,n){super(e,e,n,void 0);this._isRoot=!0}},aC=class extends UI{constructor(t,e,n){super({controllerId:t,getDocumentVersion:o=>o&&n.getDocument(o)?.version,getApiFor:Zu,getChildren:o=>o.children,root:new hm(t,e),toITestItem:us.from})}};var vm=class extends F{constructor(e,n,o){super();this.initData=n;this._onDidChangeTelemetryEnabled=this._register(new T);this.onDidChangeTelemetryEnabled=this._onDidChangeTelemetryEnabled.event;this._onDidChangeTelemetryConfiguration=this._register(new T);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(3521,null,this._inLoggingOnlyMode?" (Not Sent)":""),hidden:!0,group:UU}))}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 av(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"]=bM(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"]=FU(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}};vm=D([C(1,rt),C(2,ur)],vm);var av=class{constructor(t,e,n,o,r,s,a){this._extension=n;this._logger=o;this._inLoggingOnlyMode=r;this._commonProperties=s;this._onDidChangeEnableStates=new T;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=$_(e,[]),this._additionalCommonProperties&&(e=_r(e,this._additionalCommonProperties)),this._ignoreBuiltinCommonProperties||(e=_r(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,[]),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 bM(i){let t=Date.now()-new Date(i).getTime();return isNaN(t)?!1:t<1e3*60*60*24}var ed=R("IExtHostTelemetry");var bm=class{constructor(t,e,n){this._commands=new Map;this._apiCommands=new Map;this.#e=t.getProxy(N.MainThreadCommands),this._logService=e,this.#n=n,this.#t=t.getProxy(N.MainThreadTelemetry),this.converter=new yM(this,o=>{let r=this._apiCommands.get(o);return r?.result===ke.Void?r:void 0},e),this._argumentProcessors=[{processArgument(o){return Mt(o)}},{processArgument(o){return Zr(o,function(r){if(Ue.isIRange(r))return B.to(r);if(vn.isIPosition(r))return et.to(r);if(Ue.isIRange(r.range)&&y.isUri(r.uri))return Zn.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=Zr(e,function(s){if(s instanceof we)return et.from(s);if(s instanceof ve)return B.from(s);if(s instanceof zt)return Zn.from(s);if(Wn.isNotebookRange(s))return xr.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 Vt(r):r,n);return Mt(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{Iw(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(Cn(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(Xr(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 ul(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)}};bm=D([C(0,fe),C(1,se),C(2,ed)],bm);var rr=R("IExtHostCommands"),yM=class{constructor(t,e,n){this._commands=t;this._lookupApiCommand=e;this._logService=n;this.delegatingCommandId=`__vsc${Ve()}`;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(Ma(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]}`)}},Z=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),B.from)}static{this.Selection=new i("selection","A selection in a text document",t=>Nn.isSelection(t),go.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,ma.from)}static{this.TypeHierarchyItem=new i("item","A type hierarchy item",t=>t instanceof Ll,fa.from)}static{this.TestItem=new i("testItem","A VS Code TestItem",t=>t instanceof ba,us.from)}static{this.TestProfile=new i("testProfile","A VS Code test profile",t=>t instanceof hp,UR.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)}},Pe=class{constructor(t,e,n,o,r){this.id=t;this.internalId=e;this.description=n;this.args=o;this.result=r}};var hi=R("IExtHostTerminalService"),cv=class extends F{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 T);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:w2(e.iconPath)??void 0,color:ku.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:ku.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"?Mn(e,{parentTerminal:!0})&&e.parentTerminal&&n?{parentTerminal:n}:Mn(e,{viewColumn:!0})?{viewColumn:Ot.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))})}},dv=class{constructor(t){this._pty=t;this.id=0;this.shouldPersist=!1;this._onProcessData=new T;this.onProcessData=this._onProcessData.event;this._onProcessReady=new T;this._onDidChangeProperty=new T;this.onDidChangeProperty=this._onDidChangeProperty.event;this._onProcessExit=new T;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})}},H9=1,lv=class extends F{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 dn);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 T;this.onDidCloseTerminal=this._onDidCloseTerminal.event;this._onDidOpenTerminal=new T;this.onDidOpenTerminal=this._onDidOpenTerminal.event;this._onDidChangeActiveTerminal=new T;this.onDidChangeActiveTerminal=this._onDidChangeActiveTerminal.event;this._onDidChangeTerminalDimensions=new T;this.onDidChangeTerminalDimensions=this._onDidChangeTerminalDimensions.event;this._onDidChangeTerminalState=new T;this.onDidChangeTerminalState=this._onDidChangeTerminalState.event;this._onDidChangeShell=new T;this.onDidChangeShell=this._onDidChangeShell.event;this._onDidWriteTerminalData=new T({onWillAddFirstListener:()=>this._proxy.$startSendingDataEvents(),onDidRemoveLastListener:()=>this._proxy.$stopSendingDataEvents()});this.onDidWriteTerminalData=this._onDidWriteTerminalData.event;this._onDidExecuteCommand=new T({onWillAddFirstListener:()=>this._proxy.$startSendingCommandEvents(),onDidRemoveLastListener:()=>this._proxy.$stopSendingCommandEvents()});this.onDidExecuteTerminalCommand=this._onDidExecuteCommand.event;this._proxy=o.getProxy(N.MainThreadTerminalService),this._bufferer=new sC(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 cv(this._proxy,Ve(),e,e.name),r=new dv(e.pty);return o.createExtensionTerminal(e.location,n,this._serializeParentTerminal(e,n).resolvedExtHostIdentifier,w2(e.iconPath),V9(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"&&Mn(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"&&Mn(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 dv(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 cv(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(3522,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 G;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 dv&&(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 Re().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=!xt||this.activeTerminal.state?.shell==="gitbash"?"/":"\\";return zR.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 Re().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 G;if(this._lastQuickFixCommands.value=a,!Array.isArray(s))return s?HS.from(s,this._extHostCommands.converter,a):void 0;let l=[];for(let d of s){let c=HS.from(d,this._extHostCommands.converter,a);c&&l.push(c)}return l}async $createContributedProfileTerminal(e,n){let o=new Re().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&&!Mn(s,{options:!0})&&(s={options:s}),!s||!Mn(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(Mn(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 Re;this._terminalLinkCancellationSource.set(e,s);let a=[],l={terminal:o.value,line:n},d=[];for(let m of this._linkProviders)d.push(ja.withAsyncBody(async g=>{let v=s.token.onCancellationRequested(()=>g({provider:m,links:[]}));try{let h=await m.provideTerminalLinks(l,s.token)||[];s.token.isCancellationRequested||g({provider:m,links:h})}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:H9++,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 lC),this._setEnvironmentVariableCollection(e.identifier.value,n)),n.getScopedEnvironmentVariableCollection(void 0)}_syncEnvironmentVariableCollection(e,n){let o=C2(n.map),r=T2(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 lC(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)}))}};lv=D([C(1,rr),C(2,fe)],lv);var lC=class extends F{constructor(e){super();this.map=new Map;this.scopedCollections=new Map;this.descriptionMap=new Map;this._persistent=!0;this._onDidChangeCollection=this._register(new T);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 IM(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?E2(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,E2(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)}},IM=class{constructor(t,e){this.collection=t;this.scope=e;this._onDidChangeCollection=new T}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)}},ym=class extends lv{constructor(t,e,n){super(!1,t,e),this._hasRemoteAuthority=!!n.remote.authority}createTerminal(t,e,n){if(!this._hasRemoteAuthority)throw new hd;return this.createTerminalFromOptions({name:t,shellPath:e,shellArgs:n})}createTerminalFromOptions(t,e){if(!this._hasRemoteAuthority)throw new hd;let n=new cv(this._proxy,Ve(),t,t.name);return this._terminals.push(n),n.create(t,this._serializeParentTerminal(t,e)),n.value}};ym=D([C(0,rr),C(1,fe),C(2,rt)],ym);function w2(i){if(!(!i||typeof i=="string"))return Mn(i,{id:!0})?{id:i.id,color:i.color}:i}function V9(i){return ku.isThemeColor(i)?i:void 0}function E2(i){let t={...i};return delete t.scope,t.options=t.options??void 0,t}var SM="/.well-known",B9=`${SM}/oauth-protected-resource`,W9=`${SM}/oauth-authorization-server`,xM=`${SM}/openid-configuration`,Im=" ",$9="urn:ietf:params:oauth:grant-type:token-exchange";var z9="urn:ietf:params:oauth:token-type:id_token",q9="urn:ietf:params:oauth:token-type:id-jag",K9="urn:ietf:params:oauth:grant-type:jwt-bearer";function P2(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",$9),s.append("subject_token",e),s.append("subject_token_type",z9),s.append("requested_token_type",q9),s.append("audience",n),o&&s.append("resource",o),r.length&&s.append("scope",r.join(Im)),s}function _2(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",K9),r.append("assertion",e),n&&r.append("resource",n),o.length&&r.append("scope",o.join(Im)),r}function G9(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 j9=["issuer","authorization_endpoint","token_endpoint","registration_endpoint","jwks_uri"];function Q9(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 j9)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 J9(i){return typeof i!="object"||i===null?!1:i.client_id!==void 0}function uv(i){if(typeof i!="object"||i===null)return!1;let t=i;return t.access_token!==void 0&&t.token_type!==void 0}function CM(i){return typeof i!="object"||i===null?!1:i.error!==void 0}function Y9(i){return typeof i!="object"||i===null?!1:i.error!==void 0}function D2(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 k2=["authorization_code","refresh_token","urn:ietf:params:oauth:grant-type:device_code"],X9=33418;async function TM(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=>k2.includes(s)):k2,response_types:["code"],redirect_uris:["https://insiders.vscode.dev/redirect","https://vscode.dev/redirect","http://127.0.0.1/",`http://127.0.0.1:${X9}/`],scope:e?.join(Im),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);Y9(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(J9(r))return r;throw new Error(`Invalid authorization dynamic client registration response: ${JSON.stringify(r)}`)}function EM(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 Hc(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(xo(e).toString())!="object")throw new Error("Invalid JWT token format: header is not a JSON object");let s=JSON.parse(xo(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 R2(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 M2(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 I;try{I=await v.text()}catch{I=v.statusText}throw new Error(`Failed to fetch resource metadata from ${c}: ${v.status} ${I}`)}let h=await v.json();if(G9(h)){let I=new URL(h.resource).toString(),S=new URL(u).toString();if(I!==S)throw new Error(`Protected Resource Metadata 'resource' property value "${I}" does not match expected value "${S}" for URL ${c}. Per RFC 9728, these MUST match. See https://datatracker.ietf.org/doc/html/rfc9728#PRConfigurationValidation`);return h}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(h)}`)},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}${B9}`;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 Z9(i){if(i.status===200)try{let t=await i.json();if(Q9(t))return t}catch{}}async function e8(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 Z9(g);if(v)return v;s.push(new Error(`Failed to fetch authorization server metadata from ${m}: ${g.status} ${await e8(g)}`));return}catch(g){s.push(g instanceof Error?g:new Error(String(g)));return}},l=new URL(W9,i).toString()+r,d=await a(l);if(d)return{metadata:d,discoveryUrl:l,errors:s};let c=new URL(xM,i).toString()+r;if(d=await a(c),d)return{metadata:d,discoveryUrl:c,errors:s};let u=i.endsWith("/")?i+xM.substring(1):i+xM;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 td=class{constructor(t,e){this._onDidChangeWindowState=new T;this.onDidChangeWindowState=this._onDidChangeWindowState.event;this._state=td.InitialState;t.handle&&(this._nativeHandle=xo(t.handle).buffer),this._proxy=e.getProxy(N.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?xo(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 Oi(t.scheme)?Promise.reject("Invalid scheme - cannot be empty"):t.scheme===q.command?Promise.reject(`Invalid scheme '${t.scheme}'`):this._proxy.$openUri(t,n,e)}async asExternalUri(t,e){if(Oi(t.scheme))return Promise.reject("Invalid scheme - cannot be empty");let n=await this._proxy.$asExternalUri(t,e);return y.from(n)}};td=D([C(0,rt),C(1,fe)],td);var Vc=R("IExtHostWindow");var nd=class{constructor(t){this.handles=new Co;this.handlers=new Map;this._proxy=t.getProxy(N.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=nd.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){Rt(o)}return Promise.resolve(void 0)}async createAppUri(t){return y.revive(await this._proxy.$createAppUri(t))}};nd=D([C(0,fe)],nd);var Bc=R("IExtHostUrlsService");function A2(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 pv(i,t,e){return A2((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 O2(i,t,e){return A2((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 Wc=R("IExtHostProgress"),xm=class{constructor(t){this._handles=0;this._mapHandleToCancellationSource=new Map;this._proxy=t.getProxy(N.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:xS.from(s),title:r,source:l,cancellable:a},t.isUnderDevelopment?void 0:t.identifier.value).catch(vd),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:xS.from(s),title:r,source:t,cancellable:a},void 0).catch(vd),this._withProgress(o,n,!!a)}_withProgress(t,e,n){let o;n&&(o=new Re,this._mapHandleToCancellationSource.set(t,o));let r=a=>{this._proxy.$progressEnd(a),this._mapHandleToCancellationSource.delete(a),o?.dispose()},s;try{s=e(new cC(this._proxy,t),n&&o?o.token:be.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))}};xm=D([C(0,fe)],xm);function t8(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 cC=class extends Za{constructor(e,n){super(o=>this.throttledReport(o));this._proxy=e;this._handle=n}throttledReport(e){this._proxy.$progressReport(this._handle,e)}};D([O2(100,(e,n)=>t8(e,n),()=>Object.create(null))],cC.prototype,"throttledReport",1);var wM=["openid","offline_access"];function L2(i,t){return i+"|"+[...t].sort().join(" ")}function n8(i,t=Date.now()){return i.token.expires_in===void 0?!1:t>i.created_at+i.token.expires_in*1e3-6e4}function U2(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=L2(r,n),l=this._resourceTokens.get(a);if(l&&!n8(l))return[kM(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?[kM(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 kM(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 P=Hc(d);typeof P.client_id=="string"&&P.client_id.length>0&&(u=P.client_id,m=u!==this._clientId)}catch(P){this._logger.warn(`[XAA] Could not decode ID-JAG to read resource client_id; falling back to IdP client_id. Error: ${P.message}`)}let v=this._clientSecret,h=typeof a.clientSecret=="string"&&a.clientSecret.length>0?a.clientSecret:void 0,I=this._resourceClientSecretKey(s,u);if(h)v=h,this._resourceClientSecrets.set(I,h);else if(m)if(this._resourceClientSecrets.has(I))v=this._resourceClientSecrets.get(I);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 P=await this._proxy.$promptForResourceClientSecret(u,s);if(P===void 0)return;this._resourceClientSecrets.set(I,P),v=P.length>0?P:void 0}let S=await this._redeemAtResource(c,d,s,o,u,v),w={resource:s,scopes:o,token:S,created_at:Date.now()};return this._resourceTokens.set(L2(s,o),w),w}async _tryGetSilentIdpSession(){let n={},o=await super.getSessions(wM,n);return o.length?o[0]:void 0}async _ensureIdpSession(){this._logger.trace(`[XAA] _ensureIdpSession: scopes=[${wM.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([...wM],{}))}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=P2(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 N2(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=_2(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 N2(c)}`);let u=await c.json();if(!uv(u))throw new Error(`XAA token exchange (resource) returned an invalid token response: ${JSON.stringify(u)}`);return u}}}function kM(i,t){let e;if(i.id_token)try{e=Hc(i.id_token)}catch{}if(!e)try{e=Hc(i.access_token)}catch{}return{id:bu(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 N2(i){try{return await i.text()}catch{return i.statusText}}var Tm=R("IExtHostAuthentication"),Sm=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=Cm;this._xaaAuthProviderCtor=U2(Cm);this._authenticationProviders=new Map;this._providerOperations=new Ka;this._onDidChangeSessions=new T;this._getSessionTaskSingler=new PM;this._onDidDynamicAuthProviderTokensChange=new T;this._proxy=t.getProxy(N.MainThreadAuthentication)}getExtensionScopedSessionsEvent(t){let e=t.toLowerCase();return Ae.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=xe.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(zN(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(Xy)||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 TM(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})}};Sm=D([C(0,fe),C(1,rt),C(2,Vc),C(3,Bc),C(4,Wc),C(5,ur),C(6,se)],Sm);var PM=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}},Cm=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 T;this.onDidChangeSessions=this._onDidChangeSessions.event;this._onDidChangeClientId=new T;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 G,this._disposable.add(this._onDidChangeSessions),this._disposable.add(this._onDidChangeClientId);let h=Ae.chain(m.event,I=>I.filter(S=>S.authProviderId===this.id&&S.clientId===c).map(S=>S.tokens));this._tokenStore=this._disposable.add(new _M({onDidChange:h,set:I=>s.$setSessionsForDynamicAuthProvider(this.id,this.clientId,I)},g,this._logger)),this._disposable.add(this._tokenStore.onDidChangeSessions(I=>this._onDidChangeSessions.fire(I))),this._createFlows=[],l.authorization_endpoint&&this._createFlows.push({label:p(3506,null),handler:(I,S,w)=>this._createWithUrlHandler(I,S,w)})}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=>Jt([...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=>Jt([...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(3503,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=Cn(a)?p(3507,null,this.label,l):p(3505,null,this.label,l);if(!await this._proxy.$showContinueNotification(d))throw new lt;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(I){throw new Error(`Failed to create external URI: ${I}`)}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 lt;e.report({message:p(3504,null)});let v;try{v=(await Ui(m,n)).code}catch(I){throw Cn(I)?(this._logger.info("Authorization code request was cancelled by the user."),I):(this._logger.error(`Failed to receive authorization code: ${I}`),new Error(`Failed to receive authorization code: ${I}`))}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 so(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(uv(s))return this._logger.info("Successfully exchanged authorization code for token."),s;throw CM(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(uv(o))return{...o,created_at:Date.now()};throw CM(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 TM(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}`)}}}};Cm=D([C(0,Vc),C(1,Bc),C(2,rt),C(3,Wc),C(4,ur)],Cm);var _M=class{constructor(t,e,n){this._persistence=t;this._logger=n;this._onDidChangeSessions=new T;this.onDidChangeSessions=this._onDidChangeSessions.event;this._disposable=new G,this._tokensObservable=pn("tokens",e),this._sessionsObservable=Qf({equalsFn:(o,r)=>Jt(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 uo(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=Hc(t.id_token)}catch{}if(!e)try{e=Hc(t.access_token)}catch{}let n=t.scope?t.scope.split(" "):e?.scope?e.scope.split(" "):[];return{id:bu(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 Em=R("IExtHostLanguageModels"),DM=class{constructor(){this._defaultStream=new Jb;this._isDone=!1;let t=this,[e,n]=hu.tee(t._defaultStream.asyncIterable);this.apiObject={get stream(){return e},get text(){return n.map(o=>{if(o instanceof qt)return o.value}).coalesce()}}}handleResponsePart(t){if(this._isDone)return;let e=[];for(let n of It.wrap(t)){let o;n.type==="text"?o=new qt(n.value,n.audience):n.type==="thinking"?o=new mi(n.value,n.id,n.metadata):n.type==="data"?o=new yn(n.data.buffer,n.mimeType,n.audience):o=new Vr(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()}},od=class{constructor(t,e,n){this._logService=e;this._extHostAuthentication=n;this._onDidChangeModelAccess=new T;this._onDidChangeProviders=new T;this.onDidChangeProviders=this._onDidChangeProviders.event;this._onDidChangeModelProxyAvailability=new T;this.onDidChangeModelProxyAvailability=this._onDidChangeModelProxyAvailability.event;this._languageModelProviders=new Map;this._localModels=new Map;this._modelAccessList=new Yn;this._pendingRequest=new Map;this._pendingCancelCTS=new Tn;this._ignoredFileProviders=new Map;this._languageAccessInformationExtensions=new Set;this._proxy=t.getProxy(N.MainThreadLanguageModels)}static{this._idPool=1}dispose(){this._onDidChangeModelAccess.dispose(),this._onDidChangeProviders.dispose(),this._onDidChangeModelProxyAvailability.dispose(),this._pendingRequest.clear(),this._pendingCancelCTS.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&&M(o.extension,"chatProvider");let d={};if(De(o.extension,"chatProvider")){if(a.isDefault===!0)for(let c of Object.values(oi))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[Xp.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,isBYOK:a.isBYOK,pricing:a.pricing,inputCost:a.inputCost,outputCost:a.outputCost,cacheCost:a.cacheCost,cacheWriteCost:a.cacheWriteCost,longContextInputCost:a.longContextInputCost,longContextOutputCost:a.longContextOutputCost,longContextCacheCost:a.longContextCacheCost,longContextCacheWriteCost:a.longContextCacheWriteCost,priceCategory:a.priceCategory,category:a.category,maxInputTokens:a.maxInputTokens,maxOutputTokens:a.maxOutputTokens,auth:l,isDefaultForLocation:d,isUserSelectable:a.isUserSelectable,statusIcon:a.statusIcon,targetChatSessionType:a.targetChatSessionType,configurationSchema:a.configurationSchema,warningText:a.warningText,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=new Re(s);this._pendingCancelCTS.set(e,d);let c=d.token,u=[],m=()=>{u.length>0&&(this._proxy.$reportResponsePart(e,new Vt(u)),u.length=0)},g=new Jn(m,30),v=S=>{u.push(S)>30?(m(),g.cancel()):g.schedule()},h=new Za(async S=>{if(c.isCancellationRequested){this._logService.warn(`[CHAT](${l.extension.identifier.value}) CANNOT send progress because the REQUEST IS CANCELLED`);return}let w;if(S instanceof Vr?w={type:"tool_use",name:S.name,parameters:S.input,toolCallId:S.callId}:S instanceof qt?w={type:"text",value:S.value,audience:S.audience}:S instanceof yn?w={type:"data",mimeType:S.mimeType,data:te.wrap(S.data),audience:S.audience}:S instanceof mi&&(w={type:"thinking",value:S.value,id:S.id,metadata:S.metadata}),!w){this._logService.warn(`[CHAT](${l.extension.identifier.value}) UNKNOWN part ${JSON.stringify(S)}`);return}v(w)}),I;try{I=l.provider.provideLanguageModelChatResponse(a.info,o.value.map(TS.to),{...r,modelOptions:r.modelOptions??{},modelConfiguration:r.configuration,requestInitiator:n?xe.toKey(n):"core",toolMode:r.toolMode??1},h,c)}catch(S){throw this._pendingCancelCTS.deleteAndDispose(e),S}Promise.resolve(I).then(()=>{m(),this._pendingCancelCTS.deleteAndDispose(e),this._proxy.$reportResponseDone(e,void 0)},S=>{m(),this._pendingCancelCTS.deleteAndDispose(e),this._proxy.$reportResponseDone(e,Ei(S))})}$cancelLanguageModelChatRequest(t){this._pendingCancelCTS.get(t)?.cancel()}$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===Vs){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,cacheWriteCost:n.metadata.cacheWriteCost,longContextInputCost:n.metadata.longContextInputCost,longContextOutputCost:n.metadata.longContextOutputCost,longContextCacheCost:n.metadata.longContextCacheCost,longContextCacheWriteCost:n.metadata.longContextCacheWriteCost,priceCategory:n.metadata.priceCategory,category:n.metadata.category,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 nr.NotFound(e);return o._computeTokenLength(e,s,a??be.None)},sendRequest(s,a,l){if(!o._localModels.has(e))throw nr.NotFound(e);return o._sendChatRequest(t,e,s,a??{},l??be.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 nr.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 nr.NoPermissions(`Language model '${e}' cannot be used by '${a.value}'.`);let d=Math.random()*1e6|0,c=new DM;this._pendingRequest.set(d,{languageModelId:e,res:c});let u=new Re(r);this._pendingCancelCTS.set(d,u),u.token.onCancellationRequested(()=>{this._proxy.$cancelLanguageModelChatRequest(d)});try{await this._proxy.$tryStartChatRequest(a,e,d,new Vt(s),o,u.token)}catch(m){throw this._pendingRequest.delete(d),this._pendingCancelCTS.deleteAndDispose(d),nr.tryDeserialize(m)??m}return c.apiObject}_convertMessages(t,e){let n=[];for(let o of e)o.role===3&&M(t,"languageModelSystem"),n.push(TS.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),this._pendingCancelCTS.deleteAndDispose(t),e?n.res.reject(nr.tryDeserialize(e)??cw(e)):n.res.resolve())}async _getAuthAccess(t,e,n,o){let r=Xy+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(3513,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&&!xe.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 nr.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 Co;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=Ae.signal(Ae.filter(this._onDidChangeModelAccess.event,o=>xe.equals(o.from,t.identifier))),n=Ae.signal(this._onDidChangeProviders.event);return{get onDidChange(){return Ae.any(e,n)},canSendRequest(o){return!0}}}fileIsIgnored(t,e,n=be.None){return M(t,"chatParticipantAdditions"),this._proxy.$fileIsIgnored(e,n)}get isModelProxyAvailable(){return!!this._languageModelProxyProvider}async getModelProxy(t){if(M(t,"languageModelProxy"),!this._languageModelProxyProvider)throw this._logService.trace("[LanguageModelProxy] No LanguageModelProxyProvider registered"),new Error("No language model proxy provider is registered.");let e=xe.toKey(t.identifier);try{let n=await Promise.resolve(this._languageModelProxyProvider.provideModelProxy(e,be.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){M(t,"chatParticipantPrivate");let n=od._idPool++;return this._proxy.$registerFileIgnoreProvider(n),this._ignoredFileProviders.set(n,e),X(()=>{this._proxy.$unregisterFileIgnoreProvider(n),this._ignoredFileProviders.delete(n)})}registerLanguageModelProxyProvider(t,e){return M(t,"chatParticipantPrivate"),this._languageModelProxyProvider=e,this._onDidChangeModelProxyAvailability.fire(),X(()=>{this._languageModelProxyProvider===e&&(this._languageModelProxyProvider=void 0,this._onDidChangeModelProxyAvailability.fire())})}};od=D([C(0,fe),C(1,se),C(2,Tm)],od);var o8=60,r8=o8*60,RM=r8*24,iAe=RM*7,sAe=RM*30,aAe=RM*365;function F2(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 wm={DateTimeFormat(i,t){return new yt(()=>{try{return new Intl.DateTimeFormat(i,t)}catch{return new Intl.DateTimeFormat(void 0,t)}})},Collator(i,t){return new yt(()=>{try{return new Intl.Collator(i,t)}catch{return new Intl.Collator(void 0,t)}})},Segmenter(i,t){return new yt(()=>{try{return new Intl.Segmenter(i,t)}catch{return new Intl.Segmenter(void 0,t)}})},Locale(i,t){return new yt(()=>{try{return new Intl.Locale(i,t)}catch{return new Intl.Locale(ki,t)}})},NumberFormat(i,t){return new yt(()=>{try{return new Intl.NumberFormat(i,t)}catch{return new Intl.NumberFormat(void 0,t)}})}};var km=class i{constructor(t){let e=Kw(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=Kw(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 MM=class extends km{constructor(e,n){super(0);this._segmenter=null;this._cachedLine=null;this._cachedSegments=[];this.intlSegmenterLocales=n,this.intlSegmenterLocales.length>0?this._segmenter=wm.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}},H2=new Tr(10);function V2(i,t){let e=`${i}/${t.join(",")}`,n=H2.get(e);return n||(n=new MM(i,t),H2.set(e,n)),n}var mv=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=AM(this.searchString):t=this.searchString.indexOf(`
`)>=0;let e=null;try{e=OO(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 My(e,this.wordSeparators?V2(this.wordSeparators,[]):null,n?this.searchString:null)}};function AM(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 OM(i,t,e){if(!e)return new Bd(i,null);let n=[];for(let o=0,r=t.length;o<r;o++)n[o]=t[o];return new Bd(i,n)}function s8(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 a8(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 LM(i,t,e,n,o){return s8(i,t,e,n,o)&&a8(i,t,e,n,o)}var uC=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){Xw(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||LM(this._wordSeparators,t,e,o,r))return n}while(n);return null}};function B2(i){return i.scheme!==q.file&&i.scheme!==q.vscodeRemote}function l8(i){if(i.folders.length)return i.folders.every(t=>B2(t.uri))?i.folders[0].uri:void 0;if(i.configuration&&B2(i.configuration))return i.configuration}function W2(i){return l8(i)?.scheme}var $2=R("pathService"),Pm=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||_i)(),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===q.file||t.scheme===q.vscodeRemote?$O(n??ot(t),e===1):!0}get defaultUriScheme(){return Pm.findDefaultUriScheme(this.environmentService,this.contextService)}static findDefaultUriScheme(t,e){if(t.remoteAuthority)return q.vscodeRemote;let n=W2(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:q.file}userHome(t){return t?.preferLocal?this.localUserHome:this.resolveUserHome}get resolvedUserHome(){return this.maybeUnresolvedUserHome}get path(){return this.resolveOS.then(t=>t===1?tn:He)}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:q.file,authority:e,path:t,query:"",fragment:""})}};Pm=D([C(1,$i),C(2,Hu),C(3,ei)],Pm);function c8(i){return typeof i=="object"&&"uri"in i&&"pattern"in i}var gv=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(Rf),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(Rf),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(pC),!t.length)return{}}else t=pC(t);return e?this.parseSearchPaths(t):{pattern:NM(...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=dt(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=>qS(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=>qS(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=>qS(l,c.fsPath));return l.extraFileResources=d&&d.length?d:void 0,l}commonQueryFromFileList(t){let e=[],n=new Ne,o={},r=!1;return t.forEach(s=>{if(s.scheme===q.walkThrough)return;if(ZO(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=ks(l.fsPath,s.fsPath);jr(d.includePattern)[z2(c.replace(/\\/g,"/"))]=!0}else s.fsPath&&(r=!0,o[z2(s.fsPath)]=!0)}),{folderQueries:e,includePattern:o,usingSearchPaths:!0,excludePattern:r?void 0:{"**/*":!0}}}isCaseSensitive(t,e){if(e.isSmartCase){if(t.isRegExp){if(ek(t.pattern,!0))return!0}else if(ek(t.pattern))return!0}return!!t.isCaseSensitive}isMultiline(t){return t.isMultiline||t.isRegExp&&AM(t.pattern)||t.pattern.indexOf(`
`)>=0?!0:!!t.isMultiline}parseSearchPaths(t){let e=u=>Ri(u)||/^\.\.?([\/\\]|$)/.test(u),o=(Array.isArray(t)?t:p8(t)).map(u=>{let m=this.pathService.resolvedUserHome;return m?c_(u,m.scheme===q.file?m.fsPath:m.path):u}),r=db(o,u=>e(u)?"searchPaths":"exprSegments"),s=(r.exprSegments||[]).map(u=>wd(u,"/")).map(u=>wd(u,"\\")).map(u=>(u[0]==="."&&(u="*"+u),m8(u))),a={},l=this.expandSearchPathPatterns(r.searchPaths||[]);l&&l.length&&(a.searchPaths=l);let d=s.flat(),c=NM(...d);return c&&(a.pattern=c),a}getExcludesForFolder(t,e){return e.disregardExcludeSettings?void 0:s2(t,!e.disregardSearchExcludeSettings)}expandSearchPathPatterns(t){if(!t||!t.length)return[];let e=t.flatMap(o=>{let{pathPortion:r,globPortion:s}=u8(o);return s&&(s=UM(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?NM(o.pattern):void 0})}),Array.from(n.values())}expandOneSearchPath(t){if(Ri(t)){let e=this.workspaceContextService.getWorkspace().folders;return e[0]&&e[0].uri.scheme!==q.file?[{searchPath:e[0].uri.with({path:t})}]:[{searchPath:y.file(Ko(t))}]}if(this.workspaceContextService.getWorkbenchState()===2){let e=this.workspaceContextService.getWorkspace().folders[0].uri;if(t=pC(t),t.startsWith("../")||t===".."){let o=He.resolve(e.path,t);return[{searchPath:e.with({path:o})}]}let n=UM(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(`^${dr(r.name)}(?:/(.*)|$)`));return s?{match:s,folder:r}:null}).filter(io);if(o.length)return o.map(r=>{let s=r.match[1];return{searchPath:r.folder.uri,pattern:s&&UM(s)}});{let r=t.match(/\.[\/\\](.+)[\/\\]?/),s=r?r[1]:t,a=p(18859,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(Rf(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&&c8(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=>En(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)?ot(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}}};gv=D([C(0,sn),C(1,ei),C(2,RF),C(3,se),C(4,$2),C(5,gr)],gv);function u8(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 NM(...i){return i.length?i.reduce((t,e)=>(t[e]=!0,t),Object.create(null)):void 0}function p8(i){return Yu(i,",").map(t=>t.trim()).filter(t=>!!t.length)}function m8(i){return[`**/${i}/**`,`**/${i}`].map(e=>e.replace(/\*\*\/\*\*/g,"**"))}function pC(i){return i.replace(/\\/g,"/")}function UM(i){return pC(i).replace(/^\.\//,"").replace(/\/+$/g,"")}function z2(i){return i.replace(/([?*[\]])/g,"[$1]")}var g8=7e3;function K2(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}=pk(),a=c=>s({activationEvent:c}),l=Promise.all(n.map(c=>f8(i,c,a))).then(()=>{}),d=h8(i,t.identifier,o,a);return Promise.all([l,d]).then(()=>{s(void 0)}),r}async function f8(i,t,e){for(let n of i.folders)if(await i.exists(Ht(y.revive(n),t))){e(`workspaceContains:${t}`);return}}async function h8(i,t,e,n){if(e.length===0)return Promise.resolve(void 0);let o=new Re,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(",")}`)},g8),a=!1;try{a=await r}catch(l){Cn(l)||Rt(l)}o.dispose(),clearTimeout(s),a&&n(`workspaceContains:${e.join(",")}`)}var _m=class{constructor(t){this._onDidChangePassword=new T;this.onDidChangePassword=this._onDidChangePassword.event;this._proxy=t.getProxy(N.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)}},Dm=R("IExtHostSecretState");var mC=class{constructor(t,e){this.disposables=new G;this._id=xe.toKey(t.identifier),this.#e=e,this.onDidChange=Ae.map(Ae.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 Rm=class{constructor(t,e,n){this.logService=n;this.bundleCache=new Map;this._proxy=e.getProxy(N.MainThreadLocalization),this.currentLanguage=t.environment.appLanguage,this.isDefaultLanguage=this.currentLanguage===ki}getMessage(t,e){let{message:n,args:o,comment:r}=e;if(this.isDefaultLanguage)return Jw(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}`),Jw(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}};Rm=D([C(0,rt),C(1,fe),C(2,se)],Rm);var Mm=R("IExtHostLocalizationService");var Om=R("IExtHostManagedSockets"),Am=class{constructor(t){this._remoteSocketIdCounter=0;this._factory=null;this._managedRemoteSockets=new Map;this._proxy=t.getProxy(N.MainThreadManagedSockets)}setFactory(t,e){for(let n of this._managedRemoteSockets.values())n.dispose();this._factory&&this._proxy.$unregisterSocketFactory(this._factory.socketFactoryId),this._factory=new FM(t,e),this._proxy.$registerSocketFactory(this._factory.socketFactoryId)}makeConnection(){if(!this._factory)throw new Error("No managed socket factory registered");return Promise.resolve(this._factory.makeConnection())}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 G;return this._managedRemoteSockets.set(e,new HM(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?.()}};Am=D([C(0,fe)],Am);var FM=class{constructor(t,e){this.socketFactoryId=t;this.makeConnection=e}},HM=class extends F{constructor(e,n,o){super();this.socketId=e;this.actual=n;this._register(o)}};var WM=R("IHostUtils"),rd=class extends F{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 T);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(N.MainThreadWorkspace),this._mainThreadTelemetryProxy=this._extHostContext.getProxy(N.MainThreadTelemetry),this._mainThreadExtensionsProxy=this._extHostContext.getProxy(N.MainThreadExtensionService),this._almostReadyToRunExtensions=new An,this._readyToStartExtensionHost=new An,this._readyToRunExtensions=new An,this._eagerExtensionsActivated=new An,this._activationEventsReader=new BM(this._initData.extensions.activationEvents),this._globalRegistry=new va(this._activationEventsReader,this._initData.extensions.allExtensions);let h=new Co(this._initData.extensions.myExtensions);this._myRegistry=new va(this._activationEventsReader,Q2(this._globalRegistry,h)),Va&&(this._logService.info(`Creating extension host with the following global extensions: ${Lm(this._globalRegistry)}`),this._logService.info(`Creating extension host with the following local extensions: ${Lm(this._myRegistry)}`)),this._storage=new lm(this._extHostContext,this._logService),this._secretState=new _m(this._extHostContext),this._storagePath=d,this._instaService=this._store.add(e.createChild(new Ja([dm,this._storage],[Dm,this._secretState]))),this._activator=this._register(new im(this._myRegistry,this._globalRegistry,{onExtensionActivationError:(I,S,w)=>{this._mainThreadExtensionsProxy.$onExtensionActivationError(I,Ei(S),w)},actualActivateExtension:async(I,S)=>{if(va.isHostExtension(I,this._myRegistry,this._globalRegistry))return await this._mainThreadExtensionsProxy.$activateExtension(I,S),new nC;let w=this._myRegistry.getExtensionDescription(I);return this._activateExtension(w,S)}},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){Rt(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(),qg(r=>{this._logService.error(r)}),this._extHostContext.dispose();let o=this._deactivateAll();Promise.race([wn(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 xe(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===q.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 VM(e))),this._extensionPathIndex}async _createExtensionPathIndex(e){let n=Lo.forUris(o=>ik.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=j2(e,n);this._mainThreadTelemetryProxy.$publicLog2("extensionActivationTimes",{...s,...r||{},outcome:o})}_doActivateExtension(e,n){let o=j2(e,n);this._mainThreadTelemetryProxy.$publicLog2("activatePlugin",o);let r=this._getEntryPoint(e);if(!r)return Promise.resolve(new tC(Nc.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 G,l=new sm(n.startup);return Promise.all([s?this._loadESMModule(e,Ht(e.extensionLocation,r),l):this._loadCommonJSModule(e,Ht(e.extensionLocation,r),l),this._loadExtensionContext(e,a)]).then(d=>(fn(`code/extHost/willActivateExtension/${e.identifier.value}`),rd._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 oC(e,this._storage)),s=n.add(new sv(e.identifier.value,!1,this._storage)),a=n.add(new mC(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(xe.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 gu(e.extensionLocation.fsPath,v)},get storagePath(){return c._storagePath.workspaceValue(e)?.fsPath},get globalStoragePath(){return c._storagePath.globalValue(e).fsPath},get logPath(){return gu(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 id(c,e.identifier,e,d,!1)),u},get extensionRuntime(){return M(e,"extensionRuntime"),c.extensionRuntime},get environmentVariableCollection(){return c._extHostTerminalService.getEnvironmentVariableCollection(e)},get messagePassingProtocol(){if(!m){if(!g)return;let v=Ae.buffer(Ae.fromDOMEventEmitter(g,"message",h=>h.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 Uc(!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();yb(()=>{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(vO()),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,wn(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 K2(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(3510,null));let o=(await this.getExtensionPathIndex()).findSubstr(n),s=await(this._isESM(o,n.path)?this._loadESMModule(null,n,new sm(!1)):this._loadCommonJSModule(null,n,new sm(!1)));if(!s||typeof s.run!="function")throw new Error(p(3509,null,n.toString()));return new Promise((a,l)=>{let d=(m,g)=>{m?(Va&&this._logService.error("Test runner called back with error",m),l(m)):(Va&&(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=wr(n),u=s.run(c,d);u&&u.then&&u.then(()=>{Va&&this._logService.info("Test runner finished successfully."),a(0)}).catch(m=>{Va&&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(),wn(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 ns("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(${SD(e)},${n})][${o.elapsed()}ms] `,s=P=>this._logService.info(`${r()}${P}`),a=P=>this._logService.warn(`${r()}${P}`),l=(P,O=void 0)=>this._logService.error(`${r()}${P}`,O),d=P=>{if(P instanceof ns)return{type:"error",error:{code:P._code,message:P._message,detail:P._detail}};throw P},c=async P=>{s(`activating resolver for ${P}...`);let{resolver:O,authorityPrefix:L}=await this._activateAndGetResolver(P);if(!O)throw l(`no resolver for ${L}`),new ns(`No remote extension installed to resolve ${L}.`,"NoResolverFound");return{resolver:O,authorityPrefix:L,remoteAuthority:P}},u=e.split(/@|%40/g).reverse();s(`activating remote resolvers ${u.join(" -> ")}`);let m;try{m=await Promise.all(u.map(c)).catch(async P=>{if(!(P instanceof ns)||P._code!=="InvalidAuthority")throw P;return a(`resolving nested authorities failed: ${P.message}`),[await c(e)]})}catch(P){return d(P)}let g=new jb;g.cancelAndSet(()=>s("waiting..."),1e3);let v,h;for(let[P,{authorityPrefix:O,resolver:L,remoteAuthority:$}]of m.entries())try{if(P===m.length-1)s("invoking final resolve()..."),fn(`code/extHost/willResolveAuthority/${O}`),v=await L.resolve($,{resolveAttempt:n,execServer:h}),fn(`code/extHost/didResolveAuthorityOK/${O}`),s("setting tunnel factory..."),this._register(await this._extHostTunnelService.setTunnelFactory(L,Rl.isManagedResolvedAuthority(v)?v:void 0));else{if(s(`invoking resolveExecServer() for ${$}`),fn(`code/extHost/willResolveExecServer/${O}`),h=await L.resolveExecServer?.($,{resolveAttempt:n,execServer:h}),!h)throw new ns(`Exec server was not available for ${$}`,"NoResolverFound");fn(`code/extHost/didResolveExecServerOK/${O}`)}}catch(V){return fn(`code/extHost/didResolveAuthorityError/${O}`),l("returned an error",V),g.dispose(),d(V)}g.dispose();let I={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},S={extensionHostEnv:v.extensionHostEnv,isTrusted:v.isTrusted,authenticationSession:v.authenticationSessionForInitializingExtensions?{id:v.authenticationSessionForInitializingExtensions.id,providerId:v.authenticationSessionForInitializingExtensions.providerId}:void 0};s(`returned ${Rl.isManagedResolvedAuthority(v)?"managed authority":`${v.host}:${v.port}`}`);let w;if(Rl.isManagedResolvedAuthority(v)){let P=n;this._extHostManagedSockets.setFactory(P,v.makeConnection),w={authority:e,connectTo:new FI(P),connectionToken:v.connectionToken}}else w={authority:e,connectTo:new HI(v.host,v.port),connectionToken:v.connectionToken};return{type:"ok",value:{authority:w,options:S,tunnelInformation:I}}}async $getCanonicalURI(e,n){this._logService.info(`$getCanonicalURI invoked for authority (${SD(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 nn(()=>o.getCanonicalURI(r));return s||r}async $startExtensionHost(e){e.toAdd.forEach(a=>a.extensionLocation=y.revive(a.extensionLocation));let{globalRegistry:n,myExtensions:o}=G2(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),Va&&(this._logService.info(`$startExtensionHost: global extensions: ${Lm(this._globalRegistry)}`),this._logService.info(`$startExtensionHost: local extensions: ${Lm(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}=G2(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),Va&&(this._logService.info(`$deltaExtensions: global extensions: ${Lm(this._globalRegistry)}`),this._logService.info(`$deltaExtensions: local extensions: ${Lm(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")}};rd=D([C(0,On),C(1,WM),C(2,fe),C(3,to),C(4,Ro),C(5,se),C(6,rt),C(7,um),C(8,mm),C(9,hi),C(10,Mm),C(11,Om),C(12,Em)],rd);function G2(i,t,e,n){i.addActivationEvents(n.addActivationEvents);let o=new va(i,t.getAllExtensionDescriptions());o.deltaExtensions(n.toAdd,n.toRemove);let r=new Co(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=Q2(o,r);return{globalRegistry:o,myExtensions:s}}function j2(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 Lm(i){return i.getAllExtensionDescriptions().map(t=>t.identifier.value).join(",")}var Mo=R("IExtHostExtensionService"),id=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=Ko(wr(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 Q2(i,t){return i.getAllExtensionDescriptions().filter(e=>t.has(e.identifier))}var VM=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)}},BM=class{constructor(t){this._map=new Yn;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 ya=R("IExtHostApiDeprecationService"),Nm=class{constructor(t,e){this._extHostLogService=e;this._reportedUsages=new Set;this._telemetryShape=t.getProxy(N.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}};Nm=D([C(0,fe),C(1,se)],Nm);var uLe=Object.freeze(new class{report(i,t,e){}});var gC=class{static async installEarlyHandler(t){Error.stackTraceLimit=100;let e=t.get(se),o=t.get(fe).getProxy(N.MainThreadErrors);qg(r=>{e.error(r);let s=Ei(r);o.$onUnexpectedError(s)})}static async installFullHandler(t){let e=t.get(se),n=t.get(fe),o=t.get(Mo),r=t.get(ed),s=t.get(ya),a=n.getProxy(N.MainThreadExtensionService),l=n.getProxy(N.MainThreadErrors),d=await o.getExtensionRegistry(),c=await o.getExtensionPathIndex(),u=new WeakMap;function m(h,I){if(u.has(h))return u.get(h).stack;let S="",w,P;for(let L of I)S+=`
	at ${L.toString()}`,P=L.getFileName(),!w&&P&&(w=c.findSubstr(y.file(P)));let O=`${h.name||"Error"}: ${h.message||""}${S}`;return u.set(h,{extensionIdentifier:w?.identifier,stack:O}),O}let g=Symbol("prepareStackTrace wrapped"),v=m;Object.defineProperty(Error,"prepareStackTrace",{configurable:!1,get(){return v},set(h){if(h===m||!h||h[g]){v=h||m;return}v=function(I,S){return m(I,S),h.call(Error,I,S)},Object.assign(v,{[g]:!0})}}),qg(h=>{fd.is(h)||e.error(h);let I=Ei(h),S;if(h instanceof vu?S=h.extension:S=u.get(h)?.extensionIdentifier,!!S)if(fd.is(h)){let w=d.getExtensionDescription(S);w&&s.report(h.name,w,`${h.message}
 FROM: ${h.stack}`)}else{a.$onExtensionRuntimeError(S,I);let w=r.onExtensionError(S,h);e.trace("forwarded error to extension?",w,S)}}),Da.addListener(h=>{l.$onUnexpectedError(h)})}},fC=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 Ja(...yL());s.set(rt,{_serviceBrand:void 0,...e,messagePorts:r}),s.set(fe,new cy(this._rpcProtocol)),s.set(Ya,new uy(o)),s.set(WM,n);let a=new dy(s,!0);a.invokeFunction(gC.installEarlyHandler),this._logService=a.invokeFunction(l=>l.get(se)),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(Mo)),this._extensionService.initialize(),a.invokeFunction(gC.installFullHandler)}async asBrowserUri(t){let e=this._rpcProtocol.getProxy(N.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 v8=(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(),hC=class extends EventTarget{constructor(e,n,o){super();this.onmessage=null;this.onmessageerror=null;this.onerror=null;let r=`((${v8})('${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 BLe=new E("inOutput",!1),WLe=new E("activeLogOutput",!1),$Le=new E("activeLogOutput.isLog",!1),zLe=new E("activeLogOutput.levelSettable",!1),qLe=new E("activeLogOutput.level",""),KLe=new E("activeLogOutput.levelIsDefault",!1),GLe=new E("outputView.scrollLock",!1),jLe=new E("activeOutputChannel",""),QLe=new E("output.filter.trace",!0),JLe=new E("output.filter.debug",!0),YLe=new E("output.filter.info",!0),XLe=new E("output.filter.warning",!0),ZLe=new E("output.filter.error",!0),eNe=new E("outputFilterFocus",!1),tNe=new E("output.filter.categories",""),nNe=R("outputService");var b8={OutputChannels:"workbench.contributions.outputChannels"};function y8(i){return Array.isArray(i.source)}var $M=class extends F{constructor(){super(...arguments);this.channels=new Map;this._onDidRegisterChannel=this._register(new T);this.onDidRegisterChannel=this._onDidRegisterChannel.event;this._onDidRemoveChannel=this._register(new T);this.onDidRemoveChannel=this._onDidRemoveChannel.event;this._onDidUpdateChannelFiles=this._register(new T);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&&y8(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))}};bt.add(b8.OutputChannels,new $M);var vC=class extends xu{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,vL(this.logger,e,n),this.visible&&(this.logger.flush(),this.proxy.$update(this.id,1))}},zM=class extends vC{appendLine(t){this.append(t)}},Um=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 Ne;this.logOutputChannels=new Ne;this.namePool=1;this.channels=new Map;this.visibleChannelId=null;this.proxy=t.getProxy(N.MainThreadOutputService),this.outputsLocation=this.extHostFileSystemInfo.extUri.joinPath(e.logsLocation,`output_logging_${F2(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=_e(e)?e:void 0;if(_e(r)&&!r.trim())throw new Error("illegal argument `languageId`. must not be empty");let s=new G,a,l=this.initData.environment.extensionLogLevel?.find(([c])=>xe.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 vC(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 zM(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(wu(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 T);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))}}}};Um=D([C(0,fe),C(1,rt),C(2,Xl),C(3,Dr),C(4,ur),C(5,se)],Um);var bC=R("IExtHostOutputService");var ps=class{constructor(t,e){this._logService=e;this._provider=new Map;this._proxy=t.getProxy(N.MainThreadDecorations)}static{this._handlePool=0}static{this._maxEventSize=250}registerFileDecorationProvider(t,e){let n=ps._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<=ps._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:AO(c.path,"/")})),l=T0(a,(c,u)=>c.rank-u.rank||Jr(c.uri.path,u.uri.path)),d=[];e:for(let c of l){let u;for(let m of c){let g=Mi(m.uri.path);if(u!==g&&(u=g,d.push(m.uri)>=ps._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{fc.validate(c),c.badge&&typeof c.badge!="string"&&M(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}};ps=D([C(0,fe),C(1,se)],ps);var yC=R("IExtHostDecorations");var IC=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=Ed(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=Ed(t),e=Ed(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=Ed(t),e=Ed(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=Ed(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 qM(o,t-s)}};var qM=class{constructor(t,e){this.index=t;this.remainder=e;this._prefixSumIndexOfResultBrand=void 0;this.index=t,this.remainder=e}};var xC=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 IC(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=Mb(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 KM=new Map;function J2(i,t){t?KM.set(i,t):KM.delete(i)}function I8(i){return KM.get(i)}var SC=class extends xC{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(){Rn(!this._isDisposed),this._isDisposed=!0,this._isDirty=!1}equalLines(e){return Jt(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===q.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){Rn(!this._isDisposed),this._languageId=e}_acceptIsDirty(e){Rn(!this._isDisposed),this._isDirty=e}_acceptEncoding(e){Rn(!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 GM(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=I8(this._languageId);else if(Rb(n))throw new Error(`[getWordRangeAtPosition]: ignoring custom regexp '${n.source}' because it matches the empty string.`);let r=nP(o.character+1,tP(n),this._lines[o.line],0);if(r)return new ve(o.line,r.startColumn-1,o.line,r.endColumn-1)}},GM=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 sd=class{constructor(t){this._prefix=t,this._lastId=0}nextId(){return this._prefix+ ++this._lastId}},dUe=new sd("id#");var CC=class i{static{this._Keys=new sd("TextEditorDecorationType")}constructor(t,e,n){let o=i._Keys.nextId();t.$registerTextEditorDecorationType(e.identifier,o,SR.from(n)),this.value=Object.freeze({key:o,dispose(){t.$removeTextEditorDecorationType(o)}})}},jM=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 Le("endOfLine");this._setEndOfLine=t}},QM=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)})}},TC=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 QM(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 Gr("document")},get selection(){return d._selections&&d._selections[0]},set selection(c){if(!(c instanceof Nn))throw Le("selection");d._selections=[c],d._trySetSelection()},get selections(){return d._selections},set selections(c){if(!Array.isArray(c)||c.some(u=>!(u instanceof Nn)))throw Le("selections");c.length===0&&(c=[new Nn(0,0,0,0)]),d._selections=c,d._trySetSelection()},get visibleRanges(){return d._visibleRanges},set visibleRanges(c){throw new Gr("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 Gr("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 jM(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=>B.from(v));else if(u instanceof we){let{lineNumber:v,column:h}=et.from(u);g=[{startLineNumber:v,startColumn:h,endLineNumber:v,endColumn:h}]}else if(u instanceof ve)g=[B.from(u)];else{g=[];for(let v of u)if(v instanceof ve)g.push(B.from(v));else{let{lineNumber:h,column:I}=et.from(v);g.push({startLineNumber:h,startColumn:I,endLineNumber:h,endColumn:I})}}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(xR(u))return e.$trySetDecorations(t,c.key,zF(u));{let g=new Array(4*u.length);for(let v=0,h=u.length;v<h;v++){let I=u[v];g[4*v]=I.start.line+1,g[4*v+1]=I.start.character+1,g[4*v+2]=I.end.line+1,g[4*v+3]=I.end.character+1}return e.$trySetDecorationsFast(t,c.key,g)}}))},revealRange(c,u){d._runOnProxy(()=>e.$tryRevealRange(t,B.from(c),u||0))},show(c){e.$tryShowEditor(t,Ot.from(c))},hide(){e.$tryHideEditor(t)},[Symbol.for("debug.description")](){return`TextEditor(${this.document.uri.toString()})`}})}dispose(){Rn(!this._disposed),this._disposed=!0}_acceptOptions(t){Rn(!this._disposed),this._options._accept(t)}_acceptVisibleRanges(t){Rn(!this._disposed),this._visibleRanges=t}_acceptViewColumn(t){Rn(!this._disposed),this._viewColumn=t}_acceptSelections(t){Rn(!this._disposed),this._selections=t}_acceptDiffInformation(t){Rn(!this._disposed),this._diffInformation=t}async _trySetSelection(){let t=this._selections.map(go.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:B.from(r.range),text:r.text,forceMoveMarkers:r.forceMoveMarkers}));return this._proxy.$tryApplyEdits(this.id,e.documentVersionId,o,{setEndOfLine:typeof e.setEndOfLine=="number"?kc.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 JM=class{constructor(t){this.value=t;this._count=0}ref(){this._count++}unref(){return--this._count===0}},Fm=class{constructor(t,e){this._extHostRpc=t;this._logService=e;this._activeEditorId=null;this._editors=new Map;this._documents=new Ne;this._onDidAddDocuments=new T;this._onDidRemoveDocuments=new T;this._onDidChangeVisibleTextEditors=new T;this._onDidChangeActiveTextEditor=new T;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!==q.vscodeNotebookCell&&s.scheme!==q.vscodeInteractiveInput)throw new Error(`document '${s} already exists!'`);a||(a=new JM(new SC(this._extHostRpc.getProxy(N.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);Rn(this._documents.has(s),`document '${s}' does not exist`),Rn(!this._editors.has(r.id),`editor '${r.id}' already exists!`);let a=this._documents.get(s).value,l=new TC(r.id,this._extHostRpc.getProxy(N.MainThreadTextEditors),this._logService,new yt(()=>a.document),r.selections.map(go.to),r.options,r.visibleRanges.map(d=>B.to(d)),typeof r.editorPosition=="number"?Ot.to(r.editorPosition):void 0);this._editors.set(r.id,l)}t.newActiveEditor!==void 0&&(Rn(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 It.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()]}};Fm=D([C(0,fe),C(1,se)],Fm);var vi=R("IExtHostDocumentsAndEditors");var x8={type:"object",additionalProperties:!1,properties:{type:{type:"string",description:p(15640,null)},required:{type:"array",markdownDescription:p(15642,null),items:{type:"string"}},properties:{type:"object",description:p(15641,null),additionalProperties:{$ref:"http://json-schema.org/draft-07/schema#"}},when:{type:"string",markdownDescription:p(15643,null),default:""}}},Y2;(t=>{function i(e,n,o){if(!e)return;let r=_e(e.type)?e.type:void 0;if(!r||r.length===0){o.error(p(15645,null));return}let s=[];if(Array.isArray(e.required))for(let a of e.required)_e(a)&&s.push(a);return{extensionId:n.value,taskType:r,required:s,properties:e.properties?vt(e.properties):{},when:e.when?ht.deserialize(e.when):void 0}}t.from=i})(Y2||={});var S8=gI.registerExtensionPoint({extensionPoint:"taskDefinitions",activationEventsGenerator:function*(i){for(let t of i)t.type&&(yield`onTaskType:${t.type}`)},jsonSchema:{description:p(15644,null),type:"array",items:x8}}),YM=class{constructor(){this._onDefinitionsChanged=new T;this.onDefinitionsChanged=this._onDefinitionsChanged.event;this.taskTypes=Object.create(null),this.readyPromise=new Promise((t,e)=>{S8.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=Y2.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=vt(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}},X2=new YM;var Z2="settings",jUe=new E("taskRunning",!1,p(15648,null)),QUe=new E("taskTerminalActive",!1,p(15650,null)),JUe=xs(15649,"Tasks"),ZM=(n=>(n[n.Escape=1]="Escape",n[n.Strong=2]="Strong",n[n.Weak=3]="Weak",n))(ZM||{});(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})(ZM||={});var C8;(t=>t.defaults={cwd:"${workspaceFolder}"})(C8||={});var e1=(n=>(n[n.Always=1]="Always",n[n.Silent=2]="Silent",n[n.Never=3]="Never",n))(e1||{});(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})(e1||={});var t1=(n=>(n[n.Never=1]="Never",n[n.OnProblem=2]="OnProblem",n[n.Always=3]="Always",n))(t1||{});(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})(t1||={});var n1=(n=>(n[n.Shared=1]="Shared",n[n.Dedicated=2]="Dedicated",n[n.New=3]="New",n))(n1||{});(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})(n1||={});var T8;(t=>t.defaults={echo:!0,reveal:1,revealProblems:1,focus:!1,panel:1,showReuseMessage:!0,clear:!1,preserveTerminalName:!1})(T8||={});var o1=(n=>(n[n.Shell=1]="Shell",n[n.Process=2]="Process",n[n.CustomExecution=3]="CustomExecution",n))(o1||{});(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})(o1||={});var E8;(t=>{function i(e){return _e(e)?e:e.value}t.value=i})(E8||={});var w8;(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 _e(a)?o(a)?{_id:a,isDefault:!1}:void 0:a}s.from=r})(w8||={});var k8;(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})(k8||={});var P8;(t=>t.defaults={reevaluateOnRerun:!0,runOn:1,instanceLimit:1,instancePolicy:"prompt"})(P8||={});var r1=(e=>(e[e.Process=1]="Process",e[e.Terminal=2]="Terminal",e))(r1||{});(t=>t._default=2)(r1||={});var _8;(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})(_8||={});var XM;(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})(XM||={});var D8;(t=>{function i(e,n){let o=X2.get(e.type);if(o===void 0){let l=vt(e);return delete l._key,XM.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]=vt(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(15647,null,JSON.stringify(e,void 0,0),l));return}}}return XM.create(r)}t.createTaskIdentifier=i})(D8||={});var YUe=Bs("rerun-task",de.refresh,p(15646,null));var i1;(e=>{function i(n){if(n!=null)return n}e.from=i;function t(n){if(n!=null)return n}e.to=t})(i1||={});var s1;(e=>{function i(n){if(n!=null)return n}e.from=i;function t(n){if(n!=null)return n}e.to=t})(s1||={});var eH;(e=>{function i(n){if(n!=null)return n}e.from=i;function t(n){if(n!=null)return n}e.to=t})(eH||={});var EC;(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=eH.from(o.options)),r}n.from=t;function e(o){if(o!=null)return new Xi(o.process,o.args,o.options)}n.to=e})(EC||={});var tH;(e=>{function i(n){if(n!=null)return n}e.from=i;function t(n){if(n!=null)return n}e.to=t})(tH||={});var wC;(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=tH.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 li(o.commandLine,o.options):new li(o.command,o.args?o.args:[],o.options)}n.to=e})(wC||={});var ad;(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})(ad||={});var R8;(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=Z2),{id:e._id,workspaceFolder:o}}t.from=i})(R8||={});var nH;(t=>{function i(e){if(e!=null)return{_id:e.id,isDefault:e.isDefault}}t.from=i})(nH||={});var $c;(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 Xi?s=EC.from(o.execution):o.execution instanceof li?s=wC.from(o.execution):o.execution&&o.execution instanceof mc&&(s=ad.from(o.execution));let a=i1.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:nH.from(o.group),presentationOptions:s1.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;EC.is(o.execution)?a=EC.to(o.execution):wC.is(o.execution)?a=wC.to(o.execution):ad.is(o.execution)&&(a=ad.to(o._id,s));let l=i1.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 _n(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=bn.from(o.group._id),c.group&&o.group.isDefault&&(c.group=new bn(c.group.id,c.group.label),o.group.isDefault===!0&&(c.group.isDefault=o.group.isDefault))),o.presentationOptions&&(c.presentationOptions=s1.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})($c||={});var oH;(e=>{function i(n){return n}e.from=i;function t(n){if(n)return Object.assign(Object.create(null),n)}e.to=t})(oH||={});var hv=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}},fv=class{constructor(t,e,n,o,r,s,a,l){this._onDidExecuteTask=new T;this._onDidTerminateTask=new T;this._onDidTaskProcessStarted=new T;this._onDidTaskProcessEnded=new T;this._onDidStartTaskProblemMatchers=new T;this._onDidEndTaskProblemMatchers=new T;this._proxy=t.getProxy(N.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(oH.from(t)).then(async e=>{let n=[];for(let o of e){let r=await $c.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 hv))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=nn(()=>n.provider.provideTasks(be.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 $c.to(e,this._workspaceProvider,this._providedCustomExecutions2);if(!o)throw new Error("Unexpected: Task cannot be resolved.");let r=await n.provider.resolveTask(o,be.None);if(!r)return;this.checkDeprecation(r,n);let s=$c.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 ad.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 ro("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 hv(this,t.id,e)):o=$c.to(t.task,this._workspaceProvider,this._providedCustomExecutions2).then(r=>{if(!r)throw new ro("Unexpected: Task does not exist.");return new hv(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()}};fv=D([C(0,fe),C(1,rt),C(2,to),C(3,vi),C(4,Ro),C(5,hi),C(6,se),C(7,ya)],fv);var Hm=class extends fv{constructor(t,e,n,o,r,s,a,l){super(t,e,n,o,r,s,a,l),this.registerTaskSystem(q.vscodeRemote,{scheme:q.vscodeRemote,authority:"",platform:Rw(0)})}async executeTask(t,e){if(!e.execution)throw new Error("Tasks to execute must include an execution");let n=$c.from(e,t);if(n===void 0)throw new Error("Task is not valid");if(ad.is(n.execution))await this.addCustomExecution(n,e,!1);else throw new hd;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=$c.from(s,n.extension);a&&ad.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(ad.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){}};Hm=D([C(0,fe),C(1,rt),C(2,to),C(3,vi),C(4,Ro),C(5,hi),C(6,se),C(7,ya)],Hm);var kC=R("IExtHostTask");var PC=class{constructor(){this.pendingRequests=new Map;this.pendingRequestTimers=new Map;this.queue=[];this._onError=new T;this._onExit=new T;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(10790,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 wn(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 wn(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 rH(i){return i.type&&(i.label||i.program||i.runtime)}var M8=/^[a-zA-Z][a-zA-Z0-9\+\-\.]+:/;function A8(i){return!!(i&&i.match(M8))}function iH(i){if(typeof i.path=="string"&&!(typeof i.sourceReference=="number"&&i.sourceReference>0)){if(A8(i.path))return y.parse(i.path);if(Ri(i.path))return y.file(i.path)}return i.path}function sH(i){if(typeof i.path=="object"){let t=y.revive(i.path);if(t)return t.scheme===q.file?t.fsPath:t.toString()}return i.path}function aH(i,t){let e=t?iH:sH,n=vt(i);return dH(n,(o,r)=>{o&&r&&(r.path=e(r))}),n}function lH(i,t){let e=t?iH:sH,n=vt(i);return dH(n,(o,r)=>{!o&&r&&(r.path=e(r))}),n}function dH(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 Ia=R("IExtHostEditorTabs"),_C=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 Nl(y.revive(this._dto.input.uri));case 2:return new Zs(y.revive(this._dto.input.original),y.revive(this._dto.input.modified));case 3:return new Ip(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 Ul(y.revive(this._dto.input.uri),this._dto.input.viewType);case 7:return new xp(this._dto.input.viewType);case 4:return new Fl(y.revive(this._dto.input.uri),this._dto.input.notebookType);case 5:return new Hl(y.revive(this._dto.input.original),y.revive(this._dto.input.modified),this._dto.input.notebookType);case 8:return new Sp;case 9:return new Cp(y.revive(this._dto.input.uri),y.revive(this._dto.input.inputBoxUri));case 10:return new Tp;case 11:return new Ep(this._dto.input.diffEditors.map(t=>new Zs(y.revive(t.original),y.revive(t.modified))));default:return}}},a1=class{constructor(t,e){this._tabs=[];this._activeTabId="";this._dto=t,this._activeGroupIdGetter=e,this._reconcileTabs(t)}get apiObject(){if(!this._apiObject){let t=this,e={get isActive(){return t._dto.groupId===t._activeGroupIdGetter()},get viewColumn(){return Ot.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}acceptModelUpdate(t){this._dto=t,this._reconcileTabs(t)}_reconcileTabs(t){let e=new Map;for(let n of this._tabs)e.set(n.tabId,n);this._activeTabId="",this._tabs=t.tabs.map(n=>{n.isActive&&(this._activeTabId=n.id);let o=e.get(n.id);return o?(o.acceptDtoUpdate(n),o):new _C(n,this,()=>this.activeTabId())})}acceptTabOperation(t){if(t.kind===0){let n=new _C(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}},Vm=class{constructor(t){this._onDidChangeTabs=new T;this._onDidChangeTabGroups=new T;this._extHostTabGroups=[];this._proxy=t.getProxy(N.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 jr(t._extHostTabGroups.find(r=>r.groupId===n)?.apiObject)},close:async(n,o)=>{let r=Array.isArray(n)?n:[n];return r.length?O8(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(c=>c.groupId)),n=new Set(t.map(c=>c.groupId)),o=gw(e,n),r=this._extHostTabGroups.filter(c=>o.removed.includes(c.groupId)).map(c=>c.apiObject),s=[],a=[],l=new Map;for(let c of this._extHostTabGroups)l.set(c.groupId,c);this._extHostTabGroups=t.map(c=>{let u=l.get(c.groupId);if(u)return u.acceptModelUpdate(c),a.push(u.apiObject),u;let m=new a1(c,()=>this._activeGroupId);return s.push(m.apiObject),m});let d=jr(t.find(c=>c.isActive===!0)?.groupId);d!==void 0&&this._activeGroupId!==d&&(this._activeGroupId=d),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)}};Vm=D([C(0,fe)],Vm);function O8(i){return i.tabs!==void 0}var m2e={6:p(17060,null),4:p(17061,null),3:p(17062,null),1:p(17063,null),2:p(17064,null),5:p(17065,null),0:p(17066,null)};var g2e={4:p(17057,null),2:p(17058,null),8:p(17056,null)};var N8=0,cH=new WeakMap,zc=R("IExtHostTesting"),Bm=class extends F{constructor(e,n,o,r){super();this.logService=n;this.commands=o;this.editors=r;this.resultsChangedEmitter=this._register(new T);this.controllers=new Map;this.defaultProfilesChangedEmitter=this._register(new T);this.followupProviders=new Set;this.testFollowups=new Map;this.onResultsChanged=this.resultsChangedEmitter.event;this.results=[];this.proxy=e.getProxy(N.MainThreadTesting),this.observer=new p1(this.proxy),this.runTracker=new d1(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??vM(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??vM({$mid:16,tests:[a]}),message:jp.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(io)||[],exclude:s?.exclude.map(a).filter(io)||[]}})}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 G,a=s.add(new aC(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 h=g.relatedCodeProvider;return h&&(h?.provideRelatedTests&&(v|=8),h?.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){M(e,"testRelatedCode"),g.relatedCodeProvider=v,c.$updateController(n,{capabilities:u()})},createRunProfile:(v,h,I,S,w,P)=>{let O=cr(v);for(;l.has(O);)O++;return new RC(this.proxy,l,d,this.defaultProfilesChangedEmitter.event,n,O,v,h,I,S,w,P)},createTestItem(v,h,I){return new ba(n,v,h,I)},createTestRun:(v,h,I=!0)=>this.runTracker.createTestRun(e,n,a,v,h,I),invalidateTestResults:v=>{if(v===void 0)this.proxy.$markTestRetired(void 0);else{let h=v instanceof Array?v:[v];this.proxy.$markTestRetired(h.map(I=>qe.fromExtHostTestItem(I,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(NI.serialize)))),m}createTestObserver(){return this.observer.checkout()}async runTests(e,n=be.None){let o=uH(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:Qp.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(Zn.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(Kh.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=FR.to(n),r=n.tasks.findIndex(s=>s.hasCoverage);return r!==-1&&(o.getDetailedCoverage=(s,a=be.None)=>this.proxy.$getCoverageDetails(n.id,r,s,a).then(l=>l.map(Kh.to))),cH.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=>NI.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 Re(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=>cH.get(a)===e.resultId),r=o&&F8(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=N8++;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(io),u=e.excludeExtIds.map(v=>r.collection.tree.get(v)).filter(io).filter(v=>c.some(h=>h.fullId.compare(v.fullId)===2));if(!c.length)return{};let m=new Dl(c.some(v=>v.actual instanceof hm)?void 0:c.map(v=>v.actual),u.map(v=>v.actual),d,n),g=PF(e)&&this.runTracker.prepareForMainThreadTestRun(l,m,DC.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 Ae.toPromise(g.onEnd)}}};Bm=D([C(0,fe),C(1,se),C(2,rr),C(3,vi)],Bm);var U8=1e4;var l1=class extends F{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 T);this.publishedCoverage=new Map;this.onEnd=this.endEmitter.event;this.cts=this._register(new Re(a));let l=this._register(new Jn(()=>this.forciblyEndTasks(),U8));this._register(this.cts.token.onCancellationRequested(()=>l.schedule()));let d=new T;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 Xs){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=Ve(),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(jp.from):[jp.from(m)];if(u.uri&&u.range){let v={range:B.from(u.range),uri:u.uri};for(let h of g)h.location=h.location||v}this.proxy.$appendTestMessagesInRun(n,r,qe.fromExtHostTestItem(u,o).toString(),g)},l=!1,d=this._register(new Re(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 Xs?u.includesTests:[];if(m.length)for(let h of m)this.ensureTestIsKnown(h);let g=u.uri.toString(),v=new qe([n,r,g]).toString();this.publishedCoverage.set(v,{report:u,extIds:m.map(h=>qe.fromExtHostTestItem(h,o).toString())}),this.proxy.$appendCoverage(n,r,Kh.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&&Zn.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 ba))throw new ml(e.id);if(this.sharedTestIds.has(qe.fromExtHostTestItem(e,this.dto.controllerId).toString()))return;let n=[],o=this.dto.colllection.root;for(;;){let r=us.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()}},d1=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=DC.fromPublic(e,n,o,s),d=uH(o);this.proxy.$startedExtensionTestRun({controllerId:e,continuous:!!o.continuous,profile:d&&{group:Qp.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 Ae.once(c.onEnd)(()=>{this.proxy.$finishedExtensionTestRun(l.id)}),c.createRun(r)}getTracker(t,e,n,o,r){let s=new l1(e,this.proxy,this.logService,n,o,r);return this.tracked.set(t,s),this.trackedById.set(s.id,s),s}},uH=i=>{if(i.profile){if(!(i.profile instanceof RC))throw new Error("TestRunRequest.profile is not an instance created from TestController.createRunProfile");return i.profile}},DC=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,Ve(),o,e)}static fromInternal(t,e){return new i(t.controllerId,t.runId,!0,e)}},c1=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,us.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())}},u1=class extends AI{constructor(){super(...arguments);this.changeEmitter=new T;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:us.toPlain(e.item),depth:n?n.depth+1:0,children:new Set}}createChangeCollector(){return new c1(this.changeEmitter)}},p1=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:lu(()=>{--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 u1({asCanonicalUri:e=>e});return this.proxy.$subscribeToDiffs(),{observers:0,tests:t}}},vv=(i,t,e,n)=>{e?Object.assign(e,n):t.$updateTestRunConfig(i.controllerId,i.profileId,n)},RC=class extends hp{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=Qp.from(d);u&&o.add(a),this.#o={profileId:a,controllerId:s,tag:m?$r.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,vv(this,this.#e,this.#o,{label:e}))}get supportsContinuousRun(){return this._supportsContinuousRun}set supportsContinuousRun(e){e!==this._supportsContinuousRun&&(this._supportsContinuousRun=e,vv(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),vv(this,this.#e,this.#o,{isDefault:e}))}get tag(){return this._tag}set tag(e){e?.id!==this._tag?.id&&(this._tag=e,vv(this,this.#e,this.#o,{tag:e?$r.namespace(this.controllerId,e.id):null}))}get configureHandler(){return this._configureHandler}set configureHandler(e){e!==this._configureHandler&&(this._configureHandler=e,vv(this,this.#e,this.#o,{hasConfigurationHandler:!!e}))}get onDidChangeDefault(){return Ae.chain(this.#n,e=>e.map(n=>n.get(this.controllerId)?.get(this.profileId)).filter(io))}dispose(){this.#s?.delete(this.profileId)&&(this.#s=void 0,this.#e.$removeTestProfile(this.controllerId,this.profileId)),this.#o=void 0}};function F8(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 mHe=R("configurationResolverService"),m1=(ue=>(ue.Unknown="unknown",ue.Env="env",ue.Config="config",ue.Command="command",ue.Input="input",ue.ExtensionInstallFolder="extensionInstallFolder",ue.TaskVar="taskVar",ue.WorkspaceFolder="workspaceFolder",ue.Cwd="cwd",ue.WorkspaceFolderBasename="workspaceFolderBasename",ue.UserHome="userHome",ue.LineNumber="lineNumber",ue.ColumnNumber="columnNumber",ue.SelectedText="selectedText",ue.File="file",ue.FileWorkspaceFolder="fileWorkspaceFolder",ue.FileWorkspaceFolderBasename="fileWorkspaceFolderBasename",ue.RelativeFile="relativeFile",ue.RelativeFileDirname="relativeFileDirname",ue.FileDirname="fileDirname",ue.FileExtname="fileExtname",ue.FileBasename="fileBasename",ue.FileBasenameNoExtension="fileBasenameNoExtension",ue.FileDirnameBasename="fileDirnameBasename",ue.ExecPath="execPath",ue.ExecInstallFolder="execInstallFolder",ue.PathSeparator="pathSeparator",ue.PathSeparatorAlias="/",ue))(m1||{}),pH=Object.values(m1).filter(i=>typeof i=="string"),no=class extends ro{constructor(e,n){super(n);this.variable=e}};var bv=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=xt?"windows":cn?"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=It.first(t);if(!n)break;let[o,r]=n;yield r,t.delete(o)}this.newReplacementNotifiers.delete(e)}resolved(){return It.map(It.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||It.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 MC=class{constructor(t,e,n,o){this._contributedVariables=new Map;this.resolvableVariables=new Set(pH);this._context=t,this._labelService=e,this._userHomePromise=n,o&&(this._envVariablesPromise=o.then(r=>this.prepareEnv(r)))}prepareEnv(t){if(xt){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=bv.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=bv.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 Lu(m);throw new no(u,p(18405,null,t.id))},d=u=>{let m=l(u);if(this._context.getWorkspaceFolderPathForFile){let g=this._context.getWorkspaceFolderPathForFile();if(g)return Lu(g)}throw new no(u,p(18406,null,t.id,rn(m)))},c=u=>{if(a){let m=this._context.getFolderUri(a);if(m)return m;throw new no(u,p(18403,null,u,a))}if(e)return e;throw this._context.getWorkspaceFolderCount()>1?new no(u,p(18411,null,u)):new no(u,p(18410,null,u))};switch(s){case"env":if(a){if(r.env){let u=r.env[xt?a.toLowerCase():a];if(_e(u))return u}return""}throw new no("env",p(18416,null,t.id));case"config":if(a){let u=this._context.getConfigurationValue(e,a);if(Nt(u))throw new no("config",p(18413,null,t.id,a));if(nt(u))throw new no("config",p(18412,null,t.id,a));return u}throw new no("config",p(18415,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 no("extensionInstallFolder",p(18414,null,t.id,a));return this.fsPath(u.extensionLocation)}throw new no("extensionInstallFolder",p(18417,null,t.id));default:switch(s){case"workspaceRoot":case"workspaceFolder":{let u=c("workspaceFolder");return u?Lu(this.fsPath(u)):void 0}case"cwd":{if(!e&&!a)return Ts();let u=c("cwd");return u?Lu(this.fsPath(u)):void 0}case"workspaceRootFolderName":case"workspaceFolderBasename":{let u=c("workspaceFolderBasename");return u?Lu(rn(this.fsPath(u))):void 0}case"userHome":if(r.userHome)return r.userHome;throw new no("userHome",p(18409,null,t.id));case"lineNumber":{let u=this._context.getLineNumber();if(u)return u;throw new no("lineNumber",p(18407,null,t.id))}case"columnNumber":{let u=this._context.getColumnNumber();if(u)return u;throw new Error(p(18404,null,t.id))}case"selectedText":{let u=this._context.getSelectedText();if(u)return u;throw new no("selectedText",p(18408,null,t.id))}case"file":return l("file");case"fileWorkspaceFolder":return d("fileWorkspaceFolder");case"fileWorkspaceFolderBasename":return rn(d("fileWorkspaceFolderBasename"));case"relativeFile":return e||a?ks(this.fsPath(c("relativeFile")),l("relativeFile")):l("relativeFile");case"relativeFileDirname":{let u=Mi(l("relativeFileDirname"));if(e||a){let m=ks(this.fsPath(c("relativeFileDirname")),u);return m.length===0?".":m}return u}case"fileDirname":return Mi(l("fileDirname"));case"fileExtname":return Ps(l("fileExtname"));case"fileBasename":return rn(l("fileBasename"));case"fileBasenameNoExtension":{let u=rn(l("fileBasenameNoExtension"));return u.slice(0,u.length-Ps(u).length)}case"fileDirnameBasename":return rn(Mi(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 no(t,p(18418,null,e))}return e}};var qc=R("IExtHostVariableResolverProvider"),g1=class extends MC{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 Zs||c.input instanceof Hl)return c.input.modified;if(c.input instanceof Nl||c.input instanceof Fl||c.input instanceof Ul)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:()=>Ts(),getExecPath:()=>So.VSCODE_EXEC_PATH,getFilePath:()=>{let d=l();if(d)return Ko(d.fsPath)},getWorkspaceFolderPathForFile:()=>{if(e){let d=l();if(d){let c=e.getWorkspaceFolder(d);if(c)return Ko(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(So))}},Wm=class extends F{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 yt(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 g1(this.extensionService,this.workspaceService,this.editorService,this.editorTabs,e,o,this.homeDir())})}getResolver(){return this._resolver.value}homeDir(){}};Wm=D([C(0,Mo),C(1,to),C(2,vi),C(3,Ro),C(4,Ia)],Wm);var AC=R("IExtHostDebugService"),yv=class extends F{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 T),this._onDidTerminateDebugSession=this._register(new T),this._onDidChangeActiveDebugSession=this._register(new T),this._onDidReceiveDebugSessionCustomEvent=this._register(new T),this._debugServiceProxy=e.getProxy(N.MainThreadDebugService),this._onDidChangeBreakpoints=this._register(new T),this._onDidChangeActiveStackItem=this._register(new T),this._activeDebugConsole=new h1(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(N.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=xe.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})),jR.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)rH(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=xe.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 di){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 ci&&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 di).map(a=>a.id),r=n.filter(a=>a instanceof ci).map(a=>a.id),s=n.filter(a=>a instanceof lc).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 Js)return new b1(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=lH(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=aH(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 ci(s.functionName,s.enabled,s.condition,s.hitCondition,s.logMessage,s.mode);else if(s.type==="data")l=new lc(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 di(new zt(d,new we(s.line,s.character)),s.enabled,s.condition,s.hitCondition,s.logMessage,s.mode)}$F(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 ci&&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 di&&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 zt(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 mp(o.api,e.threadId):n=new pp(o.api,e.threadId,e.frameId)}this._activeStackItem=n,this._onDidChangeActiveStackItem.fire(this._activeStackItem)}$provideDebugConfigurations(e,n,o){return nn(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 nn(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 nn(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 Tl)return this.convertExecutableToDto(e);if(e instanceof Qs)return this.convertServerToDto(e);if(e instanceof El)return this.convertPipeServerToDto(e);if(e instanceof Js)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=>nn(()=>s.factory.createDebugAdapterTracker(e.api)).then(a=>a,a=>null));return Promise.race([Promise.all(r).then(s=>{let a=dt(s);if(a.length>0)return new v1(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 Qs(o));if(e){let s=await this._extensionService.getExtensionRegistry();return nn(()=>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 f1(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=Qe.asClassName(n):o=n,{iconPath:o,iconClass:r}}getIconUris(e){if(e instanceof ln)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}}};yv=D([C(0,fe),C(1,to),C(2,Mo),C(3,Ro),C(4,Ia),C(5,qc),C(6,rr),C(7,zc)],yv);var f1=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}},h1=class{constructor(t){this.value=Object.freeze({append(e){t.$appendDebugConsole(e)},appendLine(e){this.append(e+`
`)}})}},v1=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)}},b1=class extends PC{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)}},$m=class extends yv{constructor(t,e,n,o,r,s,a,l){super(t,e,n,o,r,s,a,l)}};$m=D([C(0,fe),C(1,to),C(2,Mo),C(3,Ro),C(4,Ia),C(5,qc),C(6,rr),C(7,zc)],$m);function H8(i){return"uri"in i&&"ranges"in i&&"preview"in i}function V8(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 zm=class{constructor(t){this.provider=t}provideFileSearchResults(t,e,n){return(async()=>{let r=V8(e);return Promise.all(r.map(s=>this.provider.provideFileSearchResults({pattern:t},s,n)))})().then(r=>dt(r).flat())}};function B8(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:W8(i.previewOptions),maxFileSize:i.maxFileSize,encoding:t.encoding,afterContext:i.surroundingContext,beforeContext:i.surroundingContext}))}function W8(i){return{matchLines:i?.matchLines??Zh.matchLines,charsPerLine:i?.charsPerLine??Zh.charsPerLine}}function $8(i){if(H8(i)){let t=gn(i.ranges).map((e,n)=>{let r=gn(i.preview.matches)[n];return{sourceRange:e,previewRange:r}});return new or(i.uri,t,i.preview.text)}else return new jl(i.uri,i.text,i.lineNumber)}var OC=class{constructor(t){this.provider=t}provideTextSearchResults(t,e,n,o){let r=l=>{z8(l)&&n.report($8(l))};return(async()=>dt(await Promise.all(B8(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:dt(gn(l.message))}))}};function z8(i){if(q8(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 q8(i){return!!i.preview}var qm=class extends Lo{constructor(t,e,n=()=>!1){let o=new Ef(n,()=>!1);super(o);let r=new Ne;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 y1=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&&ii(t.includePattern,o),this.maxResults=t.maxResults||void 0,this.exists=t.exists,this.activeCancellationTokens=new Set,this.globalExcludePattern=t.excludePattern&&ii(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(Xr(s)))})})}async doSearch(t,e){let n=new Re,o=t.map(c=>this.getSearchOptionsForFolder(c)),r=this.provider instanceof zm?this.sessionLifecycle?.tokenSource.token:this.sessionLifecycle?.obj,s={folderOptions:o,maxResults:this.config.maxResults??zS,session:r},a=c=>{let u=new tm(this.config,c),m=!u.hasSiblingExcludeClauses();return{queryTester:u,noSiblingsClauses:m,folder:c.folder,tree:this.initDirectoryTree()}},l=new qm(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),h=He.relative(v.folder.path,g.path);if(v.noSiblingsClauses){let I=rn(g.path);this.matchFile(e,{base:v.folder,relativePath:h,basename:I});return}this.addDirectoryEntries(v.tree,v.folder,h,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=Ql(this.config.includePattern,t.includePattern),n=t.excludePattern?.map(r=>({folder:r.folder,patterns:Ql(this.config.excludePattern,r.pattern)}));n?.length||(n=[{folder:void 0,patterns:Ql(this.config.excludePattern,void 0)}]);let o=KS(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&&Lb(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=Mi(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=l2(()=>d.map(u=>u.basename));for(let u=0,m=d.length;u<m;u++){let g=d[u],{relativePath:v,basename:h}=g;if(n.matchesExcludesSync(v,h,Lb(s,h,a)?void 0:c))continue;let I=e[v];if(I)l(I);else{if(Lb(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))}},I1=class{constructor(){this._obj=new Object,this.tokenSource=new Re}get obj(){if(this._obj)return this._obj;throw new Error("Session object has been dereferenced.")}cancel(){this.tokenSource.cancel(),this._obj=void 0}},LC=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 y1(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 I1),this.sessions.get(t)}rawMatchToSearchItem(t){return t.relativePath?{resource:Ht(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 Iv=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 Re(e);return new Promise((s,a)=>{this.collector=new x1(t);let l=!1,d=(c,u)=>{if(!(c instanceof Lc)&&!l&&!this.isLimitHit){let m=this.resultSize(c);c instanceof or&&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 or;(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=Xr(c);a(new Error(u))})})}getMessagesFromResults(t){return t?.message?Array.isArray(t.message)?t.message:[t.message]:[]}resultSize(t){return t instanceof or?Array.isArray(t.ranges)?t.ranges.length:1:0}trimResultToSize(t,e){return new or(t.uri,t.ranges.slice(0,e),t.previewText)}async doSearch(t,e,n,o){let r=new qm(t,(u,m)=>({queryTester:new tm(this.query,u),folder:u.folder,folderIdx:m}),()=>!0),s=[],a={report:u=>{if(u instanceof Lc)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===q.file?a2(()=>this.fileUtils.readdir(Go(u.uri))):void 0,v=cf(m.folder,u.uri);if(v){let h=m.queryTester.includedInQuery(v,rn(v),g);kr(h)?s.push(h.then(I=>{I&&e(u,m.folderIdx)})):h&&e(u,m.folderIdx)}}}}},d={folderOptions:t.map(u=>this.getSearchOptionsForFolder(u)),maxFileSize:this.query.maxFileSize,maxResults:this.query.maxResults??zS,previewOptions:this.query.previewOptions??Zh,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(K8(this.queryProviderPair.query.contentPattern),d,a,n),s.length&&await Promise.all(s),c}getSearchOptionsForFolder(t){let e=Ql(this.query.includePattern,t.includePattern),n=t.excludePattern?.map(s=>({folder:s.folder,patterns:Ql(this.query.excludePattern,s.pattern)}));(!n||n.length===0)&&(n=[{folder:void 0,patterns:Ql(this.query.excludePattern,void 0)}]);let o=KS(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 K8(i){return{isCaseSensitive:i.isCaseSensitive||!1,isRegExp:i.isRegExp||!1,isWordMatch:i.isWordMatch||!1,isMultiline:i.isMultiline||!1,pattern:i.pattern}}var x1=class{constructor(t){this._onResult=t;this._currentFolderIdx=-1;this._currentFileMatch=null;this._batchedCollector=new S1(512,e=>this.sendItems(e))}add(t,e){this._currentFileMatch&&(this._currentFolderIdx!==e||!En(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(G8(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 G8(i){return i instanceof or?{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 S1=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 NC=R("IExtHostSearch"),Km=class{constructor(t,e,n){this.extHostRpc=t;this._uriTransformer=e;this._logService=n;this._proxy=this.extHostRpc.getProxy(N.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 LC}_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 OC(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 zm(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=C1(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=C1(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=C1(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 Iv({query:t,provider:e},{readdir:n=>Promise.resolve([]),toCanonicalName:n=>n},"textSearchProvider")}createAITextSearchManager(t,e){return new Iv({query:t,provider:e},{readdir:n=>Promise.resolve([]),toCanonicalName:n=>n},"aiTextSearchProvider")}};Km=D([C(0,fe),C(1,Ya),C(2,se)],Km);function C1(i){return{...i,folderQueries:i.folderQueries&&i.folderQueries.map(j8),extraFileResources:i.extraFileResources&&i.extraFileResources.map(t=>y.revive(t))}}function j8(i){return Mt(i)}var Gm=class extends F{constructor(e){super();this._onDidSuspend=this._register(new T);this.onDidSuspend=this._onDidSuspend.event;this._onDidResume=this._register(new T);this.onDidResume=this._onDidResume.event;this._onDidChangeOnBatteryPower=this._register(new T);this.onDidChangeOnBatteryPower=this._onDidChangeOnBatteryPower.event;this._onDidChangeThermalState=this._register(new T);this.onDidChangeThermalState=this._onDidChangeThermalState.event;this._onDidChangeSpeedLimit=this._register(new T);this.onDidChangeSpeedLimit=this._onDidChangeSpeedLimit.event;this._onWillShutdown=this._register(new T);this.onWillShutdown=this._onWillShutdown.event;this._onDidLockScreen=this._register(new T);this.onDidLockScreen=this._onDidLockScreen.event;this._onDidUnlockScreen=this._register(new T);this.onDidUnlockScreen=this._onDidUnlockScreen.event;this._proxy=e.getProxy(N.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))}}}};Gm=D([C(0,fe)],Gm);var UC=R("IExtHostPower");var jm=class extends ay{constructor(t,e){super(e.logLevel,e.logsLocation,e.loggers.map(n=>Mt(n))),this._proxy=t.getProxy(N.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 T1(this._proxy,t,e,n)}};jm=D([C(0,fe),C(1,rt)],jm);var T1=class extends xu{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 HC=R("IExtHostBrowserTunnelProxy"),FC=class{$setEnabled(t){}};var WC=R("IExtHostTerminalShellIntegration"),Qm=class extends F{constructor(e,n){super();this._extHostTerminalService=n;this._activeShellIntegrations=new Map;this._onDidChangeTerminalShellIntegration=this._register(new T);this.onDidChangeTerminalShellIntegration=this._onDidChangeTerminalShellIntegration.event;this._onDidStartTerminalShellExecution=this._register(new T);this.onDidStartTerminalShellExecution=this._onDidStartTerminalShellExecution.event;this._onDidEndTerminalShellExecution=this._register(new T);this.onDidEndTerminalShellExecution=this._onDidEndTerminalShellExecution.event;this._proxy=e.getProxy(N.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 E1(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}};Qm=D([C(0,fe),C(1,hi)],Qm);var E1=class extends F{constructor(e,n,o){super();this._terminal=e;this._onDidStartTerminalShellExecution=o;this._pendingExecutions=[];this.store=this._register(new G);this._onDidRequestChangeShellIntegration=this._register(new T);this.onDidRequestChangeShellIntegration=this._onDidRequestChangeShellIntegration.event;this._onDidRequestShellExecution=this._register(new T);this.onDidRequestShellExecution=this._onDidRequestShellExecution.event;this._onDidRequestEndExecution=this._register(new T);this.onDidRequestEndExecution=this._onDidRequestEndExecution.event;this._onDidRequestNewExecution=this._register(new T);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 BC(e,n??this._cwd);return VC(e.value).length>1&&(this._currentExecutionProperties={isMultiLine:!0,unresolvedCommandLines:VC(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=mH(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=mH(VC(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 BC(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})}},BC=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 _s.EMPTY;this._dataStream=new w1}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)}},w1=class extends F{constructor(){super(...arguments);this._iterables=[];this._emitters=[]}createIterable(){this._barrier||(this._barrier=new An);let e=this._barrier,n=new _s(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 VC(i){return i.split(`
`).map(t=>t.trim()).filter(t=>t.length>0)}function mH(i,t){if(i.length===0)return!1;let e=[...i],n=VC(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 Jm=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 xv=class{validateOrThrow(t){let e=this.validate(t);if(e.error)throw new Error(e.error.message);return e.content}},Ym=class extends xv{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}}},Q8=new Ym("string");function Cv(){return Q8}var J8=new Ym("number");function gH(){return J8}var Q4e=new Ym("boolean");var Y8=new Ym("object");function $C(){return Y8}var Sv=class{constructor(t){this.validator=t}};function Kc(i){return new Sv(i)}var k1=class extends xv{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 Sv,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 Sv,l=a?s.validator:s;n[r]=l.getJSONSchema(),a||e.push(r)}return{type:"object",properties:n,...e.length>0?{required:e}:{}}}};function Tv(i){return new k1(i)}var P1=class extends xv{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 _1(i){return new P1(i)}var Ev=R("IExtHostMpcService"),X8=Tv({label:Cv(),version:Kc(Cv()),metadata:Kc(Tv({capabilities:Kc($C()),serverInfo:Kc($C()),tools:Kc(_1(Tv({availability:gH(),definition:$C()})))})),authentication:Kc(Tv({providerId:Cv(),scopes:_1(Cv())}))}),Xm=class extends F{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 Tn);this._unresolvedMcpServers=new Map;this._onDidChangeMcpServerDefinitions=this._register(new T);this.onDidChangeMcpServerDefinitions=this._onDidChangeMcpServerDefinitions.event;this._mcpServerDefinitions=[];this._activeGateways=new Map;this._proxy=e.getProxy(N.MainThreadMcp)}get mcpServerDefinitions(){return this._mcpServerDefinitions}$onDidChangeMcpServerDefinitions(e){this._mcpServerDefinitions=e.map(n=>em.to(n)),this._onDidChangeMcpServerDefinitions.fire()}$startMcp(e,n){this._startMcp(e,ec.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 M1(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 em.from(r);let s=await o.provider.resolveMcpServerDefinition(r,be.None);return s?em.from(s):void 0}registerMcpConfigurationProvider(e,n,o){let r=new G,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:uF(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(be.None);this._unresolvedMcpServers.set(a.id,{servers:c??[],provider:o});let u=[];for(let m of c??[]){let g=xe.toKey(e.identifier)+"/"+m.label;if(u.some(I=>I.id===g)){let I=2;for(;u.some(S=>S.id===g+I);)I++;g=g+I}X8.validateOrThrow(m),m.authentication&&M(e,"mcpToolDefinitions");let v,h=m;De(e,"mcpToolDefinitions")&&h.metadata&&(v={capabilities:h.metadata.capabilities,instructions:h.metadata.instructions,serverInfo:h.metadata.serverInfo,tools:h.metadata.tools?.map(I=>({availability:I.availability===1?1:0,definition:I.definition}))}),u.push({id:g,label:m.label,cacheNonce:m.version||"$$NONE",staticMetadata:v,launch:em.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 T;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)}};Xm=D([C(0,fe),C(1,se),C(2,rt),C(3,to),C(4,qc)],Xm);function D1(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 Z8=5,ez=[301,302,303,307,308],tz=new Set(["http:","https:"]),nz=new Set(["authorization","cookie","proxy-authorization","mcp-session-id"]),M1=class extends F{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 qb;this._postEndpoint=new un;this._mode={value:0};this._cts=new Re;this._abortCtrl=new AbortController;this._didSendClose=!1;this._register(X(()=>{this._abortCtrl.abort(),this._cts.dispose(!0)})),this._proxy.$onDidChangeState(this._id,{state:ri.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}: ${D1(n)}`;this._proxy.$onDidChangeState(this._id,{state:ri.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:ri.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&&!R1(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:ri.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 Jm(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 lt});try{await this._doSSE(r,e)}catch(s){this._log(4,`Error reading SSE stream: ${D1(s)}`)}}else if(o.startsWith("application/json"))this._proxy.$onDidReceiveMessage(this._id,await e.text());else{let r=await e.text();oz(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 wn(Math.max(0,n-Date.now()),this._cts.token),n=void 0):await wn(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 Jm(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 un,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:ri.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:ri.Kind.Error,message:`Error connecting to ${this._launch.uri} as SSE: ${s}`});return}let r=new Jm(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:ri.Kind.Error,message:`Error reading SSE stream: ${D1(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 Ui(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(hh.is(r))throw this._proxy.$onDidChangeState(this._id,{state:ri.Kind.Stopped,reason:"needs-user-interaction"}),new lt;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(hh.is(r))throw this._proxy.$onDidChangeState(this._id,{state:ri.Kind.Stopped,reason:"needs-user-interaction"}),new lt;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(R1(s.status)&&(this._authMetadata?this._authMetadata.update(s.headers)&&(await this._addAuthHeader(o),o.Authorization&&(n.headers=o,s=await r())):(this._authMetadata=await rz(e,s.headers,{sameOriginHeaders:{...Object.fromEntries(this._launch.headers),"MCP-Protocol-Version":fh.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&&R1(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"]=`${mr.nameLong}/${mr.version}`,Su(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<Z8&&(r=await this._fetchInternal(o,{...n,signal:this._abortCtrl.signal,redirect:"manual"}),!!ez.includes(r.status));s++){let a=r.headers.get("location");if(!a)break;let l=new URL(o),d=new URL(a,o);if(!tz.has(d.protocol))throw new Error(`MCP server redirected to a non-http(s) target (${d.protocol}), which is not allowed`);if(l.origin!==d.origin)for(let u of Object.keys(n.headers))nz.has(u.toLowerCase())&&delete n.headers[u];let c=d.toString();this._log(1,`Redirect (${r.status}) from ${o} to ${c}`),o=c,(r.status===303||(r.status===301||r.status===302)&&n.method==="POST")&&(n.method="GET",delete n.body)}if(Su(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 oz(i){try{return JSON.parse(i),!0}catch{return!1}}function R1(i){return i===401||i===403}var zC=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 R2(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=EM(e);for(let o of n)if(o.scheme==="Bearer"&&o.params.scope){let r=o.params.scope.split(Im).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 rz(i,t,e){let{sameOriginHeaders:n,fetch:o,log:r}=e,s="none",a,{resourceMetadataChallenge:l,scopesChallenge:d}=iz(t.get("WWW-Authenticate")??void 0,r),c,u,m=d;try{let{metadata:I,discoveryUrl:S,errors:w}=await M2(i,l,{sameOriginHeaders:n,fetch:(P,O)=>o(P,O)});for(let P of w)r(4,`Error fetching resource metadata: ${P}`);r(3,`Discovered resource metadata at ${S}`),s=l?"header":"wellKnown",c=I.authorization_servers?.[0],c?(r(3,`Using auth server metadata url: ${c}`),a="resourceMetadata"):r(4,`No authorization_servers found in resource metadata ${S} - Is this resource metadata configured correctly?`),m??=I.scopes_supported,u=I}catch(I){r(4,`Could not fetch resource metadata: ${String(I)}`)}let g=new URL(i).origin,v={};c||(c=g,n&&(v=n));try{r(2,`Fetching auth server metadata for: ${c} ...`);let{metadata:I,discoveryUrl:S,errors:w}=await dC(c,{additionalHeaders:v,fetch:(P,O)=>o(P,O)});for(let P of w)r(4,`Error fetching authorization server metadata: ${P}`);return r(3,`Discovered authorization server metadata at ${S}`),a??="wellKnown",new zC(y.parse(c),I,u,m,{resourceMetadataSource:s,serverMetadataSource:a},r)}catch(I){r(4,`Error populating auth server metadata for ${c}: ${String(I)}`)}let h=D2(new URL(g));return r(3,"Using default auth metadata"),new zC(y.parse(g),h,u,m,{resourceMetadataSource:s,serverMetadataSource:"default"},r)}function iz(i,t){if(!i)return{};let e,n,o=EM(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(Im).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 KC=R("IExtHostDataChannels"),qC=class{constructor(){this._channels=new Map}createDataChannel(t,e){M(t,"dataChannels");let n=this._channels.get(e);return n||(n=new A1(e),this._channels.set(e,n)),n}$onDidReceiveData(t,e){let n=this._channels.get(t);n&&n._fireDidReceiveData(e)}},A1=class extends F{constructor(e){super();this.channelId=e;this._onDidReceiveData=new T;this.onDidReceiveData=this._onDidReceiveData.event;this._register(this._onDidReceiveData)}_fireDidReceiveData(e){this._onDidReceiveData.fire({data:e})}toString(){return`DataChannel(${this.channelId})`}};var jC=R("IExtHostMeteredConnection"),GC=class extends F{constructor(){super();this._isConnectionMetered=!1;this._onDidChangeIsConnectionMetered=this._register(new T);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 QC="vscode.git";function fH(i){switch(i){case 0:return 0;case 1:return 1;case 2:return 2;default:throw new Error(`Unknown GitRefType: ${i}`)}}function sz(i){return{name:i.name,commit:i.commit,type:fH(i.type),remote:i.remote,upstream:i.upstream?az(i.upstream):void 0,ahead:i.ahead,behind:i.behind}}function az(i){return{remote:i.remote,name:i.name,commit:i.commit}}function Zm(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 JC=R("IExtHostGitExtensionService"),ld=class extends F{constructor(e,n){super();this._extHostExtensionService=n;this._repositories=new Map;this._repositoryByUri=new Ne;this._repositoryStateChangeListeners=new Tn;this._proxy=e.getProxy(N.MainThreadGitExtension)}static{this._handlePool=0}async $isGitExtensionAvailable(){return!!(await this._extHostExtensionService.getExtensionRegistry()).getExtensionDescription(QC)}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=ld._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:fH(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?sz(n.HEAD):void 0,remotes:n.remotes,mergeChanges:n.mergeChanges.map(Zm),indexChanges:n.indexChanges.map(Zm),workingTreeChanges:n.workingTreeChanges.map(Zm),untrackedChanges:n.untrackedChanges.map(Zm)}}_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=>({...Zm(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=>({...Zm(a),insertions:a.insertions,deletions:a.deletions}))}catch{return[]}}async _ensureGitApi(){if(this._gitApi)return this._gitApi;try{await this._extHostExtensionService.activateByIdWithErrors(new xe(QC),{startup:!1,extensionId:new xe(QC),activationEvent:"api"});let e=this._extHostExtensionService.getExtensionExports(new xe(QC));e&&typeof e.getAPI=="function"&&(this._gitApi=e.getAPI(1))}catch{}return this._gitApi}dispose(){this._repositoryStateChangeListeners.dispose(),super.dispose()}};ld=D([C(0,fe),C(1,Mo)],ld);ze(Mm,Rm,1);ze(ur,jm,1);ze(ya,Nm,1);ze(rr,bm,0);ze(Wc,xm,0);ze(Em,od,0);ze(Ro,rm,0);ze(Xl,Fo,0);ze(zc,Bm,0);ze(AC,$m,0);ze(yC,ps,0);ze(vi,Fm,0);ze(Om,Am,0);ze(HC,FC,0);ze(Dr,vy,0);ze(bC,Um,1);ze(NC,Km,0);ze(dm,lm,0);ze(kC,Hm,0);ze(hi,ym,0);ze(WC,Qm,0);ze(mm,pm,0);ze(Vc,td,0);ze(UC,Gm,0);ze(Bc,nd,0);ze(to,nm,0);ze(Dm,_m,0);ze(Ia,Vm,0);ze(qc,Wm,0);ze(Ev,Xm,0);ze(KC,qC,0);ze(jC,GC,0);ze(JC,ld,1);var YC=class extends F{constructor(t,e=[]){super(),this.logger=new sy([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 eg=class extends YC{constructor(t,e,n){let o=n.remote.isRemote?"remoteexthost":t?"workerexthost":"exthost",r=n.remote.isRemote?p(3515,null):t?p(3516,null):p(3514,null);super(e.createLogger(o,{name:r}))}};eg=D([C(1,ur),C(2,rt)],eg);function O1(i,t,e,n,o,r){if(Array.isArray(i)){let s=0;for(let a of i){let l=O1(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:Ko(a.base)},m===t.fsPath||er(m,t.fsPath))u=10;else return 0}return u}else return 0}}function L1(i){return typeof i=="string"?!1:Array.isArray(i)?i.some(L1):!!i.notebookType}var N1=(o=>(o[o.None=0]="None",o[o.Indent=1]="Indent",o[o.IndentOutdent=2]="IndentOutdent",o[o.Outdent=3]="Outdent",o))(N1||{});var x$e=R("editSessionIdentityService"),U1=(n=>(n[n.Complete=100]="Complete",n[n.Partial=50]="Partial",n[n.None=0]="None",n))(U1||{});var XC=class{constructor(t){this._relatedInformationProviders=new Map;this._nextHandle=0;this._proxy=t.getProxy(N.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 ZC=class{constructor(t){this._settingsSearchProviders=new Map;this._nextHandle=0;this._proxy=t.getProxy(N.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 Za(a=>{this._proxy.$handleSearchResult(t,JR.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 hH(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 dz(i){let t=new Uint8Array(i.buffer,i.byteOffset,i.length*4);return Ib()||hH(t),te.wrap(t)}function cz(i){let t=i.buffer;if(Ib()||hH(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 eT(i){let t=new Uint32Array(uz(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 dz(t)}function uz(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 F1(i){let t=cz(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 pz=[new Pe("vscode.executeDocumentHighlights","_executeDocumentHighlights","Execute document highlight provider.",[Z.Uri,Z.Position],new ke("A promise that resolves to an array of DocumentHighlight-instances.",bi(wc.to))),new Pe("vscode.executeDocumentSymbolProvider","_executeDocumentSymbolProvider","Execute document symbol provider.",[Z.Uri],new ke("A promise that resolves to an array of SymbolInformation and DocumentSymbol instances.",(i,t)=>{if(Kg(i))return;class e extends br{constructor(){super(...arguments);this.containerName=""}static to(r){let s=new e(r.name,Ir.to(r.kind),r.containerName||"",new zt(t[0],B.to(r.range)));return s.detail=r.detail,s.range=s.location.range,s.selectionRange=B.to(r.selectionRange),s.children=r.children?r.children.map(e.to):[],s}}return i.map(e.to)})),new Pe("vscode.executeFormatDocumentProvider","_executeFormatDocumentProvider","Execute document format provider.",[Z.Uri,new Z("options","Formatting options",i=>!0,i=>i)],new ke("A promise that resolves to an array of TextEdits.",bi(mn.to))),new Pe("vscode.executeFormatRangeProvider","_executeFormatRangeProvider","Execute range format provider.",[Z.Uri,Z.Range,new Z("options","Formatting options",i=>!0,i=>i)],new ke("A promise that resolves to an array of TextEdits.",bi(mn.to))),new Pe("vscode.executeFormatOnTypeProvider","_executeFormatOnTypeProvider","Execute format on type provider.",[Z.Uri,Z.Position,new Z("ch","Trigger character",i=>typeof i=="string",i=>i),new Z("options","Formatting options",i=>!0,i=>i)],new ke("A promise that resolves to an array of TextEdits.",bi(mn.to))),new Pe("vscode.executeDefinitionProvider","_executeDefinitionProvider","Execute all definition providers.",[Z.Uri,Z.Position],new ke("A promise that resolves to an array of Location or LocationLink instances.",dd)),new Pe("vscode.experimental.executeDefinitionProvider_recursive","_executeDefinitionProvider_recursive","Execute all definition providers.",[Z.Uri,Z.Position],new ke("A promise that resolves to an array of Location or LocationLink instances.",dd)),new Pe("vscode.executeTypeDefinitionProvider","_executeTypeDefinitionProvider","Execute all type definition providers.",[Z.Uri,Z.Position],new ke("A promise that resolves to an array of Location or LocationLink instances.",dd)),new Pe("vscode.experimental.executeTypeDefinitionProvider_recursive","_executeTypeDefinitionProvider_recursive","Execute all type definition providers.",[Z.Uri,Z.Position],new ke("A promise that resolves to an array of Location or LocationLink instances.",dd)),new Pe("vscode.executeDeclarationProvider","_executeDeclarationProvider","Execute all declaration providers.",[Z.Uri,Z.Position],new ke("A promise that resolves to an array of Location or LocationLink instances.",dd)),new Pe("vscode.experimental.executeDeclarationProvider_recursive","_executeDeclarationProvider_recursive","Execute all declaration providers.",[Z.Uri,Z.Position],new ke("A promise that resolves to an array of Location or LocationLink instances.",dd)),new Pe("vscode.executeImplementationProvider","_executeImplementationProvider","Execute all implementation providers.",[Z.Uri,Z.Position],new ke("A promise that resolves to an array of Location or LocationLink instances.",dd)),new Pe("vscode.experimental.executeImplementationProvider_recursive","_executeImplementationProvider_recursive","Execute all implementation providers.",[Z.Uri,Z.Position],new ke("A promise that resolves to an array of Location or LocationLink instances.",dd)),new Pe("vscode.executeReferenceProvider","_executeReferenceProvider","Execute all reference providers.",[Z.Uri,Z.Position],new ke("A promise that resolves to an array of Location-instances.",bi(Zn.to))),new Pe("vscode.experimental.executeReferenceProvider","_executeReferenceProvider_recursive","Execute all reference providers.",[Z.Uri,Z.Position],new ke("A promise that resolves to an array of Location-instances.",bi(Zn.to))),new Pe("vscode.executeHoverProvider","_executeHoverProvider","Execute all hover providers.",[Z.Uri,Z.Position],new ke("A promise that resolves to an array of Hover-instances.",bi(Kp.to))),new Pe("vscode.experimental.executeHoverProvider_recursive","_executeHoverProvider_recursive","Execute all hover providers.",[Z.Uri,Z.Position],new ke("A promise that resolves to an array of Hover-instances.",bi(Kp.to))),new Pe("vscode.executeSelectionRangeProvider","_executeSelectionRangeProvider","Execute selection range provider.",[Z.Uri,new Z("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 Yi(B.to(n),e);return e}))),new Pe("vscode.executeWorkspaceSymbolProvider","_executeWorkspaceSymbolProvider","Execute all workspace symbol providers.",[Z.String.with("query","Search string")],new ke("A promise that resolves to an array of SymbolInformation-instances.",i=>i.map(Kl.to))),new Pe("vscode.prepareCallHierarchy","_executePrepareCallHierarchy","Prepare call hierarchy at a position inside a document",[Z.Uri,Z.Position],new ke("A promise that resolves to an array of CallHierarchyItem-instances",i=>i.map(ma.to))),new Pe("vscode.provideIncomingCalls","_executeProvideIncomingCalls","Compute incoming calls for an item",[Z.CallHierarchyItem],new ke("A promise that resolves to an array of CallHierarchyIncomingCall-instances",i=>i.map(TR.to))),new Pe("vscode.provideOutgoingCalls","_executeProvideOutgoingCalls","Compute outgoing calls for an item",[Z.CallHierarchyItem],new ke("A promise that resolves to an array of CallHierarchyOutgoingCall-instances",i=>i.map(ER.to))),new Pe("vscode.prepareRename","_executePrepareRename","Execute the prepareRename of rename provider.",[Z.Uri,Z.Position],new ke("A promise that resolves to a range and placeholder text.",i=>{if(i)return{range:B.to(i.range),placeholder:i.text}})),new Pe("vscode.executeDocumentRenameProvider","_executeDocumentRenameProvider","Execute rename provider.",[Z.Uri,Z.Position,Z.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 eo.to(i)}})),new Pe("vscode.executeLinkProvider","_executeLinkProvider","Execute document link provider.",[Z.Uri,Z.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(ga.to))),new Pe("vscode.provideDocumentSemanticTokensLegend","_provideDocumentSemanticTokensLegend","Provide semantic tokens legend for a document",[Z.Uri],new ke("A promise that resolves to SemanticTokensLegend.",i=>{if(i)return new gc(i.tokenTypes,i.tokenModifiers)})),new Pe("vscode.provideDocumentSemanticTokens","_provideDocumentSemanticTokens","Provide semantic tokens for a document",[Z.Uri],new ke("A promise that resolves to SemanticTokens.",i=>{if(!i)return;let t=F1(i);if(t.type==="full")return new ui(t.data,void 0)})),new Pe("vscode.provideDocumentRangeSemanticTokensLegend","_provideDocumentRangeSemanticTokensLegend","Provide semantic tokens legend for a document range",[Z.Uri,Z.Range.optional()],new ke("A promise that resolves to SemanticTokensLegend.",i=>{if(i)return new gc(i.tokenTypes,i.tokenModifiers)})),new Pe("vscode.provideDocumentRangeSemanticTokens","_provideDocumentRangeSemanticTokens","Provide semantic tokens for a document range",[Z.Uri,Z.Range],new ke("A promise that resolves to SemanticTokens.",i=>{if(!i)return;let t=F1(i);if(t.type==="full")return new ui(t.data,void 0)})),new Pe("vscode.executeCompletionItemProvider","_executeCompletionItemProvider","Execute completion item provider.",[Z.Uri,Z.Position,Z.String.with("triggerCharacter","Trigger completion when the user types the character, like `,` or `(`").optional(),Z.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 si([]);let n=i.suggestions.map(o=>DR.to(o,e));return new si(n,i.incomplete)})),new Pe("vscode.executeSignatureHelpProvider","_executeSignatureHelpProvider","Execute signature help provider.",[Z.Uri,Z.Position,Z.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 Gp.to(i)})),new Pe("vscode.executeCodeLensProvider","_executeCodeLensProvider","Execute code lens provider.",[Z.Uri,Z.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)=>bi(n=>new vl(B.to(n.range),n.command&&e.fromInternal(n.command)))(i))),new Pe("vscode.executeCodeActionProvider","_executeCodeActionProvider","Execute code action provider.",[Z.Uri,new Z("rangeOrSelection","Range in a text document. Some refactoring provider requires Selection object.",i=>ve.isRange(i),i=>Nn.isSelection(i)?go.from(i):B.from(i)),Z.String.with("kind","Code action kind to return code actions for").optional(),Z.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)=>bi(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 Ji(n.title,n.kind?new ft(n.kind):void 0);return n.edit&&(o.edit=eo.to(n.edit)),n.command&&(o.command=e.fromInternal(n.command)),o.isPreferred=n.isPreferred,o}})(i))),new Pe("vscode.executeDocumentColorProvider","_executeDocumentColorProvider","Execute document color provider.",[Z.Uri],new ke("A promise that resolves to an array of ColorInformation objects.",i=>i?i.map(t=>new Sl(B.to(t.range),Rc.to(t.color))):[])),new Pe("vscode.executeColorPresentationProvider","_executeColorPresentationProvider","Execute color presentation provider.",[new Z("color","The color to show and insert",i=>i instanceof ai,Rc.from),new Z("context","Context object with uri and range",i=>!0,i=>({uri:i.uri,range:B.from(i.range)}))],new ke("A promise that resolves to an array of ColorPresentation objects.",i=>i?i.map(Bh.to):[])),new Pe("vscode.executeInlayHintProvider","_executeInlayHintProvider","Execute inlay hints provider",[Z.Uri,Z.Range],new ke("A promise that resolves to an array of Inlay objects",(i,t,e)=>i.map(RR.to.bind(void 0,e)))),new Pe("vscode.executeFoldingRangeProvider","_executeFoldingRangeProvider","Execute folding range provider",[Z.Uri],new ke("A promise that resolves to an array of FoldingRange objects",(i,t)=>{if(i)return i.map($h.to)})),new Pe("vscode.resolveNotebookContentProviders","_resolveNotebookContentProvider","Resolve Notebook Content Providers",[],new ke("A promise that resolves to an array of NotebookContentProvider static info objects.",bi(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=>qh.to(t))})))),new Pe("vscode.executeInlineValueProvider","_executeInlineValueProvider","Execute inline value provider",[Z.Uri,Z.Range,new Z("context","An InlineValueContext",i=>i&&typeof i.frameId=="number"&&i.stoppedLocation instanceof ve,i=>Vh.from(i))],new ke("A promise that resolves to an array of InlineValue objects",i=>i.map(Hh.to))),new Pe("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 Z("uriOrString","Uri-instance or string (only http/https)",i=>y.isUri(i)||typeof i=="string"&&GO(i,q.http,q.https),i=>i),new Z("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"?[Ot.from(i),void 0]:[Ot.from(i.viewColumn),zh.from(i)])).optional(),Z.String.with("label","").optional()],ke.Void),new Pe("vscode.openWith","_workbench.openWith","Opens the provided resource with a specific editor.",[Z.Uri.with("resource","Resource to open"),Z.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 Z("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"?[Ot.from(i),void 0]:[Ot.from(i.viewColumn),zh.from(i)])).optional()],ke.Void),new Pe("vscode.diff","_workbench.diff","Opens the provided resources in the diff editor to compare their contents.",[Z.Uri.with("left","Left-hand side resource of the diff editor"),Z.Uri.with("right","Right-hand side resource of the diff editor"),Z.String.with("title","Human readable title for the diff editor").optional(),new Z("columnOrOptions","Either the column in which to open or editor options, see vscode.TextDocumentShowOptions",i=>i===void 0||typeof i=="object",i=>i&&[Ot.from(i.viewColumn),zh.from(i)]).optional()],ke.Void),new Pe("vscode.changes","_workbench.changes","Opens a list of resources in the changes editor to compare their contents.",[Z.String.with("title","Human readable title for the changes editor"),new Z("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 Pe("vscode.prepareTypeHierarchy","_executePrepareTypeHierarchy","Prepare type hierarchy at a position inside a document",[Z.Uri,Z.Position],new ke("A promise that resolves to an array of TypeHierarchyItem-instances",i=>i.map(fa.to))),new Pe("vscode.provideSupertypes","_executeProvideSupertypes","Compute supertypes for an item",[Z.TypeHierarchyItem],new ke("A promise that resolves to an array of TypeHierarchyItem-instances",i=>i.map(fa.to))),new Pe("vscode.provideSubtypes","_executeProvideSubtypes","Compute subtypes for an item",[Z.TypeHierarchyItem],new ke("A promise that resolves to an array of TypeHierarchyItem-instances",i=>i.map(fa.to))),new Pe("vscode.revealTestInExplorer","_revealTestInExplorer","Reveals a test instance in the explorer",[Z.TestItem],ke.Void),new Pe("vscode.startContinuousTestRun","testing.startContinuousRunFromExtension","Starts running the given tests with continuous run mode.",[Z.TestProfile,Z.Arr(Z.TestItem)],ke.Void),new Pe("vscode.stopContinuousTestRun","testing.stopContinuousRunFromExtension","Stops running the given tests with continuous run mode.",[Z.Arr(Z.TestItem)],ke.Void),new Pe("vscode.experimental.editSession.continue","_workbench.editSessions.actions.continueEditSession","Continue the current edit session in a different workspace",[Z.Uri.with("workspaceUri","The target workspace to continue the current edit session in")],ke.Void),new Pe("setContext","_setContext","Set a custom context key value that can be used in when clauses.",[Z.String.with("name","The context key name"),new Z("value","The context key value",()=>!0,i=>i)],ke.Void),new Pe("vscode.editorChat.start","inlineChat.start","Invoke a new editor chat session",[new Z("Run arguments","",i=>!0,i=>{if(i)return{initialRange:i.initialRange?B.from(i.initialRange):void 0,initialSelection:Nn.isSelection(i.initialSelection)?go.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 Pe("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})):[]))],tT=class{static register(t){pz.forEach(t.registerApiCommand,t),this._registerValidateWhenClausesCommand(t)}static _registerValidateWhenClausesCommand(t){t.registerCommand(!1,"_validateWhenClauses",gL)}};function bi(i){return t=>{if(Array.isArray(t))return t.map(i)}}function dd(i){if(!Array.isArray(i))return;let t=[];for(let e of i)cN(e)?t.push(qp.to(e)):t.push(Zn.to(e));return t}var tg=class{constructor(t,e){this._proxy=t.getProxy(N.MainThreadBulkEdits),this._versionInformationProvider={getTextDocumentVersion:n=>e.getDocument(n)?.version,getNotebookDocumentVersion:()=>{}}}applyWorkspaceEdit(t,e,n){let o=new Vt(eo.from(t,this._versionInformationProvider));return this._proxy.$tryApplyWorkspaceEdit(o,void 0,n?.isRefactoring??!1)}};tg=D([C(0,fe)],tg);var vH;(t=>{function i(e,n){return e.callstack<n.callstack?-1:e.callstack>n.callstack?1:0}t.compare=i})(vH||={});function V1(i){if(!i||typeof i!="object")return{callstack:void 0,msg:Tu(i)};let t=Array.isArray(i.stack)?i.stack.join(`
`):i.stack,e=i.message?i.message:Tu(i);return{callstack:t,msg:e}}var H1=class i{constructor(t,e=i.ERROR_FLUSH_TIMEOUT){this._flushHandle=void 0;this._buffer=[];this._disposables=new G;this._telemetryService=t,this._flushDelay=e;let n=Da.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),ro.isErrorNoTelemetry(t)||t instanceof Fi||fd.is(t)||typeof t?.message=="string"&&t.message.includes("Unable to read file")))return;let{callstack:e,msg:n}=V1(t);if(!e)return;let o={msg:n,callstack:e};mu.is(t)&&(o.kind=t.kind,o.listenerCount=t.listenerCount),this._enqueue(o)}_enqueue(t){let e=C0(this._buffer,t,vH.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 bH(i){return!!i&&y.isUri(i.sessionResource)&&i.$mid===19}function mz(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(Ue.isIRange)}function yH(i){return!!i&&typeof i=="object"&&"documents"in i&&Array.isArray(i.documents)&&i.documents.every(mz)}function IH(i){return!!i&&typeof i=="object"&&"command"in i&&"language"in i}var pt;(m=>{let i;(P=>(P[P.Streaming=0]="Streaming",P[P.WaitingForConfirmation=1]="WaitingForConfirmation",P[P.Executing=2]="Executing",P[P.WaitingForPostApproval=3]="WaitingForPostApproval",P[P.Completed=4]="Completed",P[P.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 h=g.state.read(v);if(!(h.type===0||h.type===1))return h.type===5?{type:h.reason}:h.confirmed}m.executionConfirmedOrDenied=t;function e(g,v){let h=t(g);if(h)return Promise.resolve(h);let I=new G;return new Promise(S=>{v&&I.add(v.onCancellationRequested(()=>{S({type:0})})),I.add(uo(w=>{let P=t(g,w);P&&(I.dispose(),S(P))}))}).finally(()=>{I.dispose()})}m.awaitConfirmation=e;function n(g,v){let h=g.state.read(v);if(h.type===4)return h.postConfirmed||{type:1};if(h.type===5)return{type:h.reason}}function o(g,v){let h=g?.state.get();return h?.type===1||h?.type===3?(h.confirm(v),!0):!1}m.confirmWith=o;function r(g,v){let h=n(g);if(h)return Promise.resolve(h);let I=new G;return new Promise(S=>{v&&I.add(v.onCancellationRequested(()=>{S({type:0})})),I.add(uo(w=>{let P=n(g,w);P&&(I.dispose(),S(P))}))}).finally(()=>{I.dispose()})}m.awaitPostConfirmation=r;function s(g,v){if(g.kind==="toolInvocationSerialized")return g.resultDetails;let h=g.state.read(v);if(h.type===4||h.type===3)return h.resultDetails}m.resultDetails=s;function a(g,v){if(g.kind==="toolInvocationSerialized")return!0;let h=g.state.read(v);return h.type===4||h.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 h=g.state.read(v);if(h.type!==0)return h.parameters}m.getParameters=c;function u(g,v){if(g.kind==="toolInvocationSerialized")return;let h=g.state.read(v);if(h.type!==0)return h.confirmationMessages}m.getConfirmationMessages=u})(pt||={});var gz;(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})(gz||={});var ir=R("IChatService");var ng=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(()=>{Bt.isMarkdownString(g.value)?s(Jh.from(g),c):s(_c.from(g),c)})}};Promise.all([u,d(m)]).then(([g,v])=>{s(VR.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 ea(l),c=Lh.from(d);return a(c),this},markdownWithVulnerabilities(l,d){n(this.markdown),d&&M(t._extension,"chatParticipantAdditions");let c=new os(l,d),u=wS.from(c);return a(u),this},codeblockUri(l,d){n(this.codeblockUri),M(t._extension,"chatParticipantAdditions");let c=new sa(l,d),u=ES.from(c);return a(u),this},filetree(l,d){n(this.filetree);let c=new na(l,d),u=Nh.from(c);return a(u),this},anchor(l,d){let c=new rs(l,d);return this.push(c)},button(l){n(this.anchor);let d=new ia(l),c=Uh.from(d,t._commandsConverter,t._sessionDisposables);return a(c),this},progress(l,d){n(this.progress);let c=new Vl(l,d),u=d?MS.from(c):jh.from(c);return a(u,d),this},thinkingProgress(l){n(this.thinkingProgress),M(t._extension,"chatParticipantAdditions");let d=new pi(l.text??"",l.id,l.metadata),c=Qh.from(d);return a(c),this},hookProgress(l,d,c){n(this.hookProgress),M(t._extension,"chatParticipantAdditions");let u=new oa(l,d,c),m=_S.from(u);return a(m),this},warning(l){n(this.progress),M(t._extension,"chatParticipantAdditions");let d=new ss(l),c=Jh.from(d);return a(c),this},info(l){n(this.progress),M(t._extension,"chatParticipantAdditions");let d=new ra(l),c=RS.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&&M(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 Fr(l,d,c);m=[_c.from(g)]}return m.forEach(g=>a(g)),this}}else{let u=new Fr(l,d,c),m=_c.from(u);a(m)}return this},codeCitation(l,d,c){n(this.codeCitation),M(t._extension,"chatParticipantAdditions");let u=new aa(l,d,c),m=US.from(u);a(m)},textEdit(l,d){n(this.textEdit),M(t._extension,"chatParticipantAdditions");let c=new ls(l,d);c.isDone=d===!0?!0:void 0;let u=AS.from(c);return a(u),this},notebookEdit(l,d){n(this.notebookEdit),M(t._extension,"chatParticipantAdditions");let c=new da(l,d),u=LS.from(c);return a(u),this},workspaceEdit(l){n(this.workspaceEdit),M(t._extension,"chatParticipantAdditions");let d=new $l(l),c=NS.from(d);return a(c),this},async externalEdit(l,d){n(this.externalEdit);let c=Array.isArray(l)?l:[l],u=e++,m=Ve();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),M(t._extension,"chatParticipantAdditions");let m=new ta(l,d,c,u),g=kS.from(m);return a(g),this},async questionCarousel(l,d=!0){n(this.questionCarousel),M(t._extension,"chatParticipantAdditions");let c=Ve(),u=new as(l,d),m=PS.from(u);m.resolveId=c;let g=new un;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),Ga(g.p,t._token)},beginToolInvocation(l,d,c){n(this.beginToolInvocation),M(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),M(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 ls||l instanceof da||l instanceof os||l instanceof ss||l instanceof ta||l instanceof as||l instanceof aa||l instanceof la||l instanceof Bl||l instanceof vc||l instanceof pi||l instanceof Wl||l instanceof is||l instanceof Vl)&&M(t._extension,"chatParticipantAdditions"),l instanceof Fr)this.reference2(l.value,l.iconPath,l.options);else if(l instanceof Vl){let d=l.task?MS.from(l):jh.from(l);a(d,l.task)}else if(l instanceof pi){let d=Qh.from(l);a(d)}else if(l instanceof is){let d=DS.from(l);a(d)}else if(l instanceof rs){let d=$p.from(l);if(l.resolve&&(M(t._extension,"chatParticipantAdditions"),d.resolveId=Ve()),a(d),l.resolve){let c=new Re;l.resolve(c.token).then(()=>{let u=$p.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 vc)return this.externalEdit(l.uris,l.callback).then(c=>l.didGetApplied(c)),this;{let d=Jp.from(l,t._commandsConverter,t._sessionDisposables);a(d)}}return this},usage(l){n(this.usage),M(t._extension,"chatParticipantAdditions");let d={kind:"usage",promptTokens:l.promptTokens,completionTokens:l.completionTokens,outputBuffer:l.outputBuffer,copilotCredits:l.copilotCredits,promptTokenDetails:l.promptTokenDetails};return a(d),this}})}return this._apiObject}},nT=class i extends F{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 ub);this._completionDisposables=this._register(new Tn);this._inFlightRequests=new Set;this._pendingCarouselResolvers=new Map;this._onDidChangeChatRequestTools=this._register(new T);this.onDidChangeChatRequestTools=this._onDidChangeChatRequestTools.event;this._onDidDisposeChatSession=this._register(new T);this.onDidDisposeChatSession=this._onDidDisposeChatSession.event;this._onDidChangeCustomAgents=this._register(new T);this.onDidChangeCustomAgents=this._onDidChangeCustomAgents.event;this._onDidChangeInstructions=this._register(new T);this.onDidChangeInstructions=this._onDidChangeInstructions.event;this._onDidChangeSkills=this._register(new T);this.onDidChangeSkills=this._onDidChangeSkills.event;this._onDidChangeSlashCommands=this._register(new T);this.onDidChangeSlashCommands=this._onDidChangeSlashCommands.event;this._onDidChangeHooks=this._register(new T);this.onDidChangeHooks=this._onDidChangeHooks.event;this._onDidChangePlugins=this._register(new T);this.onDidChangePlugins=this._onDidChangePlugins.event;this._customAgents=new cd(()=>this._proxy.$provideCustomAgents(be.None).then(e=>e.map(n=>this.toCustomAgent(n))));this._instructions=new cd(()=>this._proxy.$provideInstructions(be.None).then(e=>e.map(n=>this.toInstruction(n))));this._skills=new cd(()=>this._proxy.$provideSkills(be.None).then(e=>e.map(n=>this.toSkill(n))));this._slashCommands=new cd(()=>this._proxy.$provideSlashCommands(be.None).then(e=>e.map(n=>this.toSlashCommand(n))));this._hooks=new cd(()=>this._proxy.$provideHooks(be.None).then(e=>e.map(n=>this.toHook(n))));this._plugins=new cd(()=>this._proxy.$providePlugins(be.None).then(e=>e.map(n=>this.toPlugin(n))));this._onDidChangeActiveChatPanelSessionResource=this._register(new T);this.onDidChangeActiveChatPanelSessionResource=this._onDidChangeActiveChatPanelSessionResource.event;this._proxy=e.getProxy(N.MainThreadChatAgents2),o.registerArgumentProcessor({processArgument:u=>bH(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 oT(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 oT(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 B1(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 G,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=>Yh.from(d))};this._proxy.$registerChatSessionCustomizationProvider(s,n,a,e.identifier);let l=new G;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:Yh.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,pluginLabel:a.pluginLabel,userInvocable:a.userInvocable})):void 0}catch{return}}async $provideSourceFolders(e,n,o,r){let s=this._customizationProviders.get(e);if(s?.provider.provideSourceFolders)try{let a=await s.provider.provideSourceFolders(y.revive(n),Yh.to(o),r);return a?a.map(l=>({uri:l.uri,label:l.label,source:l.source})):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=Yp.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:Xp.to(r.location)},s)}async _createRequest(e,n,o){let r=Mt(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 Lp(d.value,l,go.to(r.locationData.selection),B.to(r.locationData.wholeRange))}else if(r.locationData?.type==="notebook"){let l=this._documents.getDocument(r.locationData.sessionInputUri);a=new Np(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,be.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 G,this._sessionDisposables.set(d.sessionResource,m)),a=new ng(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),h=Yp.to(d,c,g,d.modelConfiguration,this.getDiagnosticsWhenEnabled(s.extension),v,s.extension,this._logService);l={requestId:n.requestId,extRequest:h,extension:s.extension,hooks:d.hooks,yieldRequested:!1},this._inFlightRequests.add(l);let I;if(o.chatSessionContext){let P=y.revive(o.chatSessionContext.chatSessionResource),O=await this._chatSessions.getInputStateForSession(P,o.chatSessionContext.initialSessionOptions,r);I={chatSessionItem:{resource:P,label:o.chatSessionContext.isUntitled?"Untitled Session":"Session"},isUntitled:o.chatSessionContext.isUntitled,initialSessionOptions:o.chatSessionContext.initialSessionOptions,inputState:O}}let S={history:u,chatSessionContext:I,get yieldRequested(){return l?.yieldRequested??!1}},w=s.invoke(h,S,a.apiObject,r);return await fz(1e3,Promise.resolve(w).then(P=>{if(P?.metadata)try{JSON.stringify(P.metadata)}catch(L){let $=`result.metadata MUST be JSON.stringify-able. Got error: ${L.message}`;return this._logService.error(`[${s.extension.identifier.value}] [@${s.id}] ${$}`,s.extension),{errorDetails:{message:$},timings:a?.timings,nextQuestion:P.nextQuestion}}let O;return P?.errorDetails&&(O={...P.errorDetails,responseIsIncomplete:!0}),(O?.responseIsRedacted||O?.isQuotaExceeded||O?.isRateLimited||O?.isExpectedError||O?.confirmationButtons||O?.code)&&M(s.extension,"chatParticipantPrivate"),{errorDetails:O,timings:a?.timings,metadata:P?.metadata,nextQuestion:P?.nextQuestion,details:P?.details}}),r)}catch(d){this._logService.error(d,s.extension),d instanceof nr&&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}=V1(d),v=d instanceof Error?d.name:void 0;return{errorDetails:{message:Xr(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=Zp.to(s.result),l=n===s.request.agentId||xH(s.request.agentId)&&xH(n)?a:{...a,metadata:void 0},d=[],c=[];for(let h of s.request.variables.variables)if(h.kind==="tool")c.push(Dc.to(h));else if(h.kind==="toolset")c.push(...h.value.map(Dc.to));else{let I=FS.to(h,this.getDiagnosticsWhenEnabled(e),this._logService);I&&d.push(I)}let u=De(e,"chatParticipantPrivate")?s.request.editedFileEvents:void 0,m=De(e,"chatParticipantPrivate")&&s.request.modeInstructions?Oc.to(s.request.modeInstructions):void 0,g=new ds(s.request.message,s.request.command,d,s.request.agentId,c,u,s.request.requestId,void 0,m);r.push(g);let v=dt(s.response.map(h=>Jp.toContent(h,this._commands.converter)));r.push(new Pp(v,l,s.request.agentId,s.request.command))}return r}$releaseSession(e){let n=y.revive(e);this._sessionDisposables.deleteAndDispose(n);let o=Yo.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=Mt(e),d=await this.prepareHistoryTurns(a.extension,a.id,r),c=Zp.to(o);return(await a.provideFollowups(c,{history:d,yieldRequested:!1},s)).filter(u=>{let m=!u.participant||It.some(this._agents.values(),g=>g.id===u.participant&&xe.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=>CS.from(u,l))}$acceptFeedback(e,n,o){let r=this._agents.get(e);if(!r)return;let s=Zp.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=$R.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 G,this._completionDisposables.set(e,s)),(await r.invokeCompletionProvider(n,o)).map(l=>WR.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)}},B1=class{constructor(t,e){this.extension=t;this.provider=e}},oT=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 T;this._onDidPerformAction=new T;this._pauseStateEmitter=new T}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 ln?this._iconPath:void 0,hasFollowups:this._followupProvider!==void 0,helpTextPrefix:!this._helpTextPrefix||typeof this._helpTextPrefix=="string"?this._helpTextPrefix:ge.from(this._helpTextPrefix),helpTextPostfix:!this._helpTextPostfix||typeof this._helpTextPostfix=="string"?this._helpTextPostfix:ge.from(this._helpTextPostfix),supportIssueReporting:this._supportIssueReporting,additionalWelcomeMessage:!this._additionalWelcomeMessage||typeof this._additionalWelcomeMessage=="string"?this._additionalWelcomeMessage:ge.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){cb(typeof r=="function","Invalid request handler"),o._requestHandler=r},get followupProvider(){return o._followupProvider},set followupProvider(r){o._followupProvider=r,n()},get helpTextPrefix(){return M(o.extension,"defaultChatParticipant"),o._helpTextPrefix},set helpTextPrefix(r){M(o.extension,"defaultChatParticipant"),o._helpTextPrefix=r,n()},get helpTextPostfix(){return M(o.extension,"defaultChatParticipant"),o._helpTextPostfix},set helpTextPostfix(r){M(o.extension,"defaultChatParticipant"),o._helpTextPostfix=r,n()},get supportIssueReporting(){return M(o.extension,"chatParticipantPrivate"),o._supportIssueReporting},set supportIssueReporting(r){M(o.extension,"chatParticipantPrivate"),o._supportIssueReporting=r,n()},get onDidReceiveFeedback(){return o._onDidReceiveFeedback.event},set participantVariableProvider(r){if(M(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 M(o.extension,"chatParticipantAdditions"),o._agentVariableProvider},set additionalWelcomeMessage(r){M(o.extension,"defaultChatParticipant"),o._additionalWelcomeMessage=r,n()},get additionalWelcomeMessage(){return M(o.extension,"defaultChatParticipant"),o._additionalWelcomeMessage},set titleProvider(r){M(o.extension,"defaultChatParticipant"),o._titleProvider=r,n()},get titleProvider(){return M(o.extension,"defaultChatParticipant"),o._titleProvider},set summarizer(r){M(o.extension,"defaultChatParticipant"),o._summarizer=r},get summarizer(){return M(o.extension,"defaultChatParticipant"),o._summarizer},get onDidChangePauseState(){return M(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 fz(i,t,e){return new Promise((n,o)=>{let r=e.onCancellationRequested(async()=>{r.dispose(),await wn(i),n(void 0)});t.then(n,o).finally(()=>r.dispose())})}var cd=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 Ui(this.cachedPromise,t)}clear(){this.cachedPromise=void 0}};function xH(i){return i.startsWith("github.copilot")}var rT=class{constructor(t,e){this.webviews=e;this._renderers=new Map;this._proxy=t.getProxy(N.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 xa=class{constructor(t,e){this.#n=new T;this.onDidChange=this.#n.event;this.#o=new T;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()}},$1=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")}Ct(this.#c,t)||(this.#c=t,this.#i())}};function vz(i,t){let e={addedOrUpdated:new Ne,removed:new sr};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 bz(i){return{addedOrUpdated:i.addedOrUpdated?Array.from(i.addedOrUpdated.values(),ha.from):[],removed:i.removed?Array.from(i.removed.keys()):[]}}var iT=class{#e=new Ne;#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 Ne(t.map(o=>[o.resource,o])),n=vz(this.#e,e);!n.addedOrUpdated?.size&&!n.removed?.size||(this.#e=e,this.#t.$updateChatSessionItems(this.#n,bz(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,ha.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()}},z1=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 ng(e,n,o,r,s,this._pendingCarouselResolvers,be.None)}get activeResponseStream(){return this._stream}getActiveRequestStream(t){return new ng(this.extension,t,this.proxy,this.commandsConverter,this.sessionDisposables,this._pendingCarouselResolvers,be.None)}},og=class extends F{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 Ne;this._proxyCommands=new Map;this._proxy=this._extHostRpc.getProxy(N.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 G,a=s.add(new T),l=new iT(r,this._proxy),d={id:n,items:l,createChatSessionItem:(u,m)=>{throw new Error("Not implemented for providers")},createChatSessionInputState:u=>new xa([]),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(be.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 G,a=!1,l,d,c,u,m=s.add(new T),g=new Set,v=new iT(r,this._proxy),h=this._proxy,I=Object.freeze({id:n,refreshHandler:async S=>{if(a)throw new Error("ChatSessionItemController has been disposed");this._logService.trace(`ExtHostChatSessions. Controller(${n}).refresh()`),await o(S)},items:v,onDidChangeChatSessionItemState:m.event,createChatSessionItem:(S,w)=>{if(a)throw new Error("ChatSessionItemController has been disposed");let P=new $1(S,w,()=>{v.get(S)===P&&this._proxy.$addOrUpdateChatSessionItem(r,ha.from(P))});return P},get newChatSessionItemHandler(){return l},set newChatSessionItemHandler(S){l=S},get forkHandler(){return d},set forkHandler(S){d=S},get resolveChatSessionItem(){return c},set resolveChatSessionItem(S){let w=!!c;c=S;let P=!!S;w!==P&&!a&&h.$updateChatSessionItemControllerCapabilities(r,P)},get getChatSessionInputState(){return u},set getChatSessionInputState(S){u=S},createChatSessionInputState:S=>{if(a)throw new Error("ChatSessionItemController has been disposed");let w=new xa(S,()=>{let P=this._chatSessionItemControllers.get(r);P&&(P.optionGroups=w.groups);let L=this._wrapOptionGroupCommands(r,w.groups).map(V=>({id:V.id,name:V.name,description:V.description,items:V.items,selected:V.selected,when:V.when,icon:V.icon,commands:V.commands,kind:V.kind})),$=w.sessionResource??w.untitledSessionResource;$&&this._proxy.$updateChatSessionInputState(r,$,L)});return g.add(w),w},dispose:()=>{a=!0;for(let S of g)S._dispose();g.clear(),s.dispose()}});return this._chatSessionItemControllers.set(r,{controller:I,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)})),I}registerChatSessionContentProvider(e,n,o,r,s){let a=this._contentProviderHandlePool++,l=new G;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 I=await l.controller.getChatSessionInputState($d(a)?void 0:a,{previousInputState:this._createInputStateFromOptions(l.optionGroups??[],o.initialSessionOptions)},r);I&&(d=I)}d??=this._createInputStateFromOptions(l?.optionGroups??[],o.initialSessionOptions),d instanceof xa&&(l&&this._disposeInputStatesForResource(l.inputStates,a),$d(a)?d.untitledSessionResource=a:d.sessionResource=a);let c=await s.provider.provideChatSessionContent(a,r,{inputState:d});if(r.isCancellationRequested)throw new lt;let u=new G,m=a.toString(),g=new z1(c,s.extension,{sessionResource:a,requestId:"ongoing",agentId:m,message:"",variables:{variables:[]},location:"panel"},{$handleProgressChunk:(I,S)=>this._proxy.$handleProgressChunk(e,a,I,S),$handleAnchorResolve:(I,S,w)=>{this._proxy.$handleAnchorResolve(e,a,I,S,w)}},this.commands.converter,u),v=u.add(new Re);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:h}=s;return{resource:y.revive(a),title:c.title,hasActiveResponseCallback:!!c.activeResponseCallback,hasRequestHandler:!!c.requestHandler,hasForkHandler:!!l?.controller.forkHandler||!!c.forkHandler,supportsInterruption:!!h?.supportsInterruptions,options:c.options,history:c.history.map(I=>I instanceof ds?this.convertRequestTurn(I):this.convertResponseTurn(I,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,h=m.items.find(I=>I.id===v);return h?{...m,selected:h}: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=Yp.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 ha.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 ha.from(c)}convertRequestDtoToRequestTurn(e){if(e)return new ds(e.prompt,e.command,[],e.participant,[],void 0,e.id,e.modelId,Oc.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&&En(n,r)&&(o._dispose(),e.delete(o))}}_createInputStateFromOptions(e,n){if(!n?.length)return new xa(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 xa(o)}async getInputStateForSession(e,n,o){let r=e?Wd(e):void 0,s=r?this.getChatSessionItemController(r):void 0,a=e&&!$d(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 xa&&(e&&s&&this._disposeInputStatesForResource(s.inputStates,e),e&&$d(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.${Ve()}`;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,be.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:Oc.from(e.modeInstructions2)}}convertReferenceToVariable(e){let n=e.value&&typeof e.value=="object"&&"uri"in e.value&&"range"in e.value?Wr.from(e.value):e.value,o=e.range?{start:e.range[0],endExclusive:e.range[1]}:void 0;if(n&&n instanceof zl&&Array.isArray(n.diagnostics)&&n.diagnostics.length&&n.diagnostics[0][1].length){let a=pa.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 Vf.toEntry(l)}if(zt.isLocation(e.value)&&e.name.startsWith("sym:")){let a=Wr.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:QP.toIcon(6),kind:"symbol",range:o}}if(y.isUri(n)&&e.name.startsWith("prompt:")){if(e.id.startsWith("vscode.instructions.file.root"))return nl(n,"vscode.instructions.file.root");if(e.id.startsWith("vscode.instructions.file.reference"))return nl(n,"vscode.instructions.file.reference");if(e.id.startsWith("vscode.prompt.file"))return nl(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:dt(e.response.map(r=>Jp.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),ha.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 ha.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||$d(a)?void 0:a,{previousInputState:void 0},o);return l?(l instanceof xa&&a&&(this._disposeInputStatesForResource(r.inputStates,a),$d(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}};og=D([C(2,fe),C(3,se)],og);var sT=class{constructor(t){this._items=new Map;this._proxy=t.getProxy(N.MainThreadChatStatus)}createChatStatusItem(t,e){let n=yz(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 yz(i,t){return`${xe.toKey(i)}.${t}`}var aT=class extends F{constructor(t){super(),this._proxy=t.getProxy(N.MainThreadChatQuota)}updateQuotas(t){this._proxy.$updateQuotas(t)}};var lT=class{constructor(t){this._items=new Map;this._proxy=t.getProxy(N.MainThreadChatInputNotification)}createInputNotification(t,e){let n=Iz(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 Iz(i,t){return`${xe.toKey(i)}.${t}`}var dT=class{constructor(t){let e=t.getProxy(N.MainThreadClipboard);this.value=Object.freeze({readText(){return e.$readText()},writeText(n){return e.$writeText(n)}})}};var SH="vscode-cdn.net",xz=`vscode-resource.${SH}`,wv=`'self' https://*.${SH}`;function ud(i,t){return i.scheme===q.http||i.scheme===q.https?i:(t&&t.authority&&t.isRemote&&i.scheme===q.file&&(i=y.from({scheme:q.vscodeRemote,authority:t.authority,path:i.path})),y.from({scheme:q.https,authority:`${i.scheme}+${Sz(i.authority)}.${xz}`,path:i.path,fragment:i.fragment,query:i.query}))}function Sz(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 cT=class{constructor(t,e,n){this._proxy=t;this._editors=e;this._remoteInfo=n;this._handlePool=0;this._disposables=new G;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 T,c=new T,u=new class{constructor(){this._html="";this._options=Object.create(null)}asWebviewUri(g){return ud(g,a._remoteInfo)}get cspSource(){return wv}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 uT=class i{constructor(t){this.providers=new Map;this._proxy=t.getProxy(N.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(mn.from)})},notebookEdit:(l,d)=>{d=gn(d),this._proxy.$handleProgress(e.requestId,{uri:l,edits:d.map(OS.from)})}},s={location:e.location,chatRequestId:e.chatRequestId,chatRequestModel:e.chatRequestModel,chatSessionId:e.chatSessionResource?Yo.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 CH(i,t,e){let n=i.getProxy(N.MainThreadComments);class o{constructor(){this._commentControllers=new Map;this._commentControllersByExtension=new Yn;t.registerArgumentProcessor({processArgument:h=>{if(h&&h.$mid===6){let I=this._commentControllers.get(h.handle);return I?I.value:h}else if(h&&h.$mid===7){let I=h,S=this._commentControllers.get(I.commentControlHandle);if(!S)return I;let w=S.getCommentThread(I.commentThreadHandle);return w?w.value:I}else if(h&&(h.$mid===9||h.$mid===8)){let I=this._commentControllers.get(h.thread.commentControlHandle);if(!I)return h;let S=I.getCommentThread(h.thread.commentThreadHandle);return S?h.$mid===8?S.value:{thread:S.value,text:h.text}:h}else if(h&&h.$mid===10){let I=this._commentControllers.get(h.thread.commentControlHandle);if(!I)return h;let S=I.getCommentThread(h.thread.commentThreadHandle);if(!S)return h;let w=h.commentUniqueId,P=S.getCommentByUniqueId(w);return P||h}else if(h&&h.$mid===11){let I=this._commentControllers.get(h.thread.commentControlHandle);if(!I)return h;let S=I.getCommentThread(h.thread.commentThreadHandle);if(!S)return h;let w=h.text,P=h.commentUniqueId,O=S.getCommentByUniqueId(P);return O?(typeof O.body=="string"?O.body=w:O.body=new Bt(w),O):h}return h}})}static{this.handlePool=0}createCommentController(h,I,S){let w=o.handlePool++,P=new s(h,w,I,S);this._commentControllers.set(P.handle,P);let O=this._commentControllersByExtension.get(h.identifier)||[];return O.push(P),this._commentControllersByExtension.set(h.identifier,O),P.value}async $createCommentThreadTemplate(h,I,S,w){let P=this._commentControllers.get(h);P&&P.$createCommentThreadTemplate(I,S,w)}async $setActiveComment(h,I){let S=this._commentControllers.get(h);S&&S.$setActiveComment(I??void 0)}async $updateCommentThreadTemplate(h,I,S){let w=this._commentControllers.get(h);w&&w.$updateCommentThreadTemplate(I,S)}$deleteCommentThread(h,I){this._commentControllers.get(h)?.$deleteCommentThread(I)}async $updateCommentThread(h,I,S){this._commentControllers.get(h)?.$updateCommentThread(I,S)}async $provideCommentingRanges(h,I,S){let w=this._commentControllers.get(h);if(!w||!w.commentingRangeProvider)return Promise.resolve(void 0);let P=await e.ensureDocumentData(y.revive(I));return nn(async()=>{let O=await w.commentingRangeProvider?.provideCommentingRanges(P.document,S),L;return Array.isArray(O)?L={ranges:O,fileComments:!1}:O?L={ranges:O.ranges||[],fileComments:O.enableFileComments||!1}:L=O??void 0,L}).then(O=>{let L;return O&&(L={ranges:O.ranges.map($=>B.from($)),fileComments:O.fileComments}),L})}$toggleReaction(h,I,S,w,P){let O=this._commentControllers.get(h);return!O||!O.reactionHandler?Promise.resolve(void 0):nn(()=>{let L=O.getCommentThread(I);if(L){let $=L.getCommentByUniqueId(w.uniqueIdInThread);if(O!==void 0&&$&&O.reactionHandler)return O.reactionHandler($,d(P))}return Promise.resolve(void 0)})}}let g=class g{constructor(h,I,S,w,P,O,L,$,V){this._commentControllerHandle=I;this._id=S;this._uri=w;this._range=P;this._comments=O;this.extensionDescription=L;this._isTemplate=$;this.handle=g._handlePool++;this.commentHandle=0;this.modifications=Object.create(null);this._onDidUpdateCommentThread=new T;this.onDidUpdateCommentThread=this._onDidUpdateCommentThread.event;this._canReply=!0;this._commentsMap=new Map;this._acceptInputDisposables=new dn;this._acceptInputDisposables.value=new G,this._id===void 0&&(this._id=`${h}.${this.handle}`),n.$createCommentThread(I,this.handle,this._id,this._uri,B.from(this._range),this._comments.map(z=>a(this,z,this._commentsMap,this.extensionDescription)),L.identifier,this._isTemplate,V),this._localDisposables=[],this._isDiposed=!1,this._localDisposables.push(this.onDidUpdateCommentThread(()=>{this.eventuallyUpdateCommentThread()})),this._localDisposables.push({dispose:()=>{n.$deleteCommentThread(I,this.handle)}});let J=this;this.value={get uri(){return J.uri},get range(){return J.range},set range(z){J.range=z},get comments(){return J.comments},set comments(z){J.comments=z},get collapsibleState(){return J.collapsibleState},set collapsibleState(z){J.collapsibleState=z},get canReply(){return J.canReply},set canReply(z){J.canReply=z},get contextValue(){return J.contextValue},set contextValue(z){J.contextValue=z},get label(){return J.label},set label(z){J.label=z},get state(){return J.state},set state(z){J.state=z},reveal:(z,j)=>J.reveal(z,j),hide:()=>J.hide(),dispose:()=>{J.dispose()}}}static{this._handlePool=0}set threadId(h){this._id=h}get threadId(){return this._id}get id(){return this._id}get resource(){return this._uri}get uri(){return this._uri}set range(h){(h===void 0!=(this._range===void 0)||!h||!this._range||!h.isEqual(this._range))&&(this._range=h,this.modifications.range=h,this._onDidUpdateCommentThread.fire())}get range(){return this._range}set canReply(h){this._canReply!==h&&(this._canReply=h,this.modifications.canReply=h,this._onDidUpdateCommentThread.fire())}get canReply(){return this._canReply}get label(){return this._label}set label(h){this._label=h,this.modifications.label=h,this._onDidUpdateCommentThread.fire()}get contextValue(){return this._contextValue}set contextValue(h){this._contextValue=h,this.modifications.contextValue=h,this._onDidUpdateCommentThread.fire()}get comments(){return this._comments}set comments(h){this._comments=h,this.modifications.comments=h,this._onDidUpdateCommentThread.fire()}get collapsibleState(){return this._collapseState}set collapsibleState(h){this._collapseState!==h&&(this._collapseState=h,this.modifications.collapsibleState=h,this._onDidUpdateCommentThread.fire())}get state(){return this._state}set state(h){this._state=h,typeof h=="object"?(M(this.extensionDescription,"commentThreadApplicability"),this.modifications.state=h.resolved,this.modifications.applicability=h.applicability):this.modifications.state=h,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 G);let h=S=>Object.prototype.hasOwnProperty.call(this.modifications,S),I={};h("range")&&(I.range=B.from(this._range)),h("label")&&(I.label=this.label),h("contextValue")&&(I.contextValue=this.contextValue??null),h("comments")&&(I.comments=this._comments.map(S=>a(this,S,this._commentsMap,this.extensionDescription))),h("collapsibleState")&&(I.collapseState=c(this._collapseState)),h("canReply")&&(I.canReply=this.canReply),h("state")&&(I.state=u(this._state)),h("applicability")&&(I.applicability=m(this._state)),h("isTemplate")&&(I.isTemplate=this._isTemplate),this.modifications={},n.$updateCommentThread(this._commentControllerHandle,this.handle,this._id,this._uri,I)}getCommentByUniqueId(h){for(let I of this._commentsMap){let S=I[0],w=I[1];if(h===w)return S}}async reveal(h,I){M(this.extensionDescription,"commentReveal");let S;h&&h.body!==void 0?S=h:I=I??h;let w=S?this._commentsMap.get(S):void 0;w??=this._commentsMap.get(this._comments[0]);let P=!0,O=!1;return I?.focus===1?(O=!0,P=!1):I?.focus===2&&(P=!1),n.$revealCommentThread(this._commentControllerHandle,this.handle,w,{preserveFocus:P,focusReply:O})}async hide(){return n.$hideCommentThread(this._commentControllerHandle,this.handle)}dispose(){this._isDiposed=!0,this._acceptInputDisposables.dispose(),this._onDidUpdateCommentThread.dispose(),this._localDisposables.forEach(h=>h.dispose())}};D([pv(100)],g.prototype,"eventuallyUpdateCommentThread",1);let r=g;class s{constructor(h,I,S,w){this._extension=h;this._handle=I;this._id=S;this._label=w;this._threads=new Map;n.$registerCommentController(this.handle,S,w,this._extension.identifier.value);let P=this;this.value=Object.freeze({id:P.id,label:P.label,get options(){return P.options},set options(O){P.options=O},get commentingRangeProvider(){return P.commentingRangeProvider},set commentingRangeProvider(O){P.commentingRangeProvider=O},get reactionHandler(){return P.reactionHandler},set reactionHandler(O){P.reactionHandler=O},get activeCommentThread(){return P.activeCommentThread},createCommentThread(O,L,$){return P.createCommentThread(O,L,$).value},dispose:()=>{P.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(h){this._commentingRangeProvider=h,h?.resourceHints&&M(this._extension,"commentingRangeHint"),n.$updateCommentingRanges(this.handle,h?.resourceHints)}get reactionHandler(){return this._reactionHandler}set reactionHandler(h){this._reactionHandler=h,n.$updateCommentControllerFeatures(this.handle,{reactionHandler:!!h})}get options(){return this._options}set options(h){this._options=h,n.$updateCommentControllerFeatures(this.handle,{options:this._options})}get activeComment(){return M(this._extension,"activeComment"),this._activeComment}get activeCommentThread(){return M(this._extension,"activeComment"),this._activeThread?.value}createCommentThread(h,I,S){let w=new r(this.id,this.handle,void 0,h,I,S,this._extension,!1);return this._threads.set(w.handle,w),w}$setActiveComment(h){if(!h){this._activeComment=void 0,this._activeThread=void 0;return}let I=this._threads.get(h.commentThreadHandle);I&&(this._activeComment=h.uniqueIdInThread?I.getCommentByUniqueId(h.uniqueIdInThread):void 0,this._activeThread=I)}$createCommentThreadTemplate(h,I,S){let w=new r(this.id,this.handle,void 0,y.revive(h),B.to(I),[],this._extension,!0,S);return w.collapsibleState=1,this._threads.set(w.handle,w),w}$updateCommentThreadTemplate(h,I){let S=this._threads.get(h);S&&(S.range=B.to(I))}$updateCommentThread(h,I){let S=this._threads.get(h);if(!S)return;(P=>Object.prototype.hasOwnProperty.call(I,P))("collapseState")&&(S.collapsibleState=c(I.collapseState))}$deleteCommentThread(h){this._threads.get(h)?.dispose(),this._threads.delete(h)}getCommentThread(h){return this._threads.get(h)}dispose(){this._threads.forEach(h=>{h.dispose()}),this._localDisposables.forEach(h=>h.dispose())}}function a(v,h,I,S){let w=I.get(h);return w||(w=++v.commentHandle,I.set(h,w)),h.state!==void 0&&M(S,"commentsDraftState"),h.reactions?.some(P=>P.reactors!==void 0)&&M(S,"commentReactor"),{mode:h.mode,contextValue:h.contextValue,uniqueIdInThread:w,body:typeof h.body=="string"?h.body:ge.from(h.body),userName:h.author.name,userIconPath:h.author.iconPath,label:h.label,commentReactions:h.reactions?h.reactions.map(P=>l(P)):void 0,state:h.state,timestamp:h.timestamp?.toJSON()}}function l(v){return{label:v.label,iconPath:v.iconPath?Fh(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(h=>h.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(h=>({name:h}))}}function c(v){if(v!==void 0)switch(v){case 1:return 1;case 0:return 0}return 0}function u(v){let h;if(typeof v=="object"?h=v.resolved:h=v,h!==void 0)switch(h){case 0:return 0;case 1:return 1}return 0}function m(v){let h;if(typeof v=="object"&&(h=v.applicability),h!==void 0)switch(h){case 0:return 0;case 1:return 1}return 0}return new o}var pT={},mt={exports:pT};(function(i,t){if(typeof pT=="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 pT=="object"?pT: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=$e,o=typeof n=="object"&&n.env&&n.env.NODE_DEBUG&&/\bsemver\b/i.test(n.env.NODE_DEBUG)?function(){var A=Array.prototype.slice.call(arguments,0);A.unshift("SEMVER"),console.log.apply(console,A)}: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 h=d++;l[h]="(?:"+l[c]+"|"+l[m]+")";var I=d++;l[I]="(?:"+l[u]+"|"+l[m]+")";var S=d++;l[S]="(?:-("+l[h]+"(?:\\."+l[h]+")*))";var w=d++;l[w]="(?:-?("+l[I]+"(?:\\."+l[I]+")*))";var P=d++;l[P]="[0-9A-Za-z-]+";var O=d++;l[O]="(?:\\+("+l[P]+"(?:\\."+l[P]+")*))";var L=d++,$="v?"+l[g]+l[S]+"?"+l[O]+"?";l[L]="^"+$+"$";var V="[v=\\s]*"+l[v]+l[w]+"?"+l[O]+"?",J=d++;l[J]="^"+V+"$";var z=d++;l[z]="((?:<|>)?=?)";var j=d++;l[j]=l[u]+"|x|X|\\*";var Y=d++;l[Y]=l[c]+"|x|X|\\*";var ue=d++;l[ue]="[v=\\s]*("+l[Y]+")(?:\\.("+l[Y]+")(?:\\.("+l[Y]+")(?:"+l[S]+")?"+l[O]+"?)?)?";var Je=d++;l[Je]="[v=\\s]*("+l[j]+")(?:\\.("+l[j]+")(?:\\.("+l[j]+")(?:"+l[w]+")?"+l[O]+"?)?)?";var it=d++;l[it]="^"+l[z]+"\\s*"+l[ue]+"$";var re=d++;l[re]="^"+l[z]+"\\s*"+l[Je]+"$";var Q=d++;l[Q]="(?:^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])";var ee=d++;l[ee]="(?:~>?)";var ae=d++;l[ae]="(\\s*)"+l[ee]+"\\s+",a[ae]=new RegExp(l[ae],"g");var ne=d++;l[ne]="^"+l[ee]+l[ue]+"$";var oe=d++;l[oe]="^"+l[ee]+l[Je]+"$";var le=d++;l[le]="(?:\\^)";var Ye=d++;l[Ye]="(\\s*)"+l[le]+"\\s+",a[Ye]=new RegExp(l[Ye],"g");var Be=d++;l[Be]="^"+l[le]+l[ue]+"$";var Oe=d++;l[Oe]="^"+l[le]+l[Je]+"$";var kt=d++;l[kt]="^"+l[z]+"\\s*("+V+")$|^$";var Lt=d++;l[Lt]="^"+l[z]+"\\s*("+$+")$|^$";var st=d++;l[st]="(\\s*)"+l[z]+"\\s*("+V+"|"+l[ue]+")",a[st]=new RegExp(l[st],"g");var vo=d++;l[vo]="^\\s*("+l[ue]+")\\s+-\\s+("+l[ue]+")\\s*$";var vs=d++;l[vs]="^\\s*("+l[Je]+")\\s+-\\s+("+l[Je]+")\\s*$";var Ci=d++;l[Ci]="(<|>)?=?\\s*\\*";for(var Kr=0;Kr<35;Kr++)o(Kr,l[Kr]),a[Kr]||(a[Kr]=new RegExp(l[Kr]));function Me(A,W){if(A instanceof $e)return A;if(typeof A!="string"||A.length>r||!(W?a[J]:a[L]).test(A))return null;try{return new $e(A,W)}catch{return null}}function $e(A,W){if(A instanceof $e){if(A.loose===W)return A;A=A.version}else if(typeof A!="string")throw new TypeError("Invalid Version: "+A);if(A.length>r)throw new TypeError("version is longer than "+r+" characters");if(!(this instanceof $e))return new $e(A,W);o("SemVer",A,W),this.loose=W;var K=A.trim().match(W?a[J]:a[L]);if(!K)throw new TypeError("Invalid Version: "+A);if(this.raw=A,this.major=+K[1],this.minor=+K[2],this.patch=+K[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");K[4]?this.prerelease=K[4].split(".").map((function(Ce){if(/^[0-9]+$/.test(Ce)){var Fe=+Ce;if(Fe>=0&&Fe<s)return Fe}return Ce})):this.prerelease=[],this.build=K[5]?K[5].split("."):[],this.format()}t.parse=Me,t.valid=function(A,W){var K=Me(A,W);return K?K.version:null},t.clean=function(A,W){var K=Me(A.trim().replace(/^[=v]+/,""),W);return K?K.version:null},t.SemVer=$e,$e.prototype.format=function(){return this.version=this.major+"."+this.minor+"."+this.patch,this.prerelease.length&&(this.version+="-"+this.prerelease.join(".")),this.version},$e.prototype.toString=function(){return this.version},$e.prototype.compare=function(A){return o("SemVer.compare",this.version,this.loose,A),A instanceof $e||(A=new $e(A,this.loose)),this.compareMain(A)||this.comparePre(A)},$e.prototype.compareMain=function(A){return A instanceof $e||(A=new $e(A,this.loose)),bs(this.major,A.major)||bs(this.minor,A.minor)||bs(this.patch,A.patch)},$e.prototype.comparePre=function(A){if(A instanceof $e||(A=new $e(A,this.loose)),this.prerelease.length&&!A.prerelease.length)return-1;if(!this.prerelease.length&&A.prerelease.length)return 1;if(!this.prerelease.length&&!A.prerelease.length)return 0;var W=0;do{var K=this.prerelease[W],Ce=A.prerelease[W];if(o("prerelease compare",W,K,Ce),K===void 0&&Ce===void 0)return 0;if(Ce===void 0)return 1;if(K===void 0)return-1;if(K!==Ce)return bs(K,Ce)}while(++W)},$e.prototype.inc=function(A,W){switch(A){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",W);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",W);break;case"prepatch":this.prerelease.length=0,this.inc("patch",W),this.inc("pre",W);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",W),this.inc("pre",W);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 K=this.prerelease.length;--K>=0;)typeof this.prerelease[K]=="number"&&(this.prerelease[K]++,K=-2);K===-1&&this.prerelease.push(0)}W&&(this.prerelease[0]===W?isNaN(this.prerelease[1])&&(this.prerelease=[W,0]):this.prerelease=[W,0]);break;default:throw new Error("invalid increment argument: "+A)}return this.format(),this.raw=this.version,this},t.inc=function(A,W,K,Ce){typeof K=="string"&&(Ce=K,K=void 0);try{return new $e(A,K).inc(W,Ce).version}catch{return null}},t.diff=function(A,W){if(ou(A,W))return null;var K=Me(A),Ce=Me(W);if(K.prerelease.length||Ce.prerelease.length){for(var Fe in K)if((Fe==="major"||Fe==="minor"||Fe==="patch")&&K[Fe]!==Ce[Fe])return"pre"+Fe;return"prerelease"}for(var Fe in K)if((Fe==="major"||Fe==="minor"||Fe==="patch")&&K[Fe]!==Ce[Fe])return Fe},t.compareIdentifiers=bs;var nu=/^[0-9]+$/;function bs(A,W){var K=nu.test(A),Ce=nu.test(W);return K&&Ce&&(A=+A,W=+W),K&&!Ce?-1:Ce&&!K?1:A<W?-1:A>W?1:0}function bo(A,W,K){return new $e(A,K).compare(new $e(W,K))}function Sr(A,W,K){return bo(A,W,K)>0}function Ke(A,W,K){return bo(A,W,K)<0}function ou(A,W,K){return bo(A,W,K)===0}function Vg(A,W,K){return bo(A,W,K)!==0}function Cr(A,W,K){return bo(A,W,K)>=0}function Ti(A,W,K){return bo(A,W,K)<=0}function Ta(A,W,K,Ce){var Fe;switch(W){case"===":typeof A=="object"&&(A=A.version),typeof K=="object"&&(K=K.version),Fe=A===K;break;case"!==":typeof A=="object"&&(A=A.version),typeof K=="object"&&(K=K.version),Fe=A!==K;break;case"":case"=":case"==":Fe=ou(A,K,Ce);break;case"!=":Fe=Vg(A,K,Ce);break;case">":Fe=Sr(A,K,Ce);break;case">=":Fe=Cr(A,K,Ce);break;case"<":Fe=Ke(A,K,Ce);break;case"<=":Fe=Ti(A,K,Ce);break;default:throw new TypeError("Invalid operator: "+W)}return Fe}function yo(A,W){if(A instanceof yo){if(A.loose===W)return A;A=A.value}if(!(this instanceof yo))return new yo(A,W);o("comparator",A,W),this.loose=W,this.parse(A),this.semver===Ea?this.value="":this.value=this.operator+this.semver.version,o("comp",this)}t.rcompareIdentifiers=function(A,W){return bs(W,A)},t.major=function(A,W){return new $e(A,W).major},t.minor=function(A,W){return new $e(A,W).minor},t.patch=function(A,W){return new $e(A,W).patch},t.compare=bo,t.compareLoose=function(A,W){return bo(A,W,!0)},t.rcompare=function(A,W,K){return bo(W,A,K)},t.sort=function(A,W){return A.sort((function(K,Ce){return t.compare(K,Ce,W)}))},t.rsort=function(A,W){return A.sort((function(K,Ce){return t.rcompare(K,Ce,W)}))},t.gt=Sr,t.lt=Ke,t.eq=ou,t.neq=Vg,t.gte=Cr,t.lte=Ti,t.cmp=Ta,t.Comparator=yo;var Ea={};function Xt(A,W){if(A instanceof Xt)return A.loose===W?A:new Xt(A.raw,W);if(A instanceof yo)return new Xt(A.value,W);if(!(this instanceof Xt))return new Xt(A,W);if(this.loose=W,this.raw=A,this.set=A.split(/\s*\|\|\s*/).map((function(K){return this.parseRange(K.trim())}),this).filter((function(K){return K.length})),!this.set.length)throw new TypeError("Invalid SemVer Range: "+A);this.format()}function $n(A){return!A||A.toLowerCase()==="x"||A==="*"}function rb(A,W,K,Ce,Fe,In,St,xn,Kt,je,Io,Zt,Sn){return((W=$n(K)?"":$n(Ce)?">="+K+".0.0":$n(Fe)?">="+K+"."+Ce+".0":">="+W)+" "+(xn=$n(Kt)?"":$n(je)?"<"+(+Kt+1)+".0.0":$n(Io)?"<"+Kt+"."+(+je+1)+".0":Zt?"<="+Kt+"."+je+"."+Io+"-"+Zt:"<="+xn)).trim()}function Bg(A,W){for(var K=0;K<A.length;K++)if(!A[K].test(W))return!1;if(W.prerelease.length){for(K=0;K<A.length;K++)if(o(A[K].semver),A[K].semver!==Ea&&A[K].semver.prerelease.length>0){var Ce=A[K].semver;if(Ce.major===W.major&&Ce.minor===W.minor&&Ce.patch===W.patch)return!0}return!1}return!0}function gd(A,W,K){try{W=new Xt(W,K)}catch{return!1}return W.test(A)}function ys(A,W,K,Ce){var Fe,In,St,xn,Kt;switch(A=new $e(A,Ce),W=new Xt(W,Ce),K){case">":Fe=Sr,In=Ti,St=Ke,xn=">",Kt=">=";break;case"<":Fe=Ke,In=Cr,St=Sr,xn="<",Kt="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(gd(A,W,Ce))return!1;for(var je=0;je<W.set.length;++je){var Io=W.set[je],Zt=null,Sn=null;if(Io.forEach((function(oo){oo.semver===Ea&&(oo=new yo(">=0.0.0")),Zt=Zt||oo,Sn=Sn||oo,Fe(oo.semver,Zt.semver,Ce)?Zt=oo:St(oo.semver,Sn.semver,Ce)&&(Sn=oo)})),Zt.operator===xn||Zt.operator===Kt||(!Sn.operator||Sn.operator===xn)&&In(A,Sn.semver)||Sn.operator===Kt&&St(A,Sn.semver))return!1}return!0}yo.prototype.parse=function(A){var W=this.loose?a[kt]:a[Lt],K=A.match(W);if(!K)throw new TypeError("Invalid comparator: "+A);this.operator=K[1],this.operator==="="&&(this.operator=""),K[2]?this.semver=new $e(K[2],this.loose):this.semver=Ea},yo.prototype.toString=function(){return this.value},yo.prototype.test=function(A){return o("Comparator.test",A,this.loose),this.semver===Ea||(typeof A=="string"&&(A=new $e(A,this.loose)),Ta(A,this.operator,this.semver,this.loose))},yo.prototype.intersects=function(A,W){if(!(A instanceof yo))throw new TypeError("a Comparator is required");var K;if(this.operator==="")return K=new Xt(A.value,W),gd(this.value,K,W);if(A.operator==="")return K=new Xt(this.value,W),gd(A.semver,K,W);var Ce=!(this.operator!==">="&&this.operator!==">"||A.operator!==">="&&A.operator!==">"),Fe=!(this.operator!=="<="&&this.operator!=="<"||A.operator!=="<="&&A.operator!=="<"),In=this.semver.version===A.semver.version,St=!(this.operator!==">="&&this.operator!=="<="||A.operator!==">="&&A.operator!=="<="),xn=Ta(this.semver,"<",A.semver,W)&&(this.operator===">="||this.operator===">")&&(A.operator==="<="||A.operator==="<"),Kt=Ta(this.semver,">",A.semver,W)&&(this.operator==="<="||this.operator==="<")&&(A.operator===">="||A.operator===">");return Ce||Fe||In&&St||xn||Kt},t.Range=Xt,Xt.prototype.format=function(){return this.range=this.set.map((function(A){return A.join(" ").trim()})).join("||").trim(),this.range},Xt.prototype.toString=function(){return this.range},Xt.prototype.parseRange=function(A){var W=this.loose;A=A.trim(),o("range",A,W);var K=W?a[vs]:a[vo];A=A.replace(K,rb),o("hyphen replace",A),A=A.replace(a[st],"$1$2$3"),o("comparator trim",A,a[st]),A=(A=(A=A.replace(a[ae],"$1~")).replace(a[Ye],"$1^")).split(/\s+/).join(" ");var Ce=W?a[kt]:a[Lt],Fe=A.split(" ").map((function(In){return(function(St,xn){return o("comp",St),St=(function(Kt,je){return Kt.trim().split(/\s+/).map((function(Io){return(function(Zt,Sn){o("caret",Zt,Sn);var oo=Sn?a[Oe]:a[Be];return Zt.replace(oo,(function(Ho,We,tt,Pt,At){var Dn;return o("caret",Zt,Ho,We,tt,Pt,At),$n(We)?Dn="":$n(tt)?Dn=">="+We+".0.0 <"+(+We+1)+".0.0":$n(Pt)?Dn=We==="0"?">="+We+"."+tt+".0 <"+We+"."+(+tt+1)+".0":">="+We+"."+tt+".0 <"+(+We+1)+".0.0":At?(o("replaceCaret pr",At),At.charAt(0)!=="-"&&(At="-"+At),Dn=We==="0"?tt==="0"?">="+We+"."+tt+"."+Pt+At+" <"+We+"."+tt+"."+(+Pt+1):">="+We+"."+tt+"."+Pt+At+" <"+We+"."+(+tt+1)+".0":">="+We+"."+tt+"."+Pt+At+" <"+(+We+1)+".0.0"):(o("no pr"),Dn=We==="0"?tt==="0"?">="+We+"."+tt+"."+Pt+" <"+We+"."+tt+"."+(+Pt+1):">="+We+"."+tt+"."+Pt+" <"+We+"."+(+tt+1)+".0":">="+We+"."+tt+"."+Pt+" <"+(+We+1)+".0.0"),o("caret return",Dn),Dn}))})(Io,je)})).join(" ")})(St,xn),o("caret",St),St=(function(Kt,je){return Kt.trim().split(/\s+/).map((function(Io){return(function(Zt,Sn){var oo=Sn?a[oe]:a[ne];return Zt.replace(oo,(function(Ho,We,tt,Pt,At){var Dn;return o("tilde",Zt,Ho,We,tt,Pt,At),$n(We)?Dn="":$n(tt)?Dn=">="+We+".0.0 <"+(+We+1)+".0.0":$n(Pt)?Dn=">="+We+"."+tt+".0 <"+We+"."+(+tt+1)+".0":At?(o("replaceTilde pr",At),At.charAt(0)!=="-"&&(At="-"+At),Dn=">="+We+"."+tt+"."+Pt+At+" <"+We+"."+(+tt+1)+".0"):Dn=">="+We+"."+tt+"."+Pt+" <"+We+"."+(+tt+1)+".0",o("tilde return",Dn),Dn}))})(Io,je)})).join(" ")})(St,xn),o("tildes",St),St=(function(Kt,je){return o("replaceXRanges",Kt,je),Kt.split(/\s+/).map((function(Io){return(function(Zt,Sn){Zt=Zt.trim();var oo=Sn?a[re]:a[it];return Zt.replace(oo,(function(Ho,We,tt,Pt,At,Dn){o("xRange",Zt,Ho,We,tt,Pt,At,Dn);var Wg=$n(tt),wa=Wg||$n(Pt),ka=wa||$n(At);return We==="="&&ka&&(We=""),Wg?Ho=We===">"||We==="<"?"<0.0.0":"*":We&&ka?(wa&&(Pt=0),ka&&(At=0),We===">"?(We=">=",wa?(tt=+tt+1,Pt=0,At=0):ka&&(Pt=+Pt+1,At=0)):We==="<="&&(We="<",wa?tt=+tt+1:Pt=+Pt+1),Ho=We+tt+"."+Pt+"."+At):wa?Ho=">="+tt+".0.0 <"+(+tt+1)+".0.0":ka&&(Ho=">="+tt+"."+Pt+".0 <"+tt+"."+(+Pt+1)+".0"),o("xRange return",Ho),Ho}))})(Io,je)})).join(" ")})(St,xn),o("xrange",St),St=(function(Kt,je){return o("replaceStars",Kt,je),Kt.trim().replace(a[Ci],"")})(St,xn),o("stars",St),St})(In,W)})).join(" ").split(/\s+/);return this.loose&&(Fe=Fe.filter((function(In){return!!In.match(Ce)}))),Fe=Fe.map((function(In){return new yo(In,W)}))},Xt.prototype.intersects=function(A,W){if(!(A instanceof Xt))throw new TypeError("a Range is required");return this.set.some((function(K){return K.every((function(Ce){return A.set.some((function(Fe){return Fe.every((function(In){return Ce.intersects(In,W)}))}))}))}))},t.toComparators=function(A,W){return new Xt(A,W).set.map((function(K){return K.map((function(Ce){return Ce.value})).join(" ").trim().split(" ")}))},Xt.prototype.test=function(A){if(!A)return!1;typeof A=="string"&&(A=new $e(A,this.loose));for(var W=0;W<this.set.length;W++)if(Bg(this.set[W],A))return!0;return!1},t.satisfies=gd,t.maxSatisfying=function(A,W,K){var Ce=null,Fe=null;try{var In=new Xt(W,K)}catch{return null}return A.forEach((function(St){In.test(St)&&(Ce&&Fe.compare(St)!==-1||(Fe=new $e(Ce=St,K)))})),Ce},t.minSatisfying=function(A,W,K){var Ce=null,Fe=null;try{var In=new Xt(W,K)}catch{return null}return A.forEach((function(St){In.test(St)&&(Ce&&Fe.compare(St)!==1||(Fe=new $e(Ce=St,K)))})),Ce},t.validRange=function(A,W){try{return new Xt(A,W).range||"*"}catch{return null}},t.ltr=function(A,W,K){return ys(A,W,"<",K)},t.gtr=function(A,W,K){return ys(A,W,">",K)},t.outside=ys,t.prerelease=function(A,W){var K=Me(A,W);return K&&K.prerelease.length?K.prerelease:null},t.intersects=function(A,W,K){return A=new Xt(A,K),W=new Xt(W,K),A.intersects(W)},t.coerce=function(A){if(A instanceof $e)return A;if(typeof A!="string")return null;var W=A.match(a[Q]);return W==null?null:Me((W[1]||"0")+"."+(W[2]||"0")+"."+(W[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(I){if(e===setTimeout)return setTimeout(I,0);if((e===r||!e)&&setTimeout)return e=setTimeout,setTimeout(I,0);try{return e(I,0)}catch{try{return e.call(null,I,0)}catch{return e.call(this,I,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 I=a(m);c=!0;for(var S=d.length;S;){for(l=d,d=[];++u<S;)l&&l[u].run();u=-1,S=d.length}l=null,c=!1,(function(w){if(n===clearTimeout)return clearTimeout(w);if((n===s||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(w);try{n(w)}catch{try{return n.call(null,w)}catch{return n.call(this,w)}}})(I)}}function v(I,S){this.fun=I,this.array=S}function h(){}o.nextTick=function(I){var S=new Array(arguments.length-1);if(arguments.length>1)for(var w=1;w<arguments.length;w++)S[w-1]=arguments[w];d.push(new v(I,S)),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=h,o.addListener=h,o.once=h,o.off=h,o.removeListener=h,o.removeAllListeners=h,o.emit=h,o.prependListener=h,o.prependOnceListener=h,o.listeners=function(I){return[]},o.binding=function(I){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(I){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}}])}));var tze=mt.exports.SEMVER_SPEC_VERSION,nze=mt.exports.parse,Cz=mt.exports.valid,oze=mt.exports.coerce,rze=mt.exports.clean,ize=mt.exports.inc,sze=mt.exports.major,aze=mt.exports.minor,lze=mt.exports.patch,dze=mt.exports.prerelease,cze=mt.exports.gt,uze=mt.exports.gte,pze=mt.exports.lt,mze=mt.exports.lte,gze=mt.exports.eq,fze=mt.exports.neq,hze=mt.exports.cmp,vze=mt.exports.compare,bze=mt.exports.rcompare,yze=mt.exports.compareIdentifiers,Ize=mt.exports.rcompareIdentifiers,xze=mt.exports.compareBuild,Sze=mt.exports.sort,Cze=mt.exports.rsort,Tze=mt.exports.diff,Eze=mt.exports.validRange,wze=mt.exports.satisfies,kze=mt.exports.maxSatisfying,Pze=mt.exports.minSatisfying,_ze=mt.exports.minVersion,Dze=mt.exports.gtr,Rze=mt.exports.ltr,Mze=mt.exports.outside,Aze=mt.exports.intersects,Oze=mt.exports.SemVer,Lze=mt.exports.Comparator,Nze=mt.exports.Range;var TH=/^(\^|>=)?((\d+)|x)\.((\d+)|x)\.((\d+)|x)(\-.*)?$/,Ez=/^-(\d{4})(\d{2})(\d{2})(\d{2})?(\d{2})?$/;function wz(i){return i=i.trim(),i==="*"||TH.test(i)}function q1(i){if(!wz(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(TH);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 K1(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=Ez.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 G1=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 EH(i,t){if(t.serializeBuffersForPostMessage){let e=new G1,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=kz(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 kz(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 wH(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 j1=class{constructor(t,e,n,o,r,s,a){this.#l="";this.#d=!1;this.#c=!1;this._onMessageEmitter=new T;this.onDidReceiveMessage=this._onMessageEmitter.event;this.#p=new T;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=Sa(s),this.#u=Pz(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,ud(t,this.#o)}get cspSource(){let t=this.#r.extensionLocation;if(t.scheme===q.https||t.scheme===q.http){let e=t.toString();return e.endsWith("/")||(e+="/"),e+" "+wv}return wv}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(),Ct(this.#a,t)||this.#t.$setOptions(this.#e,Q1(this.#r,this.#s,t)),this.#a=t}async postMessage(t){if(this.#d)return!1;let e=EH(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===q.vscodeRemote,n=this.#r.extensionLocation.scheme===q.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=ud(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=ud(c,{isRemote:e,authority:n}).toString();return`${r}${u}${d}`})}};function Sa(i){try{let t=K1(q1(i.engines.vscode));return!!t&&t.majorBase>=1&&t.minorBase>=57}catch{return!1}}function Pz(i){try{let t=K1(q1(i.engines.vscode));return t?t.majorBase<1||t.majorBase===1&&t.minorBase<60:!1}catch{return!1}}var mT=class extends F{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(N.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}=wH(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 j1(e,this._webviewProxy,_z(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:kH(o,this.workspace)})}deleteWebview(e){this._webviews.delete(e)}getWebview(e){return this._webviews.get(e)}};function Gc(i){return{id:i.identifier,location:i.extensionLocation}}function Q1(i,t,e){return{enableCommandUris:e.enableCommandUris,enableScripts:e.enableScripts,enableForms:e.enableForms,portMapping:e.portMapping,localResourceRoots:e.localResourceRoots||kH(i,t)}}function _z(i){return{enableCommandUris:i.enableCommandUris,enableScripts:i.enableScripts,enableForms:i.enableForms,portMapping:i.portMapping,localResourceRoots:i.localResourceRoots?.map(t=>y.from(t))}}function kH(i,t){return[...(t?.getWorkspaceFolders()||[]).map(e=>e.uri),i.extensionLocation]}var Ao=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 J1=class{constructor(t,e){this.document=t;this._storagePath=e;this._backupCounter=1;this._edits=new Ao("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=Mz(this.document.uri)+this._backupCounter++;return Ht(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}},Y1=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 J1(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 X1=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))}},fT=class{constructor(t,e,n,o,r){this._extHostDocuments=e;this._extensionStoragePaths=n;this._extHostWebview=o;this._extHostWebviewPanels=r;this._editorProviders=new X1;this._documents=new Y1;this._proxy=t.getProxy(N.MainThreadCustomEditors)}registerCustomEditorProvider(t,e,n,o){let r=new G;if(Dz(n))r.add(this._editorProviders.addTextProvider(e,t,n)),this._proxy.$registerTextEditorProvider(Gc(t),e,o.webviewOptions||{},{supportsMove:!!n.moveCustomTextEditor,supportsInlineDiff:De(t,"customEditorDiffs")&&PH(n),supportsSideBySideDiff:De(t,"customEditorDiffs")&&_H(n)},Sa(t));else{r.add(this._editorProviders.addCustomProvider(e,t,n));let s=De(t,"customEditorDiffs");gT(n)&&r.add(n.onDidChangeCustomDocument(a=>{let l=this.getCustomDocumentEntry(e,a.document.uri);if(Rz(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(Gc(t),e,o.webviewOptions||{},{supportsInlineDiff:s&&DH(n),supportsSideBySideDiff:s&&RH(n)},!!o.supportsMultipleEditorsPerDocument,Sa(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 gT(s.provider)&&this._extensionStoragePaths&&(d=this._extensionStoragePaths.workspaceValue(s.extension)??this._extensionStoragePaths.globalValue(s.extension)),this._documents.add(e,l,d),{editable:gT(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=Ot.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(!PH(l.provider))throw new Error(`Provider for '${o}' does not support inline custom text editor diffs`);let v=this._extHostDocuments.getDocument(c),h=this._extHostDocuments.getDocument(u);return l.provider.resolveCustomTextEditorInlineDiff({original:v,modified:h},d,a)}if(!DH(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(!_H(l.provider))throw new Error(`Provider for '${o}' does not support side by side custom text editor diffs`);let h=this._extHostDocuments.getDocument(u),I=this._extHostDocuments.getDocument(m);return l.provider.resolveCustomTextEditorSideBySideDiff({original:h,modified:I},{original:d,modified:c},a)}if(!RH(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=Ot.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,be.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||!gT(n))throw new Error("Custom document is not editable");return n}};function gT(i){return!!i.onDidChangeCustomDocument}function Dz(i){return typeof i.resolveCustomTextEditor=="function"}function PH(i){return typeof i.resolveCustomTextEditorInlineDiff=="function"}function _H(i){return typeof i.resolveCustomTextEditorSideBySideDiff=="function"}function DH(i){return typeof i.resolveCustomEditorInlineDiff=="function"}function RH(i){return typeof i.resolveCustomEditorSideBySideDiff=="function"}function Rz(i){return typeof i.undo=="function"&&typeof i.redo=="function"}function Mz(i){let t=i.scheme===q.file||i.scheme===q.untitled?i.fsPath:i.toString();return cr(t)+""}var hT=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 Ne(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,dt(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(...dt(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({...pa.from(u),modelVersionId:this._modelVersionIdProvider(s)})===this._maxDiagnosticsPerFile)break e;a.push({severity:2,message:p(3508,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=>({...pa.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}},zr=class{constructor(t,e,n,o){this._logService=e;this._fileSystemInfoService=n;this._extHostDocumentsAndEditors=o;this._collections=new Map;this._onDidChangeDiagnostics=new Sb({merge:t=>t.flat(),delay:50});this.onDidChangeDiagnostics=Ae.map(this._onDidChangeDiagnostics.event,zr._mapper);this._proxy=t.getProxy(N.MainThreadDiagnostics)}static{this._idPool=0}static{this._maxDiagnosticsPerFile=1e3}static{this._maxDiagnosticsTotal=1.1*this._maxDiagnosticsPerFile}static _mapper(t){let e=new Ne;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_#"+zr._idPool++,c=e;else if(!n.has(e))c=e;else{this._logService.warn(`DiagnosticCollection with name '${e}' does already exist.`);do c=e+zr._idPool++;while(n.has(c))}return new class extends hT{constructor(){super(e,c,zr._maxDiagnosticsTotal,zr._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 hT(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(pa.to))}};zr=D([C(1,se),C(2,Dr)],zr);var vT=class{constructor(t){this._proxy=t.getProxy(N.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 bT=class i{constructor(t,e,n){this._documentsAndEditors=e;this._logService=n;this._documentContentProviders=new Map;this._proxy=t.getProxy(N.MainThreadDocumentContentProviders)}static{this._handlePool=0}registerTextDocumentContentProvider(t,e){if(Object.keys(q).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=Mb(l);if(!d.equalLines(c))return this._proxy.$onVirtualDocumentChange(s,l)}).catch(Rt).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),be.None)):Promise.reject(new Error(`unsupported uri-scheme: ${e.scheme}`))}};var yT=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:Wh.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 iu("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 Pn))for(let{newText:v,newEol:h,range:I}of g)m.edits.push({resource:a.uri,versionId:void 0,textEdit:{range:I&&B.from(I),text:v,eol:h&&kc.from(h)}});if(m.edits.length!==0)return d===a.version?this._mainThreadBulkEdits.$tryApplyWorkspaceEdit(new Vt(m)):Promise.reject(new Error("concurrent_edits"))})}};var IT=class{constructor(t,e){this._toDispose=new G;this._onDidAddDocument=this._toDispose.add(new T);this._onDidRemoveDocument=this._toDispose.add(new T);this._onDidChangeDocument=this._toDispose.add(new T);this._onDidChangeDocumentWithReason=this._toDispose.add(new T);this._onDidSaveDocument=this._toDispose.add(new T);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(N.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 jr(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(wf({document:r.document,contentChanges:e.changes.map(a=>({range:B.to(a.range),rangeOffset:a.rangeOffset,rangeLength:a.rangeLength,text:a.text})),reason:s})),this._onDidChangeDocumentWithReason.fire(wf({document:r.document,contentChanges:e.changes.map(a=>({range:B.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){J2(t,e)}};var xT=class{constructor(t){this._provider=new Map;this._onDidChange=new T;this.onDidChange=this._onDidChange.event;this._allKnownModels=new Set;this._handlePool=0;this._proxy=t.getProxy(N.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??=be.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 ST=class{constructor(t){this._AiEmbeddingVectorProviders=new Map;this._nextHandle=0;this._proxy=t.getProxy(N.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 eA=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}},Pv=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 eA(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)}},Z1=null;function Az(){return Z1===null&&(Z1=new Pv([[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]])),Z1}var kv=null;function Oz(){if(kv===null){kv=new km(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++)kv.set(i.charCodeAt(e),1);let t=".,;:";for(let e=0;e<t.length;e++)kv.set(t.charCodeAt(e),2)}return kv}var CT=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=Az()){let n=Oz(),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,h=!1,I=!1;for(;d<l;){let S=!1,w=a.charCodeAt(d);if(m===13){let P;switch(w){case 40:g=!0,P=0;break;case 41:P=g?0:1;break;case 91:h=!0,v=!0,P=0;break;case 93:h=!1,P=v?0:1;break;case 123:I=!0,P=0;break;case 125:P=I?0:1;break;case 39:case 34:case 96:u===w?P=1:u===39||u===34||u===96?P=0:P=1;break;case 42:P=u===42?1:0;break;case 32:P=h?0:1;break;default:P=n.get(w)}P===1&&(o.push(i._createLink(n,a,r,c,d)),S=!0)}else if(m===12){let P;w===91?(v=!0,P=0):P=n.get(w),P===1?S=!0:m=13}else m=e.nextState(m,w),m===0&&(S=!0);S&&(m=1,g=!1,v=!1,I=!1,c=d+1,u=w),d++}m===13&&o.push(i._createLink(n,a,r,c,l))}return o}};var tA=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?UO(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 Pv(e)}}provideDocumentLinks(t){this._initStateMachine();let e=[],n=CT.computeLinks({getLineContent(o){return t.lineAt(o-1).text},getLineCount(){return t.lineCount}},this._stateMachine);for(let o of n){let r=ga.to(o);r.target&&e.push(r)}return e}},TT=class i{constructor(t,e){this._extHostLanguageFeatures=e;this._linkProvider=new tA;this._fsProvider=new Map;this._registeredSchemes=new Set;this._watches=new Map;this._handlePool=0;this._proxy=t.getProxy(N.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"&&(M(t,"fsChunks"),s+=4);let a;o.isReadonly&&wo(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 MH=class i extends F{constructor(e,n,o,r){super();this.onFileChanges=e;this.onLogMessage=n;this.verboseLogging=o;this.options=r;this.watcherDisposables=this._register(new dn);this.requests=void 0;this.restartCounter=0}static{this.MAX_RESTARTS=5}init(){let e=new G;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 AH(i,t){return typeof t=="string"&&!t.startsWith($s)&&!Ri(t)?{base:i,pattern:t}:t}var nA=class{constructor(t,e,n,o,r,s,a,l){this.session=Math.random();this._onDidCreate=new T;this._onDidChange=new T;this._onDidDelete=new T;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(q.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=ii(c,{ignoreCase:!1}),m=typeof a=="string",g=!1,v=s(h=>{if(!(typeof h.session=="number"&&h.session!==this.session)&&!(g&&typeof h.session>"u")){if(!l.ignoreCreateEvents)for(let{uri:I,lowerCaseFsPath:S}of h.created)u(d?S:I.fsPath)&&(!m||o.getWorkspaceFolder(I))&&this._onDidCreate.fire(I);if(!l.ignoreChangeEvents)for(let{uri:I,lowerCaseFsPath:S}of h.changed)u(d?S:I.fsPath)&&(!m||o.getWorkspaceFolder(I))&&this._onDidChange.fire(I);if(!l.ignoreDeleteEvents)for(let{uri:I,lowerCaseFsPath:S}of h.deleted)u(d?S:I.fsPath)&&(!m||o.getWorkspaceFolder(I))&&this._onDidDelete.fire(I)}});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(N.MainThreadFileSystemEventService),c=!1;(r.pattern.includes($s)||r.pattern.includes(PI))&&(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)),h=n.getConfiguration("files",v).get("watcherExclude");if(h)for(let I in h)I&&h[I]===!0&&u.push(I)}else if(!c){let v=e.getWorkspaceFolder(y.revive(r.baseUri));if(v){let h=n.getConfiguration("files",v).get("watcherExclude");if(h){for(let I in h)if(I&&h[I]===!0){let S=`${wd(I,"/")}/${$s}`;m||(m=[]),m.push(AH(v.uri.fsPath,S))}}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}},oA=class i{constructor(t){this._events=t;this._created=new yt(()=>this._events.created.map(i._revive));this._changed=new yt(()=>this._events.changed.map(i._revive));this._deleted=new yt(()=>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()}}},ET=class{constructor(t,e,n){this._mainContext=t;this._logService=e;this._extHostDocumentsAndEditors=n;this._onFileSystemEvent=new T;this._onDidRenameFile=new T;this._onDidCreateFile=new T;this._onDidDeleteFile=new T;this._onWillRenameFile=new Di;this._onWillCreateFile=new Di;this._onWillDeleteFile=new Di;this.onDidRenameFile=this._onDidRenameFile.event;this.onDidCreateFile=this._onDidCreateFile.event;this.onDidDeleteFile=this._onDidDeleteFile.event}createFileSystemWatcher(t,e,n,o,r,s){return new nA(this._mainContext,e,n,t,o,this._onFileSystemEvent.event,Do.from(r),s)}$onFileEvent(t){this._onFileSystemEvent.fire(new oA(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 tr&&(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}=eo.from(l,{getTextDocumentVersion:c=>this._extHostDocumentsAndEditors.getDocument(c)?.version,getNotebookDocumentVersion:()=>{}});a.edits=a.edits.concat(d)}return{edit:a,extensionNames:Array.from(r)}}};var wT=class{constructor(t,e,n,o,r){this._extHostNotebooks=e;this._textDocumentsAndEditors=n;this._commands=o;let s=new Pe("interactive.open","_interactive.open","Open interactive window and return notebook editor and input URI",[new Z("showOptions","Show Options",a=>!0,a=>a),new Z("resource","Interactive resource Uri",a=>!0,a=>a),new Z("controllerId","Notebook controller Id",a=>!0,a=>a),new Z("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 kT=class{constructor(t){this._handlePool=0;this._proxy=t.getProxy(N.MainThreadLabelService)}$registerResourceLabelFormatter(t){let e=this._handlePool++;return this._proxy.$registerResourceLabelFormatter(e,t),X(()=>{this._proxy.$unregisterResourceLabelFormatter(e)})}};var PT=class i extends Ue{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 _T=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(!Kg(o))return o[0]instanceof yr?o.map(CR.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:Ir.from(o.kind),tags:o.tags?.map(ca.from)||[],detail:"",containerName:o.containerName,range:B.from(o.location.range),selectionRange:B.from(o.location.range),children:[]};for(;;){if(n.length===0){n.push(r),e.push(r);break}let s=n[n.length-1];if(Ue.containsRange(s.range,r.range)&&!Ue.equalsRange(s.range,r.range)){s.children?.push(r),n.push(r);break}n.pop()}}return e}},rg=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 Ao("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 G;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:B.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 KT(i){return Array.isArray(i)?i.map(qp.from):i?[qp.from(i)]:[]}var DT=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 KT(s)}},RT=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 KT(s)}},MT=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 KT(s)}},AT=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 KT(s)}},_v=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||Kg(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)}},OT=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 wR.from(s)}},LT=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,B.to(e),Vh.to(n),o);if(Array.isArray(s))return s.map(a=>Hh.from(a))}},NT=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(wc.from)}},UT=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(kR.from)}},FT=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:dt(s.ranges.map(B.from)),wordPattern:s.wordPattern}}},HT=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(Zn.from)}},ig=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 Ao("CodeAction");this._disposables=new Map}static{this._maxCodeActionsPerFile=1e3}async provideCodeActions(t,e,n,o){let r=this._documents.getDocument(t),s=PT.isISelection(e)?go.to(e):B.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:HR.to(n.trigger)},d=await this._provider.provideCodeActions(r,s,l,o);if(!Ma(d)||o.isCancellationRequested)return;let c=this._cache.add(d),u=new G;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 Ji))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 h=v;l.only&&(h.kind?l.only.contains(h.kind)||this._logService.warn(`${this._extension.identifier.value} - Code actions of kind '${l.only.value}' requested but returned code action is of kind '${h.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 I=h.ranges??[];m.push({cacheId:[c,g],title:h.title,command:h.command&&this._commands.toInternal(h.command,u),diagnostics:h.diagnostics&&h.diagnostics.map(pa.from),edit:h.edit&&eo.from(h.edit,void 0),kind:h.kind&&h.kind.value,isPreferred:h.isPreferred,isAI:De(this._extension,"codeActionAI")?h.isAI:!1,ranges:De(this._extension,"codeActionRanges")?dt(I.map(B.from)):void 0,disabled:h.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=eo.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"}},jc=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 Ao("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=>B.to(u)),a=Ac.toDataTransfer(n,()=>{throw new lb});if(await this._provider.prepareDocumentPaste(r,s,a,o),o.isCancellationRequested)return;let l=Array.from(a).filter(([,u])=>!(u instanceof Al)),d=new Map,c=await Promise.all(Array.from(l,async([u,m])=>{let g=Ve();return d.set(g,m),[u,await Ec.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=>B.to(g)),d=o.items.map(([g,v])=>{let h=this._cachedPrepare?.get(v.id);return h?[g,h]:[g,Ec.to(g,v,async I=>(await this._proxy.$resolvePasteFileData(this._handle,t,I)).buffer)]}),c=new Nr(d),u=await this._provider.provideDocumentPasteEdits(a,l,c,{only:r.only?new Ur(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(3512,null,this._extension.displayName||this._extension.name),kind:g.kind,yieldTo:g.yieldTo?.map(h=>h.value),insertText:typeof g.insertText=="string"?g.insertText:{snippet:g.insertText.value},additionalEdit:g.additionalEdit?eo.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?eo.from(s.additionalEdit,void 0):void 0}}releasePasteEdits(t){this._editsCache.delete(t)}},VT=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(mn.from)}},Dv=class{constructor(t,e){this._documents=t;this._provider=e}async provideDocumentRangeFormattingEdits(t,e,n,o){let r=this._documents.getDocument(t),s=B.to(e),a=await this._provider.provideDocumentRangeFormattingEdits(r,s,n,o);if(Array.isArray(a))return a.map(mn.from)}async provideDocumentRangesFormattingEdits(t,e,n,o){cb(typeof this._provider.provideDocumentRangesFormattingEdits=="function","INVALID invocation of `provideDocumentRangesFormattingEdits`");let r=this._documents.getDocument(t),s=e.map(B.to),a=await this._provider.provideDocumentRangesFormattingEdits(r,s,n,o);if(Array.isArray(a))return a.map(mn.from)}},BT=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(mn.from)}},sg=class{constructor(t,e){this._provider=t;this._logService=e;this._cache=new Ao("WorkspaceSymbols")}async provideWorkspaceSymbols(t,e){let n=await this._provider.provideWorkspaceSymbols(t,e);if(!Ma(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&&_r(t,Kl.from(o),!0)}}releaseWorkspaceSymbols(t){this._cache.delete(t)}},ag=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?eo.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)):nt(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:B.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}},Rv=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=B.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}},Mv=class{constructor(t,e){this.resultId=t;this.tokens=e}},Av=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 ui(new Uint32Array(t.data),t.resultId):i._isSemanticTokensEdits(t)?i._isCorrectSemanticTokensEdits(t)?t:new Ol(t.edits.map(e=>new gp(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 Ol([],e.resultId);let d=0,c=l-a;for(;d<c&&n[o-d-1]===r[s-d-1];)d++;return new Ol([{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 Mv(t.resultId,t.data)),eT({id:n,type:"full",data:t.data})}if(i._isSemanticTokensEdits(t)){let n=this._nextResultId++;return i._isSemanticTokens(e)?this._previousResults.set(n,new Mv(e.resultId,e.data)):this._previousResults.set(n,new Mv(t.resultId)),eT({id:n,type:"delta",deltas:(t.edits||[]).map(o=>({start:o.start,deleteCount:o.deleteCount,data:o.data}))})}return null}},WT=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,B.to(e),n);return r?this._send(r):null}_send(t){return eT({id:0,type:"full",data:t.data})}},Qc=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 Ao("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,PR.to(n));if(!c||o.isCancellationRequested)return;let u=Array.isArray(c)?new si(c):c,m=i.supportsResolving(this._provider)?this._cache.add(u.items):this._cache.add([]),g=new G;this._disposables.set(m,g);let v=[],h={x:m,b:v,a:{replace:B.from(a),insert:B.from(l)},c:u.isIncomplete||void 0,d:d.elapsed()};for(let I=0;I<u.items.length;I++){let S=u.items[I],w=this._convertCompletionItem(S,[m,I],l,a);v.push(w)}return h}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||!Ct(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?yS.from(t.kind):void 0,m:t.tags&&t.tags.map(bS.from),c:t.detail,d:typeof t.documentation>"u"?void 0:ge.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(mn.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 Un&&(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=B.from(l):l&&(!n?.isEqual(l.inserting)||!o?.isEqual(l.replacing))&&(a.j={insert:B.from(l.inserting),replace:B.from(l.replacing)}),a}},yi=class{constructor(t,e,n,o){this._extension=t;this._documents=e;this._provider=n;this._commands=o;this._references=new rA;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:B.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,g=this._references.createReferenceId({dispose(){m?.dispose()},items:l,list:d});return{pid:g,languageId:r.languageId,items:l.map((h,I)=>{let S;h.command&&(m||(m=new G),S=this._commands.toInternal(h.command,m));let w;h.action&&(m||(m=new G),w=this._commands.toInternal(h.action,m));let P=h.insertText;return{insertText:P===void 0?void 0:typeof P=="string"?P:{snippet:P.value},range:h.range?B.from(h.range):void 0,showRange:this._isAdditionsProposedApiEnabled&&h.showRange?B.from(h.showRange):void 0,command:S,gutterMenuLinkAction:w,pid:g,idx:I,completeBracketPairs:this._isAdditionsProposedApiEnabled?h.completeBracketPairs:!1,isInlineEdit:this._isAdditionsProposedApiEnabled?h.isInlineEdit:!1,showInlineEditMenu:this._isAdditionsProposedApiEnabled?h.showInlineEditMenu:!1,hint:h.displayLocation&&this._isAdditionsProposedApiEnabled?{range:B.from(h.displayLocation.range),content:h.displayLocation.label,style:h.displayLocation.kind?GR.from(h.displayLocation.kind):1}:void 0,warning:h.warning&&this._isAdditionsProposedApiEnabled?{message:ge.from(h.warning.message),icon:h.warning.icon?fi.fromThemeIcon(h.warning.icon):void 0}:void 0,correlationId:this._isAdditionsProposedApiEnabled?h.correlationId:void 0,suggestionId:void 0,uri:this._isAdditionsProposedApiEnabled&&h.uri?h.uri:void 0,supportsRename:this._isAdditionsProposedApiEnabled?h.supportsRename:!1,jumpToPosition:this._isAdditionsProposedApiEnabled&&h.jumpToPosition?et.from(h.jumpToPosition):void 0}}),commands:c.map(h=>(m||(m=new G),_R.from(h,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,qR.to(o)))}handleEndOfLifetime(t,e,n){let o=this._references.get(t)?.items[e];if(o&&this._provider.handleEndOfLifetime&&this._isAdditionsProposedApiEnabled){let r=KR.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)}},rA=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)}},Ov=class{constructor(t,e){this._documents=t;this._provider=e;this._cache=new Ao("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{...Gp.from(l),id:d}}}reviveContext(t){let e;if(t.activeSignatureHelp){let n=Gp.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)}},lg=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 Ao("InlayHints");this._disposables=new Map}async provideInlayHints(t,e,n){let o=this._documents.getDocument(t),r=B.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 G);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:ge.fromStrict(t.tooltip),position:et.from(t.position),textEdits:t.textEdits&&t.textEdits.map(mn.from),kind:t.kind&&IS.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:ge.fromStrict(s.tooltip)};zt.isLocation(s.location)&&(a.location=Zn.from(s.location)),s.command&&(a.command=this._commands.toInternal(s.command,n)),r.push(a)}}return o}},dg=class i{constructor(t,e){this._documents=t;this._provider=e;this._cache=new Ao("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(ga.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=ga.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 ga.from(o)}releaseLinks(t){this._cache.delete(t)}},Lv=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:Rc.from(s.color),range:B.from(s.range)})):[]}async provideColorPresentations(t,e,n){let o=this._documents.getDocument(t),r=B.to(e.range),s=Rc.to(e.color),a=await this._provider.provideColorPresentations(s,{document:o,range:r},n);if(Array.isArray(a))return a.map(Bh.from)}},$T=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($h.from)}},zT=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(!Ma(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(MR.from(u)),!u.parent)break;c=u.range,u=u.parent}}return a}},Jc=class{constructor(t,e){this._documents=t;this._provider=e;this._idPool=new sd("");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=>B.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=>B.from(a))}))}releaseSession(t){this._cache.delete(t)}_cacheAndConvertItem(t,e){let n=this._cache.get(t),o=ma.from(e,t,n.size.toString(36));return n.set(o._itemId,e),o}_itemFromCache(t,e){return this._cache.get(t)?.get(e)}},Yc=class{constructor(t,e){this._documents=t;this._provider=e;this._idPool=new sd("");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=fa.from(e,t,n.size.toString(36));return n.set(o._itemId,e),o}_itemFromCache(t,e){return this._cache.get(t)?.get(e)}},cg=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 Ao("DocumentDropEdit")}async provideDocumentOnDropEdits(t,e,n,o,r){let s=this._documents.getDocument(e),a=et.to(n),l=Ac.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(3511,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?eo.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?eo.from(s.additionalEdit,void 0):void 0}}releaseDropEdits(t){this._cache.delete(t)}},Xc=class{constructor(t,e){this.adapter=t;this.extension=e}},qT=class i extends F{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 T);this.onDidChangeInlineCompletionsUnificationState=this._onDidChangeInlineCompletionsUnificationState.event;this._proxy=e.getProxy(N.MainThreadLanguageFeatures),this._inlineCompletionsUnificationState={codeUnification:!1,modelUnification:!1,extensionUnification:!1,expAssignments:[]}}static{this._handlePool=0}get inlineCompletionsUnificationState(){return this._inlineCompletionsUnificationState}_transformDocumentSelector(e,n){return gi.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=>{Cn(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`)}),be.isCancellationToken(s)?Ui(c,s):c}_addNewAdapter(e,n){let o=this._nextHandle();return this._adapter.set(o,new Xc(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 _T(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,_T,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 Xc(new rg(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,rg,r=>r.provideCodeLenses(y.revive(n),o),void 0,o,n.scheme==="output")}$resolveCodeLens(e,n,o){return this._withAdapter(e,rg,r=>r.resolveCodeLens(n,o),void 0,void 0,!0)}$releaseCodeLenses(e,n){this._withAdapter(e,rg,o=>Promise.resolve(o.releaseCodeLenses(n)),void 0,void 0,!0)}registerDefinitionProvider(e,n,o){let r=this._addNewAdapter(new DT(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,DT,s=>s.provideDefinition(y.revive(n),o,r),[],r)}registerDeclarationProvider(e,n,o){let r=this._addNewAdapter(new RT(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,RT,s=>s.provideDeclaration(y.revive(n),o,r),[],r)}registerImplementationProvider(e,n,o){let r=this._addNewAdapter(new MT(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,MT,s=>s.provideImplementation(y.revive(n),o,r),[],r)}registerTypeDefinitionProvider(e,n,o){let r=this._addNewAdapter(new AT(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,AT,s=>s.provideTypeDefinition(y.revive(n),o,r),[],r)}registerHoverProvider(e,n,o,r){let s=this._addNewAdapter(new _v(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,_v,a=>a.provideHover(y.revive(n),o,r,s),void 0,s)}$releaseHover(e,n){this._withAdapter(e,_v,o=>Promise.resolve(o.releaseHover(n)),void 0,void 0)}registerEvaluatableExpressionProvider(e,n,o,r){let s=this._addNewAdapter(new OT(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,OT,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 LT(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,LT,a=>a.provideInlineValues(y.revive(n),o,r,s),void 0,s)}registerDocumentHighlightProvider(e,n,o){let r=this._addNewAdapter(new NT(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 UT(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,NT,s=>s.provideDocumentHighlights(y.revive(n),o,r),void 0,r)}$provideMultiDocumentHighlights(e,n,o,r,s){return this._withAdapter(e,UT,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 FT(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,FT,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 HT(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,HT,a=>a.provideReferences(y.revive(n),o,r,s),void 0,s)}registerCodeActionProvider(e,n,o,r){let s=new G,a=this._addNewAdapter(new ig(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,ig,a=>a.provideCodeActions(y.revive(n),o,r,s),void 0,s)}$resolveCodeAction(e,n,o){return this._withAdapter(e,ig,r=>r.resolveCodeAction(n,o),{},void 0)}$releaseCodeActions(e,n){this._withAdapter(e,ig,o=>Promise.resolve(o.releaseCodeActions(n)),void 0,void 0)}registerDocumentFormattingEditProvider(e,n,o){let r=this._addNewAdapter(new VT(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,VT,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 Dv(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,Dv,a=>a.provideDocumentRangeFormattingEdits(y.revive(n),o,r,s),void 0,s)}$provideDocumentRangesFormattingEdits(e,n,o,r,s){return this._withAdapter(e,Dv,a=>a.provideDocumentRangesFormattingEdits(y.revive(n),o,r,s),void 0,s)}registerOnTypeFormattingEditProvider(e,n,o,r){let s=this._addNewAdapter(new BT(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,BT,l=>l.provideOnTypeFormattingEdits(y.revive(n),o,r,s,a),void 0,a)}registerWorkspaceSymbolProvider(e,n){let o=this._addNewAdapter(new sg(n,this._logService),e);return this._proxy.$registerNavigateTypeSupport(o,typeof n.resolveWorkspaceSymbol=="function"),this._createDisposable(o)}$provideWorkspaceSymbols(e,n,o){return this._withAdapter(e,sg,r=>r.provideWorkspaceSymbols(n,o),{symbols:[]},o)}$resolveWorkspaceSymbol(e,n,o){return this._withAdapter(e,sg,r=>r.resolveWorkspaceSymbol(n,o),void 0,void 0)}$releaseWorkspaceSymbols(e,n){this._withAdapter(e,sg,o=>o.releaseWorkspaceSymbols(n),void 0,void 0)}registerRenameProvider(e,n,o){let r=this._addNewAdapter(new ag(this._documents,o,this._logService),e);return this._proxy.$registerRenameSupport(r,this._transformDocumentSelector(n,e),ag.supportsResolving(o)),this._createDisposable(r)}$provideRenameEdits(e,n,o,r,s){return this._withAdapter(e,ag,a=>a.provideRenameEdits(y.revive(n),o,r,s),void 0,s)}$resolveRenameLocation(e,n,o,r){return this._withAdapter(e,ag,s=>s.resolveRenameLocation(y.revive(n),o,r),void 0,r)}registerNewSymbolNamesProvider(e,n,o){let r=this._addNewAdapter(new Rv(this._documents,o,this._logService),e);return this._proxy.$registerNewSymbolNamesProvider(r,this._transformDocumentSelector(n,e)),this._createDisposable(r)}$supportsAutomaticNewSymbolNamesTriggerKind(e){return this._withAdapter(e,Rv,n=>n.supportsAutomaticNewSymbolNamesTriggerKind(),!1,void 0)}$provideNewSymbolNames(e,n,o,r,s){return this._withAdapter(e,Rv,a=>a.provideNewSymbolNames(y.revive(n),o,r,s),void 0,s)}registerDocumentSemanticTokensProvider(e,n,o,r){let s=this._addNewAdapter(new Av(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,Av,s=>s.provideDocumentSemanticTokens(y.revive(n),o,r),null,r)}$releaseDocumentSemanticTokens(e,n){this._withAdapter(e,Av,o=>o.releaseDocumentSemanticColoring(n),void 0,void 0)}registerDocumentRangeSemanticTokensProvider(e,n,o,r){let s=this._addNewAdapter(new WT(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,WT,s=>s.provideDocumentRangeSemanticTokens(y.revive(n),o,r),null,r)}registerCompletionItemProvider(e,n,o,r){let s=this._addNewAdapter(new Qc(this._documents,this._commands.converter,o,this._apiDeprecation,e),e);return this._proxy.$registerCompletionsProvider(s,this._transformDocumentSelector(n,e),r,Qc.supportsResolving(o),e.identifier),this._createDisposable(s)}$provideCompletionItems(e,n,o,r,s){return this._withAdapter(e,Qc,a=>a.provideCompletionItems(y.revive(n),o,r,s),void 0,s)}$resolveCompletionItem(e,n,o){return this._withAdapter(e,Qc,r=>r.resolveCompletionItem(n,o),void 0,o)}$releaseCompletionItems(e,n){this._withAdapter(e,Qc,o=>o.releaseCompletionItems(n),void 0,void 0)}registerInlineCompletionsProvider(e,n,o,r){let s=new yi(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,xe.toKey(e.identifier.value),e.version,r?.groupId?xe.toKey(r.groupId):void 0,r?.yieldTo?.map(m=>xe.toKey(m))||[],r?.displayName,r?.debounceDelayMs,r?.excludes?.map(m=>xe.toKey(m))||[],d,s.supportsSetModelId,s.modelInfo,c,s.supportsSetProviderOption,s.providerOptions,u),l}$provideInlineCompletions(e,n,o,r,s){return this._withAdapter(e,yi,a=>a.provideInlineCompletions(y.revive(n),o,r,s),void 0,void 0)}$handleInlineCompletionDidShow(e,n,o,r){this._withAdapter(e,yi,async s=>{s.handleDidShowCompletionItem(n,o,r)},void 0,void 0)}$handleInlineCompletionPartialAccept(e,n,o,r,s){this._withAdapter(e,yi,async a=>{a.handlePartialAccept(n,o,r,s)},void 0,void 0)}$handleInlineCompletionEndOfLifetime(e,n,o,r){this._withAdapter(e,yi,async s=>{s.handleEndOfLifetime(n,o,r)},void 0,void 0)}$handleInlineCompletionRejection(e,n,o){this._withAdapter(e,yi,async r=>{r.handleRejection(n,o)},void 0,void 0)}$freeInlineCompletionsList(e,n,o){this._withAdapter(e,yi,async r=>{r.disposeCompletions(n,o)},void 0,void 0)}$acceptInlineCompletionsUnificationState(e){this._inlineCompletionsUnificationState=e,this._onDidChangeInlineCompletionsUnificationState.fire()}$handleInlineCompletionSetCurrentModelId(e,n){this._withAdapter(e,yi,async o=>{o.setCurrentModelId(n)},void 0,void 0)}$handleInlineCompletionSetProviderOption(e,n,o){this._withAdapter(e,yi,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 Ov(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,Ov,a=>a.provideSignatureHelp(y.revive(n),o,r,s),void 0,s)}$releaseSignatureHelp(e,n){this._withAdapter(e,Ov,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 lg(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,lg,s=>s.provideInlayHints(y.revive(n),o,r),void 0,r)}$resolveInlayHint(e,n,o){return this._withAdapter(e,lg,r=>r.resolveInlayHint(n,o),void 0,o)}$releaseInlayHints(e,n){this._withAdapter(e,lg,o=>o.releaseHints(n),void 0,void 0)}registerDocumentLinkProvider(e,n,o){let r=this._addNewAdapter(new dg(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,dg,r=>r.provideLinks(y.revive(n),o),void 0,o,n.scheme==="output")}$resolveDocumentLink(e,n,o){return this._withAdapter(e,dg,r=>r.resolveLink(n,o),void 0,void 0,!0)}$releaseDocumentLinks(e,n){this._withAdapter(e,dg,o=>o.releaseLinks(n),void 0,void 0,!0)}registerColorProvider(e,n,o){let r=this._addNewAdapter(new Lv(this._documents,o),e);return this._proxy.$registerDocumentColorProvider(r,this._transformDocumentSelector(n,e)),this._createDisposable(r)}$provideDocumentColors(e,n,o){return this._withAdapter(e,Lv,r=>r.provideColors(y.revive(n),o),[],o)}$provideColorPresentations(e,n,o,r){return this._withAdapter(e,Lv,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 Xc(new $T(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,$T,s=>s.provideFoldingRanges(y.revive(n),o,r),void 0,r)}registerSelectionRangeProvider(e,n,o){let r=this._addNewAdapter(new zT(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,zT,s=>s.provideSelectionRanges(y.revive(n),o,r),[],r)}registerCallHierarchyProvider(e,n,o){let r=this._addNewAdapter(new Jc(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,Jc,s=>Promise.resolve(s.prepareSession(y.revive(n),o,r)),void 0,r)}$provideCallHierarchyIncomingCalls(e,n,o,r){return this._withAdapter(e,Jc,s=>s.provideCallsTo(n,o,r),void 0,r)}$provideCallHierarchyOutgoingCalls(e,n,o,r){return this._withAdapter(e,Jc,s=>s.provideCallsFrom(n,o,r),void 0,r)}$releaseCallHierarchy(e,n){this._withAdapter(e,Jc,o=>Promise.resolve(o.releaseSession(n)),void 0,void 0)}registerTypeHierarchyProvider(e,n,o){let r=this._addNewAdapter(new Yc(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,Yc,s=>Promise.resolve(s.prepareSession(y.revive(n),o,r)),void 0,r)}$provideTypeHierarchySupertypes(e,n,o,r){return this._withAdapter(e,Yc,s=>s.provideSupertypes(n,o,r),void 0,r)}$provideTypeHierarchySubtypes(e,n,o,r){return this._withAdapter(e,Yc,s=>s.provideSubtypes(n,o,r),void 0,r)}$releaseTypeHierarchy(e,n){this._withAdapter(e,Yc,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 Xc(new cg(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,cg,l=>Promise.resolve(l.provideDocumentOnDropEdits(n,y.revive(o),r,s,a)),void 0,void 0)}$resolveDropEdit(e,n,o){return this._withAdapter(e,cg,r=>r.resolveDropEdit(n,o),{},void 0)}$releaseDocumentOnDropEdits(e,n){this._withAdapter(e,cg,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 Xc(new jc(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,jc,a=>a.prepareDocumentPaste(y.revive(n),o,r,s),void 0,s)}$providePasteEdits(e,n,o,r,s,a,l){return this._withAdapter(e,jc,d=>d.providePasteEdits(n,y.revive(o),r,s,a,l),void 0,l)}$resolvePasteEdit(e,n,o){return this._withAdapter(e,jc,r=>r.resolvePasteEdit(n,o),{},void 0)}$releasePasteEdits(e,n){this._withAdapter(e,jc,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=>Tc.toString(n)):void 0}}static _serializeAutoClosingPairs(e){return e.map(i._serializeAutoClosingPair)}setLanguageConfiguration(e,n,o){let{wordPattern:r}=o;if(r&&Rb(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 OH(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 AKe=R("ILanguageModelToolsConfirmationService");var LH=R("notebookService");var NH=R("codeMapperService");var iA="vscode_editFile",GT="vscode_editFile_internal",UH={id:GT,displayName:"",modelDescription:"",source:Qt.Internal},ug=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=bh.parse(s)?.notebook||s,l=this.chatService.getSession(t.context.sessionResource),d=l.getRequests().at(-1);l.acceptResponseProgress(d,{kind:"markdownContent",content:new gt("\n````\n")}),l.acceptResponseProgress(d,{kind:"codeblockUri",uri:a,isEdit:!0}),l.acceptResponseProgress(d,{kind:"markdownContent",content:new gt("\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=uo(h=>{let S=c.entries.read(h)?.find(w=>En(w.modifiedURI,a));S&&(S.isCurrentlyBeingModifiedBy.read(h)?v=!0:v&&g(!0))})}).finally(()=>{m.dispose()}),{content:[{kind:"text",value:"The file was edited successfully"}]}}async prepareToolInvocation(t,e){return{presentation:"hidden"}}};ug=D([C(0,ir),C(1,NH),C(2,LH)],ug);var pg=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 un}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 jT="The user is not available to respond and will review your work later. Work autonomously and make good decisions.",FH="vscode_askQuestions",QT={header:50,question:200},Uz={header:75};function Fz(i,t){if(i!==void 0)return i.length>t?i.slice(0,t-3)+"...":i}function Hz(){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 ${QT.header} characters.`,maxLength:QT.header},question:{type:"string",description:`The question text to display to the user. Keep it concise, ideally one sentence. Maximum ${QT.question} characters.`,maxLength:QT.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:FH,toolReferenceName:"askQuestions",legacyToolReferenceFullNames:[FH,"vscode/askQuestions"],canBeReferencedInPrompt:!1,icon:Qe.fromId(de.question.id),displayName:p(9623,null),userDescription:p(9624,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:Qt.Internal,inputSchema:t}}var sA=Hz(),mg=class extends F{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(9621,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:j,idToHeaderMap:Y}=this.toQuestionCarousel(l,g);return j.terminalId=this.extractTerminalId(u),j.data=this.buildAutopilotCarouselAnswers(l,j,Y),j.isUsed=!0,this.chatService.appendProgress(u,j),this.createAutopilotResult(l)}let{carousel:v,idToHeaderMap:h}=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 I=this.chatService.onDidReceiveQuestionCarouselAnswer(z=>{z.resolveId!==v.resolveId||v.isUsed||v.dismiss(z.answers)}),S;try{S=await Ga(v.completion.p,r)}catch(z){throw z instanceof lt&&v.dismiss(void 0),z}finally{I.dispose()}if(!S)throw v.dismiss(void 0),new lt;if(r.isCancellationRequested)throw new lt;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(9622,null)});let w=this.convertCarouselAnswers(l,S?.answers,h),{answeredCount:P,skippedCount:O,freeTextCount:L,recommendedAvailableCount:$,recommendedSelectedCount:V}=this.collectMetrics(l,w);this.sendTelemetry(e.chatRequestId,l.length,P,O,L,$,V,s.elapsed());let J=JSON.stringify(w);return this.logService.trace(`[AskQuestionsTool] Returning tool result with metrics: questions=${l.length}, answered=${P}, skipped=${O}, freeText=${L}, recommendedAvailable=${$}, recommendedSelected=${V}`),{content:[{kind:"text",value:J}]}}async prepareToolInvocation(e,n){let o=e.parameters,{questions:r}=o;if(!r||r.length===0)throw new Error(p(9621,null));for(let c of r)if(c.options&&c.options.length===1&&!c.allowFreeformInput)throw new Error(p(9616,null,c.header));let s=r.length,a=r.map(c=>c.header).join(", "),l=s===1?p(9619,null,a):p(9617,null,s,a),d=s===1?p(9620,null,a):p(9618,null,s,a);return{invocationMessage:new gt(l),pastTenseMessage:new gt(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??Ve(),s=e.map((a,l)=>this.toChatQuestion(a,o,r,l));return{carousel:new pg(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=Fz(e.header,Uz.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"&&Mn(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"&&(Mn(d,{selectedValue:!0})||Mn(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:jT,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:jT}:d.type==="singleSelect"?r[l]={freeformValue:jT}:r[l]=jT)}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})}};mg=D([C(0,ir),C(1,Ar),C(2,se),C(3,sn)],mg);var Vz="vscode_get_confirmation",Bz="vscode_get_confirmation_with_options",Wz="vscode_get_modified_files_confirmation",HH={id:Vz,displayName:"Confirmation Tool",modelDescription:"A tool that demonstrates different types of confirmations. Takes a title, message, and confirmation type (basic or terminal).",source:Qt.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}},VH={id:Bz,displayName:"Confirmation Tool with Options",modelDescription:"A tool that demonstrates different types of confirmations. Takes a title, message, and buttons.",source:Qt.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}},BH={id:Wz,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:Qt.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}},JT=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 gt(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"}]}}},YT=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 gt(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 fg=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 gg(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 gg(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 gg(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 gg(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}}},gg=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){Rt(`[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(){Oa(this.mementoObj)?this.storageService.remove(this.id,this.scope):this.storageService.store(this.id,this.mementoObj,this.scope,this.target)}};var WH=R("chatTodoListService"),Uv=class{constructor(t){this.memento=new fg("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 el(t)}};Uv=D([C(0,No)],Uv);var XT=class extends F{constructor(e){super();this._onDidUpdateTodos=this._register(new T);this.onDidUpdateTodos=this._onDidUpdateTodos.event;this.todoListStorage=new Uv(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)}};XT=D([C(0,No)],XT);var aA="manage_todo_list";function lA(){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:aA,toolReferenceName:"todo",legacyToolReferenceFullNames:["todos"],canBeReferencedInPrompt:!0,icon:Qe.fromId(de.checklist.id),displayName:p(9635,null),userDescription:p(9636,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:Qt.Internal,inputSchema:i}}var Lje=lA(),hg=class extends F{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(9630,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(9634,null);return{invocationMessage:new gt(c),presentation:l.length?void 0:"hidden",pastTenseMessage:new gt(a??p(9633,null)),toolSpecificData:{kind:"todoList",todoList:d}}}generatePastTenseMessage(e,n){if(e.length===0&&n.length>0)return n.length===1?p(9629,null):p(9628,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(9631,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(9627,null,l.title,c,d)}let a=n.filter(l=>!o.has(l.id));return a.length>0?a.length===1?p(9626,null):p(9625,null,a.length):p(9632,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}};hg=D([C(0,WH),C(1,se),C(2,Ar)],hg);var vg=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 un}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 $z="vscode_reviewPlan";function zz(){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:$z,toolReferenceName:"reviewPlan",canBeReferencedInPrompt:!1,icon:Qe.fromId(de.checklist.id),displayName:p(9641,null),userDescription:p(9642,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:Qt.Internal,inputSchema:t}}var $H=zz(),bg=class extends F{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(9640,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 vg(a??p(9637,null),d,c,u,g?.toJSON(),Ve());this.chatService.appendProgress(m,v);let h=await Ga(v.completion.p,r);if(r.isCancellationRequested)throw new lt;return this.toResult(h??{rejected:!0})}async prepareToolInvocation(e,n){let o=e.parameters;if(!o.actions||o.actions.length===0)throw new Error(p(9640,null));return{invocationMessage:new gt(p(9638,null)),pastTenseMessage:new gt(p(9639,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}}};bg=D([C(0,ir),C(1,se)],bg);function zH(i){return i.isBYOK===!0}var qz="code/chat/",qH=new Map,Fv={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 Hv(i,t){let e=el(i),n=`${qz}${e}/${t}`,o=qH.get(e);o||(o=new Set,qH.set(e,o)),o.add(n),fn(n)}var tE=R("chatAgentService"),ZT=class extends F{constructor(e,n){super();this.contextKeyService=e;this.configurationService=n;this._agents=new Map;this._onDidChangeAgents=this._register(new T);this.onDidChangeAgents=this._onDidChangeAgents.event;this._onWillInvokeAgent=this._register(new T);this.onWillInvokeAgent=this._onWillInvokeAgent.event;this._agentsContextKeys=new Set;this._hasToolsAgent=!1;this._chatParticipantDetectionProviders=new Map;this._agentCompletionProviders=new Map;this._hasDefaultAgent=Zo.enabled.bindTo(this.contextKeyService),this._extensionAgentRegistered=Zo.extensionParticipantRegistered.bindTo(this.contextKeyService),this._defaultAgentRegistered=Zo.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(ht.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=ht.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 yg(o.data,n)),X(()=>{o.impl=void 0,this._onDidChangeAgents.fire(void 0),o.data.isDefault&&this._hasDefaultAgent.set(It.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 yg(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 yg(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 x0(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(ht.deserialize(n.data.when))}getAgentByFullyQualifiedId(e){let n=It.find(this._agents.values(),o=>Kz(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 yg(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){Hv(n.sessionResource,Fv.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 Hv(n.sessionResource,Fv.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=It.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}}};ZT=D([C(0,Pr),C(1,sn)],ZT);var yg=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}},VQe=R("chatAgentNameService"),eE=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)}};eE=D([C(0,bI)],eE);function Kz(i){return`${i.extensionId.value}.${i.id}`}function Gz(i){return i.name!==void 0}function nE(i){let t=Gz(i)?i:{...i,name:i.id};return t.extensionPublisherId||(t.extensionPublisherId=i.extensionPublisher??""),t.extensionDisplayName||(t.extensionDisplayName=""),t.extensionId||(t.extensionId=new xe("")),Mt(t)}var KH=R("labelService");function dA(){return{applyingInstructionsCount:0,referencedInstructionsCount:0,agentInstructionsCount:0,listedInstructionsCount:0,totalInstructionsCount:0,claudeRulesCount:0,claudeMdCount:0,claudeAgentsCount:0}}function cA(){return{debugDetails:[],durationInMillis:0}}function Ig(i,t){return i===void 0||t===void 0||i.includes(t)}var oE=R("IPromptsService");var jz;(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"?xe.equals(n.extensionId,o.extensionId):n.storage==="plugin"&&o.storage==="plugin"?En(n.pluginUri,o.pluginUri):!0}e.isEquals=t})(jz||={});var Jz=".prompt.md",Yz=".instructions.md",Xz=".chatmode.md",Zz=".agent.md",e6="SKILL.md";function t6(i){return kd(i,e6)===0}var n6="copilot-instructions.md";var o6=".github/prompts",r6=".github/instructions";var jH=".github/agents",rE=".claude/agents",QH="~/.copilot/agents",uA=".claude/rules";var i6=[{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"}],s6=[{path:r6,source:"github-workspace",storage:"local"},{path:uA,source:"claude-workspace",storage:"local"},{path:"~/.copilot/instructions",source:"copilot-personal",storage:"user"},{path:"~/"+uA,source:"claude-personal",storage:"user"}],a6=[{path:o6,source:"github-workspace",storage:"local"}],l6=[{path:jH,source:"github-workspace",storage:"local"},{path:rE,source:"claude-workspace",storage:"local"},{path:QH,source:"copilot-personal",storage:"user"},{path:"~/"+rE,source:"claude-personal",storage:"user"}],d6=[{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 c6(i){let t=Go(i).path;return t.endsWith("/"+jH)||t.endsWith("/"+rE)||u6(i)}function JH(i){return Go(i).path.endsWith("/"+rE)}function u6(i){return Go(i).path.endsWith(QH.substring(1))}function pA(i){return i.path.includes("/"+uA+"/")}function p6(i){let t=ot(i);if(t.endsWith(Jz))return"prompt";if(t.endsWith(Yz)||t===n6)return"instructions";if(t.endsWith(Xz)||t.endsWith(Zz))return"agent";if(t6(t))return"skill";if(t.endsWith(".md")&&t!=="README.md"&&c6(i))return"agent";if(t.endsWith(".md")&&t!=="README.md"&&pA(i))return"instructions";if(t.toLowerCase().endsWith(".json"))return"hook"}function mA(i){return p6(i)!==void 0}function YH(i){switch(i){case"instructions":return s6;case"prompt":return a6;case"agent":return l6;case"skill":return i6;case"hook":return d6;default:throw new Error("Unknown prompt type")}}var Ii;(L=>{L.PROMPT_LOCATIONS_KEY="chat.promptFilesLocations",L.INSTRUCTIONS_LOCATION_KEY="chat.instructionsFilesLocations",L.MODE_LOCATION_KEY="chat.modeFilesLocations",L.AGENTS_LOCATION_KEY="chat.agentFilesLocations",L.SKILLS_LOCATION_KEY="chat.agentSkillsLocations",L.HOOKS_LOCATION_KEY="chat.hookFilesLocations",L.PROMPT_FILES_SUGGEST_KEY="chat.promptFilesRecommendations",L.USE_COPILOT_INSTRUCTION_FILES="github.copilot.chat.codeGeneration.useInstructionFiles",L.USE_AGENT_MD="chat.useAgentsMdFile",L.USE_NESTED_AGENT_MD="chat.useNestedAgentsMdFiles",L.USE_CLAUDE_MD="chat.useClaudeMdFile",L.USE_AGENT_SKILLS="chat.useAgentSkills",L.USE_CHAT_HOOKS="chat.useHooks",L.USE_CLAUDE_HOOKS="chat.useClaudeHooks",L.USE_SKILL_ADHERENCE_PROMPT="chat.experimental.useSkillAdherencePrompt",L.INCLUDE_APPLYING_INSTRUCTIONS="chat.includeApplyingInstructions",L.INCLUDE_REFERENCED_INSTRUCTIONS="chat.includeReferencedInstructions",L.USE_CUSTOMIZATIONS_IN_PARENT_REPOS="chat.useCustomizationsInParentRepositories";function w($,V){let J=m6(V),z=$.getValue(J);if(!(z==null||Array.isArray(z))&&typeof z=="object"){let j={};for(let[Y,ue]of Object.entries(z)){let Je=Y.trim(),it=XH(ue);it!==void 0&&Je&&(j[Je]=it)}return j}}L.getLocationsValue=w;function P($,V){let J=w($,V),z=YH(V);if(J&&typeof J=="object"){let j=[],Y=new Set(z.map(ue=>ue.path));for(let ue of z)J[ue.path]!==!1&&j.push(ue);for(let[ue,Je]of Object.entries(J)){if(Je===!1||Y.has(ue))continue;let it=g6(ue)?"user":"local";j.push({path:ue,source:it==="local"?"config-workspace":"config-personal",storage:it})}return j}return[]}L.promptSourceFolders=P;function O($,V){let J=$.getValue(L.PROMPT_FILES_SUGGEST_KEY,{resource:V});if(!J||typeof J!="object"||Array.isArray(J))return;let z={};for(let[j,Y]of Object.entries(J)){let ue=j.trim();if(!ue)continue;if(typeof Y=="boolean"){z[ue]=Y;continue}if(typeof Y=="string"){let it=Y.trim();it&&(z[ue]=it);continue}let Je=XH(Y);Je!==void 0&&(z[ue]=Je)}return Object.keys(z).length>0?z:void 0}L.getPromptFilesRecommendationsValue=O})(Ii||={});function m6(i){switch(i){case"instructions":return Ii.INSTRUCTIONS_LOCATION_KEY;case"prompt":return Ii.PROMPT_LOCATIONS_KEY;case"agent":return Ii.AGENTS_LOCATION_KEY;case"skill":return Ii.SKILLS_LOCATION_KEY;case"hook":return Ii.HOOKS_LOCATION_KEY;default:throw new Error("Unknown prompt type")}}function XH(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 g6(i){return i.startsWith("~/")}var fo=class i{constructor(t,e){this.start=t;this.endExclusive=e;if(t>e)throw new Dt(`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 Dt(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,t))}clipCyclic(t){if(this.isEmpty)throw new Dt(`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 Dt(`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 ZH=R("agentPluginService");var gA=class{constructor(){this._discovery=[];this._order=0}register(t,e){let n={descriptor:t,priority:e,order:this._order++};return this._discovery.push(n),X(()=>{let o=this._discovery.indexOf(n);o>=0&&this._discovery.splice(o,1)})}getAll(){return[...this._discovery].sort((t,e)=>t.priority-e.priority||t.order-e.order)}},pJe=new gA;var f6,xg=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 Ne}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=dA(),s=cA(),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),f6={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 Ne,n=this._agentPluginService.plugins.get();for(let r of n)e.set(r.uri,r);let o=r=>r!==void 0?String(cr(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(Ii.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(!Ig(d.sessionTypes,l))continue;if(!u){this._logService.trace(`[InstructionsContextComputer] No pattern (applyTo / paths) found: ${c}`),r.debugDetails.push({category:"skipped",name:ot(c).toString(),uri:c,reason:p(9264,null)});continue}let m=pA(c);if(e.instructions.has(c)){this._logService.trace(`[InstructionsContextComputer] Skipping already processed instruction file: ${c}`),r.debugDetails.push({category:"skipped",name:ot(c).toString(),uri:c,reason:p(9262,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(9273,null,u,this._labelService.getUriLabel(g.file,{relative:!0})):p(9271,null);n.add(nl(c,"vscode.instructions.file.root",v,!0)),o.applyingInstructionsCount++,r.debugDetails.push({category:"applying",name:ot(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:ot(c).toString(),uri:c,reason:p(9263,null,u)})}}_getContext(t){let e=new sr,n=new sr;for(let o of t.asArray())if(Bf(o))n.add(o.value);else{let r=tl.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 zd,l=new zd;for(let{uri:d,type:c}of s){let u=nl(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:ot(d).toString(),uri:d,reason:p(9260,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=Yu(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(er(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(th.runSubagent),c=this._getTool("skill"),u=this._currentSessionType,g=(await this._remoteAgentService.getEnvironment())?.os,v=this._remoteAgentService.getConnection()!==null,h=O=>h6(O,g,v),I=[];if(l){let L=this._configurationService.getValue(Ii.USE_NESTED_AGENT_MD)?this._promptsService.listNestedAgentMDs(r):Promise.resolve([]);I.push("<instructions>"),I.push("Here is a list of instruction files that contain rules for working with this codebase."),I.push("These files are important for understanding the codebase structure, conventions, and best practices."),I.push("When an instruction file applies to your task (based on its description or applyTo pattern), follow the rules specified in it."),I.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.`),I.push("Only load instruction files when they are relevant to the current task. Do not eagerly load all instructions upfront."),I.push("When modifying or creating files, check for instructions whose applyTo pattern matches the file path and follow them.");let $=!1;for(let Y of t)Ig(Y.sessionTypes,u)&&(I.push("<instruction>"),I.push(`<file>${h(Y.uri)}</file>`),Y.description&&I.push(`<description>${Y.description}</description>`),Y.pattern&&I.push(`<applyTo>${Y.pattern}</applyTo>`),I.push("</instruction>"),$=!0);let V=await L;for(let{uri:Y}of V){let ue=this._labelService.getUriLabel(Go(Y),{relative:!0}),Je=ue.trim().length===0?p(9270,null):p(9269,null,ue);I.push("<instruction>"),I.push(`<file>${h(Y)}</file>`),I.push(`<description>${Je}</description>`),I.push("</instruction>"),$=!0}$?I.push("</instructions>","",""):I.length=0;let J=await this._promptsService.findAgentSkills(r),z=this._configurationService.getValue(IU),j=J?.filter(Y=>Y.description?Y.disableModelInvocation?(o.debugDetails.push({category:"skipped",name:Y.name,uri:Y.uri,reason:p(9267,null)}),!1):Ig(Y.sessionTypes,u)?!z&&Y.uri.path.includes(xU)?(o.debugDetails.push({category:"skipped",name:Y.name,uri:Y.uri,reason:p(9265,null)}),!1):!0:(o.debugDetails.push({category:"skipped",name:Y.name,uri:Y.uri,reason:p(9268,null)}),!1):(o.debugDetails.push({category:"skipped",name:Y.name,uri:Y.uri,reason:p(9266,null)}),!1));if(j&&j.length>0){this._logSkillLoadedTelemetry(j);for(let ee of j)o.debugDetails.push({category:"skill",name:ee.name,uri:ee.uri,reason:ee.storage});let Y=this._configurationService.getValue(Ii.USE_SKILL_ADHERENCE_PROMPT),ue=c??l;I.push("<skills>"),Y?(I.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?I.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).`):I.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).`),I.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."),I.push("How to determine if a skill applies:"),I.push("1. Review the available skills below and match their descriptions against the user's request"),I.push("2. If any skill's domain overlaps with the task, load that skill immediately"),I.push("3. When multiple skills apply (e.g., a flowchart in documentation), load all relevant skills"),I.push("Examples:"),I.push(`- "Help me write unit tests for this module" -> Load the testing skill via ${ue.variable} FIRST, then proceed`),I.push(`- "Optimize this slow function" -> Load the performance-profiling skill via ${ue.variable} FIRST, then proceed`),I.push('- "Add a discount code field to checkout" -> Load both the checkout-flow and form-validation skills FIRST'),I.push("Available skills:")):c?(I.push("Here is a list of skills that contain domain specific knowledge on a variety of topics."),I.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.`)):(I.push("Here is a list of skills that contain domain specific knowledge on a variety of topics."),I.push("Each skill comes with a description of the topic and a file path that contains the detailed instructions."),I.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 Je=15e3,it=5e3,re=0,Q=j.length;for(let ee=0;ee<j.length;ee++){let ae=j[ee],ne=["<skill>",`<name>${ae.name}</name>`];ae.description&&ne.push(`<description>${ae.description}</description>`),ne.push(`<file>${h(ae.uri)}</file>`),ne.push("</skill>");let oe=ne.join(`
`).length+1;if(c&&re+oe>Je){Q=ee;break}re+=oe,I.push(...ne)}if(Q<j.length){let ee=j.slice(Q),ae=[],ne=0;for(let Ye of ee){let Be=(ae.length>0?2:0)+Ye.name.length;if(ne+Be>it)break;ne+=Be,ae.push(Ye.name)}let oe=ee.length-ae.length,le=ae.join(", ");I.push(oe>0?`Additional skills available (invoke by name): ${le}... and ${oe} more`:`Additional skills available (invoke by name): ${le}`)}I.push("</skills>","","")}}if(d){let O=!!this._configurationService.getValue("chat.generalPurposeAgent.enabled"),L=(()=>{if(!this._enabledSubagents||this._enabledSubagents.includes("*"))return V=>V.visibility.agentInvocable&&Ig(V.sessionTypes,u);{let V=this._enabledSubagents;return J=>V.includes(J.name)&&Ig(J.sessionTypes,u)}})(),$=(await this._promptsService.getCustomAgents(r)).filter(V=>V.enabled);if(O||$.length>0){I.push("<agents>"),I.push("Here is a list of agents that can be used when running a subagent."),I.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."),I.push(`Use the ${d.variable} tool with the agent name to run the subagent.`),O&&(I.push("<agent>"),I.push(`<name>${cl}</name>`),I.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>"),I.push("</agent>"));for(let V of $)L(V)?(I.push("<agent>"),I.push(`<name>${V.name}</name>`),V.description&&I.push(`<description>${V.description}</description>`),V.argumentHint&&I.push(`<argumentHint>${V.argumentHint}</argumentHint>`),I.push("</agent>"),o.debugDetails.push({category:"custom-agent",name:V.name,uri:V.uri}),JH(V.uri)&&n.claudeAgentsCount++):o.debugDetails.push({category:"skipped",name:V.name,uri:V.uri,reason:p(9261,null)});I.push("</agents>","","")}}if(I.length===0)return;let S=I.join(`
`),w=[],P=O=>{if(O){let L=S.indexOf(O.variable);for(;L>=0;)w.push(TN(O.tool,new fo(L,L+O.variable.length))),L=S.indexOf(O.variable,L+1)}};return P(l),P(d),P(c),CN(S,!0,w)}async _addReferencedInstructions(t,e,n,o){if(!this._configurationService.getValue(Ii.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 sr,a=[];for(let d of t.asArray())Bf(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)&&(mA(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){mA(v)&&a.push(v);let h=p(9272,null,ot(l));t.add(nl(v,"vscode.instructions.file.reference",h,!0)),e.referencedInstructionsCount++,n.debugDetails.push({category:"referenced",name:ot(v).toString(),uri:v,reason:h}),this._logService.trace(`[InstructionsContextComputer] ${v.toString()} added, referenced by ${l.toString()}`)}}}}l=a.pop()}}};xg=D([C(4,oE),C(5,se),C(6,KH),C(7,sn),C(8,ei),C(9,Eo),C(10,$i),C(11,Ar),C(12,qu),C(13,ZH)],xg);function h6(i,t,e=!1){if(e&&i.scheme===q.file)return i.with({scheme:"vscode-local"}).toString();if(i.scheme===q.file||i.scheme===q.vscodeRemote){let n=i.fsPath;return t!==void 0?t===1?n.replace(/\//g,"\\"):n.replace(/\\/g,"/"):n}return i.toString()}function v6(i,t,e){let n=e.defaultChatAgent?.chatExtensionId;if(!n)return!1;let o=xe.equals(t,n),r=i.path.includes("/github/");return o&&r}function fA(i,t,e){if(i.storage!=="extension")return!1;let n=e.defaultChatAgent?.chatExtensionId;return!n||!xe.equals(i.extensionId,n)?!1:!v6(t,i.extensionId,e)}function iE(i){return{content:[{kind:"text",value:i}]}}var b6=`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.`,y6=5,xi=class extends F{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 T);this.onDidUpdateToolData=this._onDidUpdateToolData.event;this._resolvedModels=new Map;this._sessionDepth=new Map;this._register(Ae.filter(this.configurationService.onDidChangeConfiguration,u=>u.affectsConfiguration("chat.generalPurposeAgent.enabled"))(()=>this._onDidUpdateToolData.fire()))}static{this.Id="runSubagent"}getToolData(){let e=b6,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:xi.Id,toolReferenceName:th.runSubagent,icon:Qe.fromId(de.organization.id),displayName:p(9643,null),userDescription:p(9644,null),modelDescription:e,source:Qt.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 G;try{let c=this.chatAgentService.getDefaultAgent("panel","agent");if(!c)return iE("Error: No default agent available");let u=e.modelId,m=e.userSelectedTools,g,v,h,I=s.agentName,S=this.configurationService.getValue("chat.generalPurposeAgent.enabled"),w=S&&(!I||I===cl),P=w?cl:I;if(I&&!w)if(v=await this.getSubAgentByName(I),v){let oe=this._resolvedModels.get(e.callId);if(oe)this._resolvedModels.delete(e.callId),u=oe.modeModelId,h=oe.resolvedModelName;else{let Be=this.resolveSubagentModel(v,e.modelId,s.model);u=Be.modeModelId,h=Be.resolvedModelName}let le=v.tools;if(le){let Be=this.languageModelToolsService.toToolAndToolSetEnablementMap(le,void 0);m={};for(let[Oe,kt]of Be)DU(Oe)||(m[Oe.id]=kt)}let Ye=v.agentInstructions;g=Ye&&{name:I,content:Ye.content,toolReferences:this.languageModelToolsService.toToolReferences(Ye.toolReferences),allowedSubagents:void 0,metadata:Ye.metadata,isBuiltin:fA(v.source,v.uri,this.productService)}}else{this._resolvedModels.delete(e.callId);let oe=" Try again with the correct agent name, or omit agentName to use the current agent.",le=S?` Additionally, you can use '${cl}' for a full-capability agent.`:"";throw new Error(`Requested agent '${I}' not found.${oe}${le}`)}else{let oe=this._resolvedModels.get(e.callId);if(oe)this._resolvedModels.delete(e.callId),u=oe.modeModelId,h=oe.resolvedModelName;else{let le=this.resolveSubagentModel(void 0,e.modelId,s.model);u=le.modeModelId,h=le.resolvedModelName}}let O=[],L=e.chatStreamToolCallId??e.callId??`subagent-${Ve()}`,$,V=!1,J=oe=>{for(let le of oe){if(le.kind==="usage"){typeof le.copilotCredits=="number"&&($=le.copilotCredits);continue}le.kind==="textEdit"||le.kind==="notebookEdit"||le.kind==="codeblockUri"?(le.kind==="codeblockUri"&&!V&&(V=!0,a.acceptResponseProgress(l,{kind:"markdownContent",content:new gt("```\n")})),le.kind==="codeblockUri"?a.acceptResponseProgress(l,{...le,subAgentInvocationId:L}):a.acceptResponseProgress(l,le)):le.kind==="hook"?a.acceptResponseProgress(l,{...le,subAgentInvocationId:L}):le.kind==="markdownContent"&&(V&&(a.acceptResponseProgress(l,{kind:"markdownContent",content:new gt("\n```\n\n")}),V=!1),O.push(le.content.value))}},z=this.configurationService.getValue("chat.subagents.allowInvocationsFromSubagents")??!1,j=z?y6:0,Y=e.context.sessionResource.toString(),ue=this._sessionDepth.get(Y)??0,Je=ue+1<=j;m||(m={}),m[xi.Id]!==!1&&(m[xi.Id]=Je),m[aA]=!1,m.copilot_askQuestions=!1,j>0&&this.logService.debug(`RunSubagentTool: Nested subagents enabling ${m[xi.Id]}: session ${Y}, currentDepth: ${ue}, maxDepth: ${j}, allowInvocationsFromSubagents: ${z}`);let re=new zd;this.configurationService.getValue("chat.experimental.collectInstructionsInExtension")!==!0&&await this.instantiationService.createInstance(xg,"agent",m,void 0,Wd(e.context.sessionResource)).collect(re,r);let Q;try{Q=(await this.promptsService.getHooks(r))?.hooks}catch(oe){this.logService.warn("[ChatService] Failed to collect hooks:",oe)}if(v?.hooks){let oe={...v.hooks};if(oe.Stop){let le=oe.Stop;oe.SubagentStop=oe.SubagentStop?[...oe.SubagentStop,...le]:le,oe.Stop=void 0}Q=TU(Q,oe)}let ee={sessionResource:e.context.sessionResource,requestId:e.callId??`subagent-${Date.now()}`,agentId:c.id,message:s.prompt,variables:{variables:re.asArray()},location:"panel",subAgentInvocationId:L,subAgentName:P,userSelectedModelId:u,modelConfiguration:u?this.languageModelsService.getModelConfiguration(u):void 0,userSelectedTools:m,modeInstructions:g,parentRequestId:e.chatRequestId,hooks:Q,hasHooksEnabled:!!Q&&Object.values(Q).some(oe=>oe&&oe.length>0)};d.add(this.languageModelToolsService.onDidInvokeTool(oe=>{oe.subagentInvocationId===L&&(O.length=0)})),this._sessionDepth.set(Y,ue+1);let ae;try{ae=await this.chatAgentService.invokeAgent(c.id,ee,J,[],r)}finally{let oe=(this._sessionDepth.get(Y)??1)-1;oe<=0?this._sessionDepth.delete(Y):this._sessionDepth.set(Y,oe)}if(ae?.errorDetails)return iE(`Agent error: ${ae.errorDetails.message}`);let ne=O.join("").replace(/^\n*```\n+```\n*/g,"").trim()||"Agent completed with no output";return e.toolSpecificData?.kind==="subagent"&&(e.toolSpecificData.result=ne,e.toolSpecificData.modelName=h,typeof $=="number"&&$>0&&(e.toolSpecificData.credits=$)),{content:[{kind:"text",value:ne}],toolMetadata:{subAgentInvocationId:L,description:s.description,agentName:ee.subAgentName,modelName:h}}}catch(c){let u=`Error invoking subagent: ${c instanceof Error?c.message:"Unknown error"}`;return this.logService.error(u,c),iE(u)}finally{d.dispose()}}async getSubAgentByName(e){return(await this.promptsService.getCustomAgents(be.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&&ah.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=ah.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){let d=n?this.languageModelsService.lookupLanguageModel(n):void 0,u=!!d&&zH(d)&&fA(e.source,e.uri,this.productService);for(let m of l){let g=this.languageModelsService.lookupLanguageModelByQualifiedName(m);if(g?.identifier){if(u&&g.metadata.vendor===Vs)continue;r=g.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===cl),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?cl:a?.name??o.agentName,prompt:o.prompt,modelName:l.resolvedModelName}}}};xi=D([C(0,tE),C(1,ir),C(2,qu),C(3,bI),C(4,se),C(5,sn),C(6,oE),C(7,On),C(8,Nu)],xi);var eV=R("chatEditingService");var YYe=new E("chatEditingWidgetFileState",void 0,p(9182,null)),XYe=new E("chatEditingAgentSupportsReadonlyReferences",void 0,p(9181,null)),ZYe=new E("decidedChatEditingResource",[]),eXe=new E("chatEditingResource",void 0),tXe=new E("inChatEditingSession",void 0),nXe=new E("hasUndecidedChatEditingResource",!1),oXe=new E("hasAppliedChatEdits",!1),rXe=new E("applyingChatEditsFailed",!1);function hA(i){return IH(i)&&(i={kind:"terminal",commandLine:{original:i.command,toolEdited:void 0,userEdited:void 0},language:i.language}),i}var Vv=class i{constructor(t,e,n,o,r,s={},a){this.toolCallId=n;this.kind="toolInvocation";this.isAttachedToThinking=!1;this._toolSpecificDataKind=pn(this,void 0);this.toolSpecificDataKind=this._toolSpecificDataKind;this._progress=pn(this,{progress:0});this._partialInput=pn(this,void 0);this._streamingMessage=pn(this,void 0);let l="";s.startInStreaming?l=e.displayName:s.startInCancelled&&(l=s.cancelReasonMessage??p(9221,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&&Qe.isThemeIcon(e.icon)?e.icon:void 0),this.source=e.source,this.subAgentInvocationId=o,this.parameters=r,this.chatRequestId=a,s.startInCancelled?this._state=pn(this,{type:pt.StateKind.Cancelled,reason:s.cancelReason??0,reasonMessage:s.cancelReasonMessage,parameters:this.parameters,confirmationMessages:this.confirmationMessages}):s.startInStreaming?this._state=pn(this,{type:pt.StateKind.Streaming,partialInput:this._partialInput,streamingMessage:this._streamingMessage}):this.confirmationMessages?.title?this._state=pn(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=pn(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:_U(e)?{output:{type:"data",mimeType:e.output.mimeType,base64Data:so(e.output.value)}}:e,toolSpecificData:this.toolSpecificData,toolCallId:this.toolCallId,toolId:this.toolId,subAgentInvocationId:this.subAgentInvocationId,generatedTitle:this.generatedTitle}}};var x6;(t=>{function i(e,n){return e.text===n.text&&y_(e.parts,n.parts,(o,r)=>o.kind===r.kind&&fo.equals(o.range,r.range)&&Ue.equalsRange(o.editorRange,r.editorRange)&&o.text===r.text)}t.equals=i})(x6||={});var Sg=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}},gE="#",S6="@",Bv="/",sE=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`${gE}${this.variableName}${t}`}get promptText(){return this.text}},aE=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`${gE}${this.toolName}`}get promptText(){return this.text}toVariableEntry(){return{kind:"tool",id:this.toolId,name:this.toolName,range:this.range,value:void 0,icon:Qe.isThemeIcon(this.icon)?this.icon:void 0,fullName:this.displayName}}},lE=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`${gE}${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}}},dE=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`${S6}${this.agent.name}`}get promptText(){return""}},cE=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`${Bv}${this.command.name}`}get promptText(){return""}},uE=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`${Bv}${this.slashCommand.command}`}get promptText(){return`${Bv}${this.slashCommand.command}`}},pE=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??`${Bv}${this.name}`}get promptText(){return this.displayText??`${Bv}${this.name}`}},mE=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(gE,"")}get promptText(){return this.text}toVariableEntry(){return this.id==="vscode.problems"?Vf.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 tV(i){return{text:i.text,parts:i.parts.map(t=>{if(t.kind===Sg.Kind)return new Sg(new fo(t.range.start,t.range.endExclusive),t.editorRange,t.text);if(t.kind===sE.Kind)return new sE(new fo(t.range.start,t.range.endExclusive),t.editorRange,t.variableName,t.variableArg,t.variableId||"");if(t.kind===aE.Kind)return new aE(new fo(t.range.start,t.range.endExclusive),t.editorRange,t.toolName,t.toolId,t.displayName,t.icon);if(t.kind===lE.Kind)return new lE(new fo(t.range.start,t.range.endExclusive),t.editorRange,t.id,t.name,t.icon,t.tools??[]);if(t.kind===dE.Kind){let e=t.agent;return e=nE(e),new dE(new fo(t.range.start,t.range.endExclusive),t.editorRange,e)}else{if(t.kind===cE.Kind)return new cE(new fo(t.range.start,t.range.endExclusive),t.editorRange,t.command);if(t.kind===uE.Kind)return new uE(new fo(t.range.start,t.range.endExclusive),t.editorRange,t.slashCommand);if(t.kind===pE.Kind)return new pE(new fo(t.range.start,t.range.endExclusive),t.editorRange,t.name,t.displayText);if(t.kind===mE.Kind)return new mE(new fo(t.range.start,t.range.endExclusive),t.editorRange,t.text,t.id,t.modelDescription,Mt(t.data),t.fullName,t.icon,t.isFile,t.isDirectory,t._meta);throw new Error(`Unknown chat request part: ${t.kind}`)}})}}var rV;(t=>{function i(e){return{variables:e.variables.map(tl.toExport)}}t.toExport=i})(rV||={});var Si={reason:"other"},fE=class{constructor(t){this._shouldBeBlocked=pn(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_"+Ve(),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}},hE=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"mcpAuthenticationRequired":case"mcpServersStartingSlow":case"questionCarousel":case"planReview":case"disabledClaudeHooks":case"autoModeResolution":continue;case"systemNotification":s={text:r.content.value,isBlock:!0};break;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 gt){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(9216,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=hA(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(hA(t.toolSpecificData)):s.input;r+=`
${a} with input: ${l}`}}return{text:r,isBlock:!0}}uriToRepr(t){return t.scheme===q.http||t.scheme===q.https?t.toString(!1):ot(t)}},vA=class extends hE{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}},bA=class extends hE{constructor(e){super(gn(e).map(n=>"kind"in n?n:wo(n)?{content:n,kind:"markdownContent"}:{kind:"treeData",treeData:n}));this._store=new G;this._onDidChangeValue=this._store.add(new T);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 gt(e)}),this._contentChanged(!0)}updateContent(e,n){if(e.kind==="clearToPreviousToolInvocation"){e.reason===2?this.clearToPreviousToolInvocation(p(9215,null)):e.reason===1?this.clearToPreviousToolInvocation(p(9217,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"||!nV(o.content,e.content))this._responseParts.push(e);else{let r=this._responseParts.indexOf(o);this._responseParts[r]={...o,content:oV(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)||!nV(new gt(r),new gt(s)))this._responseParts.push(e);else{let l=this._responseParts.indexOf(o);this._responseParts[l]={...o,value:oV(new gt(r),new gt(s)).value}}this._contentChanged(n)}else if(e.kind==="textEdit"||e.kind==="notebookEdit"){let o=bh.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 gt(s)),this._contentChanged(!1)})}else e.kind==="toolInvocation"?(k_(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&&En(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&&En(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:Qt.External,displayName:e.toolName,modelDescription:e.toolName},r=new Vv({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+=`

`+T6(this._citations)),e}_contentChanged(e){this._invalidateRepr(),e||this._onDidChangeValue.fire()}},Cg=class extends F{constructor(e){super();this._onDidChange=this._register(new T);this.onDidChange=this._onDidChange.event;this._modelState=pn(this,{value:0});this._usageObs=pn(this,void 0);this._completionTokenCountObs=pn(this,void 0);this._shouldBeBlocked=pn(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||wo(e.responseContent)&&e.responseContent.value.length!==0),this._response=this._register(new bA(e.responseContent)),this._codeBlockInfos=e.codeBlockInfos?[...e.codeBlockInfos]:void 0;let n=Jf(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?wo(u)?u.value:u:void 0}if(c.type===pt.StateKind.WaitingForPostApproval)return p(9219,null)}if(d.kind==="confirmation"&&!d.isUsed)return d.title;if(d.kind==="questionCarousel"&&!d.isUsed)return p(9218,null);if(d.kind==="planReview"&&!d.isUsed)return p(9220,null);if(d.kind==="elicitation2"&&d.state.read(l)==="pending"){let c=d.title;return wo(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(Si))),this.id=e.restoredId??"response_"+Ve();let s;this.confirmationAdjustedTimestamp=Fs(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(Si))}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 vA(this._response,e)),this._responseView):this._finalizedResponse||this._response}get codeBlockInfos(){return this._codeBlockInfos}initializeCodeBlockInfos(e){if(this._codeBlockInfos)throw new Dt("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(Si))}applyCodeCitation(e){this._codeCitations.push(e),this._response.addCitation(e),this._onDidChange.fire(Si)}setAgent(e,n){this._agent=e,this._slashCommand=n,this._agentOrSlashCommandDetected=!e.isDefault||!!n,this._onDidChange.fire(Si)}setResult(e){if(this.isCanceled&&e.errorDetails){let{errorDetails:n,...o}=e;this._result=o}else this._result=e;this._onDidChange.fire(Si)}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(Si)}isSameUsage(e){let n=this._usageObs.get();return!!n&&n.promptTokens===e.promptTokens&&n.completionTokens===e.completionTokens&&n.outputBuffer===e.outputBuffer&&n.copilotCredits===e.copilotCredits&&Ct(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 Vv?e.cancelFromStreaming(5):e instanceof vg?e.dismiss():e instanceof pg&&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(Si)}setVote(e){this._vote=e,this._onDidChange.fire(Si)}setEditApplied(e,n){return!this.response.value.includes(e)||!e.state?!1:(e.state.applied=n,this._onDidChange.fire(Si),!0)}adoptTo(e){this._session=e,this._onDidChange.fire(Si)}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,promptTokens:this.usage?.promptTokens,completionTokens:this.completionTokenCount,outputBuffer:this.usage?.outputBuffer,promptTokenDetails:this.usage?.promptTokenDetails,copilotCredits:this.usage?.copilotCredits,elapsedMs:this.elapsedMs??(this.completedAt?Math.max(0,this.completedAt-this.confirmationAdjustedTimestamp.get()):void 0)}}};function iV(i){return!!i&&Array.isArray(i.requests)&&typeof i.responderUsername=="string"}function C6(i){let t=i;return iV(i)&&typeof t.creationDate=="number"&&typeof t.sessionId=="string"&&i.requests.every(e=>!e.usedContext||yH(e.usedContext))}var yA=class{constructor(t,e,n){this.logger=e;this.sessionId=n;this._state=Ns({debugName:"inputModelState",equalsFn:Ct},t),this.state=this._state}setState(t){let e=this._state.get();E6(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=>!(yN(n)||bN(n)&&SN(n.value)));return{contrib:t.contrib,attachments:e.map(tl.toExport),mode:t.mode,selectedModel:t.selectedModel?{identifier:t.selectedModel.identifier,metadata:t.selectedModel.metadata,modelConfiguration:t.modelConfiguration}:void 0,inputText:t.inputText,selections:t.selections,permissionLevel:t.permissionLevel}}},Tg=class extends F{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 T);this.onDidDispose=this._onDidDispose.event;this._onDidChange=this._register(new T);this.onDidChange=this._onDidChange.event;this._pendingRequests=[];this._onDidChangePendingRequests=this._register(new T);this.onDidChangePendingRequests=this._onDidChangePendingRequests.event;this._isImported=!1;this._isDeleted=!1;this._canUseTools=!0;this.currentEditedFileEvents=new Ne;this._checkpoint=void 0;let l=e?.value,d=iV(l),c=d&&C6(l);l&&!d&&this.logService.warn(`ChatModel#constructor: Loaded malformed session data: ${JSON.stringify(l)}`),this._isImported=!!l&&d&&!c,n.resource?(this._sessionId=el(n.resource),this._sessionResource=n.resource):c?(this._sessionId=l.sessionId,this._sessionResource=Yo.forSession(l.sessionId)):(this._sessionId=Ve(),this._sessionResource=Yo.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 yA(u&&{attachments:(u.attachments??[]).map(tl.fromExport),mode:u.mode,selectedModel:u.selectedModel&&{identifier:u.selectedModel.identifier,metadata:u.selectedModel.metadata},modelConfiguration:u.selectedModel?u.selectedModel.modelConfiguration??u.modelConfiguration:void 0,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=po(this,this.onDidChange,()=>this._requests.at(-1)),this._register(uo(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 dn);this._register(uo(g=>{let v=this.requestInProgress.read(g),h=this.requestNeedsInput.read(g),I=v||!!h;I&&!m.value?m.value=a.acquireExistingSession(this._sessionResource,"ChatModel#requestInProgressKeepAlive"):!I&&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 sessionCost(){let e=0;for(let n of this._requests){let o=n.response?.usage?.copilotCredits;typeof o=="number"&&(e+=o)}return e}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||Tg.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 dn);this._register(uo(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(uo(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=Mn(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):tV(e.message),o=this.reviveVariableData(e.variableData),r=new fE({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?nE(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)Mn(d,{kind:!0})&&(d.kind==="questionCarousel"||d.kind==="planReview")&&(d.isUsed=!0);r.response=new Cg({responseContent:e.response??[new gt(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:e.promptTokens??0,completionTokens:e.completionTokens,outputBuffer:e.outputBuffer,promptTokenDetails:e.promptTokenDetails,copilotCredits:e.copilotCredits}),e.usedContext&&r.response.applyReference(Mt(e.usedContext)),e.contentReferences?.forEach(d=>r.response.applyReference(Mt(d))),e.codeCitations?.forEach(d=>r.response.applyCodeCitation(Mt(d)))}return r}reviveVariableData(e){let n=e&&Array.isArray(e.variables)?e:{variables:[]};return n.variables=n.variables.map(tl.fromExport),n}getParsedRequestFromString(e){let n=[new Sg(new fo(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?__(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,h,I,S){let w=[...this.currentEditedFileEvents.values()];this.currentEditedFileEvents.clear();let P=new fE({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:w.length?w:void 0,userSelectedTools:g,isSystemInitiated:h,systemInitiatedLabel:I,terminalExecutionId:S});return P.response=new Cg({responseContent:[],session:this,agent:s,slashCommand:a,requestId:P.id,isCompleteAddedRequest:u,codeBlockInfos:void 0}),this._requests.push(P),Hv(this.sessionResource,Fv.RequestUiUpdated),this._onDidChange.fire({kind:"addRequest",request:P}),P}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 Cg({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??Ve(),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 Cg({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:rV.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}};Tg=D([C(2,se),C(3,tE),C(4,eV),C(5,ir)],Tg);function nV(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 Ct(i.isTrusted,t.isTrusted)&&i.supportHtml===t.supportHtml&&i.supportThemeIcons===t.supportThemeIcons}function oV(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 T6(i){if(i.length===0)return"";let t=i.reduce((n,o)=>n.add(o.license),new Set);return t.size===1?p(9213,null,t.size):p(9214,null,t.size)}var vE;(n=>{n.scheme="vscode-chat-response-resource";function t(o,r,s,a){return y.from({scheme:n.scheme,authority:Fa(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(Zg(o.authority).toString())}catch(c){if(c instanceof SyntaxError)d=Yo.forSession(o.authority);else throw c}return{sessionResource:d,toolCallId:a,index:Number(l)}}n.parseUri=e})(vE||={});function E6(i,t,e,n){if(!Su(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 sV="chat-memory-file",w6="copilot_memory",lV;(n=>{function i(o,r){return y.from({scheme:sV,path:o,query:r.toString()})}n.createUri=i;function t(o){return o.scheme===sV}n.isChatMemoryFileUri=t;function e(o){return{memoryPath:o.path,sessionResource:o.query}}n.parse=e})(lV||={});function k6(i,t){if(i===t)return!0;let[e,n]=i.split("/"),[o]=t.split("/");return n==="*"&&e===o}function Wv(i,t){let e=rn(i);for(let[n,o]of Object.entries(t))if(er(n,i)||er(n,e))return o}function aV(i,t){for(let[e,n]of Object.entries(t))if(k6(e,i))return n}function P6(i){return typeof i=="object"&&i!==null&&"output"in i&&typeof i.output=="object"&&i.output?.type==="data"&&typeof i.output?.mimeType=="string"}function _6(i){if(typeof i!="object"||i===null)return;let t=i.path;return typeof t=="string"?t:void 0}var D6=new Set(["create","str_replace","insert"]);function R6(i){if(typeof i!="object"||i===null)return!1;let t=i.command;return typeof t=="string"&&D6.has(t)}function dV(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=Wv(l.path,n);c&&(s.add(d),r.push({label:ot(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=Wv(l.path,n);c&&(s.add(d),r.push({label:ot(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=Wv(d.path,n);u&&(s.add(c),r.push({label:ot(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=Wv(l.path,n);c&&(s.add(d),r.push({label:ot(l),uri:d,type:"plan",groupName:c.groupName,onlyShowGroup:c.onlyShowGroup}))}if((a.kind==="toolInvocation"||a.kind==="toolInvocationSerialized")&&a.toolId===w6){let l=pt.getParameters(a),d=_6(l);if(d&&R6(l)){let c=Wv(d,o);if(c){let u=`memory:${a.toolCallId}:${d}`;s.has(u)||(s.add(u),r.push({label:rn(d),uri:lV.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(PU(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=aV(c.mimeType,e);if(u){let m=`${a.toolCallId}:${d}`;if(!s.has(m)){s.add(m);let g=Gk(c.mimeType),v=g?`file${g}`:"file.bin",h=vE.createUri(t,a.toolCallId,d,v);r.push({label:c.uri?.path.split("/").pop()??`${u.groupName} ${d+1}`,uri:h.toString(),toolCallId:a.toolCallId,dataPartIndex:d,type:"screenshot",groupName:u.groupName,onlyShowGroup:u.onlyShowGroup})}}}}if(P6(l)){let d=aV(l.output.mimeType,e);if(d){let c=`${a.toolCallId}:0`;if(!s.has(c)){s.add(c);let u=Gk(l.output.mimeType),m=u?`file${u}`:"file.bin",g=vE.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 yE=R("chatArtifactsService"),$v=class{constructor(t){this._memento=new fg("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()}};$v=D([C(0,No)],$v);var IA=class extends F{constructor(e,n,o,r,s){super();this._storageKey=n;this._storage=o;this._responseCache=new Map;this._ruleOverrides=Ns({owner:this,equalsFn:()=>!1},void 0);this._agentArtifacts=Ns({owner:this,equalsFn:()=>!1},[]);this._subagentArtifacts=Ns({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=po(this,s.onDidChangeConfiguration,()=>s.getValue("chat.artifacts.rules.byMimeType")??{}),d=po(this,s.onDidChangeConfiguration,()=>s.getValue("chat.artifacts.rules.byFilePath")??{}),c=po(this,s.onDidChangeConfiguration,()=>s.getValue("chat.artifacts.rules.byMemoryFilePath")??{}),u=po(this,r.onDidCreateModel,()=>r.getSession(e)),m=Fs(g=>{let v=this._ruleOverrides.read(g),h=v?.byMimeType??l.read(g),I=v?.byFilePath??d.read(g),S=v?.byMemoryFilePath??c.read(g),w=u.read(g);if(!w)return[];Jf(this,w.onDidChange).read(g);let O=w.getRequests(),L=[],$=new Set,V=new Set;for(let J of O){let z=J.response;if(!z)continue;$.add(z.id);let j=z.response,Y=j.value.length,ue=0;for(let re of j.value)(re.kind==="toolInvocation"||re.kind==="toolInvocationSerialized")&&pt.resultDetails(re)!==void 0&&ue++;let Je=this._responseCache.get(z.id),it;Je&&Je.partsLength===Y&&Je.completedToolCount===ue&&Je.byMimeType===h&&Je.byFilePath===I&&Je.byMemoryFilePath===S?it=Je.artifacts:(it=dV(j,e,h,I,S),this._responseCache.set(z.id,{partsLength:Y,completedToolCount:ue,byMimeType:h,byFilePath:I,byMemoryFilePath:S,artifacts:it}));for(let re of it){let Q=re.toolCallId?`${re.toolCallId}:${re.dataPartIndex}`:re.uri;if(V.has(Q)){let ee=L.findIndex(ae=>ae.toolCallId?`${ae.toolCallId}:${ae.dataPartIndex}`===Q:ae.uri===Q);ee!==-1&&L.splice(ee,1)}V.add(Q),L.push(re)}}for(let J of this._responseCache.keys())$.has(J)||this._responseCache.delete(J);return L});this.artifactGroups=Fs(g=>{let v=[],h=m.read(g);h.length>0&&v.push({key:"rules",seq:this._sourceSequences.get("rules")??0,group:{source:{kind:"rules"},artifacts:h}});let I=this._agentArtifacts.read(g);I.length>0&&v.push({key:"agent",seq:this._sourceSequences.get("agent")??1/0,group:{source:{kind:"agent"},artifacts:I}});let S=this._subagentArtifacts.read(g);for(let[O,L]of S)if(L.artifacts.length>0){let $=`subagent:${O}`;v.push({key:$,seq:this._sourceSequences.get($)??1/0,group:{source:{kind:"subagent",invocationId:O,name:L.name},artifacts:L.artifacts}})}v.sort((O,L)=>O.seq-L.seq);let w=new Set,P=[];for(let O of v){let L=O.group.artifacts.filter($=>{let V=$.toolCallId?`${$.toolCallId}:${$.dataPartIndex}`:$.uri;if(!V)return!1;let J=V.toLowerCase();return w.has(J)?!1:(w.add(J),!0)});L.length>0&&P.push({source:O.group.source,artifacts:L})}return P})}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)}},bE=class extends F{constructor(e,n,o){super();this._chatService=n;this._configurationService=o;this._instances=this._register(new Tn);this._storage=new $v(e)}getArtifacts(e){let n=el(e),o=this._instances.get(n);return o||(o=new IA(e,n,this._storage,this._chatService,this._configurationService),this._instances.set(n,o)),o}};bE=D([C(0,No),C(1,ir),C(2,sn)],bE);var M6="setArtifacts",A6={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"]},cV={id:M6,toolReferenceName:"artifacts",legacyToolReferenceFullNames:["Set Session Artifacts"],displayName:p(9648,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:Qt.Internal,inputSchema:A6},Eg=class{constructor(t,e,n){this._chatArtifactsService=t;this._fileService=e;this._chatService=n}async prepareToolInvocation(t,e){return{pastTenseMessage:new gt(p(9649,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(9651,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(9650,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}}}};Eg=D([C(0,yE),C(1,Eo),C(2,ir)],Eg);var O6="setArtifactRules",xA={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"]},L6={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:xA},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:xA},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:xA}}},uV={id:O6,toolReferenceName:"artifactRules",legacyToolReferenceFullNames:[],displayName:p(9645,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:Qt.Internal,inputSchema:L6},wg=class{constructor(t){this._chatArtifactsService=t}async prepareToolInvocation(t,e){return{pastTenseMessage:new gt(p(9646,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(9647,null)}]}}};wg=D([C(0,yE)],wg);var N6="task_complete";var pV={id:N6,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:Qt.Internal,inputSchema:{type:"object",properties:{summary:{type:"string",description:"Brief summary of what was accomplished. Omit for trivial interactions."}}}},IE=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 xE=class extends F{static{this.ID="chat.builtinTools"}constructor(t,e,n){super();let o=e.createInstance(ug);this._register(t.registerTool(UH,o));let r=this._register(e.createInstance(mg));this._register(t.registerTool(sA,r)),this._register(t.vscodeToolSet.addTool(sA));let s=this._register(e.createInstance(bg));this._register(t.registerTool($H,s));let a=lA(),l=this._register(e.createInstance(hg));this._register(t.registerTool(a,l));let d=e.createInstance(JT);this._register(t.registerTool(HH,d)),this._register(t.registerTool(VH,d));let c=e.createInstance(YT);this._register(t.registerTool(BH,c));let u=e.createInstance(IE);this._register(t.registerTool(pV,u));let m=e.createInstance(Eg),g=e.createInstance(wg),v=this._register(new dn),h=this._register(new dn),I=()=>{n.getValue("chat.artifacts.enabled")?(v.value||(v.value=t.registerTool(cV,m)),h.value||(h.value=t.registerTool(uV,g))):(v.clear(),h.clear())};I(),this._register(n.onDidChangeConfiguration(L=>{L.affectsConfiguration("chat.artifacts.enabled")&&I()}));let S=this._register(e.createInstance(xi)),w,P,O=()=>{w?.dispose(),P?.dispose(),t.flushToolUpdates();let L=S.getToolData();w=t.registerTool(L,S),P=t.agentToolSet.addTool(L)};O(),this._register(S.onDidUpdateToolData(O)),this._register({dispose:()=>{w?.dispose(),P?.dispose()}})}};xE=D([C(0,qu),C(1,On),C(2,sn)],xE);var mV="vscode_fetchWebPage_internal";var SA=R("commandService"),zv=new class{constructor(){this._commands=new Map;this._onDidRegisterCommand=new T;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 V0(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),Qg(r)}registerCommandAlias(i,t){return zv.registerCommand(i,(e,...n)=>e.get(SA).executeCommand(t,...n))}getCommand(i){let t=this._commands.get(i);if(!(!t||t.isEmpty()))return It.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}};zv.registerCommand("noop",()=>{});var qv=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}},SE=new qv,CA=new qv,TA=new qv,U6=new Array(230),F6={},H6={},V6=[],B6=Object.create(null),W6=Object.create(null);var gV=[],EA=[];for(let i=0;i<=193;i++)gV[i]=-1;for(let i=0;i<=132;i++)EA[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,V6[s]=a,B6[a]=s,W6[a.toLowerCase()]=s,r&&(gV[s]=l,l!==0&&l!==3&&!z6(l)&&(EA[l]=s))),!e[l]){if(e[l]=!0,!d)throw new Error(`String representation missing for key code ${l} around scan code ${a}`);SE.define(l,d),CA.define(l,m||d),TA.define(l,g||m||d)}c&&(U6[c]=l),a&&(H6[a]=c),u&&(F6[u]=l)}EA[3]=46})();var $6;(s=>{function i(a){return SE.keyCodeToStr(a)}s.toString=i;function t(a){return SE.strToKeyCode(a)}s.fromString=t;function e(a){return CA.keyCodeToStr(a)}s.toUserSettingsUS=e;function n(a){return TA.keyCodeToStr(a)}s.toUserSettingsGeneral=n;function o(a){return CA.strToKeyCode(a)||TA.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 SE.keyCodeToStr(a)}s.toElectronAccelerator=r})($6||={});function z6(i){return i===5||i===4||i===6||i===57}function Kv(i,t){if(typeof i=="number"){if(i===0)return null;let e=(i&65535)>>>0,n=(i&4294901760)>>>16;return n!==0?new kg([CE(e,t),CE(n,t)]):new kg([CE(e,t)])}else{let e=[];for(let n=0;n<i.length;n++)e.push(CE(i[n],t));return new kg(e)}}function CE(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 wA(o,r,s,a,l)}var wA=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 kg([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}};var kg=class{constructor(t){if(t.length===0)throw Le("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 kA=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,_i)}registerKeybindingRule(t){let e=i.bindToCurrentPlatform(t),n=new G;if(e&&e.primary){let r=Kv(e.primary,_i);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=Kv(a,_i);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 cu(this.registerKeybindingRule(t),zv.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(fV)),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=Kv(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=Kv(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(fV),e}},hV=new kA,q6={EditorModes:"platform.keybindingsRegistry"};bt.add(q6.EditorModes,hV);function fV(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 K6(i){return i.command!==void 0}var pd=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.EditorGroupWatermarkToolbar=new i("EditorGroupWatermarkToolbar")}static{this.EditorTabsBarContext=new i("EditorTabsBarContext")}static{this.EditorTabsBarAddTab=new i("EditorTabsBarAddTab")}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.ChatSubagentContent=new i("ChatSubagentContent")}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.AutomationsDialogInput=new i("AutomationsDialogInput")}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}},bot=R("menuService"),Zc=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}},yot=new class{constructor(){this._commands=new Map;this._menuItems=new Map;this._onDidChangeMenu=new Cb({merge:Zc.merge});this.onDidChangeMenu=this._onDidChangeMenu.event}addCommand(i){return this._commands.set(i.id,i),this._onDidChangeMenu.fire(Zc.for(pd.CommandPalette)),Qg(X(()=>{this._commands.delete(i.id)&&this._onDidChangeMenu.fire(Zc.for(pd.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(Zc.for(i)),Qg(X(()=>{n(),this._onDidChangeMenu.fire(Zc.for(i))}))}appendMenuItems(i){let t=new G;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===pd.CommandPalette&&this._appendImplicitItems(t),t}_appendImplicitItems(i){let t=new Set;for(let e of i)K6(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 eu=class{constructor(t,e,n,o,r,s,a){this.hideActions=o;this.menuKeybinding=r;this._commandService=a;this.id=t.id,this.label=eu.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&&Qe.isThemeIcon(d.icon)&&(l=d.icon),this.checked&&d.title&&(this.label=typeof d.title=="string"?d.title:d.title.value)}l||(l=Qe.isThemeIcon(t.icon)?t.icon:void 0),this.item=t,this.alt=e?new eu(e,void 0,n,o,void 0,s,a):void 0,this._options=n,this.class=l&&Qe.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)}};eu=D([C(5,Pr),C(6,SA)],eu);var Tot=R("IExtensionGalleryManifestService");var Lot=xs(11660,"Extensions");var PA=R("extensionsWorkbenchService");var TE=class extends F{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?VU(n.extension.identifier,e.identifier)&&(n.extension.server&&e.server&&n.extension.server!==e.server?n.updateWhenCounterExtensionChanges&&n.update():n.extension=e):n.update()}};TE=D([C(1,PA)],TE);var Not=new E("defaultExtensionViews",!0),Uot=new E("hasOutdatedExtensions",!1),Fot=new E("hasGallery",!1),Hot=new E("extensionsGalleryStatus","unavailable"),Vot=new E("extensionResultListFocused ",!0),Bot=new E("searchMcpServers",!1),Wot=new E("searchAgentPlugins",!1);var $ot=new pd("extensionsSearchActionsMenu"),zot=new pd("extensionsFilterSubMenu");var _A="vscode_searchExtensions_internal",drt={id:_A,toolReferenceName:"extensions",legacyToolReferenceFullNames:["extensions"],icon:Qe.fromId(de.extensions.id),displayName:p(11673,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(11675,null),source:Qt.Internal,inputSchema:{type:"object",properties:{category:{type:"string",description:"The category of extensions to search for",enum:Zb},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"}}}},EE=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(11674,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))}]}}}};EE=D([C(0,PA)],EE);var wE=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,fullReferenceName:this._data.fullReferenceName,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:QR.to(this._data.source),fullReferenceName:this._data.fullReferenceName})),this._apiObjectWithChatParticipantAdditions}},kE=class{constructor(t,e){this._languageModels=e;this._registeredTools=new Map;this._tokenCountFuncs=new Map;this._allTools=new Map;this._proxy=t.getProxy(N.MainThreadLanguageModelTools),this._proxy.$getTools().then(n=>{for(let o of n)this._allTools.set(o.id,new wE(Mt(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=Ve();n.tokenizationOptions&&this._tokenCountFuncs.set(s,n.tokenizationOptions.countTokens);try{if(n.toolInvocationToken&&!kU(n.toolInvocationToken))throw new Error("Invalid tool invocation token");if((r===GT||r===iA)&&!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 Vt?a.value:a;return VS.to(Mt(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 wE(Mt(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 GT:case iA:case mV:case _A: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:Mt(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=be.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:ge.fromStrict(l.message),progress:a===void 0?void 0:a/100})}}}let s=await Ga(Promise.resolve(n.tool.invoke(o,e,r)),e);if(!s)throw new lt;return VS.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;M(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:ge.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&&M(o.extension,"chatParticipantPrivate"),o.tool.prepareInvocation){let s=await o.tool.prepareInvocation(r,n);if(!s)return;(s.pastTenseMessage||s.presentation)&&M(o.extension,"chatParticipantPrivate"),s.confirmationMessages?.approveCombination!==void 0&&M(o.extension,"toolInvocationApproveCombination");let a=s.confirmationMessages?.approveCombination,l=a?ge.fromStrict(a.message):void 0,d=l?await OH(t,e.parameters):void 0;return{confirmationMessages:s.confirmationMessages?{title:typeof s.confirmationMessages.title=="string"?s.confirmationMessages.title:ge.from(s.confirmationMessages.title),message:typeof s.confirmationMessages.message=="string"?s.confirmationMessages.message:ge.from(s.confirmationMessages.message),approveCombination:l&&d?{label:l,key:d,arguments:a.arguments}:void 0}:void 0,invocationMessage:ge.fromStrict(s.invocationMessage),pastTenseMessage:ge.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){M(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:fi.from(e.icon),models:e.models,toolSet:e.toolSet,tags:e.tags,fullReferenceName:void 0};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 PE=class{constructor(t,e,n,o){this._documents=e;this._commands=n;this._uriTransformer=o;this._languageIds=[];this._onDidChangeSyntaxHighlighting=new T;this.onDidChangeSyntaxHighlighting=this._onDidChangeSyntaxHighlighting.event;this._handlePool=0;this._ids=new Set;this._proxy=t.getProxy(N.MainThreadLanguages)}$acceptLanguageIds(t){this._languageIds=t}$acceptSyntaxHighlightingThemeChanged(){this._onDidChangeSyntaxHighlighting.fire()}async computeFullSyntaxHighlighting(t,e){return await this._proxy.$computeFullSyntaxHighlighting(t,e)}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:B.to(r.range),type:IR.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 G,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=tL(()=>{c.clear(),this._proxy.$setLanguageStatus(o,{id:a,name:l.name??t.displayName??t.name,source:t.displayName??t.name,selector:gi.from(l.selector,this._uriTransformer),label:l.text,detail:l.detail??"",severity:l.severity===2?Ge.Error:l.severity===1?Ge.Warning:Ge.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){M(t,"languageStatusText"),l.text=g,u()},get text2(){return M(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 G6(i){return i&&i.title}var Pg=class{constructor(t,e){this._logService=e;this._proxy=t.getProxy(N.MainThreadMessageService)}showMessage(t,e,n,o,r){let s={source:{identifier:t.identifier,label:t.displayName||t.name}},a;typeof o=="string"||G6(o)?a=[o,...r]:(s.modal=o?.modal,s.useCustom=o?.useCustom,s.detail=o?.detail,a=r),s.useCustom&&M(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]})}};Pg=D([C(1,se)],Pg);var Gv=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}}},_g=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(ua.to),this._internalMetadata=n.internalMetadata??{},this._metadata=Object.freeze(n.metadata??{}),this._previousResult=Object.freeze(Wp.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:Mh.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(ua.to)}setOutputItems(t,e,n){let o=n.map(Pc.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=>wy(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=wF(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(Wp.to(t))}setMime(t){}},_E=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===q.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 _g(this,this._textDocumentsAndEditors,m);return e||r.push(_g.asModelAddData(m)),g}),c=new Gv(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 Gv(t,e,r.map(a=>a.apiCell),[]),new Gv(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 tu=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 Le("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,xr.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(xr.from))}_acceptViewColumn(t){this._viewColumn=t}};var Dg=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 DE(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 RA(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 Dg(null,0);Te.parent=Te;Te.left=Te;Te.right=Te;Te.color=0;function DE(i){for(;i.left!==Te;)i=i.left;return i}function RA(i){for(;i.right!==Te;)i=i.right;return i}function MA(i){return i===Te?0:i.size_left+i.piece.length+MA(i.right)}function AA(i){return i===Te?0:i.lf_left+i.piece.lineFeedCnt+AA(i.right)}function DA(){Te.parent=Te}function Qv(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 Jv(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 Yv(i,t){let e,n;if(t.left===Te?(n=t,e=n.right):t.right===Te?(n=t,e=n.left):(n=DE(t.right),e=n.right),n===i.root){i.root=e,e.color=0,t.detach(),DA(),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,jv(i,e)):(n.parent===t?e.parent=n:e.parent=n.parent,jv(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,jv(i,n)),t.detach(),e.parent.left===e){let s=MA(e),a=AA(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,ms(i,e.parent,l,d)}}if(jv(i,e.parent),o){DA();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,Qv(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,Jv(i,r),r=e.parent.right),r.color=e.parent.color,e.parent.color=0,r.right.color=0,Qv(i,e.parent),e=i.root)):(r=e.parent.left,r.color===1&&(r.color=0,e.parent.color=1,Jv(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,Qv(i,r),r=e.parent.left),r.color=e.parent.color,e.parent.color=0,r.left.color=0,Jv(i,e.parent),e=i.root));e.color=0,DA()}function OA(i,t){for(jv(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,Qv(i,t)),t.parent.color=0,t.parent.parent.color=1,Jv(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,Jv(i,t)),t.parent.color=0,t.parent.parent.color=1,Qv(i,t.parent.parent))}i.root.color=0}function ms(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 jv(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=MA(t.left)-t.size_left,n=AA(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 Ca=65535;function vV(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 LA=class{constructor(t,e,n,o,r){this.lineStarts=t;this.cr=e;this.lf=n;this.crlf=o;this.isBasicASCII=r}};function gs(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?vV(e):e}function bV(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 LA(vV(i),n,o,r,s);return i.length=0,a}var ho=class{constructor(t,e,n,o,r){this.bufferIndex=t,this.start=e,this.end=n,this.lineFeedCnt=o,this.length=r}},fs=class{constructor(t,e){this.buffer=t,this.lineStarts=e}},NA=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++])}},UA=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}}},RE=class{constructor(t,e,n){this.create(t,e,n)}create(t,e,n){this._buffers=[new fs("",[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=gs(t[r].buffer));let a=new ho(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 UA(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(t){let e=Ca,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 fs(u,gs(u))),r=d,s=c,!0}),s>0){let l=r.replace(/\r\n|\r|\n/g,t);a.push(new fs(l,gs(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 NA(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),h=this.offsetInBuffer(t.piece.bufferIndex,s),I,S={line:0,column:0},w,P;e._wordSeparators?(w=m.buffer.substring(v,h),P=O=>O+v,e.reset(0)):(w=m.buffer,P=O=>O,e.reset(v));do if(I=e.next(w),I){if(P(I.index)>=h)return c;this.positionInBuffer(t,P(I.index)-g,S);let O=this.getLineFeedCnt(t.piece.bufferIndex,r,S),L=S.line===r.line?S.column-r.column+o:S.column+1,$=L+I[0].length;if(u[c++]=OM(new Ue(n+O,L,n+O,$),I,l),P(I.index)+I[0].length>=h||c>=d)return c}while(I);return c}findMatchesLineByLine(t,e,n,o){let r=[],s=0,a=new uC(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 h=this.getLineFeedCnt(g.piece.bufferIndex,c,g.piece.end);if(h>=1){let S=this._buffers[g.piece.bufferIndex].lineStarts,w=this.offsetInBuffer(g.piece.bufferIndex,g.piece.start),P=S[c.line+h],O=m===t.startLineNumber?t.startColumn:1;if(s=this.findMatchesInNode(g,a,m,O,c,this.positionInBuffer(g,P-w),e,n,o,s,r),s>=o)return r;m+=h}let I=m===t.startLineNumber?t.startColumn-1:0;if(m===t.endLineNumber){let S=this.getLineContent(m).substring(I,t.endColumn-1);return s=this._findMatchesInLine(e,a,S,t.endLineNumber,I,s,r,n,o),r}if(s=this._findMatchesInLine(e,a,this.getLineContent(m).substr(I),m,I,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 h=m===t.startLineNumber?t.startColumn-1:0,I=this.getLineContent(m).substring(h,t.endColumn-1);return s=this._findMatchesInLine(e,a,I,t.endLineNumber,h,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,h=-g;for(;(h=n.indexOf(m,h+g))!==-1;)if((!c||LM(c,n,v,h,g))&&(a[s++]=new Bd(new Ue(o,h+1+r,o,h+1+g+r),null),s>=d))return s;return s}let u;e.reset(0);do if(u=e.next(n),u&&(a[s++]=OM(new Ue(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<Ca){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 ho(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 h={line:u.start.line+1,column:0};u=new ho(u.bufferIndex,h,u.end,this.getLineFeedCnt(u.bufferIndex,h,u.end),u.length-1),e+=`
`}if(this.shouldCheckCRLF()&&this.startWithLF(e))if(this.nodeCharCodeAt(o,r-1)===13){let h=this.positionInBuffer(o,r-1);this.deleteNodeTail(o,h),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();Yv(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 ho(s.bufferIndex,a,s.end,this.getLineFeedCnt(s.bufferIndex,a,s.end),s.length-1);e.piece=l,t+=`
`,ms(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++)Yv(this,t[e])}createNewPieces(t){if(t.length>Ca){let c=[];for(;t.length>Ca;){let m=t.charCodeAt(Ca-1),g;m===13||m>=55296&&m<=56319?(g=t.substring(0,Ca-1),t=t.substring(Ca-1)):(g=t.substring(0,Ca),t=t.substring(Ca));let v=gs(g);c.push(new ho(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 fs(g,v))}let u=gs(t);return c.push(new ho(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 fs(t,u)),c}let e=this._buffers[0].buffer.length,n=gs(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 ho(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 ho(n.bufferIndex,n.start,s,l,u),ms(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 ho(n.bufferIndex,s,n.end,a,u),ms(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 ho(o.bufferIndex,o.start,d,c,u),ms(this,t,u-a,c-l);let m=new ho(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=gs(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 ho(t.piece.bufferIndex,t.piece.start,l,u,d),this._lastChangeBufferPos=l,ms(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 ho(t.piece.bufferIndex,t.piece.start,r,a,s),ms(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 ho(e.piece.bufferIndex,l,e.piece.end,c,d),ms(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++)Yv(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)Yv(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 ho(o.bufferIndex,r,o.end,a,s),ms(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 Dg(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=DE(t.right);r.left=n,n.parent=r}return OA(this,n),n}rbInsertLeft(t,e){let n=new Dg(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=RA(t.left);o.right=n,n.parent=o}return OA(this,n),n}getContentOfSubTree(t){let e="";return this.iterate(t,n=>(e+=this.getNodeContent(n),!0)),e}};function ME(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 FA;function j6(){return FA||(FA=new TextDecoder("UTF-16LE")),FA}function yV(i,t,e){let n=new Uint16Array(i.buffer,t,e);return e>0&&(n[0]===65279||n[0]===65534)?Q6(i,t,e):j6().decode(n)}function Q6(i,t,e){let n=[],o=0;for(let r=0;r<e;r++){let s=K0(i,t);t+=2,n[o++]=String.fromCharCode(s)}return n.join("")}function AE(i){return i.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}var OE=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} "${AE(this.newText)}")`:this.newText.length===0?`(delete@${this.oldPosition} "${AE(this.oldText)}")`:`(replace@${this.oldPosition} "${AE(this.oldText)}" with "${AE(this.newText)}")`}static _writeStringSize(t){return 4+2*t.length}static _writeString(t,e,n){let o=e.length;Xg(t,o,n),n+=4;for(let r=0;r<o;r++)G0(t,e.charCodeAt(r),n),n+=2;return n}static _readString(t,e){let n=Yg(t,e);return e+=4,yV(t,e,n)}writeSize(){return 8+i._writeStringSize(this.oldText)+i._writeStringSize(this.newText)}write(t,e){return Xg(t,this.oldPosition,e),e+=4,Xg(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=Yg(t,e);e+=4;let r=Yg(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 LE=class i extends F{constructor(e,n,o,r,s,a,l){super();this._onDidChangeContent=this._register(new T);this._BOM=n,this._mightContainNonBasicASCII=!a,this._mightContainRTL=r,this._mightContainUnusualLineTerminators=s,this._pieceTree=new RE(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 Ue(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++)_d(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=Ab(this.getLineContent(e));return n===-1?0:n+1}getLineLastNonWhitespaceColumn(e){let n=LO(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 I=0;I<e.length;I++){let S=e[I];l&&S._isTracked&&(l=!1);let w=S.range;if(S.text){let V=!0;a||(V=!FO(S.text),a=V),!r&&V&&(r=Ub(S.text)),!s&&V&&(s=Fb(S.text))}let P="",O=0,L=0,$=0;if(S.text){let V;[O,L,$,V]=ME(S.text);let J=this.getEOL(),z=J===`\r
`?2:1;V===0||V===z?P=S.text:P=S.text.replace(/\r\n|\r|\n/g,J)}d[I]={sortIndex:I,identifier:S.identifier||null,range:w,rangeOffset:this.getOffsetAt(w.startLineNumber,w.startColumn),rangeLength:this.getValueLengthInRange(w),text:P,eolCount:O,firstLineLength:L,lastLineLength:$,forceMoveMarkers:!!S.forceMoveMarkers,isAutoWhitespaceEdit:S.isAutoWhitespaceEdit||!1}}d.sort(i._sortOpsAscending);let c=!1;for(let I=0,S=d.length-1;I<S;I++){let w=d[I].range.getEndPosition(),P=d[I+1].range.getStartPosition();if(P.isBeforeOrEqual(w)){if(P.isBefore(w))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 I=0;I<d.length;I++){let S=d[I],w=u[I];if(S.isAutoWhitespaceEdit&&S.range.isEmpty())for(let P=w.startLineNumber;P<=w.endLineNumber;P++){let O="";P===w.startLineNumber&&(O=this.getLineContent(S.range.startLineNumber),Ab(O)!==-1)||m.push({lineNumber:P,oldContent:O})}}let g=null;if(o){let I=0;g=[];for(let S=0;S<d.length;S++){let w=d[S],P=u[S],O=this.getValueInRange(w.range),L=w.rangeOffset+I;I+=w.text.length-O.length,g[S]={sortIndex:w.sortIndex,identifier:w.identifier,range:P,text:O,textChange:new OE(w.rangeOffset,O,L,w.text)}}c||g.sort((S,w)=>S.sortIndex-w.sortIndex)}this._mightContainRTL=r,this._mightContainUnusualLineTerminators=s,this._mightContainNonBasicASCII=a;let v=this._doApplyEdits(d),h=null;if(n&&m.length>0){m.sort((I,S)=>S.lineNumber-I.lineNumber),h=[];for(let I=0,S=m.length;I<S;I++){let w=m[I].lineNumber;if(I>0&&m[I-1].lineNumber===w)continue;let P=m[I].oldContent,O=this.getLineContent(w);O.length===0||O===P||Ab(O)!==-1||h.push(w)}}return this._onDidChangeContent.fire(),new Ay(g,v,h)}_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 Ue(o.startLineNumber,o.startColumn,r.endLineNumber,r.endColumn),a=o.startLineNumber,l=o.startColumn,d=[];for(let v=0,h=e.length;v<h;v++){let I=e[v],S=I.range;n=n||I.forceMoveMarkers,d.push(this.getValueInRange(new Ue(a,l,S.startLineNumber,S.startColumn))),I.text.length>0&&d.push(I.text),a=S.endLineNumber,l=S.endColumn}let c=d.join(""),[u,m,g]=ME(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 Ue(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]=ME(n),d;if(n.length>0){let c=s+1;c===1?d=new Ue(o,r,o,r+a):d=new Ue(o,r,o+c-1,l+1)}else d=new Ue(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 Ue(c,u,c,u+d.firstLineLength):m=new Ue(c,u,c+g-1,d.lastLineLength+1)}else m=new Ue(c,u,c,u);o=m.endLineNumber,r=m.endColumn,n.push(m),s=d}return n}static _sortOpsAscending(e,n){let o=Ue.compareRangesUsingEnds(e.range,n.range);return o===0?e.sortIndex-n.sortIndex:o}static _sortOpsDescending(e,n){let o=Ue.compareRangesUsingEnds(e.range,n.range);return o===0?n.sortIndex-e.sortIndex:-o}};var HA=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=gs(a);n[r]=new fs(a,l)}let o=new LE(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]}},Xv=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&&VO(t)&&(this.BOM=HO,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=bV(this._tmpLineStarts,t);this.chunks.push(new fs(t,e.lineStarts)),this.cr+=e.cr,this.lf+=e.lf,this.crlf+=e.crlf,e.isBasicASCII||(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=Ub(t)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=Fb(t)))}finish(t=!0){return this._finish(),new HA(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=gs(t.buffer);t.lineStarts=e,this._previousChar===13&&this.cr++}}};var NE=class extends F{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 Ue(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 Xv;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 Xv;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 mv(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 mv(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 VA(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 WS(a.join(`
`)+`
`,s.map(c=>new Ue(c.range.startLineNumber-1,c.range.startColumn-1,c.range.endLineNumber-1,c.range.endColumn-1)))})}var Hst=Object.freeze({id:"application",order:100,title:p(4875,null),type:"object"}),IV=Object.freeze({id:"workbench",order:7,title:p(4883,null),type:"object"}),Y6=Object.freeze({id:"security",scope:1,title:p(4881,null),type:"object",order:7}),Vst=Object.freeze({id:"problems",title:p(4877,null),type:"object",order:101}),X6=Object.freeze({id:"window",order:8,title:p(4882,null),type:"object"}),Z6={ConfigurationMigration:"base.contributions.configuration.migration"},BA=class{constructor(){this.migrations=[];this._onDidRegisterConfigurationMigrations=new T;this.onDidRegisterConfigurationMigration=this._onDidRegisterConfigurationMigrations.event}registerConfigurationMigrations(t){this.migrations.push(...t)}},VE=new BA;bt.add(Z6.ConfigurationMigration,VE);var UE=class extends F{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,VE.migrations)})),this.migrateConfigurations(VE.migrations),this._register(VE.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})=>Ct(m,s))?.value:u.value},l=await e.migrateFn(o,a);return Array.isArray(l)?l:[[e.key,l]]}};UE=D([C(0,sn),C(1,ei)],UE);var FE=class extends F{constructor(e){super();this.remoteAgentService=e;this._ready=new un;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(!xt&&(await this.remoteAgentService.getEnvironment())?.os!==1)return;bt.as(Mr.Configuration).registerConfiguration({...Y6,properties:{"security.allowedUNCHosts":{type:"array",items:{type:"string",pattern:"^[^\\\\]+$",patternErrorMessage:p(4879,null)},default:[],markdownDescription:p(4878,null),scope:3},"security.restrictUNCAccess":{type:"boolean",default:!0,markdownDescription:p(4880,null),scope:3}}})}};FE=D([C(0,$i)],FE);var Zv="window.newWindowProfile",HE=class extends F{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(Zv)&&this.setNewWindowProfile()})),this._register(this.userDataProfilesService.onDidChangeProfiles(()=>this.checkAndResetNewWindowProfileConfig()))}static{this.ID="workbench.contrib.dynamicWindowConfiguration"}registerNewWindowProfileConfiguration(){let e=bt.as(Mr.Configuration),n={...X6,properties:{[Zv]:{type:["string","null"],default:null,enum:[...this.userDataProfilesService.profiles.map(o=>o.name),null],enumItemLabels:[...this.userDataProfilesService.profiles.map(()=>""),p(4874,null)],description:p(4876,null),scope:1}}};this.configurationNode?e.updateConfigurations({add:[n],remove:[this.configurationNode]}):e.registerConfiguration(n),this.configurationNode=n}setNewWindowProfile(){let e=this.configurationService.getValue(Zv);this.newWindowProfile=e?this.userDataProfilesService.profiles.find(n=>n.name===e):void 0}checkAndResetNewWindowProfileConfig(){let e=this.configurationService.getValue(Zv);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(Zv,n?.name)}};HE=D([C(0,sl),C(1,sn)],HE);var Zst=R("editorResolverService"),e3="workbench.editorAssociations",t3="workbench.diffEditorAssociations",n3="workbench.editor.markdownDefaultEditorInAgentsWindow";function o3(i){return{"*.md":i?.markdownDefaultEditor===!0?"vscode.markdown.editor":"vscode.markdown.preview.editor"}}var r3=bt.as(Mr.Configuration),i3={...IV,properties:{[n3]:{type:"boolean",default:!1,tags:["experimental"],experiment:{mode:"startup"},markdownDescription:p(18476,null)},[e3]:{type:"object",markdownDescription:p(18475,null),additionalProperties:{type:"string"},agentsWindow:{default:o3()}},[t3]:{type:"object",markdownDescription:p(18474,null),additionalProperties:{type:"string"}}}};r3.registerConfiguration(i3);function xV(i,t){if(new Set([q.extension,q.webviewPanel,q.vscodeWorkspaceTrust,q.vscodeSettings]).has(t.scheme))return!1;let o=typeof i=="string"&&i.indexOf(He.sep)>=0?`${t.scheme}:${t.path}`:ot(t);return er(i,o,{ignoreCase:!0})}var BE=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 Ne;this._editors=new Map;this._onDidChangeActiveNotebookEditor=new T;this.onDidChangeActiveNotebookEditor=this._onDidChangeActiveNotebookEditor.event;this._visibleNotebookEditors=[];this._onDidOpenNotebookDocument=new T;this.onDidOpenNotebookDocument=this._onDidOpenNotebookDocument.event;this._onDidCloseNotebookDocument=new T;this.onDidCloseNotebookDocument=this._onDidCloseNotebookDocument.event;this._onDidChangeVisibleNotebookEditors=new T;this.onDidChangeVisibleNotebookEditors=this._onDidChangeVisibleNotebookEditors.event;this._statusBarCache=new Ao("NotebookCellStatusBarCache");this._handlePool=0;this._notebookSerializer=new Map;this._notebookProxy=t.getProxy(N.MainThreadNotebook),this._notebookDocumentsProxy=t.getProxy(N.MainThreadNotebookDocuments),this._notebookEditorsProxy=t.getProxy(N.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=>qh.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&&Gl.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 jr(o?.apiNotebook)}async showNotebookDocument(t,e){let n;typeof e=="object"?n={position:Ot.from(e.viewColumn),preserveFocus:e.preserveFocus,selections:e.selections&&e.selections.map(xr.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 G,u=this._statusBarCache.add([c]),g=(Array.isArray(d)?d:[d]).map(v=>OR.from(v,this._commandsConverter,c));return{cacheId:u,items:g}}$releaseNotebookCellStatusBarItems(t){this._statusBarCache.delete(t)}registerNotebookSerializer(t,e,n,o,r){if(Oi(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,NR.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 Vt(Gl.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(Gl.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 eb("NO serializer found");let l=this._documents.get(s);if(!l)throw new eb("Document NOT found");if(l.versionId!==n)throw new eb("Document version mismatch, expected: "+n+", actual: "+l.versionId);if(!this._extHostFileSystem.value.isWritableFileSystem(s.scheme))throw new Fi(p(3517,null,this._resourceForError(s)),6);let d={metadata:kk(l.apiNotebook.metadata,v=>!(a.options?.transientDocumentMetadata??{})[v]),cells:[]};for(let v of l.apiNotebook.getCells()){let h=new Gi(v.kind,v.document.getText(),v.document.languageId,v.mime,a.options?.transientOutputs?[]:[...v.outputs],v.metadata,v.executionSummary);h.metadata=kk(v.metadata,I=>!(a.options?.transientCellMetadata??{})[I]),d.cells.push(h)}if(await this._validateWriteFile(s,o),r.isCancellationRequested)throw new lt;let c=await a.serializer.serializeNotebook(d,r);if(r.isCancellationRequested)throw new lt;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:Dk({mtime:m.mtime,size:m.size})};return this.trace(`exit saveNotebook(versionId: ${n}, ${s.toString()})`),g}catch(l){if(l instanceof Fi)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 sr;await(async(m,g,v)=>{await Promise.all(m.map(async h=>await Promise.all(h.filenamePatterns.map(I=>{let S={_reason:v._reason,folderQueries:v.folderQueries,includePattern:v.includePattern,excludePattern:v.excludePattern,maxResults:v.maxResults,type:1,filePattern:I};return this._extHostSearch.doInternalFileSearchWithCustomCallback(S,g,w=>{w.forEach(P=>{a.has(P)||o.some(L=>h.isFromSettings&&!L.isFromSettings?!1:L.filenamePatterns.some($=>xV($,P)))||a.add(P)})}).catch(w=>{if(w.code==="ENOENT")return console.warn("Could not find notebook search results, ignoring notebook results."),{limitHit:!1,messages:[]};throw w})}))))})(n,r,e);let d=new Ne,c=!1,u=Array.from(a).map(async m=>{let g=[];try{if(r.isCancellationRequested)return;if(e.maxResults&&[...d.values()].reduce((S,w)=>S+w.cellResults.length,0)>e.maxResults){c=!0;return}let v=[],h=this._documents.get(m);if(h)h.apiNotebook.getCells().forEach(w=>v.push({input:w.document.getText(),outputs:w.outputs.flatMap(P=>P.items.map(O=>O.data.toString()))}));else{let S=await this._extHostFileSystem.value.readFile(m),w=te.fromString(S.toString()),P=await s.deserializeNotebook(w.buffer,r);if(r.isCancellationRequested)return;Gl.from(P).cells.forEach(L=>v.push({input:L.source,outputs:L.outputs.flatMap($=>$.items.map(V=>V.valueBytes.toString()))}))}if(r.isCancellationRequested)return;v.forEach((S,w)=>{let P=e.contentPattern.pattern,O=new NE(S.input,void 0,S.outputs),L=O.findInInputs(P),$=O.findInOutputs(P),V=$.flatMap(J=>VA(J.matches,J.textBuffer)).map((J,z)=>(J.webviewIndex=z,J));if(L.length>0||$.length>0){let J={index:w,contentResults:VA(L,O.inputTextBuffer),webviewResults:V};g.push(J)}});let I={resource:m,cellResults:g};d.set(m,I);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!==SL&&typeof n.mtime=="number"&&typeof n.size=="number"&&e.mtime<n.mtime&&e.etag!==Dk({mtime:e.mtime,size:n.size}))throw new Fi(p(3518,null),3,e)}_resourceForError(t){return t.scheme===q.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 tu(e,this._notebookEditorsProxy,t,n.visibleRanges.map(xr.to),n.selections.map(xr.to),typeof n.viewColumn=="number"?Ot.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 _E(this._notebookDocumentsProxy,this._textDocumentsAndEditors,this._textDocuments,r,o);n.push(...o.cells.map(a=>_g.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=Z.String.with("notebookType","A notebook type"),n=new Pe("vscode.executeDataToNotebook","_executeDataToNotebook","Invoke notebook serializer",[e,new Z("data","Bytes to convert to data",r=>r instanceof Uint8Array,r=>te.wrap(r))],new ke("Notebook Data",r=>Gl.to(r.value))),o=new Pe("vscode.executeNotebookToData","_executeNotebookToData","Invoke notebook serializer",[e,new Z("NotebookData","Notebook data to convert to bytes",r=>!0,r=>new Vt(Gl.from(r)))],new ke("Bytes",r=>r.buffer));t.registerApiCommand(n),t.registerApiCommand(o)}trace(t){this._logService.trace(`[Extension Host Notebook] ${t}`)}},eb=class extends Error{constructor(t){super(t),this.name="NotebookSaveError"}};var WE=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 Di}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:Wh.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 tr?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}=eo.from(l);a.edits=a.edits.concat(d)}return this._mainThreadBulkEdits.$tryApplyWorkspaceEdit(new Vt(a))}};var $E=class{constructor(t){this._notebooksAndEditors=t;this._onDidSaveNotebookDocument=new T;this.onDidSaveNotebookDocument=this._onDidSaveNotebookDocument.event;this._onDidChangeNotebookDocument=new T;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 Rg=class{constructor(t,e){this._logService=t;this._notebooksAndEditors=e;this._onDidChangeNotebookEditorSelection=new T;this._onDidChangeNotebookEditorVisibleRanges=new T;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(xr.to)),e.selections&&n._acceptSelections(e.selections.selections.map(xr.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(Ot.to(t[e]))}};Rg=D([C(0,se)],Rg);var clt=R("INotebookExecutionService");var SV=100;var mlt=R("INotebookKernelService"),glt=R("INotebookKernelHistoryService");var Mg=class{constructor(t,e,n,o,r){this._initData=e;this._extHostNotebook=n;this._commands=o;this._logService=r;this._activeExecutions=new Ne;this._activeNotebookExecutions=new Ne;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(N.MainThreadNotebookKernels);let s=new Pe("notebook.selectKernel","_notebook.selectKernel","Trigger kernel picker for specified notebook editor widget",[new Z("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 Pe("vscode.executeNotebookVariableProvider","_executeNotebookVariableProvider","Execute notebook variable provider",[Z.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 $ of this._kernelData.values())if($.controller.id===e&&xe.equals(t.identifier,$.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 T,m=new T,g={id:zE(t.identifier,e),notebookType:n,extensionId:t.identifier,extensionLocation:t.extensionLocation,label:o||t.identifier.value,preloads:s?s.map(SS.from):[]},v=r??d,h,I,S;this._proxy.$addKernel(a,g).catch($=>{console.log($),c=!0});let w=0,P=()=>{if(c)return;let $=++w;Promise.resolve().then(()=>{$===w&&this._proxy.$updateKernel(a,g)})},O=new Ne,L={get id(){return e},get notebookType(){return g.notebookType},onDidChangeSelectedNotebooks:u.event,get label(){return g.label},set label($){g.label=$??t.displayName??t.name,P()},get detail(){return g.detail??""},set detail($){g.detail=$,P()},get description(){return g.description??""},set description($){g.description=$,P()},get supportedLanguages(){return g.supportedLanguages},set supportedLanguages($){g.supportedLanguages=$,P()},get supportsExecutionOrder(){return g.supportsExecutionOrder??!1},set supportsExecutionOrder($){g.supportsExecutionOrder=$,P()},get rendererScripts(){return g.preloads?g.preloads.map(SS.to):[]},get executeHandler(){return v},set executeHandler($){v=$??d},get interruptHandler(){return h},set interruptHandler($){h=$,g.supportsInterrupt=!!$,P()},set variableProvider($){M(t,"notebookVariableProvider"),S?.dispose(),I=$,g.hasVariableProvider=!!$,S=$?.onDidChangeVariables(V=>l._proxy.$variablesUpdated(V.uri)),P()},get variableProvider(){return I},createNotebookCellExecution($){if(c)throw new Error("notebook controller is DISPOSED");if(!O.has($.notebook.uri))throw l._logService.trace(`NotebookController[${a}] NOT associated to notebook, associated to THESE notebooks:`,Array.from(O.keys()).map(V=>V.toString())),new Error(`notebook controller is NOT associated to notebook: ${$.notebook.uri.toString()}`);return l._createNotebookCellExecution($,zE(t.identifier,this.id))},createNotebookExecution($){if(M(t,"notebookExecution"),c)throw new Error("notebook controller is DISPOSED");if(!O.has($.uri))throw l._logService.trace(`NotebookController[${a}] NOT associated to notebook, associated to THESE notebooks:`,Array.from(O.keys()).map(V=>V.toString())),new Error(`notebook controller is NOT associated to notebook: ${$.uri.toString()}`);return l._createNotebookExecution($,zE(t.identifier,this.id))},dispose:()=>{c||(this._logService.trace(`NotebookController[${a}], DISPOSED`),c=!0,this._kernelData.delete(a),u.dispose(),m.dispose(),S?.dispose(),this._proxy.$removeKernel(a))},updateNotebookAffinity($,V){V===-1&&M(t,"notebookControllerAffinityHidden"),l._proxy.$updateNotebookPriority(a,$.uri,V)},onDidReceiveMessage:m.event,postMessage($,V){return M(t,"notebookMessaging"),l._proxy.$postMessage(a,V&&l._extHostNotebook.getIdByEditor(V),$)},asWebviewUri($){return M(t,"notebookMessaging"),ud($,l._initData.remote)}};return this._kernelData.set(a,{extensionId:t.identifier,controller:L,onDidReceiveMessage:m,onDidChangeSelection:u,associatedNotebooks:O}),L}getIdByController(t){for(let[e,n]of this._kernelData)if(n.controller===t)return zE(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 G;return(await n.provideNotebookKernelSourceActions(e)??[]).map(s=>LR.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 h of g){if(a.isCancellationRequested)return;let I={id:this.id++,name:h.variable.name,value:h.variable.value,type:h.variable.type,interfaces:h.variable.interfaces,language:h.variable.language,expression:h.variable.expression,hasNamedChildren:h.hasNamedChildren,indexedChildrenCount:h.indexedChildrenCount,extensionId:l.extensionId.value};if(this.variableStore[I.id]=h.variable,this._proxy.$receiveVariable(e,I),v++>=SV)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 WA(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 $A(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()}};Mg=D([C(4,se)],Mg);var WA=class i extends F{constructor(e,n,o){super();this._cell=n;this._proxy=o;this._handle=i.HANDLE++;this._onDidChangeState=this._register(new T);this.onDidChangeState=this._onDidChangeState.event;this._state=0;this._tokenSource=this._register(new Re);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 Vt(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=ji.ensureUniqueMimeTypes(n.items,!0);return o===n.items?ua.from(n):ua.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=ji.ensureUniqueMimeTypes(gn(e),!0),this.updateSoon({editType:2,items:e.map(Pc.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=s3(s);e._proxy.$completeExecution(e._handle,new Vt({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 s3(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 $A=class i extends F{constructor(e,n,o){super();this._notebook=n;this._proxy=o;this._handle=i.HANDLE++;this._onDidChangeState=this._register(new T);this.onDidChangeState=this._onDidChangeState.event;this._state=0;this._tokenSource=this._register(new Re);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 un,this.startedTimer=Date.now(),wn(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 zE(i,t){return`${i.value}/${t}`}var qE=class{constructor(t,e){this._extHostNotebook=e;this._rendererMessageEmitters=new Map;this.proxy=t.getProxy(N.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)=>{tu.apiEditorsToExtHost.has(o)&&([o,r]=[r,o]);let s=r&&tu.apiEditorsToExtHost.get(r);return this.proxy.$postMessage(s?.id,e,o)}}}getOrCreateEmitterFor(t){let e=this._rendererMessageEmitters.get(t);return e||(e=new T({onDidRemoveLastListener:()=>{e?.dispose(),this._rendererMessageEmitters.delete(t)}}),this._rendererMessageEmitters.set(t,e),e)}};var KE=class{constructor(t){this.handlers=new Map;this.proxy=t.getProxy(N.MainThreadProfileContentHandlers)}registerProfileContentHandler(t,e,n){if(M(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(_e(e)?e:y.revive(e),n)}};var qA=class{constructor(t,e,n,o){this.handle=t;this.proxy=e;this.documents=n;this.onDispose=o;this._onDidChange=new T;this.onDidChange=this._onDidChange.event}get diffInformation(){return this._diffInformation}$acceptDiffInformation(t){if(!t){this._diffInformation=void 0,this._onDidChange.fire();return}let e=this.documents,n=y.revive(t.original),o=y.revive(t.modified),r=t.changes.map(s=>{let[a,l,d,c]=s,u;return a===l?u=1:d===c?u=2:u=3,{original:{startLineNumber:a,endLineNumberExclusive:l},modified:{startLineNumber:d,endLineNumberExclusive:c},kind:u}});this._diffInformation=Object.freeze({documentVersion:t.documentVersion,original:n,modified:o,changes:r,get isStale(){return e.getDocumentData(o)?.document.version!==t.documentVersion}}),this._onDidChange.fire()}dispose(){this.proxy.$disposeSourceControlDiffInformation(this.handle),this._onDidChange.dispose(),this.onDispose(this.handle)}},GE=class i{constructor(t,e,n){this.documents=e;this.uriTransformer=n;this.providers=new Map;this.informations=new Map;this.proxy=t.getProxy(N.MainThreadQuickDiff)}static{this.handlePool=0}$provideOriginalResource(t,e,n){let o=y.revive(e),r=this.providers.get(t);return r?nn(()=>r.provideOriginalResource(o,n)).then(s=>s||null):Promise.resolve(null)}$acceptSourceControlDiffInformation(t,e){this.informations.get(t)?.$acceptDiffInformation(e)}registerQuickDiffProvider(t,e,n,o,r,s){let a=i.handlePool++;this.providers.set(a,n);let l=xe.toKey(t.identifier);return this.proxy.$registerQuickDiffProvider(a,gi.from(e,this.uriTransformer),`${l}.${o}`,r,s),{dispose:()=>{this.proxy.$unregisterQuickDiffProvider(a),this.providers.delete(a)}}}createSourceControlDiffInformation(t){let e=i.handlePool++,n=new qA(e,this.proxy,this.documents,o=>this.informations.delete(o));return this.informations.set(e,n),this.proxy.$createSourceControlDiffInformation(e,t),n}};var KA=class{constructor(t,e,n){this.handle=t;this.proxy=e;this.onDispose=n;this._onDidChange=new T;this.onDidChange=this._onDidChange.event;this._comments=[]}get comments(){return this._comments}$acceptComments(t){this._comments=t.map(e=>Object.freeze({id:e.id,range:B.to(e.range),body:e.body,author:e.author})),this._onDidChange.fire()}addComment(t,e){this.proxy.$addComment(this.handle,B.from(t),e)}dispose(){this.proxy.$disposeAgentEditorComments(this.handle),this._onDidChange.dispose(),this.onDispose(this.handle)}},jE=class i{constructor(t){this.providers=new Map;this.proxy=t.getProxy(N.MainThreadAgentEditorComments)}static{this.handlePool=0}createAgentEditorComments(t){let e=i.handlePool++,n=new KA(e,this.proxy,o=>this.providers.delete(o));return this.providers.set(e,n),this.proxy.$createAgentEditorComments(e,t),n}$acceptAgentEditorComments(t,e){this.providers.get(t)?.$acceptComments(e)}};function CV(i,t,e){let n=i.getProxy(N.MainThreadQuickOpen);class o{constructor(d,c){this._sessions=new Map;this._instances=0;this._workspace=d,this._commands=c}showQuickPick(d,c,u,m=be.None){this._onDidSelectItem=void 0;let g=Promise.resolve(c),v=++this._instances,h=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),I={},S=h.then(()=>I);return Promise.race([S,g]).then(w=>{if(w!==I)return g.then(P=>{let O=[];for(let L=0;L<P.length;L++){let $=P[L];typeof $=="string"?O.push({label:$,handle:L}):$.kind===-1?O.push({type:"separator",label:$.label}):($.tooltip&&M(d,"quickPickItemTooltip"),O.push({label:$.label,iconPathDto:fi.from($.iconPath),description:$.description,detail:$.detail,picked:$.picked,alwaysShow:$.alwaysShow,tooltip:ge.fromStrict($.tooltip),resourceUri:$.resourceUri,handle:L}))}return u&&typeof u.onDidSelectItem=="function"&&(this._onDidSelectItem=L=>{u.onDidSelectItem(P[L])}),n.$setItems(v,O),h.then(L=>{if(typeof L=="number")return P[L];if(Array.isArray(L))return L.map($=>P[$])})})}).then(void 0,w=>{if(!Cn(w))return n.$setError(v,w),Promise.reject(w)})}$onItemSelected(d){this._onDidSelectItem?.(d)}showInput(d,c=be.None){return this._validateInput=d?.validateInput,n.$input(d,typeof this._validateInput=="function",c).then(void 0,u=>{if(!Cn(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=Ge.Info;break;case 2:u=Ge.Warning;break;case 3:u=Ge.Error;break;default:u=c.message?Ge.Error:Ge.Ignore;break}return{content:c.message,severity:u}}async showWorkspaceFolderPick(d,c=be.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 T;this._onDidChangeValueEmitter=new T;this._onDidTriggerButtonEmitter=new T;this._onDidHideEmitter=new T;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===Qi.Back?-1:u;this._handlesToButtons.set(m,c)}),this.update({buttons:d.map((c,u)=>({iconPathDto:fi.from(c.iconPath),tooltip:c.tooltip,handle:c===Qi.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 T;this._selectedItems=[];this._onDidChangeSelectionEmitter=new T;this._onDidTriggerItemButtonEmitter=new T;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&&M(this._extension,"quickPickItemTooltip"),u.push({handle:m,label:g.label,iconPathDto:fi.from(g.iconPath),description:g.description,detail:g.detail,picked:g.picked,alwaysShow:g.alwaysShow,tooltip:ge.fromStrict(g.tooltip),resourceUri:g.resourceUri,buttons:g.buttons?.map((v,h)=>({iconPathDto:fi.from(v.iconPath),tooltip:v.tooltip,handle:h,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=dt(c.map(m=>this._handlesToItems.get(m)));this._activeItems=u,this._onDidChangeActiveEmitter.fire(u)}_fireDidChangeSelection(c){let u=dt(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:Ge.Error}):this.update({validationMessage:c.message,severity:c.severity??Ge.Error}):this.update({validationMessage:void 0,severity:Ge.Ignore})}}return new o(t,e)}var TV=new yt(()=>{let i=wm.Collator(void 0,{numeric:!0,sensitivity:"base"}).value;return{collator:i,collatorIsNumeric:i.resolvedOptions().numeric}}),Xdt=new yt(()=>({collator:wm.Collator(void 0,{numeric:!0}).value})),Zdt=new yt(()=>({collator:wm.Collator(void 0,{numeric:!0,sensitivity:"accent"}).value}));function a3(i,t,e=!1){let n=i||"",o=t||"",r=TV.value.collator.compare(n,o);return TV.value.collatorIsNumeric&&r===0&&n!==o?n<o?-1:1:r}function l3(i,t,e=!1){return e||(i=i&&i.toLowerCase(),t=t&&t.toLowerCase()),i===t?0:i<t?-1:1}function tb(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 a3(n[d],o[d],e);if(a)return-1;if(l)return 1;let c=l3(n[d],o[d],e);if(c!==0)return c}}function EV(i){return i instanceof y}function d3(i,t){return i.scheme===q.file&&t.scheme===q.file&&qn?i.toString()===t.toString():i.toString().toLowerCase()===t.toString().toLowerCase()}function GA(i){if(i)return typeof i.iconPath=="string"?y.file(i.iconPath):y.isUri(i.iconPath)||Qe.isThemeIcon(i.iconPath)?i.iconPath:void 0}function hs(i){if(i){if(y.isUri(i))return i;if(Qe.isThemeIcon(i))return i;{let t=i;return{light:t.light,dark:t.dark}}}else return}function wV(i){let t=hs(i.authorIcon),e=Array.isArray(i.tooltip)?ge.fromMany(i.tooltip):i.tooltip?ge.from(i.tooltip):void 0,n=i.references?.map(o=>({...o,icon:hs(o.icon)}));return{...i,authorIcon:t,references:n,tooltip:e}}function jA(i){return i?{...i,icon:hs(i.icon)}:void 0}function QA(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 tb(e,n)}function c3(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=QA(i,t),e!==0)return e;if(i.light&&t.light)e=QA(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=QA(i.dark,t.dark);else{if(i.dark)return 1;if(t.dark)return-1}return e}function u3(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&&!(EV(n)&&EV(o)&&d3(n,o)))return n<o?-1:1}return 0}function kV(i,t){let e=tb(i.resourceUri.fsPath,t.resourceUri.fsPath,!0);if(e!==0)return e;if(i.command&&t.command)e=u3(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=c3(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=tb(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=tb(i.multiDiffEditorOriginalUri.fsPath,t.multiDiffEditorOriginalUri.fsPath,!0);else{if(i.multiDiffEditorOriginalUri)return 1;if(t.multiDiffEditorOriginalUri)return-1}return e}function p3(i,t){for(let e=0;e<i.length;e++)if(i[e]!==t[e])return!1;return!0}function m3(i,t){return i.command===t.command&&i.title===t.title&&i.tooltip===t.tooltip&&(i.arguments&&t.arguments?p3(i.arguments,t.arguments):i.arguments===t.arguments)}function g3(i,t){return Jt(i,t,m3)}var JA=class{constructor(t,e,n,o,r){this._extension=t;this._sourceControlHandle=o;this._documentUri=r;this._value="";this._onDidChange=new T;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 M(this._extension,"scmValidation"),this._validateInput}set validateInput(t){if(M(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 M(this._extension,"scmTextDocument"),this.#t.getDocument(this._documentUri)}showValidationMessage(t,e){M(this._extension,"scmValidation"),this.#e.$showValidationMessage(this._sourceControlHandle,t,YR.from(e))}$onInputBoxValueChange(t){this.updateValue(t)}updateValue(t){this._value=t,this._onDidChange.fire(t)}},YA=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 T;this.onDidUpdateResourceStates=this._onDidUpdateResourceStates.event;this._disposed=!1;this._onDidDispose=new T;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?nn(()=>this._commands.executeCommand(n.command,...n.arguments||[],e)):Promise.resolve(void 0)}_takeResourceStateSnapshot(){let t=[...this._resourceStates].sort(kV),n=pw(this._resourceSnapshot,t,kV).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 J=new G;u=this._commands.converter.toInternal(l.command,J),this._resourceStatesDisposablesMap.set(d,J)}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,h=GA(l.decorations),I=l.decorations&&GA(l.decorations.light)||h,S=l.decorations&&GA(l.decorations.dark)||h,w=[I,S],P=l.decorations&&l.decorations.tooltip||"",O=l.decorations&&!!l.decorations.strikeThrough,L=l.decorations&&!!l.decorations.faded,$=l.contextValue||"";return{rawResource:[d,c,w,P,O,L,$,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()}},nb=class nb{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 T;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 dn;this._artifactProviderDisposable=new dn;this._commitTemplate=void 0;this._acceptInputDisposables=new dn;this._acceptInputCommand=void 0;this._actionButtonDisposables=new G;this._statusBarDisposables=new G;this._statusBarCommands=void 0;this._selected=!1;this._onDidChangeSelection=new T;this.onDidChangeSelection=this._onDidChangeSelection.event;this._artifactCommandsDisposables=new Tn;this.handle=nb._handlePool++;this.createdResourceGroups=new Map;this.updatedResourceGroups=new Set;this.#e=n;let u=y.from({scheme:q.vscodeSourceControl,path:`${r}/scm${this.handle}/input`,query:a?`rootUri=${encodeURIComponent(a.toString())}`:void 0});this._inputBox=new JA(t,e,this.#e,this.handle,u),this.#e.$registerSourceControl(this.handle,c?.handle,r,s,a,hs(l),d,u),this.onDidDisposeParent=c?c.onDidDispose:Ae.None}static{this._handlePool=0}#e;get id(){return this._id}get label(){return this._label}get rootUri(){return this._rootUri}get contextValue(){return M(this._extension,"scmProviderOptions"),this._contextValue}set contextValue(t){M(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 M(this._extension,"quickDiffProvider"),this._secondaryQuickDiffProvider}set secondaryQuickDiffProvider(t){M(this._extension,"quickDiffProvider"),this._secondaryQuickDiffProvider=t;let e=t?.label;this.#e.$updateSourceControl(this.handle,{hasSecondaryQuickDiffProvider:!!t,secondaryQuickDiffLabel:e})}get historyProvider(){return M(this._extension,"scmHistoryProvider"),this._historyProvider}set historyProvider(t){M(this._extension,"scmHistoryProvider"),this._historyProvider=t,this._historyProviderDisposable.value=new G,this.#e.$updateSourceControl(this.handle,{hasHistoryProvider:!!t}),t&&(this._historyProviderDisposable.value.add(t.onDidChangeCurrentHistoryItemRefs(()=>{let e=jA(t?.currentHistoryItemRef),n=jA(t?.currentHistoryItemRemoteRef),o=jA(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:hs(s.icon)})),o=e.modified.map(s=>({...s,icon:hs(s.icon)})),r=e.removed.map(s=>({...s,icon:hs(s.icon)}));this.#e.$onDidChangeHistoryProviderHistoryItemRefs(this.handle,{added:n,modified:o,removed:r,silent:e.silent})})))}get artifactProvider(){return M(this._extension,"scmArtifactProvider"),this._artifactProvider}set artifactProvider(t){M(this._extension,"scmArtifactProvider"),this._artifactProvider=t,this._artifactProviderDisposable.value=new G,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 G,this._acceptInputCommand=t;let e=this._commands.converter.toInternal(t,this._acceptInputDisposables.value);this.#e.$updateSourceControl(this.handle,{acceptInputCommand:e})}get actionButton(){return M(this._extension,"scmActionButton"),this._actionButton}set actionButton(t){if(M(this._extension,"scmActionButton"),Vu(this._actionButton,t))return;let e=this._actionButtonDisposables;this._actionButtonDisposables=new G,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&&g3(this._statusBarCommands,t))return;let e=this._statusBarDisposables;this._statusBarDisposables=new G,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 YA(this.#e,this._commands,this.handle,t,e,o,this._extension),s=Ae.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()});Ae.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 G,r=(await this.artifactProvider?.provideArtifacts(t,e))?.map(s=>({...s,icon:hs(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()}};D([pv(100)],nb.prototype,"eventuallyAddResourceGroups",1),D([pv(100)],nb.prototype,"eventuallyUpdateResourceStates",1);var XA=nb,Ag=class{constructor(t,e,n,o){this._commands=e;this._extHostDocuments=n;this.logService=o;this._sourceControls=new Map;this._sourceControlsByExtension=new Yn;this._onDidChangeActiveProvider=new T;this._proxy=t.getProxy(N.MainThreadSCM),this._telemetry=t.getProxy(N.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?It.find(this._sourceControls.values(),u=>u===a):void 0,d=new XA(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),Ae.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):nn(()=>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):nn(()=>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):nn(()=>o.inputBox.validateInput(e,n)).then(r=>{if(!r)return Promise.resolve(void 0);let s=ge.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?wV(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:hs(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=>wV(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:hs(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}}};Ag=D([C(3,se)],Ag);var QE=class i{constructor(t,e){this.uriTransformer=e;this.providers=new Map;this.proxy=t.getProxy(N.MainThreadShare)}static{this.handlePool=0}async $provideShare(t,e,n){return await this.providers.get(t)?.provideShare({selection:B.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,gi.from(t,this.uriTransformer),e.id,e.label,e.priority),{dispose:()=>{this.proxy.$unregisterShareProvider(n),this.providers.delete(n)}}}};var JE=class i{constructor(t){this.providers=new Map;this.sessions=new Map;this.synthesizers=new Map;this.proxy=t.getProxy(N.MainThreadSpeech)}static{this.ID_POOL=1}async $createSpeechToTextSession(t,e,n){let o=this.providers.get(t);if(!o)return;let r=new G,s=new Re;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 G,s=new Re;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 G,r=new Re;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 ZA=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 ln(de.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=Ve();await this._proxy.$startCDPSession(t,this.id);let e=new e0(t,this._proxy);return this._sessions.set(t,e),e.value}async _close(){await this._proxy.$closeBrowserTab(this.id)}},e0=class{constructor(t,e){this.id=t;this._proxy=e;this._onDidReceiveMessage=new T;this._onDidClose=new T;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()}},YE=class extends F{constructor(e){super();this._browserTabs=new Map;this._sessions=this._register(new Tn);this._onDidOpenBrowserTab=this._register(new T);this.onDidOpenBrowserTab=this._onDidOpenBrowserTab.event;this._onDidCloseBrowserTab=this._register(new T);this.onDidCloseBrowserTab=this._onDidCloseBrowserTab.event;this._onDidChangeActiveBrowserTab=this._register(new T);this.onDidChangeActiveBrowserTab=this._onDidChangeActiveBrowserTab.event;this._onDidChangeBrowserTabState=this._register(new T);this.onDidChangeBrowserTabState=this._onDidChangeBrowserTabState.event;this._proxy=e.getProxy(N.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=Ot.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 ZA(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 t0=class i{constructor(t,e,n,o,r,s=1,a,l){this._onDispose=l;this._disposed=!1;this._text="";this._staleCommandRegistrations=new G;if(this.#e=t,this.#t=e,r&&o){this._entryId=VF(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 Gs("statusBarItem.errorForeground")],["statusBarItem.warningBackground",new Gs("statusBarItem.warningForeground")]])}#e;#t;validatePriority(t){if(ar(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&&M(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&&M(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 G,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(3519,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=ge.fromStrict(this._tooltip),r=!0):(o=ge.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}},n0=class{constructor(t){this._messages=[];this._item=t.createStatusBarEntry(void 0,"status.extensionMessage",1,Number.MIN_VALUE),this._item.name=p(3520,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()}},XE=class{constructor(t,e){this._entries=new Map;this._existingItems=new Map;this._proxy=t.getProxy(N.MainThreadStatusBar),this._commands=e,this._statusMessage=new n0(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:ge.fromStrict(o)}createStatusBarEntry(t,e,n,o){let r=new t0(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 ZE=class extends F{constructor(e,n){super();this._extHostDocumentsAndEditors=n;this._onDidChangeTextEditorSelection=this._register(new T);this._onDidChangeTextEditorOptions=this._register(new T);this._onDidChangeTextEditorVisibleRanges=this._register(new T);this._onDidChangeTextEditorViewColumn=this._register(new T);this._onDidChangeTextEditorDiffInformation=this._register(new T);this._onDidChangeActiveTextEditor=this._register(new T);this._onDidChangeVisibleTextEditors=this._register(new T);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(N.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:Ot.from(n),preserveFocus:o}:typeof n=="object"?r={position:Ot.from(n.viewColumn),preserveFocus:n.preserveFocus,selection:typeof n.selection=="object"?B.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 CC(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(go.to);o._acceptSelections(r)}if(n.visibleRanges){let r=dt(n.visibleRanges.map(B.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=Cc.fromValue(n.selections.source),s=n.selections.selections.map(go.to);this._onDidChangeTextEditorSelection.fire({textEditor:o.value,selections:s,kind:r})}if(n.visibleRanges){let r=dt(n.visibleRanges.map(B.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=Ot.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,h]=u,I;return m===g?I=1:v===h?I=2:I=3,{original:{startLineNumber:m,endLineNumberExclusive:g},modified:{startLineNumber:v,endLineNumberExclusive:h},kind:I}});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 Og=class{constructor(t){this._actual=new dc(2),this._onDidChangeActiveColorTheme=new T}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 dc(e),this._onDidChangeActiveColorTheme.fire(this._actual)}get onDidChangeActiveColorTheme(){return this._onDidChangeActiveColorTheme.event}};Og=D([C(0,fe)],Og);var dpt=R("IExtHostTimeline"),ew=class{constructor(t,e){this._providers=new Map;this._itemsBySourceAndUriMap=new Map;this._proxy=t.getProxy(N.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(PV(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 G,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=PV(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 ln?g={id:l.id,color:l.color}:y.isUri(l)?(u=l,m=l):{light:u,dark:m}=l);let v;return Bt.isMarkdownString(d.tooltip)?v=ge.from(d.tooltip):_e(d.tooltip)?v=d.tooltip:Bt.isMarkdownString(d.detail)?(console.warn("Using deprecated TimelineItem.detail, migrate to TimelineItem.tooltip"),v=ge.from(d.detail)):_e(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 PV(i){return i?.toString()}var Spt=p(5139,null),Cpt=Bs("default-view-icon",de.window,p(5136,null)),i0;(e=>(e.ViewContainersRegistry="workbench.registry.view.containers",e.ViewsRegistry="workbench.registry.view"))(i0||={});var o0=class extends F{constructor(){super(...arguments);this._onDidRegister=this._register(new T);this.onDidRegister=this._onDidRegister.event;this._onDidDeregister=this._register(new T);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},bw(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)}};bt.add(i0.ViewContainersRegistry,new o0);function f3(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 r0=class extends F{constructor(){super(...arguments);this._onViewsRegistered=this._register(new T);this.onViewsRegistered=this._onViewsRegistered.event;this._onViewsDeregistered=this._register(new T);this.onViewsDeregistered=this._onViewsDeregistered.event;this._onDidChangeContainer=this._register(new T);this.onDidChangeContainer=this._onDidChangeContainer.event;this._onDidChangeViewWelcomeContent=this._register(new T);this.onDidChangeViewWelcomeContent=this._onDidChangeViewWelcomeContent.event;this._viewContainers=[];this._views=new Map;this._viewWelcomeContents=new au}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(f3)}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(5137,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}};bt.add(i0.ViewsRegistry,new r0);var Tpt=R("viewDescriptorService");var qr=class extends Error{constructor(e){super(p(5138,null,e));this.name="NoTreeViewError"}static is(e){return!!e&&e.name==="NoTreeViewError"}};var tw=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 _V(i,t){if(_e(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),_e(i.label))return{label:i.label,highlights:e};if(Bt.isMarkdownString(i.label))return M(t,"treeItemMarkdownLabel"),{label:ge.from(i.label),highlights:e}}}var nw=class extends F{constructor(e,n,o){super();this._proxy=e;this._commands=n;this._logService=o;this._treeViews=new Map;this._treeDragAndDropService=new tw;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 M(o,"treeViewActiveItem"),d.focusedElement},get onDidChangeActiveItem(){return M(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){wo(g)&&M(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&&UD.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 qr(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 qr(e));let u=Ac.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 qr(e));let a=await this._addAdditionalTransferItems(new Nr,s,n,r,o);if(!(!a||r.isCancellationRequested))return Ac.from(a)}async $hasResolve(e){let n=this._treeViews.get(e);if(!n)throw new qr(e);return n.hasResolve}$resolve(e,n,o){let r=this._treeViews.get(e);if(!r)throw new qr(e);return r.resolveTreeItem(n,o)}$setExpanded(e,n,o){let r=this._treeViews.get(e);if(!r)throw new qr(e);r.setExpanded(n,o)}$setSelectionAndFocus(e,n,o){let r=this._treeViews.get(e);if(!r)throw new qr(e);r.setSelectionAndFocus(n,o)}$setVisible(e,n){let o=this._treeViews.get(e);if(!o){if(!n)return;throw new qr(e)}o.setVisible(n)}$changeCheckboxState(e,n){let o=this._treeViews.get(e);if(!o)throw new qr(e);o.setCheckboxState(n)}_createExtHostTreeView(e,n,o){let r=this._register(new s0(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}},s0=class i extends F{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 T);this.onDidExpandElement=this._onDidExpandElement.event;this._onDidCollapseElement=this._register(new T);this.onDidCollapseElement=this._onDidCollapseElement.event;this._onDidChangeSelection=this._register(new T);this.onDidChangeSelection=this._onDidChangeSelection.event;this._onDidChangeActiveItem=this._register(new T);this.onDidChangeActiveItem=this._onDidChangeActiveItem.event;this._onDidChangeVisibility=this._register(new T);this.onDidChangeVisibility=this._onDidChangeVisibility.event;this._onDidChangeCheckboxState=this._register(new T);this.onDidChangeCheckboxState=this._onDidChangeCheckboxState.event;this._onDidChangeData=this._register(new T);this._refreshPromise=Promise.resolve();this._refreshQueue=Promise.resolve();this._nodesToClear=new Set;this._message="";this._title="";this._refreshCancellationSource=new Re;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=Ae.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=Bo(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(h=>{let I=h instanceof Error?h.message:JSON.stringify(h);return this._debugLogRefresh("error",m,v),this._clearNodes(v),this._logService.error(`Unable to refresh tree view ${this._viewId}: ${I}`),g()})})),u&&this._proxy.$setMessage(this._viewId,ge.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=>!Nt(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=Nt(n.select)?!0:n.select,r=Nt(n.focus)?!1:n.focus,s=Nt(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=Gh.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=!Jt(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 nn(()=>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):nn(()=>this._dataProvider.getParent(e))}async _resolveTreeNode(e,n){let o=this._nodes.get(e);if(o)return o;let r=await nn(()=>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 Re(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=dt(s||[]),d=await Promise.all(dt(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:dt(c)}finally{r.dispose()}}_refresh(e){if(e.some(o=>!o))return this._refreshCancellationSource.dispose(!0),this._refreshCancellationSource=new Re,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),nn(()=>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 Bt.isMarkdownString(e)?ge.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 G),s=this._createHandle(e,n,o),a=this._getLightIconPath(n);return{item:{handle:s,parentHandle:o?o.item.handle:void 0,label:_V(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:Nt(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 ln?e.iconPath:void 0}_createHandle(e,{id:n,label:o,resourceUri:r},s,a){if(n)return`${i.ID_HANDLE_PREFIX}/${n}`;let l=_V(o,this._extension),d=s?s.item.handle:i.LABEL_HANDLE_PREFIX,c="";l&&(wo(l.label)?c=l.label.value:c=l.label);let u=c||(r?ot(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,h=0;do{if(v=`${d}/${h}:${u}`,a||!this._elements.has(v)||m===v)break;h++}while(h<=g.length);return v}_getLightIconPath(e){if(e.iconPath&&!(e.iconPath instanceof ln))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 ln)&&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 ow=class i{constructor(t){this._openers=new Map;this._proxy=t.getProxy(N.MainThreadUriOpeners)}static{this.supportedSchemes=new Set([q.http,q.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 a0=class extends F{constructor(e,n,o,r){super();this.#a=void 0;this.#d=!0;this.#i=!1;this.#u=this._register(new T);this.onDidDispose=this.#u.event;this.#p=this._register(new T);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:Ot.from(e),preserveFocus:!!n})}assertNotDisposed(){if(this.#i)throw new Error("Webview is disposed")}},rw=class i extends F{constructor(e,n,o){super();this.webviews=n;this.workspace=o;this._webviewPanels=new Map;this._serializers=new Map;this._proxy=e.getProxy(N.MainThreadWebviewPanels)}static newHandle(){return Ve()}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:Ot.from(a),preserveFocus:typeof r=="object"&&!!r.preserveFocus},d=Sa(e),c=i.newHandle();this._proxy.$createWebviewPanel(Gc(e),c,n,{title:o,panelOptions:h3(s),webviewOptions:Q1(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:Ot.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:Sa(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 a0(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 h3(i){return{enableFindWidget:i.enableFindWidget,retainContextWhenHidden:i.retainContextWhenHidden}}var l0=class extends F{constructor(e,n,o,r,s,a){super();this.#s=!1;this.#c=this._register(new T);this.onDidChangeVisibility=this.#c.event;this.#i=this._register(new T);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=Gh.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")}},iw=class{constructor(t,e){this._extHostWebview=e;this._viewProviders=new Map;this._webviewViews=new Map;this._proxy=t.getProxy(N.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(Gc(t),e,{retainContextWhenHidden:o?.retainContextWhenHidden,serializeBuffersForPostMessage:Sa(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 l0(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 Lg=class extends F{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(N.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?ge.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?ge.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 G;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 G;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 G;return this._providers.set(r,{type:"resource",provider:o,disposables:s}),this._proxy.$registerChatResourceContextProvider(r,n,gi.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?ge.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?ge.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?.(be.None)??await n.provideChatContext?.(be.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()}};Lg=D([C(0,fe),C(1,rr)],Lg);var Ng=class extends F{constructor(e){super();this._nextHandle=0;this._activeProgress=new Map;this._onDidAddCoreEvent=this._register(new T({onWillAddFirstListener:()=>this._proxy.$subscribeToCoreDebugEvents(),onDidRemoveLastListener:()=>this._proxy.$unsubscribeFromCoreDebugEvents()}));this.onDidAddCoreEvent=this._onDidAddCoreEvent.event;this._proxy=e.getProxy(N.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 G;this._activeProgress.set(r,s);let a=s.add(new T);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 _p(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 Dp(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 Rp(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 Ap(e.message,n);return r.id=e.id,r.sessionResource=o,r.parentEventId=e.parentEventId,r.sections=e.sections.map(s=>new Ic(s.name,s.content)),r}case"agentResponse":{let r=new Op(e.message,n);return r.id=e.id,r.sessionResource=o,r.parentEventId=e.parentEventId,r.sections=e.sections.map(s=>new Ic(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()}};Ng=D([C(0,fe)],Ng);function DV(i){let t=i.get(rt),e=i.get(Dr),n=i.get(Xl),o=i.get(Mo),r=i.get(to),s=i.get(ed),a=i.get(Ro),l=i.get(Ya),d=i.get(fe),c=i.get(dm),u=i.get(um),m=i.get(ur),g=i.get(se),v=i.get(mm),h=i.get(ya),I=i.get(Vc),S=i.get(UC),w=i.get(Bc),P=i.get(Dm),O=i.get(Ia),L=i.get(Om),$=i.get(HC),V=i.get(Wc),J=i.get(Tm),z=i.get(Em),j=i.get(Ev),Y=i.get(KC),ue=i.get(jC),Je=i.get(JC);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,I),d.set(me.ExtHostPower,S),d.set(me.ExtHostUrls,w),d.set(me.ExtHostSecretState,P),d.set(me.ExtHostTelemetry,s),d.set(me.ExtHostEditorTabs,O),d.set(me.ExtHostManagedSockets,L),d.set(me.ExtHostBrowserTunnelProxy,$),d.set(me.ExtHostProgress,V),d.set(me.ExtHostAuthentication,J),d.set(me.ExtHostChatProvider,z),d.set(me.ExtHostDataChannels,Y),d.set(me.ExtHostMeteredConnection,ue),d.set(me.ExtHostGitExtension,Je);let it=d.set(me.ExtHostDecorations,i.get(yC)),re=d.set(me.ExtHostDocumentsAndEditors,i.get(vi)),Q=d.set(me.ExtHostCommands,i.get(rr)),ee=d.set(me.ExtHostTerminalService,i.get(hi)),ae=d.set(me.ExtHostTerminalShellIntegration,i.get(WC)),ne=d.set(me.ExtHostDebugService,i.get(AC)),oe=d.set(me.ExtHostSearch,i.get(NC)),le=d.set(me.ExtHostTask,i.get(kC)),Ye=d.set(me.ExtHostOutputService,i.get(bC)),Be=d.set(me.ExtHostLocalization,i.get(Mm)),Oe=d.set(me.ExtHostDocuments,new IT(d,re)),kt=d.set(me.ExtHostDocumentContentProviders,new bT(d,re,g)),Lt=d.set(me.ExtHostDocumentSaveParticipant,new yT(g,Oe,d.getProxy(N.MainThreadBulkEdits))),st=d.set(me.ExtHostNotebook,new BE(d,Q,re,Oe,n,oe,g)),vo=d.set(me.ExtHostNotebookDocuments,new $E(st)),vs=d.set(me.ExtHostNotebookEditors,new Rg(g,st)),Ci=d.set(me.ExtHostNotebookKernels,new Mg(d,t,st,Q,g)),Kr=d.set(me.ExtHostNotebookRenderers,new qE(d,st)),Me=d.set(me.ExtHostNotebookDocumentSaveParticipant,new WE(g,st,d.getProxy(N.MainThreadBulkEdits))),$e=d.set(me.ExtHostEditors,new ZE(d,re)),nu=d.set(me.ExtHostTreeViews,new nw(d.getProxy(N.MainThreadTreeViews),Q,g)),bs=d.set(me.ExtHostEditorInsets,new cT(d.getProxy(N.MainThreadEditorInsets),$e,t.remote)),bo=d.set(me.ExtHostDiagnostics,new zr(d,g,e,re)),Sr=d.set(me.ExtHostLanguages,new PE(d,Oe,Q.converter,l)),Ke=d.set(me.ExtHostLanguageFeatures,new qT(d,l,Oe,Q,bo,g,h,s)),ou=d.set(me.ExtHostCodeMapper,new uT(d)),Vg=d.set(me.ExtHostFileSystem,new TT(d,Ke)),Cr=d.set(me.ExtHostFileSystemEventService,new ET(d,g,re)),Ti=d.set(me.ExtHostQuickOpen,CV(d,r,Q)),Ta=d.set(me.ExtHostSCM,new Ag(d,Q,Oe,g)),yo=d.set(me.ExtHostQuickDiff,new GE(d,Oe,l)),Ea=d.set(me.ExtHostAgentEditorComments,new jE(d)),Xt=d.set(me.ExtHostShare,new QE(d,l)),$n=d.set(me.ExtHostComments,CH(d,Q,Oe)),rb=d.set(me.ExtHostLabelService,new kT(d)),Bg=d.set(me.ExtHostTheming,new Og(d)),gd=d.set(me.ExtHostTimeline,new ew(d,Q)),ys=d.set(me.ExtHostWebviews,new mT(d,t.remote,r,g,h)),A=d.set(me.ExtHostWebviewPanels,new rw(d,ys,r)),W=d.set(me.ExtHostCustomEditors,new fT(d,Oe,u,ys,A)),K=d.set(me.ExtHostWebviewViews,new iw(d,ys)),Ce=d.set(me.ExtHostTesting,i.get(zc)),Fe=d.set(me.ExtHostUriOpeners,new ow(d)),In=d.set(me.ExtHostProfileContentHandlers,new KE(d)),St=d.set(me.ExtHostChatOutputRenderer,new rT(d,ys));d.set(me.ExtHostInteractive,new wT(d,st,re,Q,g));let xn=d.set(me.ExtHostLanguageModelTools,new kE(d,z)),Kt=d.set(me.ExtHostChatSessions,new og(Q,z,d,g)),je=d.set(me.ExtHostChatAgents2,new nT(d,g,Q,Oe,re,z,bo,xn,Kt)),Io=d.set(me.ExtHostChatContext,new Lg(d,Q)),Zt=d.set(me.ExtHostChatDebug,new Ng(d)),Sn=d.set(me.ExtHostAiRelatedInformation,new XC(d)),oo=d.set(me.ExtHostAiEmbeddingVector,new ST(d)),Ho=d.set(me.ExtHostAiSettingsSearch,new ZC(d)),We=d.set(me.ExtHostStatusBar,new XE(d,Q.converter)),tt=d.set(me.ExtHostSpeech,new JE(d)),Pt=d.set(me.ExtHostEmbeddings,new xT(d)),At=d.set(me.ExtHostBrowsers,new YE(d)),Dn=d.set(me.ExtHostChatQuota,new aT(d));d.set(me.ExtHostMcp,i.get(Ev));let Wg=Object.values(me);d.assertRegistered(Wg);let wa=new tg(d,re),ka=new dT(d),ib=new Pg(d,g),aw=new vT(d),p0=new sT(d),m0=new lT(d);return tT.register(Q),function(k,Is,sb){function ce(b){return(x,_,Se)=>{let at=b(Gt=>{try{x.call(_,Gt)}catch(h0){vd(new vu(k.identifier,h0,"FAILED to handle event"))}});return Se?.push(at),at}}let _t=(function(){let b=!k.isUnderDevelopment;function x(){b||(g.info(`Extension '${k.identifier.value}' uses a document selector without scheme. Learn more about this: https://go.microsoft.com/fwlink/?linkid=872305`),b=!0)}return function _(Se){if(Array.isArray(Se))Se.forEach(_);else if(typeof Se=="string")x();else{let at=Se;typeof at.scheme>"u"&&x(),typeof at.exclusive=="boolean"&&M(k,"documentFiltersExclusive")}return Se}})(),ie={getSession(b,x,_){return(typeof _?.forceNewSession=="object"&&_.forceNewSession.learnMore||typeof _?.createIfNone=="object"&&_.createIfNone.learnMore)&&M(k,"authLearnMore"),_?.authorizationServer&&M(k,"authIssuers"),J.getSession(k,b,x,_)},getAccounts(b){return J.getAccounts(b)},async hasSession(b,x){return M(k,"authSession"),!!await J.getSession(k,b,x,{silent:!0})},get onDidChangeSessions(){return ce(J.getExtensionScopedSessionsEvent(k.identifier.value))},registerAuthenticationProvider(b,x,_,Se){return Se?.supportedAuthorizationServers&&M(k,"authIssuers"),J.registerAuthenticationProvider(b,x,_,Se)}},UV={registerCommand(b,x,_){return Q.registerCommand(!0,b,x,_,void 0,k)},registerTextEditorCommand(b,x,_){return Q.registerCommand(!0,b,(...Se)=>{let at=$e.getActiveTextEditor();if(!at){g.warn("Cannot execute "+b+" because there is no active text editor.");return}return at.edit(Gt=>{x.apply(_,[at,Gt,...Se])}).then(Gt=>{Gt||g.warn("Edits from command "+b+" were not applied.")},Gt=>{g.warn("An error occurred while running command "+b,Gt)})},void 0,void 0,k)},registerDiffInformationCommand:(b,x,_)=>(M(k,"diffCommand"),Q.registerCommand(!0,b,async(...Se)=>{let at=re.activeEditor(!0);if(!at){g.warn("Cannot execute "+b+" because there is no active text editor.");return}let Gt=await $e.getDiffInformation(at.id);x.apply(_,[Gt,...Se])},void 0,void 0,k)),executeCommand(b,...x){return Q.executeCommand(b,...x)},getCommands(b=!1){return Q.getCommands(b)}},g0={get machineId(){return t.telemetryInfo.machineId},get devDeviceId(){return M(k,"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 ka.value},get shell(){return ee.getDefaultShell(!1)},get onDidChangeShell(){return ce(ee.onDidChangeShell)},get isTelemetryEnabled(){return s.getTelemetryConfiguration()},get onDidChangeTelemetryEnabled(){return ce(s.onDidChangeTelemetryEnabled)},get telemetryConfiguration(){return M(k,"telemetry"),s.getTelemetryDetails()},get onDidChangeTelemetryConfiguration(){return M(k,"telemetry"),ce(s.onDidChangeTelemetryConfiguration)},get isMeteredConnection(){return M(k,"envIsConnectionMetered"),ue.isConnectionMetered},get onDidChangeMeteredConnection(){return M(k,"envIsConnectionMetered"),ce(ue.onDidChangeIsConnectionMetered)},get isNewAppInstall(){return bM(t.telemetryInfo.firstSessionDate)},createTelemetryLogger(b,x){return av.validateSender(b),s.instantiateLogger(k,b,x)},async openExternal(b,x){return I.openUri(b,{allowTunneling:t.remote.isRemote??(t.remote.authority?await v.hasTunnelProvider():!1),allowContributedOpeners:x?.allowContributedOpeners})},async asExternalUri(b){if(b.scheme===t.environment.appUriScheme)return w.createAppUri(b);try{return await I.asExternalUri(b,{allowTunneling:!!t.remote.authority})}catch(x){if(Vb(b,q.http)||Vb(b,q.https))return b;throw x}},get remoteName(){return mf(t.remote.authority)},get remoteAuthority(){return M(k,"resolvers"),t.remote.authority},get uiKind(){return t.uiKind},get logLevel(){return g.getLevel()},get onDidChangeLogLevel(){return ce(g.onDidChangeLogLevel)},get appQuality(){return M(k,"resolvers"),t.quality},get appCommit(){return M(k,"resolvers"),t.commit},getDataChannel(b){return M(k,"dataChannels"),Y.createDataChannel(k,b)},get power(){return M(k,"environmentPower"),{get onDidSuspend(){return ce(S.onDidSuspend)},get onDidResume(){return ce(S.onDidResume)},get onDidChangeOnBatteryPower(){return ce(S.onDidChangeOnBatteryPower)},get onDidChangeThermalState(){return ce(S.onDidChangeThermalState)},get onDidChangeSpeedLimit(){return ce(S.onDidChangeSpeedLimit)},get onWillShutdown(){return ce(S.onWillShutdown)},get onDidLockScreen(){return ce(S.onDidLockScreen)},get onDidUnlockScreen(){return ce(S.onDidUnlockScreen)},getSystemIdleState(b){return S.getSystemIdleState(b)},getSystemIdleTime(){return S.getSystemIdleTime()},getCurrentThermalState(){return S.getCurrentThermalState()},isOnBatteryPower(){return S.isOnBatteryPower()},async startPowerSaveBlocker(b){let x=await S.startPowerSaveBlocker(b);return{id:x.id,get isStarted(){return x.isStarted},dispose(){x.dispose()}}}}}};t.environment.extensionTestsLocationURI||Object.freeze(g0);let FV={createTestController(b,x,_){return Ce.createTestController(k,b,x,_)},createTestObserver(){return M(k,"testObserver"),Ce.createTestObserver()},runTests(b){return M(k,"testObserver"),Ce.runTests(b)},registerTestFollowupProvider(b){return M(k,"testObserver"),Ce.registerTestFollowupProvider(b)},get onDidChangeTestResults(){return M(k,"testObserver"),ce(Ce.onResultsChanged)},get testResults(){return M(k,"testObserver"),Ce.results}},Pa=t.remote.isRemote?2:1,HV={getExtension(b,x){De(k,"extensionsAny")||(x=!1);let _=Is.mine.getExtensionDescription(b);if(_)return new id(o,k.identifier,_,Pa,!1);if(x){let Se=Is.all.getExtensionDescription(b);if(Se)return new id(o,k.identifier,Se,Pa,!0)}},get all(){let b=[];for(let x of Is.mine.getAllExtensionDescriptions())b.push(new id(o,k.identifier,x,Pa,!1));return b},get allAcrossExtensionHosts(){M(k,"extensionsAny");let b=new Co(Is.mine.getAllExtensionDescriptions().map(_=>_.identifier)),x=[];for(let _ of Is.all.getAllExtensionDescriptions()){let Se=!b.has(_.identifier);x.push(new id(o,k.identifier,_,Pa,Se))}return x},get onDidChange(){return De(k,"extensionsAny")?ce(Ae.any(Is.mine.onDidChange,Is.all.onDidChange)):ce(Is.mine.onDidChange)}},VV={createDiagnosticCollection(b){return bo.createDiagnosticCollection(k.identifier,b)},get onDidChangeDiagnostics(){return ce(bo.onDidChangeDiagnostics)},getDiagnostics:b=>bo.getDiagnostics(b),getLanguages(){return Sr.getLanguages()},setTextDocumentLanguage(b,x){return Sr.changeLanguage(b.uri,x)},match(b,x){let _=AR.from(b),Se;return L1(_)&&(Se=st.notebookDocuments.find(at=>at.apiNotebook.getCells().find(Gt=>Gt.document===x))?.apiNotebook),O1(_,x.uri,x.languageId,!0,Se?.uri,Se?.notebookType)},registerCodeActionsProvider(b,x,_){return Ke.registerCodeActionProvider(k,_t(b),x,_)},registerDocumentPasteEditProvider(b,x,_){return Ke.registerDocumentPasteEditProvider(k,_t(b),x,_)},registerCodeLensProvider(b,x){return Ke.registerCodeLensProvider(k,_t(b),x)},registerDefinitionProvider(b,x){return Ke.registerDefinitionProvider(k,_t(b),x)},registerDeclarationProvider(b,x){return Ke.registerDeclarationProvider(k,_t(b),x)},registerImplementationProvider(b,x){return Ke.registerImplementationProvider(k,_t(b),x)},registerTypeDefinitionProvider(b,x){return Ke.registerTypeDefinitionProvider(k,_t(b),x)},registerHoverProvider(b,x){return Ke.registerHoverProvider(k,_t(b),x,k.identifier)},registerEvaluatableExpressionProvider(b,x){return Ke.registerEvaluatableExpressionProvider(k,_t(b),x,k.identifier)},registerInlineValuesProvider(b,x){return Ke.registerInlineValuesProvider(k,_t(b),x,k.identifier)},registerDocumentHighlightProvider(b,x){return Ke.registerDocumentHighlightProvider(k,_t(b),x)},registerMultiDocumentHighlightProvider(b,x){return Ke.registerMultiDocumentHighlightProvider(k,_t(b),x)},registerLinkedEditingRangeProvider(b,x){return Ke.registerLinkedEditingRangeProvider(k,_t(b),x)},registerReferenceProvider(b,x){return Ke.registerReferenceProvider(k,_t(b),x)},registerRenameProvider(b,x){return Ke.registerRenameProvider(k,_t(b),x)},registerNewSymbolNamesProvider(b,x){return M(k,"newSymbolNamesProvider"),Ke.registerNewSymbolNamesProvider(k,_t(b),x)},registerDocumentSymbolProvider(b,x,_){return Ke.registerDocumentSymbolProvider(k,_t(b),x,_)},registerWorkspaceSymbolProvider(b){return Ke.registerWorkspaceSymbolProvider(k,b)},registerDocumentFormattingEditProvider(b,x){return Ke.registerDocumentFormattingEditProvider(k,_t(b),x)},registerDocumentRangeFormattingEditProvider(b,x){return Ke.registerDocumentRangeFormattingEditProvider(k,_t(b),x)},registerOnTypeFormattingEditProvider(b,x,_,...Se){return Ke.registerOnTypeFormattingEditProvider(k,_t(b),x,[_].concat(Se))},registerDocumentSemanticTokensProvider(b,x,_){return Ke.registerDocumentSemanticTokensProvider(k,_t(b),x,_)},registerDocumentRangeSemanticTokensProvider(b,x,_){return Ke.registerDocumentRangeSemanticTokensProvider(k,_t(b),x,_)},registerSignatureHelpProvider(b,x,_,...Se){return typeof _=="object"?Ke.registerSignatureHelpProvider(k,_t(b),x,_):Ke.registerSignatureHelpProvider(k,_t(b),x,typeof _>"u"?[]:[_,...Se])},registerCompletionItemProvider(b,x,..._){return Ke.registerCompletionItemProvider(k,_t(b),x,_)},registerInlineCompletionItemProvider(b,x,_){return x.handleDidShowCompletionItem&&M(k,"inlineCompletionsAdditions"),x.handleDidPartiallyAcceptCompletionItem&&M(k,"inlineCompletionsAdditions"),_&&M(k,"inlineCompletionsAdditions"),Ke.registerInlineCompletionsProvider(k,_t(b),x,_)},get inlineCompletionsUnificationState(){return M(k,"inlineCompletionsAdditions"),Ke.inlineCompletionsUnificationState},onDidChangeCompletionsUnificationState(b,x,_){return M(k,"inlineCompletionsAdditions"),ce(Ke.onDidChangeInlineCompletionsUnificationState)(b,x,_)},registerDocumentLinkProvider(b,x){return Ke.registerDocumentLinkProvider(k,_t(b),x)},registerColorProvider(b,x){return Ke.registerColorProvider(k,_t(b),x)},registerFoldingRangeProvider(b,x){return Ke.registerFoldingRangeProvider(k,_t(b),x)},registerSelectionRangeProvider(b,x){return Ke.registerSelectionRangeProvider(k,b,x)},registerCallHierarchyProvider(b,x){return Ke.registerCallHierarchyProvider(k,b,x)},registerTypeHierarchyProvider(b,x){return Ke.registerTypeHierarchyProvider(k,b,x)},setLanguageConfiguration:(b,x)=>Ke.setLanguageConfiguration(k,b,x),getTokenInformationAtPosition(b,x){return M(k,"tokenInformation"),Sr.tokenAtPosition(b,x)},computeFullSyntaxHighlighting(b,x){return M(k,"documentSyntaxHighlighting"),Sr.computeFullSyntaxHighlighting(b,x)},get onDidChangeSyntaxHighlighting(){return M(k,"documentSyntaxHighlighting"),Sr.onDidChangeSyntaxHighlighting},registerInlayHintsProvider(b,x){return Ke.registerInlayHintsProvider(k,b,x)},createLanguageStatusItem(b,x){return Sr.createLanguageStatusItem(k,b,x)},registerDocumentDropEditProvider(b,x,_){return Ke.registerDocumentOnDropEditProvider(k,b,x,_)}},BV={get activeTextEditor(){return $e.getActiveTextEditor()},get visibleTextEditors(){return $e.getVisibleTextEditors()},get activeTerminal(){return ee.activeTerminal},get terminals(){return ee.terminals},async showTextDocument(b,x,_){y.isUri(b)&&b.scheme===q.vscodeRemote&&!b.authority&&h.report("workspace.showTextDocument",k,"A URI of 'vscode-remote' scheme requires an authority.");let Se=await(y.isUri(b)?Promise.resolve(f0.openTextDocument(b)):Promise.resolve(b));return $e.showTextDocument(Se,x,_)},createTextEditorDecorationType(b){return $e.createTextEditorDecorationType(k,b)},onDidChangeActiveTextEditor(b,x,_){return ce($e.onDidChangeActiveTextEditor)(b,x,_)},onDidChangeVisibleTextEditors(b,x,_){return ce($e.onDidChangeVisibleTextEditors)(b,x,_)},onDidChangeTextEditorSelection(b,x,_){return ce($e.onDidChangeTextEditorSelection)(b,x,_)},onDidChangeTextEditorOptions(b,x,_){return ce($e.onDidChangeTextEditorOptions)(b,x,_)},onDidChangeTextEditorVisibleRanges(b,x,_){return ce($e.onDidChangeTextEditorVisibleRanges)(b,x,_)},onDidChangeTextEditorViewColumn(b,x,_){return ce($e.onDidChangeTextEditorViewColumn)(b,x,_)},onDidChangeTextEditorDiffInformation(b,x,_){return M(k,"textEditorDiffInformation"),ce($e.onDidChangeTextEditorDiffInformation)(b,x,_)},onDidCloseTerminal(b,x,_){return ce(ee.onDidCloseTerminal)(b,x,_)},onDidOpenTerminal(b,x,_){return ce(ee.onDidOpenTerminal)(b,x,_)},onDidChangeActiveTerminal(b,x,_){return ce(ee.onDidChangeActiveTerminal)(b,x,_)},onDidChangeTerminalDimensions(b,x,_){return M(k,"terminalDimensions"),ce(ee.onDidChangeTerminalDimensions)(b,x,_)},onDidChangeTerminalState(b,x,_){return ce(ee.onDidChangeTerminalState)(b,x,_)},onDidWriteTerminalData(b,x,_){return M(k,"terminalDataWriteEvent"),ce(ee.onDidWriteTerminalData)(b,x,_)},onDidExecuteTerminalCommand(b,x,_){return M(k,"terminalExecuteCommandEvent"),ce(ee.onDidExecuteTerminalCommand)(b,x,_)},onDidChangeTerminalShellIntegration(b,x,_){return ce(ae.onDidChangeTerminalShellIntegration)(b,x,_)},onDidStartTerminalShellExecution(b,x,_){return ce(ae.onDidStartTerminalShellExecution)(b,x,_)},onDidEndTerminalShellExecution(b,x,_){return ce(ae.onDidEndTerminalShellExecution)(b,x,_)},get state(){return I.getState()},onDidChangeWindowState(b,x,_){return ce(I.onDidChangeWindowState)(b,x,_)},showInformationMessage(b,...x){return ib.showMessage(k,Ge.Info,b,x[0],x.slice(1))},showWarningMessage(b,...x){return ib.showMessage(k,Ge.Warning,b,x[0],x.slice(1))},showErrorMessage(b,...x){return ib.showMessage(k,Ge.Error,b,x[0],x.slice(1))},showQuickPick(b,x,_){return Ti.showQuickPick(k,b,x,_)},showWorkspaceFolderPick(b){return Ti.showWorkspaceFolderPick(b)},showInputBox(b,x){return Ti.showInput(b,x)},showOpenDialog(b){return aw.showOpenDialog(b)},showSaveDialog(b){return aw.showSaveDialog(b)},createStatusBarItem(b,x,_){let Se,at,Gt;return typeof b=="string"?(Se=b,at=x,Gt=_):(at=b,Gt=x),We.createStatusBarEntry(k,Se,at,Gt)},setStatusBarMessage(b,x){return We.setStatusBarMessage(b,x)},withScmProgress(b){return h.report("window.withScmProgress",k,"Use 'withProgress' instead."),V.withProgress(k,{location:1},(x,_)=>b({report(Se){}}))},withProgress(b,x){return V.withProgress(k,b,x)},createOutputChannel(b,x){return Ye.createOutputChannel(b,x,k)},createWebviewPanel(b,x,_,Se){return A.createWebviewPanel(k,b,x,_,Se)},createWebviewTextEditorInset(b,x,_,Se){return M(k,"editorInsets"),bs.createWebviewEditorInset(b,x,_,Se,k)},createTerminal(b,x,_){if(typeof b=="object"){let Se=b;return!De(k,"terminalTitle")&&"titleTemplate"in b&&b.titleTemplate!==void 0&&(console.error(`[${k.identifier.value}] \`titleTemplate\` was provided to window.createTerminal but is ignored because the \`terminalTitle\` proposed API is not enabled.`),Se={...b,titleTemplate:void 0}),"pty"in Se?ee.createExtensionTerminal(Se):ee.createTerminalFromOptions(Se)}return ee.createTerminal(b,x,_)},registerTerminalLinkProvider(b){return ee.registerLinkProvider(b)},registerTerminalProfileProvider(b,x){return ee.registerProfileProvider(k,b,x)},registerTerminalCompletionProvider(b,...x){return M(k,"terminalCompletionProvider"),ee.registerTerminalCompletionProvider(k,b,...x)},registerTerminalQuickFixProvider(b,x){return M(k,"terminalQuickFixProvider"),ee.registerTerminalQuickFixProvider(b,k.identifier.value,x)},registerTreeDataProvider(b,x){return nu.registerTreeDataProvider(b,x,k)},createTreeView(b,x){return nu.createTreeView(b,x,k)},registerWebviewPanelSerializer:(b,x)=>A.registerWebviewPanelSerializer(k,b,x),registerCustomEditorProvider:(b,x,_={})=>W.registerCustomEditorProvider(k,b,x,_),registerFileDecorationProvider(b){return it.registerFileDecorationProvider(b,k)},registerUriHandler(b){return w.registerUriHandler(k,b)},createQuickPick(){return Ti.createQuickPick(k)},createInputBox(){return Ti.createInputBox(k)},get activeColorTheme(){return Bg.activeColorTheme},onDidChangeActiveColorTheme(b,x,_){return ce(Bg.onDidChangeActiveColorTheme)(b,x,_)},registerWebviewViewProvider(b,x,_){return K.registerWebviewViewProvider(k,b,x,_?.webviewOptions)},get activeNotebookEditor(){return st.activeNotebookEditor},onDidChangeActiveNotebookEditor(b,x,_){return ce(st.onDidChangeActiveNotebookEditor)(b,x,_)},get visibleNotebookEditors(){return st.visibleNotebookEditors},get onDidChangeVisibleNotebookEditors(){return ce(st.onDidChangeVisibleNotebookEditors)},onDidChangeNotebookEditorSelection(b,x,_){return ce(vs.onDidChangeNotebookEditorSelection)(b,x,_)},onDidChangeNotebookEditorVisibleRanges(b,x,_){return ce(vs.onDidChangeNotebookEditorVisibleRanges)(b,x,_)},showNotebookDocument(b,x){return st.showNotebookDocument(b,x)},registerExternalUriOpener(b,x,_){return M(k,"externalUriOpener"),Fe.registerExternalUriOpener(k.identifier,b,x,_)},registerProfileContentHandler(b,x){return M(k,"profileContentHandlers"),In.registerProfileContentHandler(k,b,x)},registerQuickDiffProvider(b,x,_,Se,at){return M(k,"quickDiffProvider"),yo.registerQuickDiffProvider(k,_t(b),x,_,Se,at)},createSourceControlDiffInformation(b){return M(k,"textEditorDiffInformation"),yo.createSourceControlDiffInformation(b)},createAgentEditorComments(b){return M(k,"agentEditorComments"),Ea.createAgentEditorComments(b)},get tabGroups(){return O.tabGroups},registerShareProvider(b,x){return M(k,"shareProvider"),Xt.registerShareProvider(_t(b),x)},get nativeHandle(){return M(k,"nativeWindowHandle"),I.nativeHandle},createChatStatusItem:b=>(M(k,"chatStatusItem"),p0.createChatStatusItem(k,b)),get activeChatPanelSessionResource(){return M(k,"chatParticipantPrivate"),je.activeChatPanelSessionResource},onDidChangeActiveChatPanelSessionResource:(b,x,_)=>(M(k,"chatParticipantPrivate"),ce(je.onDidChangeActiveChatPanelSessionResource)(b,x,_)),get browserTabs(){return M(k,"browser"),At.browserTabs},onDidOpenBrowserTab(b,x,_){return M(k,"browser"),ce(At.onDidOpenBrowserTab)(b,x,_)},onDidCloseBrowserTab(b,x,_){return M(k,"browser"),ce(At.onDidCloseBrowserTab)(b,x,_)},get activeBrowserTab(){return M(k,"browser"),At.activeBrowserTab},onDidChangeActiveBrowserTab(b,x,_){return M(k,"browser"),ce(At.onDidChangeActiveBrowserTab)(b,x,_)},onDidChangeBrowserTabState(b,x,_){return M(k,"browser"),ce(At.onDidChangeBrowserTabState)(b,x,_)},openBrowserTab(b,x){return M(k,"browser"),At.openBrowserTab(b,x)}},f0={get rootPath(){return h.report("workspace.rootPath",k,"Please use 'workspace.workspaceFolders' instead. More details: https://aka.ms/vscode-eliminating-rootpath"),r.getPath()},set rootPath(b){throw new Gr("rootPath")},getWorkspaceFolder(b){return r.getWorkspaceFolder(b)},get workspaceFolders(){return r.getWorkspaceFolders()},get name(){return r.name},set name(b){throw new Gr("name")},get workspaceFile(){return r.workspaceFile},set workspaceFile(b){throw new Gr("workspaceFile")},get isAgentSessionsWorkspace(){return M(k,"agentSessionsWorkspace"),!!t.environment.isSessionsWindow},updateWorkspaceFolders:(b,x,..._)=>r.updateWorkspaceFolders(k,b,x||0,..._),onDidChangeWorkspaceFolders:function(b,x,_){return ce(r.onDidChangeWorkspace)(b,x,_)},asRelativePath:(b,x)=>r.getRelativePath(b,x),findFiles:(b,x,_,Se)=>r.findFiles(b,x,_,k.identifier,Se),findFiles2:(b,x,_)=>(M(k,"findFiles2"),r.findFiles2(b,x,k.identifier,_)),findTextInFiles:(b,x,_,Se)=>{M(k,"findTextInFiles");let at,Gt;return typeof x=="object"?(at=x,Gt=_):(at={},Gt=x,Se=_),r.findTextInFiles(b,at||{},Gt,k.identifier,Se)},findTextInFiles2:(b,x,_)=>(M(k,"findTextInFiles2"),M(k,"textSearchProvider2"),r.findTextInFiles2(b,x,k.identifier,_)),getTextDiff(b,x,_,Se){M(k,"documentDiff");let at=d.getProxy(N.MainThreadDocumentDiff);if(Se?.isCancellationRequested){let Vo=new lt;return{changes:_s.EMPTY,complete:Promise.reject(Vo)}}let Gt=at.$computeDocumentDiff(b.uri,x.uri,_?.ignoreTrimWhitespace??!1,_?.maxComputationTimeMs??5e3,_?.computeMoves??!1),v0=(Se?Ui(Gt,Se):Gt).then(Vo=>{if(!Vo)throw new Error("Could not compute diff. Make sure both documents are available.");return Vo}),b0=Vo=>({originalRange:B.to(Vo.originalRange),modifiedRange:B.to(Vo.modifiedRange),innerChanges:Vo.innerChanges?.map(_a=>({originalRange:B.to(_a.originalRange),modifiedRange:B.to(_a.modifiedRange)}))});return{changes:new _s(async Vo=>{let _a=await v0;Vo.emitMany(_a.changes.map(b0))}),complete:v0.then(Vo=>({identical:Vo.identical,mayBeIncomplete:Vo.quitEarly,moves:Vo.moves.map(_a=>({originalRange:B.to(_a.originalRange),modifiedRange:B.to(_a.modifiedRange),changes:_a.changes.map(b0)}))}))}},save:b=>r.save(b),saveAs:b=>r.saveAs(b),saveAll:b=>r.saveAll(b),applyEdit(b,x){return wa.applyWorkspaceEdit(b,k,x)},createFileSystemWatcher:(b,x,_,Se)=>{let at={ignoreCreateEvents:!!x,ignoreChangeEvents:!!_,ignoreDeleteEvents:!!Se};return Cr.createFileSystemWatcher(r,sb,e,k,b,at)},get textDocuments(){return Oe.getAllDocumentData().map(b=>b.document)},set textDocuments(b){throw new Gr("textDocuments")},openTextDocument(b,x){let _;if(x=x??b,typeof b=="string")_=Promise.resolve(y.file(b));else if(y.isUri(b))_=Promise.resolve(b);else if(!x||typeof x=="object")_=Oe.createDocumentData(x);else throw new Error("illegal argument - uriOrFileNameOrOptions");return _.then(Se=>(g.trace(`openTextDocument from ${k.identifier}`),Se.scheme===q.vscodeRemote&&!Se.authority&&h.report("workspace.openTextDocument",k,"A URI of 'vscode-remote' scheme requires an authority."),Oe.ensureDocumentData(Se,x).then(at=>at.document)))},onDidOpenTextDocument:(b,x,_)=>ce(Oe.onDidAddDocument)(b,x,_),onDidCloseTextDocument:(b,x,_)=>ce(Oe.onDidRemoveDocument)(b,x,_),onDidChangeTextDocument:(b,x,_)=>De(k,"textDocumentChangeReason")?ce(Oe.onDidChangeDocumentWithReason)(b,x,_):ce(Oe.onDidChangeDocument)(b,x,_),onDidSaveTextDocument:(b,x,_)=>ce(Oe.onDidSaveDocument)(b,x,_),onWillSaveTextDocument:(b,x,_)=>ce(Lt.getOnWillSaveTextDocumentEvent(k))(b,x,_),get notebookDocuments(){return st.notebookDocuments.map(b=>b.apiNotebook)},async openNotebookDocument(b,x){let _;if(y.isUri(b))_=b,await st.openNotebookDocument(b);else if(typeof b=="string")_=y.revive(await st.createNotebookDocument({viewType:b,content:x}));else throw new Error("Invalid arguments");return st.getNotebookDocument(_).apiNotebook},onDidSaveNotebookDocument(b,x,_){return ce(vo.onDidSaveNotebookDocument)(b,x,_)},onDidChangeNotebookDocument(b,x,_){return ce(vo.onDidChangeNotebookDocument)(b,x,_)},onWillSaveNotebookDocument(b,x,_){return ce(Me.getOnWillSaveNotebookDocumentEvent(k))(b,x,_)},get onDidOpenNotebookDocument(){return ce(st.onDidOpenNotebookDocument)},get onDidCloseNotebookDocument(){return ce(st.onDidCloseNotebookDocument)},registerNotebookSerializer(b,x,_,Se){return st.registerNotebookSerializer(k,b,x,_,De(k,"notebookLiveShare")?Se:void 0)},onDidChangeConfiguration:(b,x,_)=>ce(sb.onDidChangeConfiguration)(b,x,_),getConfiguration(b,x){return x=arguments.length===1?void 0:x,sb.getConfiguration(b,x,k)},registerTextDocumentContentProvider(b,x){return kt.registerTextDocumentContentProvider(b,x)},registerTaskProvider:(b,x)=>(h.report("window.registerTaskProvider",k,"Use the corresponding function on the 'tasks' namespace instead"),le.registerTaskProvider(k,b,x)),registerFileSystemProvider(b,x,_){return cu(Vg.registerFileSystemProvider(k,b,x,_),n.addFileSystemProvider(b,x,_))},get fs(){return n.value},registerFileSearchProvider:(b,x)=>(M(k,"fileSearchProvider"),oe.registerFileSearchProviderOld(b,x)),registerTextSearchProvider:(b,x)=>(M(k,"textSearchProvider"),oe.registerTextSearchProviderOld(b,x)),registerAITextSearchProvider:(b,x)=>(M(k,"aiTextSearchProvider"),M(k,"textSearchProvider2"),oe.registerAITextSearchProvider(b,x)),registerFileSearchProvider2:(b,x)=>(M(k,"fileSearchProvider2"),oe.registerFileSearchProvider(b,x)),registerTextSearchProvider2:(b,x)=>(M(k,"textSearchProvider2"),oe.registerTextSearchProvider(b,x)),registerRemoteAuthorityResolver:(b,x)=>(M(k,"resolvers"),o.registerRemoteAuthorityResolver(b,x)),registerResourceLabelFormatter:b=>(M(k,"resolvers"),rb.$registerResourceLabelFormatter(b)),getRemoteExecServer:b=>(M(k,"resolvers"),o.getRemoteExecServer(b)),onDidCreateFiles:(b,x,_)=>ce(Cr.onDidCreateFile)(b,x,_),onDidDeleteFiles:(b,x,_)=>ce(Cr.onDidDeleteFile)(b,x,_),onDidRenameFiles:(b,x,_)=>ce(Cr.onDidRenameFile)(b,x,_),onWillCreateFiles:(b,x,_)=>ce(Cr.getOnWillCreateFileEvent(k))(b,x,_),onWillDeleteFiles:(b,x,_)=>ce(Cr.getOnWillDeleteFileEvent(k))(b,x,_),onWillRenameFiles:(b,x,_)=>ce(Cr.getOnWillRenameFileEvent(k))(b,x,_),openTunnel:b=>(M(k,"tunnels"),v.openTunnel(k,b).then(x=>{if(!x)throw new Error("cannot open tunnel");return x})),get tunnels(){return M(k,"tunnels"),v.getTunnels()},onDidChangeTunnels:(b,x,_)=>(M(k,"tunnels"),ce(v.onDidChangeTunnels)(b,x,_)),registerPortAttributesProvider:(b,x)=>(M(k,"portsAttributes"),v.registerPortsAttributesProvider(b,x)),registerTunnelProvider:(b,x)=>(M(k,"tunnelFactory"),v.registerTunnelProvider(b,x)),registerTimelineProvider:(b,x)=>(M(k,"timeline"),gd.registerTimelineProvider(b,x,k.identifier,Q.converter)),get isTrusted(){return r.trusted},requestResourceTrust:b=>(M(k,"workspaceTrust"),r.requestResourceTrust(b)),requestWorkspaceTrust:b=>(M(k,"workspaceTrust"),r.requestWorkspaceTrust(b)),isResourceTrusted:b=>(M(k,"workspaceTrust"),r.isResourceTrusted(b)),onDidChangeWorkspaceTrustedFolders:(b,x,_)=>(M(k,"workspaceTrust"),ce(r.onDidChangeWorkspaceTrustedFolders)(b,x,_)),onDidGrantWorkspaceTrust:(b,x,_)=>ce(r.onDidGrantWorkspaceTrust)(b,x,_),registerEditSessionIdentityProvider:(b,x)=>(M(k,"editSessionIdentityProvider"),r.registerEditSessionIdentityProvider(b,x)),onWillCreateEditSessionIdentity:(b,x,_)=>(M(k,"editSessionIdentityProvider"),ce(r.getOnWillCreateEditSessionIdentityEvent(k))(b,x,_)),registerCanonicalUriProvider:(b,x)=>(M(k,"canonicalUriProvider"),r.registerCanonicalUriProvider(b,x)),getCanonicalUri:(b,x,_)=>(M(k,"canonicalUriProvider"),r.provideCanonicalUri(b,x,_)),decode(b,x){return r.decode(b,x)},encode(b,x){return r.encode(b,x)}},WV={get inputBox(){return h.report("scm.inputBox",k,"Use 'SourceControl.inputBox' instead"),Ta.getLastInputBox(k)},createSourceControl(b,x,_,Se,at,Gt){return(Se||at||Gt)&&M(k,"scmProviderOptions"),Ta.createSourceControl(k,b,x,_,Se,at,Gt)}},$V={createCommentController(b,x){return $n.createCommentController(k,b,x)}},zV={get activeDebugSession(){return ne.activeDebugSession},get activeDebugConsole(){return ne.activeDebugConsole},get breakpoints(){return ne.breakpoints},get activeStackItem(){return ne.activeStackItem},registerDebugVisualizationProvider(b,x){return M(k,"debugVisualization"),ne.registerDebugVisualizationProvider(k,b,x)},registerDebugVisualizationTreeProvider(b,x){return M(k,"debugVisualization"),ne.registerDebugVisualizationTree(k,b,x)},onDidStartDebugSession(b,x,_){return ce(ne.onDidStartDebugSession)(b,x,_)},onDidTerminateDebugSession(b,x,_){return ce(ne.onDidTerminateDebugSession)(b,x,_)},onDidChangeActiveDebugSession(b,x,_){return ce(ne.onDidChangeActiveDebugSession)(b,x,_)},onDidReceiveDebugSessionCustomEvent(b,x,_){return ce(ne.onDidReceiveDebugSessionCustomEvent)(b,x,_)},onDidChangeBreakpoints(b,x,_){return ce(ne.onDidChangeBreakpoints)(b,x,_)},onDidChangeActiveStackItem(b,x,_){return ce(ne.onDidChangeActiveStackItem)(b,x,_)},registerDebugConfigurationProvider(b,x,_){return ne.registerDebugConfigurationProvider(b,x,_||1)},registerDebugAdapterDescriptorFactory(b,x){return ne.registerDebugAdapterDescriptorFactory(k,b,x)},registerDebugAdapterTrackerFactory(b,x){return ne.registerDebugAdapterTrackerFactory(b,x)},startDebugging(b,x,_){return!_||typeof _=="object"&&"configuration"in _?ne.startDebugging(b,x,{parentSession:_}):ne.startDebugging(b,x,_||{})},stopDebugging(b){return ne.stopDebugging(b)},addBreakpoints(b){return ne.addBreakpoints(b)},removeBreakpoints(b){return ne.removeBreakpoints(b)},asDebugSourceUri(b,x){return ne.asDebugSourceUri(b,x)}},qV={registerTaskProvider:(b,x)=>le.registerTaskProvider(k,b,x),fetchTasks:b=>le.fetchTasks(b),executeTask:b=>le.executeTask(k,b),get taskExecutions(){return le.taskExecutions},onDidStartTask:(b,x,_)=>{let Se=at=>{De(k,"taskExecutionTerminal")||at?.execution?.terminal!==void 0&&(at.execution.terminal=void 0);let Gt={...at,execution:at.execution};return b.call(x,Gt)};return ce(le.onDidStartTask)(Se,x,_)},onDidEndTask:(b,x,_)=>ce(le.onDidEndTask)(b,x,_),onDidStartTaskProcess:(b,x,_)=>ce(le.onDidStartTaskProcess)(b,x,_),onDidEndTaskProcess:(b,x,_)=>ce(le.onDidEndTaskProcess)(b,x,_),onDidStartTaskProblemMatchers:(b,x,_)=>(M(k,"taskProblemMatcherStatus"),ce(le.onDidStartTaskProblemMatchers)(b,x,_)),onDidEndTaskProblemMatchers:(b,x,_)=>(M(k,"taskProblemMatcherStatus"),ce(le.onDidEndTaskProblemMatchers)(b,x,_))},KV={createNotebookController(b,x,_,Se,at){return Ci.createNotebookController(k,b,x,_,Se,De(k,"notebookMessaging")?at:void 0)},registerNotebookCellStatusBarItemProvider:(b,x)=>st.registerNotebookCellStatusBarItemProvider(k,b,x),createRendererMessaging(b){return Kr.createRendererMessaging(k,b)},createNotebookControllerDetectionTask(b){return M(k,"notebookKernelSource"),Ci.createNotebookControllerDetectionTask(k,b)},registerKernelSourceActionProvider(b,x){return M(k,"notebookKernelSource"),Ci.registerKernelSourceActionProvider(k,b,x)}},GV={t(...b){if(typeof b[0]=="string"){let x=b.shift(),_=!b||typeof b[0]!="object"?b:b[0];return Be.getMessage(k.identifier.value,{message:x,args:_})}return Be.getMessage(k.identifier.value,b[0])},get bundle(){return Be.getBundle(k.identifier.value)},get uri(){return Be.getBundleUri(k.identifier.value)}},jV={transferActiveChat(b){return M(k,"interactive"),je.transferActiveChat(b)}},QV={getRelatedInformation(b,x){return M(k,"aiRelatedInformation"),Sn.getRelatedInformation(k,b,x)},registerRelatedInformationProvider(b,x){return M(k,"aiRelatedInformation"),Sn.registerRelatedInformationProvider(k,b,x)},registerEmbeddingVectorProvider(b,x){return M(k,"aiRelatedInformation"),oo.registerEmbeddingVectorProvider(k,b,x)},registerSettingsSearchProvider(b){return M(k,"aiSettingsSearch"),Ho.registerSettingsSearchProvider(k,b)}},JV={registerMappedEditsProvider(b,x){return M(k,"mappedEditsProvider"),{dispose(){}}},registerMappedEditsProvider2(b){return M(k,"mappedEditsProvider"),ou.registerMappedEditsProvider(k,b)},createChatParticipant(b,x){return je.createChatAgent(k,b,x)},createDynamicChatParticipant(b,x,_){return M(k,"chatParticipantPrivate"),je.createDynamicChatAgent(k,b,x,_)},registerChatParticipantDetectionProvider(b){return M(k,"chatParticipantPrivate"),je.registerChatParticipantDetectionProvider(k,b)},onDidDisposeChatSession:(b,x,_)=>(M(k,"chatParticipantPrivate"),ce(je.onDidDisposeChatSession)(b,x,_)),updateQuotas:b=>{M(k,"chatParticipantPrivate"),Dn.updateQuotas(b)},registerChatSessionItemProvider:(b,x)=>(M(k,"chatSessionsProvider"),h.report("chat.registerChatSessionItemProvider",k,"Please migrate to the new chat session controller API",{usageId:b}),Kt.registerChatSessionItemProvider(k,b,x)),createChatSessionItemController:(b,x)=>(M(k,"chatSessionsProvider"),Kt.createChatSessionItemController(k,b,x)),registerChatSessionContentProvider(b,x,_,Se){return M(k,"chatSessionsProvider"),Kt.registerChatSessionContentProvider(k,b,_,x,Se)},registerChatOutputRenderer:(b,x)=>(M(k,"chatOutputRenderer"),St.registerChatOutputRenderer(k,b,x)),registerChatWorkspaceContextProvider(b,x){return M(k,"chatContextProvider"),Io.registerChatWorkspaceContextProvider(`${k.id}-${b}`,x)},registerChatExplicitContextProvider(b,x){return M(k,"chatContextProvider"),Io.registerChatExplicitContextProvider(`${k.id}-${b}`,x)},registerChatResourceContextProvider(b,x,_){return M(k,"chatContextProvider"),Io.registerChatResourceContextProvider(_t(b),`${k.id}-${x}`,_)},registerChatContextProvider(b,x,_){return M(k,"chatContextProvider"),Io.registerChatContextProvider(b?_t(b):void 0,`${k.id}-${x}`,_)},registerCustomAgentProvider(b){return M(k,"chatPromptFiles"),je.registerPromptFileProvider(k,"agent",b)},registerInstructionsProvider(b){return M(k,"chatPromptFiles"),je.registerPromptFileProvider(k,"instructions",b)},registerPromptFileProvider(b){return M(k,"chatPromptFiles"),je.registerPromptFileProvider(k,"prompt",b)},registerSkillProvider(b){return M(k,"chatPromptFiles"),je.registerPromptFileProvider(k,"skill",b)},registerHookProvider(b){return M(k,"chatPromptFiles"),je.registerPromptFileProvider(k,"hook",b)},registerChatDebugLogProvider(b){return M(k,"chatDebug"),Zt.registerChatDebugLogProvider(b)},onDidReceiveChatDebugEvent:(b,x,_)=>(M(k,"chatDebug"),Zt.onDidAddCoreEvent(b,x,_)),getCustomAgents(b){return M(k,"chatPromptFiles"),je.provideCustomAgents(b)},onDidChangeCustomAgents:(b,x,_)=>(M(k,"chatPromptFiles"),je.onDidChangeCustomAgents(b,x,_)),getInstructions(b){return M(k,"chatPromptFiles"),je.provideInstructions(b)},onDidChangeInstructions:(b,x,_)=>(M(k,"chatPromptFiles"),je.onDidChangeInstructions(b,x,_)),getSkills(b){return M(k,"chatPromptFiles"),je.provideSkills(b)},onDidChangeSkills:(b,x,_)=>(M(k,"chatPromptFiles"),je.onDidChangeSkills(b,x,_)),getSlashCommands(b){return M(k,"chatPromptFiles"),je.provideSlashCommands(b)},onDidChangeSlashCommands:(b,x,_)=>(M(k,"chatPromptFiles"),je.onDidChangeSlashCommands(b,x,_)),getHooks(b){return M(k,"chatPromptFiles"),je.provideHooks(b)},onDidChangeHooks:(b,x,_)=>(M(k,"chatPromptFiles"),je.onDidChangeHooks(b,x,_)),getPlugins(b){return M(k,"chatPromptFiles"),je.providePlugins(b)},onDidChangePlugins:(b,x,_)=>(M(k,"chatPromptFiles"),je.onDidChangePlugins(b,x,_)),registerChatSessionCustomizationProvider(b,x,_){return M(k,"chatSessionCustomizationProvider"),je.registerChatSessionCustomizationProvider(k,b,x,_)},createInputNotification(b){return M(k,"chatInputNotification"),m0.createInputNotification(k,b)}},YV={selectChatModels:b=>z.selectLanguageModels(k,b??{}),onDidChangeChatModels:(b,x,_)=>z.onDidChangeProviders(b,x,_),registerLanguageModelChatProvider:(b,x)=>z.registerLanguageModelChatProvider(k,b,x),get isModelProxyAvailable(){return M(k,"languageModelProxy"),z.isModelProxyAvailable},onDidChangeModelProxyAvailability:(b,x,_)=>(M(k,"languageModelProxy"),z.onDidChangeModelProxyAvailability(b,x,_)),getModelProxy:()=>(M(k,"languageModelProxy"),z.getModelProxy(k)),registerLanguageModelProxyProvider:b=>(M(k,"chatParticipantPrivate"),z.registerLanguageModelProxyProvider(k,b)),get embeddingModels(){return M(k,"embeddings"),Pt.embeddingsModels},onDidChangeEmbeddingModels:(b,x,_)=>(M(k,"embeddings"),Pt.onDidChange(b,x,_)),registerEmbeddingsProvider(b,x){return M(k,"embeddings"),Pt.registerEmbeddingsProvider(k,b,x)},async computeEmbeddings(b,x,_){return M(k,"embeddings"),Pt.computeEmbeddings(b,x,_)},registerTool(b,x){return xn.registerTool(k,b,x)},registerToolDefinition(b,x){return xn.registerToolDefinition(k,b,x)},invokeTool(b,x,_){return typeof b!="string"&&M(k,"chatParticipantAdditions"),xn.invokeTool(k,b,x,_)},get tools(){return xn.getTools(k)},fileIsIgnored(b,x){return z.fileIsIgnored(k,b,x)},registerIgnoredFileProvider(b){return z.registerIgnoredFileProvider(k,b)},registerMcpServerDefinitionProvider(b,x){return j.registerMcpConfigurationProvider(k,b,x)},onDidChangeMcpServerDefinitions:(...b)=>(M(k,"mcpServerDefinitions"),ce(j.onDidChangeMcpServerDefinitions)(...b)),get mcpServerDefinitions(){return M(k,"mcpServerDefinitions"),j.mcpServerDefinitions},startMcpGateway(b){return M(k,"mcpServerDefinitions"),j.startMcpGateway(b)},onDidChangeChatRequestTools(...b){return M(k,"chatParticipantAdditions"),ce(je.onDidChangeChatRequestTools)(...b)}},XV={registerSpeechProvider(b,x){return M(k,"speech"),tt.registerProvider(k.identifier,b,x)}};return{version:t.version,ai:QV,authentication:ie,commands:UV,comments:$V,chat:JV,debug:zV,env:g0,extensions:HV,interactive:jV,l10n:GV,languages:VV,lm:YV,notebooks:KV,scm:WV,speech:XV,tasks:qV,tests:FV,window:BV,workspace:f0,Breakpoint:js,TerminalOutputAnchor:TD,ChatResultFeedbackKind:sS,ChatVariableLevel:XD,ChatCompletionItem:ix,ChatReferenceDiagnostic:zl,CallHierarchyIncomingCall:cp,CallHierarchyItem:Ml,CallHierarchyOutgoingCall:up,CancellationError:lt,CancellationTokenSource:Re,CandidatePortSource:qw,CodeAction:Ji,CodeActionKind:ft,CodeActionTriggerKind:bx,CodeLens:vl,Color:ai,ColorInformation:Sl,ColorPresentation:Cl,ColorThemeKind:Yx,CommentMode:VD,CommentState:BD,CommentThreadCollapsibleState:$x,CommentThreadState:zx,CommentThreadApplicability:qx,CommentThreadFocus:Kx,CompletionItem:Il,CompletionItemKind:Eh,CompletionItemTag:xx,CompletionList:si,CompletionTriggerKind:Ix,ConfigurationTarget:Ux,CustomExecution:mc,DebugAdapterExecutable:Tl,DebugAdapterInlineImplementation:Js,DebugAdapterNamedPipeServer:El,DebugAdapterServer:Qs,DebugConfigurationProviderTriggerKind:Z_,DebugConsoleMode:Gx,DebugVisualization:XI,DecorationRangeBehavior:Rx,Diagnostic:zs,DiagnosticRelatedInformation:Ki,DiagnosticSeverity:nc,DiagnosticTag:xh,Disposable:Ie,DocumentHighlight:fl,DocumentHighlightKind:vx,MultiDocumentHighlight:hl,DocumentLink:xl,DocumentSymbol:yr,EndOfLine:ic,EnvironmentVariableMutatorType:hx,EvaluatableExpression:wl,InlineValueText:kl,InlineValueVariableLookup:Pl,InlineValueEvaluatableExpression:_l,InlineCompletionTriggerKind:Fx,InlineCompletionsDisposeReasonKind:Hx,EventEmitter:T,ExtensionKind:Jx,ExtensionMode:nS,ExternalUriOpenerPriority:GD,FileChangeType:Bx,FileDecoration:fc,FileDecoration2:fc,FileSystemError:ut,FileType:Eu,FilePermission:Pf,FoldingRange:lp,FoldingRangeKind:Wx,FunctionBreakpoint:ci,InlineCompletionItem:rp,InlineCompletionList:ip,Hover:sc,VerboseHover:gl,HoverVerbosityAction:ED,IndentAction:N1,Location:zt,MarkdownString:Bt,OverviewRulerLane:YP,ParameterInformation:tp,PortAutoForwardAction:QD,Position:we,ProcessExecution:Xi,ProgressLocation:kh,QuickInputButtonLocation:WD,QuickInputButtons:Qi,Range:ve,RelativePattern:es,Selection:Nn,SelectionRange:Yi,SemanticTokens:ui,SemanticTokensBuilder:YI,SemanticTokensEdit:gp,SemanticTokensEdits:Ol,SemanticTokensLegend:gc,ShellExecution:li,ShellQuoting:LD,SignatureHelp:op,SignatureHelpTriggerKind:wD,SignatureInformation:np,SnippetString:Un,SourceBreakpoint:di,StandardTokenType:Ph,SyntaxHighlightingTokenFontStyle:qD,StatusBarAlignment:wx,SymbolInformation:br,SymbolKind:ep,SymbolTag:Ch,Task:_n,TaskEventKind:AD,TaskGroup:bn,TaskPanelKind:OD,TaskRevealKind:MD,TaskRunOn:ND,TaskScope:Ox,TerminalLink:BI,TerminalQuickFixTerminalCommand:$I,TerminalQuickFixOpener:WI,TerminalLocation:DD,TerminalProfile:zI,TerminalExitReason:PD,TerminalShellExecutionCommandLineConfidence:Ax,TerminalCompletionItem:qI,TerminalCompletionItemKind:RD,TerminalCompletionList:KI,TerminalShellType:_D,TextDocumentSaveReason:Px,TextEdit:Pn,SnippetTextEdit:qs,TextEditorCursorStyle:GP,TextEditorChangeKind:wh,TextEditorLineNumbersStyle:kx,TextEditorRevealType:_x,TextEditorSelectionChangeKind:Cc,SyntaxTokenType:Tc,TextDocumentChangeReason:Dx,ThemeColor:Gs,ThemeIcon:ln,TreeItem:Zi,TreeItemCheckboxState:Nx,TreeItemCollapsibleState:Lx,TypeHierarchyItem:Ll,UIKind:Tb,Uri:y,ViewColumn:Ex,WorkspaceEdit:tr,DocumentPasteTriggerKind:FD,DocumentDropEdit:sp,DocumentDropOrPasteEditKind:Ur,DocumentPasteEdit:QI,InlayHint:yl,InlayHintLabelPart:bl,InlayHintKind:kD,RemoteAuthorityResolverError:ns,ResolvedAuthority:VI,ManagedResolvedAuthority:Rl,SourceControlInputBoxValidationType:Mx,ExtensionRuntime:oS,TimelineItem:dp,NotebookRange:Wn,NotebookCellKind:Sh,NotebookCellExecutionState:$D,NotebookCellData:Gi,NotebookData:oc,NotebookRendererScript:fp,NotebookCellStatusBarAlignment:Xx,NotebookEditorRevealType:Zx,NotebookCellOutput:ji,NotebookCellOutputItem:rc,CellErrorStackFrame:ZI,NotebookCellStatusBarItem:ex,NotebookControllerAffinity:zD,NotebookControllerAffinity2:eS,NotebookEdit:_o,NotebookKernelSourceAction:tx,NotebookVariablesRequestKind:tS,PortAttributes:ox,LinkedEditingRanges:nx,TestResultState:KD,TestRunRequest:Dl,TestMessage:ts,TestMessageStackFrame:rx,TestTag:Ys,TestRunProfileKind:rS,TextSearchCompleteMessageType:Xh,DataTransfer:Nr,DataTransferItem:ac,TestCoverageCount:pc,FileCoverage:Xs,StatementCoverage:vp,BranchCoverage:bp,DeclarationCoverage:yp,WorkspaceTrustState:jD,LanguageStatusSeverity:yx,QuickPickItemKind:jx,InputBoxValidationSeverity:Qx,TabInputText:Nl,TabInputTextDiff:Zs,TabInputTextMerge:Ip,TabInputCustom:Ul,TabInputNotebook:Fl,TabInputNotebookDiff:Hl,TabInputWebview:xp,TabInputTerminal:Sp,TabInputInteractiveWindow:Cp,TabInputChat:Tp,TabInputTextMultiDiff:Ep,TelemetryTrustedValue:ul,LogLevel:Ld,EditSessionIdentityMatch:U1,InteractiveSessionVoteDirection:JD,ChatCopyKind:YD,ChatSessionChangedFile:mx,ChatEditingSessionActionOutcome:iS,InteractiveEditorResponseFeedbackKind:eR,DebugStackFrame:pp,DebugThread:mp,RelatedInformationType:lR,SpeechToTextStatus:cR,TextToSpeechStatus:uR,PartialAcceptTriggerKind:Sx,InlineCompletionEndOfLifeReasonKind:Cx,InlineCompletionDisplayLocationKind:Tx,KeywordRecognitionStatus:pR,ChatImageMimeType:aR,ChatResponseMarkdownPart:ea,ChatResponseFileTreePart:na,ChatResponseAnchorPart:rs,ChatResponseProgressPart:bc,ChatResponseProgressPart2:Vl,ChatResponseThinkingProgressPart:pi,ChatResponseHookPart:oa,ChatResponseAutoModeResolutionPart:is,ChatResponseReferencePart:Fr,ChatResponseReferencePart2:Fr,ChatResponseCodeCitationPart:aa,ChatResponseCodeblockUriPart:sa,ChatResponseWarningPart:ss,ChatResponseInfoPart:ra,ChatResponseTextEditPart:ls,ChatResponseNotebookEditPart:da,ChatResponseWorkspaceEditPart:$l,ChatResponseMarkdownWithVulnerabilitiesPart:os,ChatResponseCommandButtonPart:ia,ChatResponseConfirmationPart:ta,ChatQuestion:kp,ChatQuestionType:aS,ChatResponseQuestionCarouselPart:as,ChatResponseMovePart:la,ChatResponseExtensionsPart:Bl,ChatResponseExternalEditPart:vc,ChatResponsePullRequestPart:Wl,ChatResponseMultiDiffPart:hc,ChatResponseReferencePartStatusKind:oR,ChatResponseClearToPreviousToolInvocationReason:rR,ChatRequestTurn:ds,ChatRequestTurn2:ds,ChatResponseTurn:Pp,ChatResponseTurn2:ax,ChatSubagentToolInvocationData:wp,ChatToolInvocationPart:yc,ChatLocation:cS,ChatSessionStatus:tR,ChatSessionCustomizationType:Hr,ChatDebugLogLevel:nR,ChatDebugToolCallResult:uS,ChatDebugHookResult:pS,ChatDebugToolCallEvent:_p,ChatDebugModelTurnEvent:Dp,ChatDebugGenericEvent:Rp,ChatDebugSubagentInvocationEvent:Mp,ChatDebugUserMessageEvent:Ap,ChatDebugAgentResponseEvent:Op,ChatDebugMessageSection:Ic,ChatDebugEventTextContent:lx,ChatDebugMessageContentType:mS,ChatDebugEventMessageContent:dx,ChatDebugEventToolCallContent:cx,ChatDebugEventModelTurnContent:ux,ChatDebugEventHookContent:px,ChatRequestEditorData:Lp,ChatRequestNotebookData:Np,ChatReferenceBinaryData:Up,ChatRequestEditedFileEventKind:ZD,LanguageModelChatMessageRole:Dh,LanguageModelChatMessage:Fp,LanguageModelChatMessage2:Hp,LanguageModelToolResultPart:cs,LanguageModelToolResultPart2:cs,LanguageModelTextPart:qt,LanguageModelTextPart2:qt,LanguageModelPartAudience:gS,ToolResultAudience:gS,LanguageModelToolCallPart:Vr,LanguageModelThinkingPart:mi,LanguageModelError:nr,LanguageModelToolResult:ql,LanguageModelToolResult2:gx,LanguageModelDataPart:yn,LanguageModelDataPart2:yn,LanguageModelToolExtensionSource:Vp,LanguageModelToolMCPSource:Bp,ExtendedLanguageModelToolResult:fx,LanguageModelChatToolMode:fS,LanguageModelPromptTsxPart:Br,NewSymbolName:JI,NewSymbolNameTag:HD,NewSymbolNameTriggerKind:Vx,ExcludeSettingOptions:BS,TextSearchContext2:jl,TextSearchMatch2:or,AISearchKeyword:Lc,TextSearchCompleteMessageTypeNew:Xh,ChatErrorLevel:iR,ChatInputNotificationSeverity:sR,McpHttpServerDefinition:Sc,McpHttpServerDefinition2:Sc,McpStdioServerDefinition:xc,McpStdioServerDefinition2:xc,McpToolAvailability:hS,McpToolInvocationContentData:sx,SettingsSearchResultKind:dR,ChatTodoStatus:lS,ChatDebugSubagentStatus:dS}}}var Ug=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 d0(this._apiFactory,e,this._extensionRegistry,t,this._logService)),this.register(this._instaService.createInstance(md)),this._initData.remote.isRemote&&this.register(this._instaService.createInstance(ob,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))}};Ug=D([C(2,On),C(3,Ro),C(4,Mo),C(5,rt),C(6,se)],Ug);var md=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&&md.aliased.size){let e=dr(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=md.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,"/")}};md=D([C(0,rt)],md);var d0=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 Yn}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(BU,this._extensionRegistry,this._configProvider)}return this._defaultApiImpl}},ob=class{constructor(t,e,n){this._extensionPaths=t;this._appUriScheme=e;this.nodeModuleName=["open","opn"];this._mainThreadTelemetry=n.getProxy(N.MainThreadTelemetry);let o=n.getProxy(N.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})}};ob=D([C(2,fe)],ob);var Fg=class{constructor(t,e){this._mainThreadConsole=t.getProxy(N.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:b3(o,this._includeStack)}),this._logNative&&this._nativeConsoleLogMessage(t,n,o)}};Fg=D([C(0,fe),C(1,rt)],Fg);var v3=1e5;function b3(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=Tu(e);return n.length>v3?"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 Hg=class extends Fg{constructor(t,e){super(t,e)}_nativeConsoleLogMessage(t,e,n){e.apply(console,n)}};Hg=D([C(0,fe),C(1,rt)],Hg);var c0=class extends Ug{_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.")})}},sw=class extends rd{constructor(){super(...arguments);this.extensionRuntime=2}async _beforeAlmostReadyToRunExtensions(){this._instaService.createInstance(Hg);let e=this._instaService.invokeFunction(DV);this._fakeModules=this._instaService.createInstance(c0,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:y3(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(h){throw console.error(r?`Loading code for extension ${r} failed: ${h.message}`:`Loading code failed: ${h.message}`),console.error(`${n.toString(!0)}${typeof h.line=="number"?` line ${h.line}`:""}${typeof h.column=="number"?` column ${h.column}`:""}`),console.error(h),h}e&&await this._extHostLocalizationService.initializeLocalizedMessages(e);let m={},g={exports:m},v=h=>{let I=this._fakeModules.getModule(h,n);if(I===void 0)throw new Error(`Cannot load module '${h}'`);return I};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 wn(10)}};function y3(i,t){return Ps(i)?i:i+t}ze(se,new Oo(eg,[!0],!0));ze(Tm,Sm,0);ze(Mo,sw,0);ze(um,cm,0);ze(ed,new Oo(vm,[!0],!0));var AV=self.close.bind(self);self.close=()=>console.trace("'close' has been blocked");var OV=postMessage.bind(self);self.postMessage=()=>console.trace("'postMessage' has been blocked");function RV(i){return/^(file|vscode-remote):/i.test(i)}var MV=fetch.bind(self);function I3(i){self.fetch=async function(t,e){return t instanceof Request||RV(String(t))&&(t=(await i(y.parse(String(t)))).toString(!0)),MV(t,e)},self.XMLHttpRequest=class extends XMLHttpRequest{open(t,e,n,o,r){(async()=>(RV(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=Bb.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,h,I){return super.open(m,d(g),v??!0,h,I)}};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 hC{constructor(i,t){super(OV,i,{name:rn(i.toString()),...t})}};var x3=new class{constructor(){this.pid=void 0}exit(i){AV()}},u0=class{constructor(){let t=new MessageChannel,e=new T,n=!1;OV(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(hO(s,2)){n=!0,LV("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 S3(i){return new Promise(t=>{let e=i.onMessage(n=>{e.dispose();let o=JSON.parse(n.toString());i.send(Vw(0)),t({protocol:i,initData:o})});i.send(Vw(1))})}var LV=i=>AV();function C3(i){return!!i&&typeof i=="object"&&i.type==="vscode.init"&&i.data instanceof Map}function NV(){fn("code/extHost/willConnectToRenderer");let i=new u0;return{onmessage(t){C3(t)&&S3(i.protocol).then(e=>{fn("code/extHost/didWaitForInitData");let n=new fC(e.protocol,e.initData,x3,null,t.data);I3(o=>n.asBrowserUri(o)),LV=o=>n.terminate(o)})}}}var T3=NV();self.onmessage=i=>T3.onmessage(i.data);
