/*!--------------------------------------------------------
 * 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 */

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;
    return g = { next: verb(0), "throw": verb(1), "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 = {}, 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;
};

export function __importStar(mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __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;
    }
    function next() {
        while (env.stack.length) {
            var rec = env.stack.pop();
            try {
                var result = rec.dispose && rec.dispose.call(rec.value);
                if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
            }
            catch (e) {
                fail(e);
            }
        }
        if (env.hasError) throw env.error;
    }
    return next();
}

export default {
    __extends: __extends,
    __assign: __assign,
    __rest: __rest,
    __decorate: __decorate,
    __param: __param,
    __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,
};

var Wk=Object.create;var Tg=Object.defineProperty;var Pb=Object.getOwnPropertyDescriptor;var Uk=Object.getOwnPropertyNames;var Nk=Object.getPrototypeOf,Bk=Object.prototype.hasOwnProperty;var Sb=(i,r)=>(r=Symbol[i])?r:Symbol.for("Symbol."+i),xb=i=>{throw TypeError(i)};var I=(i,r)=>()=>(i&&(r=i(i=0)),r);var Vk=(i,r)=>()=>(r||i((r={exports:{}}).exports,r),r.exports);var Hk=(i,r,e,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Uk(r))!Bk.call(i,n)&&n!==e&&Tg(i,n,{get:()=>r[n],enumerable:!(t=Pb(r,n))||t.enumerable});return i};var Eb=(i,r,e)=>(e=i!=null?Wk(Nk(i)):{},Hk(r||!i||!i.__esModule?Tg(e,"default",{value:i,enumerable:!0}):e,i));var E=(i,r,e,t)=>{for(var n=t>1?void 0:t?Pb(r,e):r,o=i.length-1,s;o>=0;o--)(s=i[o])&&(n=(t?s(r,e,n):s(n))||n);return t&&n&&Tg(r,e,n),n},g=(i,r)=>(e,t)=>r(e,t,i);var Cb=(i,r,e)=>{if(r!=null){typeof r!="object"&&typeof r!="function"&&xb("Object expected");var t,n;e&&(t=r[Sb("asyncDispose")]),t===void 0&&(t=r[Sb("dispose")],e&&(n=t)),typeof t!="function"&&xb("Object not disposable"),n&&(t=function(){try{n.call(this)}catch(o){return Promise.reject(o)}}),i.push([e,t,r])}else e&&i.push([e]);return r},Tb=(i,r,e)=>{var t=typeof SuppressedError=="function"?SuppressedError:function(s,a,l,c){return c=Error(l),c.name="SuppressedError",c.error=s,c.suppressed=a,c},n=s=>r=e?new t(s,r,"An error was suppressed during disposal"):(e=!0,s),o=s=>{for(;s=i.pop();)try{var a=s[1]&&s[1].call(s[2]);if(s[0])return Promise.resolve(a).then(o,l=>(n(l),o()))}catch(l){n(l)}if(e)throw r};return o()};function kg(i){let r=[];typeof i=="number"&&r.push("code/timeOrigin",i);function e(o,s){r.push(o,s?.startTime??Date.now())}function t(){let o=[];for(let s=0;s<r.length;s+=2)o.push({name:r[s],startTime:r[s+1]});return o}function n(o){if(typeof o>"u"){let s=r.length>=2&&r[0]==="code/timeOrigin",a=s?r[1]:void 0;r.length=0,s&&r.push("code/timeOrigin",a)}else for(let s=r.length-2;s>=0;s-=2)r[s]===o&&r.splice(s,2)}return{mark:e,getMarks:t,clearMarks:n}}function zk(){if(typeof performance=="object"&&typeof performance.mark=="function"&&!performance.nodeTiming)return typeof performance.timeOrigin!="number"&&!performance.timing?kg():{mark(i,r){performance.mark(i,r)},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 r=[{name:"code/timeOrigin",startTime:Math.round(i)}];for(let e of performance.getEntriesByType("mark"))r.push({name:e.name,startTime:Math.round(i+e.startTime)});return r}};if(typeof process=="object"){let i=performance?.timeOrigin;return kg(i)}else return console.trace("perf-util loaded in UNKNOWN environment"),kg()}function jk(i){return i.MonacoPerformanceMarks||(i.MonacoPerformanceMarks=zk()),i.MonacoPerformanceMarks}var Rg,Be,zF,Ip,mi=I(()=>{Rg=jk(globalThis),Be=Rg.mark,zF=Rg.clearMarks,Ip=Rg.getMarks});var Lg=Vk((XF,Mb)=>{"use strict";function Xk(i,r){var e=i;r.slice(0,-1).forEach(function(n){e=e[n]||{}});var t=r[r.length-1];return t in e}function Ab(i){return typeof i=="number"||/^0x[0-9a-f]+$/i.test(i)?!0:/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(i)}function Lb(i,r){return r==="constructor"&&typeof i[r]=="function"||r==="__proto__"}Mb.exports=function(i,r){r||(r={});var e={bools:{},strings:{},unknownFn:null};typeof r.unknown=="function"&&(e.unknownFn=r.unknown),typeof r.boolean=="boolean"&&r.boolean?e.allBools=!0:[].concat(r.boolean).filter(Boolean).forEach(function(D){e.bools[D]=!0});var t={};function n(D){return t[D].some(function(M){return e.bools[M]})}Object.keys(r.alias||{}).forEach(function(D){t[D]=[].concat(r.alias[D]),t[D].forEach(function(M){t[M]=[D].concat(t[D].filter(function(X){return M!==X}))})}),[].concat(r.string).filter(Boolean).forEach(function(D){e.strings[D]=!0,t[D]&&[].concat(t[D]).forEach(function(M){e.strings[M]=!0})});var o=r.default||{},s={_:[]};function a(D,M){return e.allBools&&/^--[^=]+$/.test(M)||e.strings[D]||e.bools[D]||t[D]}function l(D,M,X){for(var B=D,G=0;G<M.length-1;G++){var q=M[G];if(Lb(B,q))return;B[q]===void 0&&(B[q]={}),(B[q]===Object.prototype||B[q]===Number.prototype||B[q]===String.prototype)&&(B[q]={}),B[q]===Array.prototype&&(B[q]=[]),B=B[q]}var ve=M[M.length-1];Lb(B,ve)||((B===Object.prototype||B===Number.prototype||B===String.prototype)&&(B={}),B===Array.prototype&&(B=[]),B[ve]===void 0||e.bools[ve]||typeof B[ve]=="boolean"?B[ve]=X:Array.isArray(B[ve])?B[ve].push(X):B[ve]=[B[ve],X])}function c(D,M,X){if(!(X&&e.unknownFn&&!a(D,X)&&e.unknownFn(X)===!1)){var B=!e.strings[D]&&Ab(M)?Number(M):M;l(s,D.split("."),B),(t[D]||[]).forEach(function(G){l(s,G.split("."),B)})}}Object.keys(e.bools).forEach(function(D){c(D,o[D]===void 0?!1:o[D])});var d=[];i.indexOf("--")!==-1&&(d=i.slice(i.indexOf("--")+1),i=i.slice(0,i.indexOf("--")));for(var u=0;u<i.length;u++){var f=i[u],m,y;if(/^--.+=/.test(f)){var v=f.match(/^--([^=]+)=([\s\S]*)$/);m=v[1];var C=v[2];e.bools[m]&&(C=C!=="false"),c(m,C,f)}else if(/^--no-.+/.test(f))m=f.match(/^--no-(.+)/)[1],c(m,!1,f);else if(/^--.+/.test(f))m=f.match(/^--(.+)/)[1],y=i[u+1],y!==void 0&&!/^(-|--)[^-]/.test(y)&&!e.bools[m]&&!e.allBools&&(!t[m]||!n(m))?(c(m,y,f),u+=1):/^(true|false)$/.test(y)?(c(m,y==="true",f),u+=1):c(m,e.strings[m]?"":!0,f);else if(/^-[^-]+/.test(f)){for(var w=f.slice(1,-1).split(""),_=!1,R=0;R<w.length;R++){if(y=f.slice(R+2),y==="-"){c(w[R],y,f);continue}if(/[A-Za-z]/.test(w[R])&&y[0]==="="){c(w[R],y.slice(1),f),_=!0;break}if(/[A-Za-z]/.test(w[R])&&/-?\d+(\.\d*)?(e-?\d+)?$/.test(y)){c(w[R],y,f),_=!0;break}if(w[R+1]&&w[R+1].match(/\W/)){c(w[R],f.slice(R+2),f),_=!0;break}else c(w[R],e.strings[w[R]]?"":!0,f)}m=f.slice(-1)[0],!_&&m!=="-"&&(i[u+1]&&!/^(-|--)[^-]/.test(i[u+1])&&!e.bools[m]&&(!t[m]||!n(m))?(c(m,i[u+1],f),u+=1):i[u+1]&&/^(true|false)$/.test(i[u+1])?(c(m,i[u+1]==="true",f),u+=1):c(m,e.strings[m]?"":!0,f))}else if((!e.unknownFn||e.unknownFn(f)!==!1)&&s._.push(e.strings._||!Ab(f)?f:Number(f)),r.stopEarly){s._.push.apply(s._,i.slice(u+1));break}}return Object.keys(o).forEach(function(D){Xk(s,D.split("."))||(l(s,D.split("."),o[D]),(t[D]||[]).forEach(function(M){l(s,M.split("."),o[D])}))}),r["--"]?s["--"]=d.slice():d.forEach(function(D){s._.push(D)}),s}});function Zk(i){return i.replace(Yk,function(r,e,t,n,o,s){if(n)return"";if(o){let a=o.length;return o[a-1]===`
`?o[a-2]==="\r"?`\r
`:`
`:""}else return s?r.substring(1):r})}function bp(i){let r=Zk(i);try{return JSON.parse(r)}catch{let t=r.replace(/,\s*([}\]])/g,"$1");return JSON.parse(t)}}var Yk,Mg=I(()=>{Yk=/("[^"\\]*(?:\\.[^"\\]*)*")|('[^'\\]*(?:\\.[^'\\]*)*')|(\/\*[^\/\*]*(?:(?:\*|\/)[^\/\*]*)*?\*\/)|(\/{2,}.*?(?:(?:\r?\n)|$))|(,\s*[}\]])/g});import{homedir as Ob}from"os";import{resolve as eR,isAbsolute as tR,join as va}from"path";function Sp(i,r){let e=nR(i,r),t=[e];return tR(e)||t.unshift(rR),eR(...t)}function nR(i,r){process.env.VSCODE_DEV&&(process.isEmbeddedApp?r="agents-oss-dev":r="code-oss-dev");let e=process.env.VSCODE_PORTABLE;if(e)return va(e,"user-data");let t=process.env.VSCODE_APPDATA;if(t)return va(t,r);let n=i["user-data-dir"];if(n)return n;switch(process.platform){case"win32":if(t=process.env.APPDATA,!t){let o=process.env.USERPROFILE;if(typeof o!="string")throw new Error("Windows: Unexpected undefined %USERPROFILE% environment variable");t=va(o,"AppData","Roaming")}break;case"darwin":t=va(Ob(),"Library","Application Support");break;case"linux":t=process.env.XDG_CONFIG_HOME||va(Ob(),".config");break;default:throw new Error("Platform not supported")}return va(t,r)}var rR,Og=I(()=>{rR=process.env.VSCODE_CWD||process.cwd()});function Fg(){return globalThis._VSCODE_NLS_MESSAGES}function Qc(){return globalThis._VSCODE_NLS_LANGUAGE}function xp(i,r){let e;return r.length===0?e=i:e=i.replace(/\{(\d+)\}/g,(t,n)=>{let o=n[0],s=r[o],a=t;return typeof s=="string"?a=s:(typeof s=="number"||typeof s=="boolean"||s===void 0||s===null)&&(a=String(s)),a}),iR&&(e="\uFF3B"+e.replace(/[aouei]/g,"$&$&")+"\uFF3D"),e}function h(i,r,...e){return xp(typeof i=="number"?Fb(i,r):r,e)}function Fb(i,r){let e=Fg()?.[i];if(typeof e!="string"){if(typeof r=="string")return r;throw new Error(`!!! NLS MISSING: ${i} !!!`)}return e}function Wg(i,r,...e){let t;typeof i=="number"?t=Fb(i,r):t=r;let n=xp(t,e);return{value:n,original:r===t?n:xp(r,e)}}var iR,Ee=I(()=>{iR=Qc()==="pseudo"||typeof document<"u"&&document.location&&typeof document.location.hash=="string"&&document.location.hash.indexOf("pseudo=true")>=0});function Tp(i){switch(i){case 0:return"Web";case 1:return"Mac";case 2:return"Linux";case 3:return"Windows"}}function Vg(i){return parseFloat(i)>=25}var Ss,Yc,Zc,Xc,Ub,Nb,Ug,oR,Bb,Vb,sR,Pp,Ep,Wb,Hb,Hi,$i,Yr,$b,aR,Cp,F,N,ne,_p,kp,Dr,lR,qb,Kb,qi,hi,vn,cR,Ng,dR,zb,Ot,Bg,jb,Gb,Jb,rW,Z=I(()=>{Ee();Ss="en",Yc=!1,Zc=!1,Xc=!1,Ub=!1,Nb=!1,Ug=!1,oR=!1,Bb=!1,Vb=!1,sR=!1,Ep=Ss,Wb=Ss,$i=globalThis;typeof $i.vscode<"u"&&typeof $i.vscode.process<"u"?Yr=$i.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(Yr=process);$b=typeof Yr?.versions?.electron=="string",aR=$b&&Yr?.type==="renderer";if(typeof Yr=="object"){Yc=Yr.platform==="win32",Zc=Yr.platform==="darwin",Xc=Yr.platform==="linux",Ub=Xc&&!!Yr.env.SNAP&&!!Yr.env.SNAP_REVISION,oR=$b,Vb=!!Yr.env.CI||!!Yr.env.BUILD_ARTIFACTSTAGINGDIRECTORY||!!Yr.env.GITHUB_WORKSPACE,Pp=Ss,Ep=Ss;let i=Yr.env.VSCODE_NLS_CONFIG;if(i)try{let r=JSON.parse(i);Pp=r.userLocale,Wb=r.osLocale,Ep=r.resolvedLanguage||Ss,Hb=r.languagePack?.translationsConfigFile}catch{}Nb=!0}else typeof navigator=="object"&&!aR?(Hi=navigator.userAgent,Yc=Hi.indexOf("Windows")>=0,Zc=Hi.indexOf("Macintosh")>=0,Bb=(Hi.indexOf("Macintosh")>=0||Hi.indexOf("iPad")>=0||Hi.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,Xc=Hi.indexOf("Linux")>=0,sR=Hi?.indexOf("Mobi")>=0,Ug=!0,Ep=Qc()||Ss,Pp=navigator.language.toLowerCase(),Wb=Pp):console.error("Unable to resolve platform.");Cp=0;Zc?Cp=1:Yc?Cp=3:Xc&&(Cp=2);F=Yc,N=Zc,ne=Xc,_p=Ub,kp=Nb,Dr=Ug,lR=Ug&&typeof $i.importScripts=="function",qb=lR?$i.origin:void 0,Kb=Vb,qi=Cp,hi=Hi,vn=Ep;(t=>{function i(){return vn}t.value=i;function r(){return vn.length===2?vn==="en":vn.length>=3?vn[0]==="e"&&vn[1]==="n"&&vn[2]==="-":!1}t.isDefaultVariant=r;function e(){return vn==="en"}t.isDefault=e})(cR||={});Ng=Hb,dR=typeof $i.postMessage=="function"&&!$i.importScripts,zb=(()=>{if(dR){let i=[];$i.addEventListener("message",e=>{if(e.data&&e.data.vscodeScheduleAsyncWork)for(let t=0,n=i.length;t<n;t++){let o=i[t];if(o.id===e.data.vscodeScheduleAsyncWork){i.splice(t,1),o.callback();return}}});let r=0;return e=>{let t=++r;i.push({id:t,callback:e}),$i.postMessage({vscodeScheduleAsyncWork:t},"*")}}return i=>setTimeout(i)})(),Ot=Zc||Bb?2:Yc?1:3,Bg=!!(hi&&hi.indexOf("Chrome")>=0),jb=!!(hi&&hi.indexOf("Firefox")>=0),Gb=!!(!Bg&&hi&&hi.indexOf("Safari")>=0),Jb=!!(hi&&hi.indexOf("Edg/")>=0),rW=!!(hi&&hi.indexOf("Android")>=0)});var xs,Hg,Zr,Zt,Rp,Qb,Hn=I(()=>{Z();Hg=globalThis.vscode;if(typeof Hg<"u"&&typeof Hg.process<"u"){let i=Hg.process;xs={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"?xs={get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd(){return process.env.VSCODE_CWD||process.cwd()}}:xs={get platform(){return F?"win32":N?"darwin":"linux"},get arch(){},get env(){return{}},cwd(){return"/"}};Zr=xs.cwd,Zt=xs.env,Rp=xs.platform,Qb=xs.arch});function gR(i,r){if(i===null||typeof i!="object")throw new Dp(r,"Object",i)}function Ft(i,r){if(typeof i!="string")throw new Dp(r,"string",i)}function Re(i){return i===fr||i===en}function $g(i){return i===fr}function zi(i){return i>=uR&&i<=fR||i>=pR&&i<=mR}function Ap(i,r,e,t){let n="",o=0,s=-1,a=0,l=0;for(let c=0;c<=i.length;++c){if(c<i.length)l=i.charCodeAt(c);else{if(t(l))break;l=fr}if(t(l)){if(!(s===c-1||a===1))if(a===2){if(n.length<2||o!==2||n.charCodeAt(n.length-1)!==Ps||n.charCodeAt(n.length-2)!==Ps){if(n.length>2){let d=n.lastIndexOf(e);d===-1?(n="",o=0):(n=n.slice(0,d),o=n.length-1-n.lastIndexOf(e)),s=c,a=0;continue}else if(n.length!==0){n="",o=0,s=c,a=0;continue}}r&&(n+=n.length>0?`${e}..`:"..",o=2)}else n.length>0?n+=`${e}${i.slice(s+1,c)}`:n=i.slice(s+1,c),o=c-s-1;s=c,a=0}else l===Ps&&a!==-1?++a:a=-1}return n}function vR(i){return i?`${i[0]==="."?"":"."}${i}`:""}function Yb(i,r){gR(r,"pathObject");let e=r.dir||r.root,t=r.base||`${r.name||""}${vR(r.ext)}`;return e?e===r.root?`${e}${t}`:`${e}${i}${t}`:t}var uR,pR,fR,mR,Ps,fr,en,Ki,hR,Dp,tn,dt,yR,de,_t,ko,V,Vr,Lp,Ae,Se,Ia,oW,sW,aW,Wt,Mp,Ce=I(()=>{Hn();uR=65,pR=97,fR=90,mR=122,Ps=46,fr=47,en=92,Ki=58,hR=63,Dp=class extends Error{constructor(r,e,t){let n;typeof e=="string"&&e.indexOf("not ")===0?(n="must not be",e=e.replace(/^not /,"")):n="must be";let o=r.indexOf(".")!==-1?"property":"argument",s=`The "${r}" ${o} ${n} of type ${e}`;s+=`. Received type ${typeof t}`,super(s),this.code="ERR_INVALID_ARG_TYPE"}};tn=Rp==="win32";dt={resolve(...i){let r="",e="",t=!1;for(let n=i.length-1;n>=-1;n--){let o;if(n>=0){if(o=i[n],Ft(o,`paths[${n}]`),o.length===0)continue}else r.length===0?o=Zr():(o=Zt[`=${r}`]||Zr(),(o===void 0||o.slice(0,2).toLowerCase()!==r.toLowerCase()&&o.charCodeAt(2)===en)&&(o=`${r}\\`));let s=o.length,a=0,l="",c=!1,d=o.charCodeAt(0);if(s===1)Re(d)&&(a=1,c=!0);else if(Re(d))if(c=!0,Re(o.charCodeAt(1))){let u=2,f=u;for(;u<s&&!Re(o.charCodeAt(u));)u++;if(u<s&&u!==f){let m=o.slice(f,u);for(f=u;u<s&&Re(o.charCodeAt(u));)u++;if(u<s&&u!==f){for(f=u;u<s&&!Re(o.charCodeAt(u));)u++;(u===s||u!==f)&&(l=`\\\\${m}\\${o.slice(f,u)}`,a=u)}}}else a=1;else zi(d)&&o.charCodeAt(1)===Ki&&(l=o.slice(0,2),a=2,s>2&&Re(o.charCodeAt(2))&&(c=!0,a=3));if(l.length>0)if(r.length>0){if(l.toLowerCase()!==r.toLowerCase())continue}else r=l;if(t){if(r.length>0)break}else if(e=`${o.slice(a)}\\${e}`,t=c,c&&r.length>0)break}return e=Ap(e,!t,"\\",Re),t?`${r}\\${e}`:`${r}${e}`||"."},normalize(i){Ft(i,"path");let r=i.length;if(r===0)return".";let e=0,t,n=!1,o=i.charCodeAt(0);if(r===1)return $g(o)?"\\":i;if(Re(o))if(n=!0,Re(i.charCodeAt(1))){let a=2,l=a;for(;a<r&&!Re(i.charCodeAt(a));)a++;if(a<r&&a!==l){let c=i.slice(l,a);for(l=a;a<r&&Re(i.charCodeAt(a));)a++;if(a<r&&a!==l){for(l=a;a<r&&!Re(i.charCodeAt(a));)a++;if(a===r)return`\\\\${c}\\${i.slice(l)}\\`;a!==l&&(t=`\\\\${c}\\${i.slice(l,a)}`,e=a)}}}else e=1;else zi(o)&&i.charCodeAt(1)===Ki&&(t=i.slice(0,2),e=2,r>2&&Re(i.charCodeAt(2))&&(n=!0,e=3));let s=e<r?Ap(i.slice(e),!n,"\\",Re):"";if(s.length===0&&!n&&(s="."),s.length>0&&Re(i.charCodeAt(r-1))&&(s+="\\"),!n&&t===void 0&&i.includes(":")){if(s.length>=2&&zi(s.charCodeAt(0))&&s.charCodeAt(1)===Ki)return`.\\${s}`;let a=i.indexOf(":");do if(a===r-1||Re(i.charCodeAt(a+1)))return`.\\${s}`;while((a=i.indexOf(":",a+1))!==-1)}return t===void 0?n?`\\${s}`:s:n?`${t}\\${s}`:`${t}${s}`},isAbsolute(i){Ft(i,"path");let r=i.length;if(r===0)return!1;let e=i.charCodeAt(0);return Re(e)||r>2&&zi(e)&&i.charCodeAt(1)===Ki&&Re(i.charCodeAt(2))},join(...i){if(i.length===0)return".";let r,e;for(let o=0;o<i.length;++o){let s=i[o];Ft(s,"path"),s.length>0&&(r===void 0?r=e=s:r+=`\\${s}`)}if(r===void 0)return".";let t=!0,n=0;if(typeof e=="string"&&Re(e.charCodeAt(0))){++n;let o=e.length;o>1&&Re(e.charCodeAt(1))&&(++n,o>2&&(Re(e.charCodeAt(2))?++n:t=!1))}if(t){for(;n<r.length&&Re(r.charCodeAt(n));)n++;n>=2&&(r=`\\${r.slice(n)}`)}return dt.normalize(r)},relative(i,r){if(Ft(i,"from"),Ft(r,"to"),i===r)return"";let e=dt.resolve(i),t=dt.resolve(r);if(e===t||(i=e.toLowerCase(),r=t.toLowerCase(),i===r))return"";if(e.length!==i.length||t.length!==r.length){let y=e.split("\\"),v=t.split("\\");y[y.length-1]===""&&y.pop(),v[v.length-1]===""&&v.pop();let C=y.length,w=v.length,_=C<w?C:w,R;for(R=0;R<_&&y[R].toLowerCase()===v[R].toLowerCase();R++);return R===0?t:R===_?w>_?v.slice(R).join("\\"):C>_?"..\\".repeat(C-1-R)+"..":"":"..\\".repeat(C-R)+v.slice(R).join("\\")}let n=0;for(;n<i.length&&i.charCodeAt(n)===en;)n++;let o=i.length;for(;o-1>n&&i.charCodeAt(o-1)===en;)o--;let s=o-n,a=0;for(;a<r.length&&r.charCodeAt(a)===en;)a++;let l=r.length;for(;l-1>a&&r.charCodeAt(l-1)===en;)l--;let c=l-a,d=s<c?s:c,u=-1,f=0;for(;f<d;f++){let y=i.charCodeAt(n+f);if(y!==r.charCodeAt(a+f))break;y===en&&(u=f)}if(f!==d){if(u===-1)return t}else{if(c>d){if(r.charCodeAt(a+f)===en)return t.slice(a+f+1);if(f===2)return t.slice(a+f)}s>d&&(i.charCodeAt(n+f)===en?u=f:f===2&&(u=3)),u===-1&&(u=0)}let m="";for(f=n+u+1;f<=o;++f)(f===o||i.charCodeAt(f)===en)&&(m+=m.length===0?"..":"\\..");return a+=u,m.length>0?`${m}${t.slice(a,l)}`:(t.charCodeAt(a)===en&&++a,t.slice(a,l))},toNamespacedPath(i){if(typeof i!="string"||i.length===0)return i;let r=dt.resolve(i);if(r.length<=2)return i;if(r.charCodeAt(0)===en){if(r.charCodeAt(1)===en){let e=r.charCodeAt(2);if(e!==hR&&e!==Ps)return`\\\\?\\UNC\\${r.slice(2)}`}}else if(zi(r.charCodeAt(0))&&r.charCodeAt(1)===Ki&&r.charCodeAt(2)===en)return`\\\\?\\${r}`;return r},dirname(i){Ft(i,"path");let r=i.length;if(r===0)return".";let e=-1,t=0,n=i.charCodeAt(0);if(r===1)return Re(n)?i:".";if(Re(n)){if(e=t=1,Re(i.charCodeAt(1))){let a=2,l=a;for(;a<r&&!Re(i.charCodeAt(a));)a++;if(a<r&&a!==l){for(l=a;a<r&&Re(i.charCodeAt(a));)a++;if(a<r&&a!==l){for(l=a;a<r&&!Re(i.charCodeAt(a));)a++;if(a===r)return i;a!==l&&(e=t=a+1)}}}}else zi(n)&&i.charCodeAt(1)===Ki&&(e=r>2&&Re(i.charCodeAt(2))?3:2,t=e);let o=-1,s=!0;for(let a=r-1;a>=t;--a)if(Re(i.charCodeAt(a))){if(!s){o=a;break}}else s=!1;if(o===-1){if(e===-1)return".";o=e}return i.slice(0,o)},basename(i,r){r!==void 0&&Ft(r,"suffix"),Ft(i,"path");let e=0,t=-1,n=!0,o;if(i.length>=2&&zi(i.charCodeAt(0))&&i.charCodeAt(1)===Ki&&(e=2),r!==void 0&&r.length>0&&r.length<=i.length){if(r===i)return"";let s=r.length-1,a=-1;for(o=i.length-1;o>=e;--o){let l=i.charCodeAt(o);if(Re(l)){if(!n){e=o+1;break}}else a===-1&&(n=!1,a=o+1),s>=0&&(l===r.charCodeAt(s)?--s===-1&&(t=o):(s=-1,t=a))}return e===t?t=a:t===-1&&(t=i.length),i.slice(e,t)}for(o=i.length-1;o>=e;--o)if(Re(i.charCodeAt(o))){if(!n){e=o+1;break}}else t===-1&&(n=!1,t=o+1);return t===-1?"":i.slice(e,t)},extname(i){Ft(i,"path");let r=0,e=-1,t=0,n=-1,o=!0,s=0;i.length>=2&&i.charCodeAt(1)===Ki&&zi(i.charCodeAt(0))&&(r=t=2);for(let a=i.length-1;a>=r;--a){let l=i.charCodeAt(a);if(Re(l)){if(!o){t=a+1;break}continue}n===-1&&(o=!1,n=a+1),l===Ps?e===-1?e=a:s!==1&&(s=1):e!==-1&&(s=-1)}return e===-1||n===-1||s===0||s===1&&e===n-1&&e===t+1?"":i.slice(e,n)},format:Yb.bind(null,"\\"),parse(i){Ft(i,"path");let r={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return r;let e=i.length,t=0,n=i.charCodeAt(0);if(e===1)return Re(n)?(r.root=r.dir=i,r):(r.base=r.name=i,r);if(Re(n)){if(t=1,Re(i.charCodeAt(1))){let u=2,f=u;for(;u<e&&!Re(i.charCodeAt(u));)u++;if(u<e&&u!==f){for(f=u;u<e&&Re(i.charCodeAt(u));)u++;if(u<e&&u!==f){for(f=u;u<e&&!Re(i.charCodeAt(u));)u++;u===e?t=u:u!==f&&(t=u+1)}}}}else if(zi(n)&&i.charCodeAt(1)===Ki){if(e<=2)return r.root=r.dir=i,r;if(t=2,Re(i.charCodeAt(2))){if(e===3)return r.root=r.dir=i,r;t=3}}t>0&&(r.root=i.slice(0,t));let o=-1,s=t,a=-1,l=!0,c=i.length-1,d=0;for(;c>=t;--c){if(n=i.charCodeAt(c),Re(n)){if(!l){s=c+1;break}continue}a===-1&&(l=!1,a=c+1),n===Ps?o===-1?o=c:d!==1&&(d=1):o!==-1&&(d=-1)}return a!==-1&&(o===-1||d===0||d===1&&o===a-1&&o===s+1?r.base=r.name=i.slice(s,a):(r.name=i.slice(s,o),r.base=i.slice(s,a),r.ext=i.slice(o,a))),s>0&&s!==t?r.dir=i.slice(0,s-1):r.dir=r.root,r},sep:"\\",delimiter:";",win32:null,posix:null},yR=(()=>{if(tn){let i=/\\/g;return()=>{let r=Zr().replace(i,"/");return r.slice(r.indexOf("/"))}}return()=>Zr()})(),de={resolve(...i){let r="",e=!1;for(let t=i.length-1;t>=0&&!e;t--){let n=i[t];Ft(n,`paths[${t}]`),n.length!==0&&(r=`${n}/${r}`,e=n.charCodeAt(0)===fr)}if(!e){let t=yR();r=`${t}/${r}`,e=t.charCodeAt(0)===fr}return r=Ap(r,!e,"/",$g),e?`/${r}`:r.length>0?r:"."},normalize(i){if(Ft(i,"path"),i.length===0)return".";let r=i.charCodeAt(0)===fr,e=i.charCodeAt(i.length-1)===fr;return i=Ap(i,!r,"/",$g),i.length===0?r?"/":e?"./":".":(e&&(i+="/"),r?`/${i}`:i)},isAbsolute(i){return Ft(i,"path"),i.length>0&&i.charCodeAt(0)===fr},join(...i){if(i.length===0)return".";let r=[];for(let e=0;e<i.length;++e){let t=i[e];Ft(t,"path"),t.length>0&&r.push(t)}return r.length===0?".":de.normalize(r.join("/"))},relative(i,r){if(Ft(i,"from"),Ft(r,"to"),i===r||(i=de.resolve(i),r=de.resolve(r),i===r))return"";let e=1,t=i.length,n=t-e,o=1,s=r.length-o,a=n<s?n:s,l=-1,c=0;for(;c<a;c++){let u=i.charCodeAt(e+c);if(u!==r.charCodeAt(o+c))break;u===fr&&(l=c)}if(c===a)if(s>a){if(r.charCodeAt(o+c)===fr)return r.slice(o+c+1);if(c===0)return r.slice(o+c)}else n>a&&(i.charCodeAt(e+c)===fr?l=c:c===0&&(l=0));let d="";for(c=e+l+1;c<=t;++c)(c===t||i.charCodeAt(c)===fr)&&(d+=d.length===0?"..":"/..");return`${d}${r.slice(o+l)}`},toNamespacedPath(i){return i},dirname(i){if(Ft(i,"path"),i.length===0)return".";let r=i.charCodeAt(0)===fr,e=-1,t=!0;for(let n=i.length-1;n>=1;--n)if(i.charCodeAt(n)===fr){if(!t){e=n;break}}else t=!1;return e===-1?r?"/":".":r&&e===1?"//":i.slice(0,e)},basename(i,r){r!==void 0&&Ft(r,"suffix"),Ft(i,"path");let e=0,t=-1,n=!0,o;if(r!==void 0&&r.length>0&&r.length<=i.length){if(r===i)return"";let s=r.length-1,a=-1;for(o=i.length-1;o>=0;--o){let l=i.charCodeAt(o);if(l===fr){if(!n){e=o+1;break}}else a===-1&&(n=!1,a=o+1),s>=0&&(l===r.charCodeAt(s)?--s===-1&&(t=o):(s=-1,t=a))}return e===t?t=a:t===-1&&(t=i.length),i.slice(e,t)}for(o=i.length-1;o>=0;--o)if(i.charCodeAt(o)===fr){if(!n){e=o+1;break}}else t===-1&&(n=!1,t=o+1);return t===-1?"":i.slice(e,t)},extname(i){Ft(i,"path");let r=-1,e=0,t=-1,n=!0,o=0;for(let s=i.length-1;s>=0;--s){let a=i[s];if(a==="/"){if(!n){e=s+1;break}continue}t===-1&&(n=!1,t=s+1),a==="."?r===-1?r=s:o!==1&&(o=1):r!==-1&&(o=-1)}return r===-1||t===-1||o===0||o===1&&r===t-1&&r===e+1?"":i.slice(r,t)},format:Yb.bind(null,"/"),parse(i){Ft(i,"path");let r={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return r;let e=i.charCodeAt(0)===fr,t;e?(r.root="/",t=1):t=0;let n=-1,o=0,s=-1,a=!0,l=i.length-1,c=0;for(;l>=t;--l){let d=i.charCodeAt(l);if(d===fr){if(!a){o=l+1;break}continue}s===-1&&(a=!1,s=l+1),d===Ps?n===-1?n=l:c!==1&&(c=1):n!==-1&&(c=-1)}if(s!==-1){let d=o===0&&e?1:o;n===-1||c===0||c===1&&n===s-1&&n===o+1?r.base=r.name=i.slice(d,s):(r.name=i.slice(d,n),r.base=i.slice(d,s),r.ext=i.slice(n,s))}return o>0?r.dir=i.slice(0,o-1):e&&(r.dir="/"),r},sep:"/",delimiter:":",win32:null,posix:null};de.win32=dt.win32=dt;de.posix=dt.posix=de;_t=tn?dt.normalize:de.normalize,ko=tn?dt.isAbsolute:de.isAbsolute,V=tn?dt.join:de.join,Vr=tn?dt.resolve:de.resolve,Lp=tn?dt.relative:de.relative,Ae=tn?dt.dirname:de.dirname,Se=tn?dt.basename:de.basename,Ia=tn?dt.extname:de.extname,oW=tn?dt.format:de.format,sW=tn?dt.parse:de.parse,aW=tn?dt.toNamespacedPath:de.toNamespacedPath,Wt=tn?dt.sep:de.sep,Mp=tn?dt.delimiter:de.delimiter});function rS(i,r){let e=Object.create(null);for(let t of i){let n=r(t),o=e[n];o||(o=e[n]=[]),o.push(t)}return e}var eS,tS,Zb,qg=I(()=>{Zb=class{constructor(r,e){this.toKey=e;this._map=new Map;this[eS]="SetWithKey";for(let t of r)this.add(t)}get size(){return this._map.size}add(r){let e=this.toKey(r);return this._map.set(e,r),this}delete(r){return this._map.delete(this.toKey(r))}has(r){return this._map.has(this.toKey(r))}*entries(){for(let r of this._map.values())yield[r,r]}keys(){return this.values()}*values(){for(let r of this._map.values())yield r}clear(){this._map.clear()}forEach(r,e){this._map.forEach(t=>r.call(e,t,t,this))}[(tS=Symbol.iterator,eS=Symbol.toStringTag,tS)](){return this.values()}}});function Wp(i){ba.setUnexpectedErrorHandler(i)}function nS(i){if(!i||typeof i!="object")return!1;let r=i;return r.code==="EPIPE"&&r.syscall?.toUpperCase()==="WRITE"}function nt(i){ed(i)||ba.onUnexpectedError(i)}function ed(i){return i instanceof St?!0:i instanceof Error&&i.name===Op&&i.message===Op}function qn(){let i=new Error(Op);return i.name=i.message,i}function Up(i){return i?new Error(`Illegal state: ${i}`):new Error("Illegal state")}function mr(i){return i?i.message?i.message:i.stack?i.stack.split(`
`)[0]:String(i):"Error"}var Kg,ba,Op,St,Fp,wa,rn,$n,He=I(()=>{Kg=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(r){setTimeout(()=>{throw r.stack?rn.isErrorNoTelemetry(r)?new rn(r.message+`

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

`+r.stack):r},0)}}addListener(r){return this.listeners.push(r),()=>{this._removeListener(r)}}emit(r){this.listeners.forEach(e=>{e(r)})}_removeListener(r){this.listeners.splice(this.listeners.indexOf(r),1)}setUnexpectedErrorHandler(r){this.unexpectedErrorHandler=r}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(r){this.unexpectedErrorHandler(r),this.emit(r)}onUnexpectedExternalError(r){this.unexpectedErrorHandler(r)}},ba=new Kg;Op="Canceled";St=class extends Error{constructor(){super(Op),this.name=this.message}},Fp=class i extends Error{static{this._name="PendingMigrationError"}static is(r){return r instanceof i||r instanceof Error&&r.name===i._name}constructor(r){super(r),this.name=i._name}};wa=class extends Error{constructor(){super(...arguments);this.isExpected=!0}},rn=class i extends Error{constructor(r){super(r),this.name="CodeExpectedError"}static fromError(r){if(r instanceof i)return r;let e=new i;return e.message=r.message,e.stack=r.stack,e}static isErrorNoTelemetry(r){return r.name==="CodeExpectedError"}},$n=class i extends Error{constructor(r){super(r||"An unexpected bug occurred."),Object.setPrototypeOf(this,i.prototype)}}});function ji(i,r){let e=this,t=!1,n;return function(){if(t)return n;if(t=!0,r)try{n=i.apply(e,arguments)}finally{r()}else n=i.apply(e,arguments);return n}}var Sa=I(()=>{});function IR(i,r,e=0,t=i.length){let n=e,o=t;for(;n<o;){let s=Math.floor((n+o)/2);r(i[s])?n=s+1:o=s}return n-1}function sS(i,r,e=0,t=i.length){let n=e,o=t;for(;n<o;){let s=Math.floor((n+o)/2);r(i[s])?o=s:n=s+1}return n}var oS,aS=I(()=>{oS=class i{constructor(r){this._array=r;this._findLastMonotonousLastIdx=0}static{this.assertInvariants=!1}findLastMonotonous(r){if(i.assertInvariants){if(this._prevFindLastPredicate){for(let t of this._array)if(this._prevFindLastPredicate(t)&&!r(t))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=r}let e=IR(this._array,r,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=e+1,e===-1?void 0:this._array[e]}}});function Ro(i,r,e=(t,n)=>t===n){if(i===r)return!0;if(!i||!r||i.length!==r.length)return!1;for(let t=0,n=i.length;t<n;t++)if(!e(i[t],r[t]))return!1;return!0}function cS(i,r,e){return wR(i.length,t=>e(i[t],r))}function wR(i,r){let e=0,t=i-1;for(;e<=t;){let n=(e+t)/2|0,o=r(n);if(o<0)e=n+1;else if(o>0)t=n-1;else return n}return-(e+1)}function Np(i,r,e){if(i=i|0,i>=r.length)throw new TypeError("invalid index");let t=r[Math.floor(r.length*Math.random())],n=[],o=[],s=[];for(let a of r){let l=e(a,t);l<0?n.push(a):l>0?o.push(a):s.push(a)}return i<n.length?Np(i,n,e):i<n.length+s.length?s[0]:Np(i-(n.length+s.length),o,e)}function dS(i,r,e){if(e===0)return[];let t=i.slice(0,e).sort(r);return bR(i,r,t,e,i.length),t}function bR(i,r,e,t,n){for(let o=e.length;t<n;t++){let s=i[t];if(r(s,e[o-1])<0){e.pop();let a=sS(e,l=>r(s,l)<0);e.splice(a,0,s)}}}function at(i){return i.filter(r=>!!r)}function Ar(i,r=e=>e){let e=new Set;return i.filter(t=>{let n=r(t);return e.has(n)?!1:(e.add(n),!0)})}function zg(i,r){return i.push(r),()=>SR(i,r)}function SR(i,r){let e=i.indexOf(r);if(e>-1)return i.splice(e,1),r}function jg(i,r){let e;if(typeof r=="number"){let t=r;e=()=>{let n=Math.sin(t++)*179426549;return n-Math.floor(n)}}else e=Math.random;for(let t=i.length-1;t>0;t-=1){let n=Math.floor(e()*(t+1)),o=i[t];i[t]=i[n],i[n]=o}}function uS(i){return i[Math.floor(Math.random()*i.length)]}function fS(i,r){return(e,t)=>r(i(e),i(t))}var pS,mS,lS,zt=I(()=>{aS();He();(a=>{function i(l){return l<0}a.isLessThan=i;function r(l){return l<=0}a.isLessThanOrEqual=r;function e(l){return l>0}a.isGreaterThan=e;function t(l){return l===0}a.isNeitherLessOrGreaterThan=t,a.greaterThan=1,a.lessThan=-1,a.neitherLessOrGreaterThan=0})(pS||={});mS=(i,r)=>i-r,lS=class i{constructor(r){this.iterate=r}static{this.empty=new i(r=>{})}forEach(r){this.iterate(e=>(r(e),!0))}toArray(){let r=[];return this.iterate(e=>(r.push(e),!0)),r}filter(r){return new i(e=>this.iterate(t=>r(t)?e(t):!0))}map(r){return new i(e=>this.iterate(t=>e(r(t))))}some(r){let e=!1;return this.iterate(t=>(e=r(t),!e)),e}findFirst(r){let e;return this.iterate(t=>r(t)?(e=t,!1):!0),e}findLast(r){let e;return this.iterate(t=>(r(t)&&(e=t),!0)),e}findLastMaxBy(r){let e,t=!0;return this.iterate(n=>((t||pS.isGreaterThan(r(n,e)))&&(t=!1,e=n),!0)),e}}});function IS(i){let r=[];return i.forEach((e,t)=>{r.push(`${t} => ${e}`)}),`Map(${i.size}) {${r.join(", ")}}`}function wS(i){let r=[];return i.forEach(e=>{r.push(e)}),`Set(${i.size}) {${r.join(", ")}}`}function xR(i){return Array.isArray(i)}var Gg,gS,mt,vS,xa,yS,Jg,Qg,Tn,Bp,xr=I(()=>{Gg=class{constructor(r,e){this.uri=r;this.value=e}};mt=class i{constructor(r,e){this[gS]="ResourceMap";if(r instanceof i)this.map=new Map(r.map),this.toKey=e??i.defaultToKey;else if(xR(r)){this.map=new Map,this.toKey=e??i.defaultToKey;for(let[t,n]of r)this.set(t,n)}else this.map=new Map,this.toKey=r??i.defaultToKey}static{this.defaultToKey=r=>r.toString()}set(r,e){return this.map.set(this.toKey(r),new Gg(r,e)),this}get(r){return this.map.get(this.toKey(r))?.value}has(r){return this.map.has(this.toKey(r))}get size(){return this.map.size}clear(){this.map.clear()}delete(r){return this.map.delete(this.toKey(r))}forEach(r,e){typeof e<"u"&&(r=r.bind(e));for(let[t,n]of this.map)r(n.value,n.uri,this)}*values(){for(let r of this.map.values())yield r.value}*keys(){for(let r of this.map.values())yield r.uri}*entries(){for(let r of this.map.values())yield[r.uri,r.value]}*[(gS=Symbol.toStringTag,Symbol.iterator)](){for(let[,r]of this.map)yield[r.uri,r.value]}},xa=class{constructor(r,e){this[vS]="ResourceSet";!r||typeof r=="function"?this._map=new mt(r):(this._map=new mt(e),r.forEach(this.add,this))}get size(){return this._map.size}add(r){return this._map.set(r,r),this}clear(){this._map.clear()}delete(r){return this._map.delete(r)}forEach(r,e){this._map.forEach((t,n)=>r.call(e,n,n,this))}has(r){return this._map.has(r)}entries(){return this._map.entries()}keys(){return this._map.keys()}values(){return this._map.keys()}[(vS=Symbol.toStringTag,Symbol.iterator)](){return this.keys()}},Jg=class{constructor(){this[yS]="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(r){return this._map.has(r)}get(r,e=0){let t=this._map.get(r);if(t)return e!==0&&this.touch(t,e),t.value}set(r,e,t=0){let n=this._map.get(r);if(n)n.value=e,t!==0&&this.touch(n,t);else{switch(n={key:r,value:e,next:void 0,previous:void 0},t){case 0:this.addItemLast(n);break;case 1:this.addItemFirst(n);break;case 2:this.addItemLast(n);break;default:this.addItemLast(n);break}this._map.set(r,n),this._size++}return this}delete(r){return!!this.remove(r)}remove(r){let e=this._map.get(r);if(e)return this._map.delete(r),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 r=this._head;return this._map.delete(r.key),this.removeItem(r),this._size--,r.value}forEach(r,e){let t=this._state,n=this._head;for(;n;){if(e?r.bind(e)(n.value,n.key,this):r(n.value,n.key,this),this._state!==t)throw new Error("LinkedMap got modified during iteration.");n=n.next}}keys(){let r=this,e=this._state,t=this._head,n={[Symbol.iterator](){return n},next(){if(r._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){let o={value:t.key,done:!1};return t=t.next,o}else return{value:void 0,done:!0}}};return n}values(){let r=this,e=this._state,t=this._head,n={[Symbol.iterator](){return n},next(){if(r._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){let o={value:t.value,done:!1};return t=t.next,o}else return{value:void 0,done:!0}}};return n}entries(){let r=this,e=this._state,t=this._head,n={[Symbol.iterator](){return n},next(){if(r._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){let o={value:[t.key,t.value],done:!1};return t=t.next,o}else return{value:void 0,done:!0}}};return n}[(yS=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(r){if(r>=this.size)return;if(r===0){this.clear();return}let e=this._head,t=this.size;for(;e&&t>r;)this._map.delete(e.key),e=e.next,t--;this._head=e,this._size=t,e&&(e.previous=void 0),this._state++}trimNew(r){if(r>=this.size)return;if(r===0){this.clear();return}let e=this._tail,t=this.size;for(;e&&t>r;)this._map.delete(e.key),e=e.previous,t--;this._tail=e,this._size=t,e&&(e.next=void 0),this._state++}addItemFirst(r){if(!this._head&&!this._tail)this._tail=r;else if(this._head)r.next=this._head,this._head.previous=r;else throw new Error("Invalid list");this._head=r,this._state++}addItemLast(r){if(!this._head&&!this._tail)this._head=r;else if(this._tail)r.previous=this._tail,this._tail.next=r;else throw new Error("Invalid list");this._tail=r,this._state++}removeItem(r){if(r===this._head&&r===this._tail)this._head=void 0,this._tail=void 0;else if(r===this._head){if(!r.next)throw new Error("Invalid list");r.next.previous=void 0,this._head=r.next}else if(r===this._tail){if(!r.previous)throw new Error("Invalid list");r.previous.next=void 0,this._tail=r.previous}else{let e=r.next,t=r.previous;if(!e||!t)throw new Error("Invalid list");e.previous=t,t.next=e}r.next=void 0,r.previous=void 0,this._state++}touch(r,e){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(e!==1&&e!==2)){if(e===1){if(r===this._head)return;let t=r.next,n=r.previous;r===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),r.previous=void 0,r.next=this._head,this._head.previous=r,this._head=r,this._state++}else if(e===2){if(r===this._tail)return;let t=r.next,n=r.previous;r===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),r.next=void 0,r.previous=this._tail,this._tail.next=r,this._tail=r,this._state++}}}toJSON(){let r=[];return this.forEach((e,t)=>{r.push([t,e])}),r}fromJSON(r){this.clear();for(let[e,t]of r)this.set(e,t)}},Qg=class extends Jg{constructor(r,e=1){super(),this._limit=r,this._ratio=Math.min(Math.max(0,e),1)}get limit(){return this._limit}set limit(r){this._limit=r,this.checkTrim()}get ratio(){return this._ratio}set ratio(r){this._ratio=Math.min(Math.max(0,r),1),this.checkTrim()}get(r,e=2){return super.get(r,e)}peek(r){return super.get(r,0)}set(r,e){return super.set(r,e,2),this}checkTrim(){this.size>this._limit&&this.trim(Math.round(this._limit*this._ratio))}},Tn=class extends Qg{constructor(r,e=1){super(r,e)}trim(r){this.trimOld(r)}set(r,e){return super.set(r,e),this.checkTrim(),this}},Bp=class{constructor(){this.map=new Map}add(r,e){let t=this.map.get(r);t||(t=new Set,this.map.set(r,t)),t.add(e)}delete(r,e){let t=this.map.get(r);t&&(t.delete(e),t.size===0&&this.map.delete(r))}forEach(r,e){let t=this.map.get(r);t&&t.forEach(e)}get(r){let e=this.map.get(r);return e||new Set}}});function Vp(i,r){if(!i)throw new Error(r?`Assertion failed (${r})`:"Assertion Failed")}function Pa(i,r="unexpected state"){if(!i)throw typeof r=="string"?new $n(`Assertion Failed: ${r}`):r}var Ea=I(()=>{He()});function Oe(i){return typeof i=="string"}function je(i){return typeof i=="object"&&i!==null&&!Array.isArray(i)&&!(i instanceof RegExp)&&!(i instanceof Date)}function bS(i){let r=Object.getPrototypeOf(Uint8Array);return typeof i=="object"&&i instanceof r}function Kn(i){return typeof i=="number"&&!isNaN(i)}function SS(i){return!!i&&typeof i[Symbol.iterator]=="function"}function Hp(i){return i===!0||i===!1}function _n(i){return typeof i>"u"}function Ut(i){return _n(i)||i===null}function xS(i,r){if(!i)throw new Error(r?`Unexpected type, expected '${r}'`:"Unexpected type")}function vi(i){return Pa(i!=null,"Argument is `undefined` or `null`."),i}function $p(i){if(!je(i))return!1;for(let r in i)if(ER.call(i,r))return!1;return!0}function td(i){return typeof i=="function"}function nn(i,r){for(let e in r)if(!(e in i))return!1;return!0}var ER,Le=I(()=>{Ea();ER=Object.prototype.hasOwnProperty});var yi,rd=I(()=>{Le();(X=>{function i(B){return!!B&&typeof B=="object"&&typeof B[Symbol.iterator]=="function"}X.is=i;let r=Object.freeze([]);function e(){return r}X.empty=e;function*t(B){yield B}X.single=t;function n(B){return i(B)?B:t(B)}X.wrap=n;function o(B){return B??r}X.from=o;function*s(B){for(let G=B.length-1;G>=0;G--)yield B[G]}X.reverse=s;function a(B){return!B||B[Symbol.iterator]().next().done===!0}X.isEmpty=a;function l(B){return B[Symbol.iterator]().next().value}X.first=l;function c(B,G){let q=0;for(let ve of B)if(G(ve,q++))return!0;return!1}X.some=c;function d(B,G){let q=0;for(let ve of B)if(!G(ve,q++))return!1;return!0}X.every=d;function u(B,G){for(let q of B)if(G(q))return q}X.find=u;function*f(B,G){for(let q of B)G(q)&&(yield q)}X.filter=f;function*m(B,G){let q=0;for(let ve of B)yield G(ve,q++)}X.map=m;function*y(B,G){let q=0;for(let ve of B)yield*G(ve,q++)}X.flatMap=y;function*v(...B){for(let G of B)SS(G)?yield*G:yield G}X.concat=v;function C(B,G,q){let ve=q;for(let vt of B)ve=G(ve,vt);return ve}X.reduce=C;function w(B){let G=0;for(let q of B)G++;return G}X.length=w;function*_(B,G,q=B.length){for(G<-B.length&&(G=0),G<0&&(G+=B.length),q<0?q+=B.length:q>B.length&&(q=B.length);G<q;G++)yield B[G]}X.slice=_;function R(B,G=Number.POSITIVE_INFINITY){let q=[];if(G===0)return[q,B];let ve=B[Symbol.iterator]();for(let vt=0;vt<G;vt++){let At=ve.next();if(At.done)return[q,X.empty()];q.push(At.value)}return[q,{[Symbol.iterator](){return ve}}]}X.consume=R;async function D(B){let G=[];for await(let q of B)G.push(q);return G}X.asyncToArray=D;async function M(B){let G=[];for await(let q of B)G=G.concat(q);return G}X.asyncToArrayFlat=M})(yi||={})});function TR(i){Ta=i}function nd(i){return Ta?.trackDisposable(i),i}function id(i){Ta?.markAsDisposed(i)}function Es(i,r){Ta?.setParent(i,r)}function _R(i,r){if(Ta)for(let e of i)Ta.setParent(e,r)}function qp(i){return typeof i=="object"&&i!==null&&typeof i.dispose=="function"&&i.dispose.length===0}function ut(i){if(yi.is(i)){let r=[];for(let e of i)if(e)try{e.dispose()}catch(t){r.push(t)}if(r.length===1)throw r[0];if(r.length>1)throw new AggregateError(r,"Encountered errors while disposing of store");return Array.isArray(i)?[]:i}else if(i)return i.dispose(),i}function ES(...i){let r=j(()=>ut(i));return _R(i,r),r}function j(i){return new Xg(i)}function CS(i,r){return i.then(e=>(r.isDisposed?e.dispose():r.add(e),e))}var CR,Ta,PS,Xg,J,T,jt,Rt,$=I(()=>{zt();qg();xr();Sa();rd();He();CR=!1,Ta=null,PS=class i{constructor(){this.livingDisposables=new Map}static{this.idx=0}getDisposableData(r){let e=this.livingDisposables.get(r);return e||(e={parent:null,source:null,isSingleton:!1,value:r,idx:i.idx++},this.livingDisposables.set(r,e)),e}trackDisposable(r){let e=this.getDisposableData(r);e.source||(e.source=new Error().stack)}setParent(r,e){let t=this.getDisposableData(r);t.parent=e}markAsDisposed(r){this.livingDisposables.delete(r)}markAsSingleton(r){this.getDisposableData(r).isSingleton=!0}getRootParent(r,e){let t=e.get(r);if(t)return t;let n=r.parent?this.getRootParent(this.getDisposableData(r.parent),e):r;return e.set(r,n),n}getTrackedDisposables(){let r=new Map;return[...this.livingDisposables.entries()].filter(([,t])=>t.source!==null&&!this.getRootParent(t,r).isSingleton).flatMap(([t])=>t)}computeLeakingDisposables(r=10,e){let t;if(e)t=e;else{let l=new Map,c=[...this.livingDisposables.values()].filter(u=>u.source!==null&&!this.getRootParent(u,l).isSingleton);if(c.length===0)return;let d=new Set(c.map(u=>u.value));if(t=c.filter(u=>!(u.parent&&d.has(u.parent))),t.length===0)throw new Error("There are cyclic diposable chains!")}if(!t)return;function n(l){function c(u,f){for(;u.length>0&&f.some(m=>typeof m=="string"?m===u[0]:u[0].match(m));)u.shift()}let d=l.source.split(`
`).map(u=>u.trim().replace("at ","")).filter(u=>u!=="");return c(d,["Error",/^trackDisposable \(.*\)$/,/^DisposableTracker.trackDisposable \(.*\)$/]),d.reverse()}let o=new Bp;for(let l of t){let c=n(l);for(let d=0;d<=c.length;d++)o.add(c.slice(0,d).join(`
`),l)}t.sort(fS(l=>l.idx,mS));let s="",a=0;for(let l of t.slice(0,r)){a++;let c=n(l),d=[];for(let u=0;u<c.length;u++){let f=c[u];f=`(shared with ${o.get(c.slice(0,u+1).join(`
`)).size}/${t.length} leaks) at ${f}`;let y=o.get(c.slice(0,u).join(`
`)),v=rS([...y].map(C=>n(C)[u]),C=>C);delete v[c[u]];for(let[C,w]of Object.entries(v))w&&d.unshift(`    - stacktraces of ${w.length} other leaks continue with ${C}`);d.unshift(f)}s+=`


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

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


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

`),{leaks:t,details:s}}};if(CR){let i="__is_disposable_tracked__";TR(new class{trackDisposable(r){let e=new Error("Potentially leaked disposable").stack;setTimeout(()=>{r[i]||console.log(e)},3e3)}setParent(r,e){if(r&&r!==T.None)try{r[i]=!0}catch{}}markAsDisposed(r){if(r&&r!==T.None)try{r[i]=!0}catch{}}markAsSingleton(r){}})}Xg=class{constructor(r){this._isDisposed=!1,this._fn=r,nd(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,id(this),this._fn()}}};J=class i{constructor(){this._toDispose=new Set;this._isDisposed=!1;nd(this)}static{this.DISABLE_DISPOSED_WARNING=!1}dispose(){this._isDisposed||(id(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{ut(this._toDispose)}finally{this._toDispose.clear()}}add(r){if(!r||r===T.None)return r;if(r===this)throw new Error("Cannot register a disposable on itself!");return Es(r,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(r),r}delete(r){if(r){if(r===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(r),r.dispose()}}deleteAndLeak(r){r&&this._toDispose.delete(r)&&Es(r,null)}assertNotDisposed(){this._isDisposed&&nt(new $n("Object disposed"))}},T=class{constructor(){this._store=new J;nd(this),Es(this._store,this)}static{this.None=Object.freeze({dispose(){}})}dispose(){id(this),this._store.dispose()}_register(r){if(r===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(r)}},jt=class{constructor(){this._isDisposed=!1;nd(this)}get value(){return this._isDisposed?void 0:this._value}set value(r){this._isDisposed||r===this._value||(this._value?.dispose(),r&&Es(r,this),this._value=r)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,id(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let r=this._value;return this._value=void 0,r&&Es(r,null),r}},Rt=class{constructor(r=new Map){this._isDisposed=!1;this._store=r,nd(this)}dispose(){id(this),this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{ut(this._store.values())}finally{this._store.clear()}}has(r){return this._store.has(r)}get size(){return this._store.size}get(r){return this._store.get(r)}set(r,e,t=!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),t||this._store.get(r)?.dispose(),this._store.set(r,e),Es(e,this)}deleteAndDispose(r){this._store.get(r)?.dispose(),this._store.delete(r)}deleteAndLeak(r){let e=this._store.get(r);return e&&Es(e,null),this._store.delete(r),e}keys(){return this._store.keys()}values(){return this._store.values()}[Symbol.iterator](){return this._store[Symbol.iterator]()}}});var yt,_a,Yg=I(()=>{yt=class i{static{this.Undefined=new i(void 0)}constructor(r){this.element=r,this.next=i.Undefined,this.prev=i.Undefined}},_a=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 r=this._first;for(;r!==yt.Undefined;){let e=r.next;r.prev=yt.Undefined,r.next=yt.Undefined,r=e}this._first=yt.Undefined,this._last=yt.Undefined,this._size=0}unshift(r){return this._insert(r,!1)}push(r){return this._insert(r,!0)}_insert(r,e){let t=new yt(r);if(this._first===yt.Undefined)this._first=t,this._last=t;else if(e){let o=this._last;this._last=t,t.prev=o,o.next=t}else{let o=this._first;this._first=t,t.next=o,o.prev=t}this._size+=1;let n=!1;return()=>{n||(n=!0,this._remove(t))}}shift(){if(this._first!==yt.Undefined){let r=this._first.element;return this._remove(this._first),r}}pop(){if(this._last!==yt.Undefined){let r=this._last.element;return this._remove(this._last),r}}peek(){if(this._last!==yt.Undefined)return this._last.element}_remove(r){if(r.prev!==yt.Undefined&&r.next!==yt.Undefined){let e=r.prev;e.next=r.next,r.next.prev=e}else r.prev===yt.Undefined&&r.next===yt.Undefined?(this._first=yt.Undefined,this._last=yt.Undefined):r.next===yt.Undefined?(this._last=this._last.prev,this._last.next=yt.Undefined):r.prev===yt.Undefined&&(this._first=this._first.next,this._first.prev=yt.Undefined);this._size-=1}*[Symbol.iterator](){let r=this._first;for(;r!==yt.Undefined;)yield r.element,r=r.next}}});var kR,on,Cs=I(()=>{kR=globalThis.performance.now.bind(globalThis.performance),on=class i{static create(r){return new i(r)}constructor(r){this._now=r===!1?Date.now:kR,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}}});function kS(){return!!Zt.VSCODE_DEV}function nv(i,r){r instanceof J?r.add(i):Array.isArray(r)&&r.push(i)}function DS(i,r){if(r instanceof J)r.delete(i);else if(Array.isArray(r)){let e=r.indexOf(i);e!==-1&&r.splice(e,1)}i.dispose()}var TS,RR,DR,_S,S,Zg,RS,ev,Ra,Da,tv,AR,ka,LR,MR,b,rv,Ts,Kp,od,z=I(()=>{qg();He();Sa();$();Yg();Hn();Cs();TS=!1,RR=!1,DR=100,_S=6e4;(gn=>{gn.None=()=>T.None;function r(ie){if(RR){let{onDidAddListener:K}=ie,Y=Ra.create(),te=0;ie.onDidAddListener=()=>{++te===2&&(console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"),Y.print()),K?.()}}}function e(ie,K,Y){return m(ie,()=>{},0,void 0,K??!0,void 0,Y)}gn.defer=e;function t(ie){return(K,Y=null,te)=>{let oe=!1,ue;return ue=ie(Ie=>{if(!oe)return ue?ue.dispose():oe=!0,K.call(Y,Ie)},null,te),oe&&ue.dispose(),ue}}gn.once=t;function n(ie,K){return gn.once(gn.filter(ie,K))}gn.onceIf=n;function o(ie,K,Y){return u((te,oe=null,ue)=>ie(Ie=>te.call(oe,K(Ie)),null,ue),Y)}gn.map=o;function s(ie,K,Y){return u((te,oe=null,ue)=>ie(Ie=>{K(Ie),te.call(oe,Ie)},null,ue),Y)}gn.forEach=s;function a(ie,K,Y){return u((te,oe=null,ue)=>ie(Ie=>K(Ie)&&te.call(oe,Ie),null,ue),Y)}gn.filter=a;function l(ie){return ie}gn.signal=l;function c(...ie){return(K,Y=null,te)=>{let oe=ES(...ie.map(ue=>ue(Ie=>K.call(Y,Ie))));return f(oe,te)}}gn.any=c;function d(ie,K,Y,te){let oe=Y;return o(ie,ue=>(oe=K(oe,ue),oe),te)}gn.reduce=d;function u(ie,K){let Y,te={onWillAddFirstListener(){Y=ie(oe.fire,oe)},onDidRemoveLastListener(){Y?.dispose()}};K||r(te);let oe=new b(te);return K?.add(oe),oe.event}function f(ie,K){return K instanceof Array?K.push(ie):K&&K.add(ie),ie}function m(ie,K,Y=100,te=!1,oe=!1,ue,Ie){let bt,Xe,Lt,ke=0,Yt,Nr={leakWarningThreshold:ue,onWillAddFirstListener(){bt=ie($c=>{ke++,Xe=K(Xe,$c),te&&!Lt&&(pi.fire(Xe),Xe=void 0),Yt=()=>{let qc=Xe;Xe=void 0,Lt=void 0,(!te||ke>1)&&pi.fire(qc),ke=0},typeof Y=="number"?(Lt&&clearTimeout(Lt),Lt=setTimeout(Yt,Y)):Lt===void 0&&(Lt=null,queueMicrotask(Yt))})},onWillRemoveListener(){oe&&ke>0&&Yt?.()},onDidRemoveLastListener(){Yt=void 0,bt.dispose()}};Ie||r(Nr);let pi=new b(Nr);return Ie?.add(pi),pi.event}gn.debounce=m;function y(ie,K=0,Y,te){return gn.debounce(ie,(oe,ue)=>oe?(oe.push(ue),oe):[ue],K,void 0,Y??!0,void 0,te)}gn.accumulate=y;function v(ie,K,Y=100,te=!0,oe=!0,ue,Ie){let bt,Xe,Lt,ke=0,Yt={leakWarningThreshold:ue,onWillAddFirstListener(){bt=ie(pi=>{ke++,Xe=K(Xe,pi),Lt===void 0&&(te&&(Nr.fire(Xe),Xe=void 0,ke=0),typeof Y=="number"?Lt=setTimeout(()=>{oe&&ke>0&&Nr.fire(Xe),Xe=void 0,Lt=void 0,ke=0},Y):(Lt=0,queueMicrotask(()=>{oe&&ke>0&&Nr.fire(Xe),Xe=void 0,Lt=void 0,ke=0})))})},onDidRemoveLastListener(){bt.dispose()}};Ie||r(Yt);let Nr=new b(Yt);return Ie?.add(Nr),Nr.event}gn.throttle=v;function C(ie,K=(te,oe)=>te===oe,Y){let te=!0,oe;return a(ie,ue=>{let Ie=te||!K(ue,oe);return te=!1,oe=ue,Ie},Y)}gn.latch=C;function w(ie,K,Y){return[gn.filter(ie,K,Y),gn.filter(ie,te=>!K(te),Y)]}gn.split=w;function _(ie,K,Y=!1,te=[],oe){let ue=te.slice(),Ie;kS()&&(Ie={stack:Ra.create(),timerId:setTimeout(()=>{ue&&ue.length>0&&Ie&&!Ie.warned&&(Ie.warned=!0,console.warn(`[Event.buffer][${K}] potential LEAK detected: ${ue.length} events buffered for ${_S/1e3}s without being consumed. Buffered here:`),Ie.stack.print())},_S),warned:!1},oe&&oe.add(j(()=>clearTimeout(Ie.timerId))));let bt=()=>{Ie&&clearTimeout(Ie.timerId)},Xe=ie(Yt=>{ue?(ue.push(Yt),kS()&&Ie&&!Ie.warned&&ue.length>=DR&&(Ie.warned=!0,console.warn(`[Event.buffer][${K}] potential LEAK detected: ${ue.length} events buffered without being consumed. Buffered here:`),Ie.stack.print())):ke.fire(Yt)});oe&&oe.add(Xe);let Lt=()=>{ue?.forEach(Yt=>ke.fire(Yt)),ue=null,bt()},ke=new b({onWillAddFirstListener(){Xe||(Xe=ie(Yt=>ke.fire(Yt)),oe&&oe.add(Xe))},onDidAddFirstListener(){ue&&(Y?setTimeout(Lt):Lt())},onDidRemoveLastListener(){Xe&&Xe.dispose(),Xe=null,bt()}});return oe&&oe.add(ke),ke.event}gn.buffer=_;function R(ie,K){return(te,oe,ue)=>{let Ie=K(new M);return ie(function(bt){let Xe=Ie.evaluate(bt);Xe!==D&&te.call(oe,Xe)},void 0,ue)}}gn.chain=R;let D=Symbol("HaltChainable");class M{constructor(){this.steps=[]}map(K){return this.steps.push(K),this}forEach(K){return this.steps.push(Y=>(K(Y),Y)),this}filter(K){return this.steps.push(Y=>K(Y)?Y:D),this}reduce(K,Y){let te=Y;return this.steps.push(oe=>(te=K(te,oe),te)),this}latch(K=(Y,te)=>Y===te){let Y=!0,te;return this.steps.push(oe=>{let ue=Y||!K(oe,te);return Y=!1,te=oe,ue?oe:D}),this}evaluate(K){for(let Y of this.steps)if(K=Y(K),K===D)break;return K}}function X(ie,K,Y=te=>te){let te=(...bt)=>Ie.fire(Y(...bt)),oe=()=>ie.on(K,te),ue=()=>ie.removeListener(K,te),Ie=new b({onWillAddFirstListener:oe,onDidRemoveLastListener:ue});return Ie.event}gn.fromNodeEventEmitter=X;function B(ie,K,Y=te=>te){let te=(...bt)=>Ie.fire(Y(...bt)),oe=()=>ie.addEventListener(K,te),ue=()=>ie.removeEventListener(K,te),Ie=new b({onWillAddFirstListener:oe,onDidRemoveLastListener:ue});return Ie.event}gn.fromDOMEventEmitter=B;function G(ie,K){let Y,te,oe=new Promise(ue=>{te=t(ie)(ue),nv(te,K),Y=()=>{DS(te,K)}});return oe.cancel=Y,K&&oe.finally(()=>DS(te,K)),oe}gn.toPromise=G;function q(ie,K){return ie(Y=>K.fire(Y))}gn.forward=q;function ve(ie,K,Y){return K(Y),ie(te=>K(te))}gn.runAndSubscribe=ve;class vt{constructor(K,Y){this._observable=K;this._counter=0;this._hasChanged=!1;let te={onWillAddFirstListener:()=>{K.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{K.removeObserver(this)}};Y||r(te),this.emitter=new b(te),Y&&Y.add(this.emitter)}beginUpdate(K){this._counter++}handlePossibleChange(K){}handleChange(K,Y){this._hasChanged=!0}endUpdate(K){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function At(ie,K){return new vt(ie,K).emitter.event}gn.fromObservable=At;function ui(ie){return(K,Y,te)=>{let oe=0,ue=!1,Ie={beginUpdate(){oe++},endUpdate(){oe--,oe===0&&(ie.reportChanges(),ue&&(ue=!1,K.call(Y)))},handlePossibleChange(){},handleChange(){ue=!0}};ie.addObserver(Ie),ie.reportChanges();let bt={dispose(){ie.removeObserver(Ie)}};return nv(bt,te),bt}}gn.fromObservableLight=ui})(S||={});Zg=class i{constructor(r){this.listenerCount=0;this.invocationCount=0;this.elapsedOverall=0;this.durations=[];this.name=`${r}_${i._idPool++}`,i.all.add(this)}static{this.all=new Set}static{this._idPool=0}start(r){this._stopWatch=new on,this.listenerCount=r}stop(){if(this._stopWatch){let r=this._stopWatch.elapsed();this.durations.push(r),this.elapsedOverall+=r,this.invocationCount+=1,this._stopWatch=void 0}}},RS=-1,ev=class i{constructor(r,e,t=(i._idPool++).toString(16).padStart(3,"0")){this._errorHandler=r;this.threshold=e;this.name=t;this._warnCountdown=0}static{this._idPool=1}dispose(){this._stacks?.clear()}check(r,e){let t=this.threshold;if(t<=0||e<t)return;this._stacks||(this._stacks=new Map);let n=this._stacks.get(r.value)||0;if(this._stacks.set(r.value,n+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=t*.5;let[o,s]=this.getMostFrequentStack(),a=`[${this.name}] potential listener LEAK detected, having ${e} listeners already. MOST frequent listener (${s}):`;console.warn(a),console.warn(o);let l=s/e>.3?"dominated":"popular",c=new Da(l,a,o,e);this._errorHandler(c)}return()=>{let o=this._stacks.get(r.value)||0;this._stacks.set(r.value,o-1)}}getMostFrequentStack(){if(!this._stacks)return;let r,e=0;for(let[t,n]of this._stacks)(!r||e<n)&&(r=[t,n],e=n);return r}},Ra=class i{constructor(r){this.value=r}static create(){let r=new Error;return new i(r.stack??"")}print(){console.warn(this.value.split(`
`).slice(2).join(`
`))}},Da=class i extends Error{constructor(r,e,t,n){super(`potential listener LEAK detected, ${r}`),this.name="ListenerLeakError",this.kind=r,this.listenerCount=n,this.details=e,this.stack=t}static is(r){return r instanceof i||r instanceof Error&&typeof r.kind=="string"&&typeof r.listenerCount=="number"}},tv=class extends Da{constructor(r,e,t,n){super(r,e,t,n),this.name="ListenerRefusalError"}},AR=0,ka=class{constructor(r){this.value=r;this.id=AR++}},LR=2,MR=(i,r)=>{if(i instanceof ka)r(i);else for(let e=0;e<i.length;e++){let t=i[e];t&&r(t)}},b=class{constructor(r){this._size=0;this._options=r,this._leakageMon=RS>0||this._options?.leakWarningThreshold?new ev(r?.onListenerError??nt,this._options?.leakWarningThreshold??RS):void 0,this._perfMon=this._options?._profName?new Zg(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(TS){let r=this._listeners;queueMicrotask(()=>{MR(r,e=>e.stack?.print())})}this._listeners=void 0,this._size=0}this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose()}}get event(){return this._event??=(r,e,t)=>{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 c=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],d=c[1]/this._size>.3?"dominated":"popular",u=new tv(d,`${l}. HINT: Stack shows most frequent listener (${c[1]}-times)`,c[0],this._size);return(this._options?.onListenerError||nt)(u),T.None}if(this._disposed)return T.None;e&&(r=r.bind(e));let n=new ka(r),o,s;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(n.stack=Ra.create(),o=this._leakageMon.check(n.stack,this._size+1)),TS&&(n.stack=s??Ra.create()),this._listeners?this._listeners instanceof ka?(this._deliveryQueue??=new rv,this._listeners=[this._listeners,n]):this._listeners.push(n):(this._options?.onWillAddFirstListener?.(this),this._listeners=n,this._options?.onDidAddFirstListener?.(this)),this._options?.onDidAddListener?.(this),this._size++;let a=j(()=>{o?.(),this._removeListener(n)});return nv(a,t),a},this._event}_removeListener(r){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,t=e.indexOf(r);if(t===-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[t]=void 0;let n=this._deliveryQueue.current===this;if(this._size*LR<=e.length){let o=0;for(let s=0;s<e.length;s++)e[s]?e[o++]=e[s]:n&&o<this._deliveryQueue.end&&(this._deliveryQueue.end--,o<this._deliveryQueue.i&&this._deliveryQueue.i--);e.length=o}}_deliver(r,e){if(!r)return;let t=this._options?.onListenerError||nt;if(!t){r.value(e);return}try{r.value(e)}catch(n){t(n)}}_deliverQueue(r){let e=r.current._listeners;for(;r.i<r.end;)this._deliver(e[r.i++],r.value);r.reset()}fire(r){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof ka)this._deliver(this._listeners,r);else{let e=this._deliveryQueue;e.enqueue(this,r,this._listeners.length),this._deliverQueue(e)}this._perfMon?.stop()}hasListeners(){return this._size>0}},rv=class{constructor(){this.i=-1;this.end=0}enqueue(r,e,t){this.i=0,this.end=t,this.current=r,this.value=e}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},Ts=class extends b{constructor(e){super(e);this._isPaused=0;this._eventQueue=new _a;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))}},Kp=class{constructor(){this.hasListeners=!1;this.events=[];this.emitter=new b({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(r){let e={event:r,listener:null};return this.events.push(e),this.hasListeners&&this.hook(e),j(ji(()=>{this.hasListeners&&this.unhook(e);let n=this.events.indexOf(e);this.events.splice(n,1)}))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach(r=>this.hook(r))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach(r=>this.unhook(r))}hook(r){r.listener=r.event(e=>this.emitter.fire(e))}unhook(r){r.listener?.dispose(),r.listener=null}dispose(){this.emitter.dispose();for(let r of this.events)r.listener?.dispose();this.events=[]}},od=class{constructor(){this.listening=!1;this.inputEvent=S.None;this.inputEventListener=T.None;this.emitter=new b({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}});this.event=this.emitter.event}set input(r){this.inputEvent=r,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=r(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}});var AS,xe,Aa,$e,It=I(()=>{z();$();AS=Object.freeze(function(i,r){let e=setTimeout(i.bind(r),0);return{dispose(){clearTimeout(e)}}});(t=>{function i(n){return n===t.None||n===t.Cancelled||n instanceof Aa?!0:!n||typeof n!="object"?!1:typeof n.isCancellationRequested=="boolean"&&typeof n.onCancellationRequested=="function"}t.isCancellationToken=i,t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:S.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:AS})})(xe||={});Aa=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?AS:(this._emitter||(this._emitter=new b),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}},$e=class{constructor(r){this._token=void 0;this._parentListener=void 0;this._parentListener=r&&r.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new Aa),this._token}cancel(){this._token?this._token instanceof Aa&&this._token.cancel():this._token=xe.Cancelled}dispose(r=!1){r&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof Aa&&this._token.dispose():this._token=xe.None}}});var zn=I(()=>{});function OR(i){return i}var zp,LS=I(()=>{It();zp=class{constructor(r,e){this.lastCache=void 0;this.lastArgKey=void 0;typeof r=="function"?(this._fn=r,this._computeKey=OR):(this._fn=e,this._computeKey=r.getCacheKey)}get(r){let e=this._computeKey(r);return this.lastArgKey!==e&&(this.lastArgKey=e,this.lastCache=this._fn(r)),this.lastCache}}});var er,Gi=I(()=>{er=class{constructor(r){this.executor=r;this._state=0}get hasValue(){return this._state===2}get value(){if(this._state===0){this._state=1;try{this._value=this.executor()}catch(r){this._error=r}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 MS=I(()=>{});function NS(i){return!i||typeof i!="string"?!0:i.trim().length===0}function BS(i){return i.replace(/[<>"'&]/g,r=>{switch(r){case"<":return"&lt;";case">":return"&gt;";case'"':return"&quot;";case"'":return"&apos;";case"&":return"&amp;"}return r})}function Do(i){return i.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function iv(i,r=" "){let e=ov(i,r);return jn(e,r)}function ov(i,r){if(!i||!r)return i;let e=r.length,t=0;if(e===1){let n=r.charCodeAt(0);for(;t<i.length&&i.charCodeAt(t)===n;)t++}else for(;i.startsWith(r,t);)t+=e;return i.substring(t)}function jn(i,r){if(!i||!r)return i;let e=r.length,t=i.length;if(e===1){let o=t,s=r.charCodeAt(0);for(;o>0&&i.charCodeAt(o-1)===s;)o--;return i.substring(0,o)}let n=t;for(;n>0&&i.endsWith(r,n);)n-=e;return i.substring(0,n)}function sd(i,r){return i<r?-1:i>r?1:0}function jp(i,r,e=0,t=i.length,n=0,o=r.length){for(;e<t&&n<o;e++,n++){let l=i.charCodeAt(e),c=r.charCodeAt(n);if(l<c)return-1;if(l>c)return 1}let s=t-e,a=o-n;return s<a?-1:s>a?1:0}function ad(i,r){return _s(i,r,0,i.length,0,r.length)}function _s(i,r,e=0,t=i.length,n=0,o=r.length){for(;e<t&&n<o;e++,n++){let l=i.charCodeAt(e),c=r.charCodeAt(n);if(l===c)continue;if(l>=128||c>=128)return jp(i.toLowerCase(),r.toLowerCase(),e,t,n,o);OS(l)&&(l-=32),OS(c)&&(c-=32);let d=l-c;if(d!==0)return d}let s=t-e,a=o-n;return s<a?-1:s>a?1:0}function OS(i){return i>=97&&i<=122}function sv(i){return i>=65&&i<=90}function Hr(i,r){return i.length===r.length&&_s(i,r)===0}function Ao(i,r){let e=r.length;return e<=i.length&&_s(i,r,0,e)===0}function VS(i,r){let e=i.length,t=e-r.length;return t>=0&&_s(i,r,t,e)===0}function HS(i){return 55296<=i&&i<=56319}function av(i){return 56320<=i&&i<=57343}function $S(i,r){return(i-55296<<10)+(r-56320)+65536}function NR(){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 FR,WR,UR,ZW,e4,FS,WS,US,ar=I(()=>{LS();zn();Gi();MS();FR=/(?:\x1b\[|\x9b)[=?>!]?[\d;:]*["$#'* ]?[a-zA-Z@^`{}|~]/,WR=/(?:\x1b\]|\x9d).*?(?:\x1b\\|\x07|\x9c)/,UR=/\x1b(?:[ #%\(\)\*\+\-\.\/]?[a-zA-Z0-9\|}~@])/,ZW=new RegExp("(?:"+[FR.source,WR.source,UR.source].join("|")+")","g"),e4=String.fromCharCode(65279),FS=class i{static{this._INSTANCE=null}static getInstance(){return i._INSTANCE||(i._INSTANCE=new i),i._INSTANCE}constructor(){this._data=NR()}getGraphemeBreakType(r){if(r<32)return r===10?3:r===13?2:4;if(r<127)return 0;let e=this._data,t=e.length/3,n=1;for(;n<=t;)if(r<e[3*n])n=2*n;else if(r>e[3*n+1])n=2*n+1;else return e[3*n+2];return 0}};WS=class i{constructor(r){this.confusableDictionary=r}static{this.ambiguousCharacterData=new er(()=>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 zp(r=>{let e=r.split(",");function t(u){let f=new Map;for(let m=0;m<u.length;m+=2)f.set(u[m],u[m+1]);return f}function n(u,f){let m=new Map(u);for(let[y,v]of f)m.set(y,v);return m}function o(u,f){if(!u)return f;let m=new Map;for(let[y,v]of u)f.has(y)&&m.set(y,v);return m}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 f=t(s[u]);l=o(l,f)}let c=t(s._common),d=n(c,l);return new i(d)})}static getInstance(r){return i.cache.get(Array.from(r).join(","))}static{this._locales=new er(()=>Object.keys(i.ambiguousCharacterData.value).filter(r=>!r.startsWith("_")))}static getLocales(){return i._locales.value}isAmbiguous(r){return this.confusableDictionary.has(r)}containsAmbiguousCharacter(r){for(let e=0;e<r.length;e++){let t=r.codePointAt(e);if(typeof t=="number"&&this.isAmbiguous(t))return!0}return!1}getPrimaryConfusable(r){return this.confusableDictionary.get(r)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}},US=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(r){return i.getData().has(r)}static containsInvisibleCharacter(r){for(let e=0;e<r.length;e++){let t=r.codePointAt(e);if(typeof t=="number"&&(i.isInvisibleCharacter(t)||t===32))return!0}return!1}static get codePoints(){return i.getData()}}});function Lo(i){return i===47||i===92}function Ii(i){return i.replace(/[\\/]/g,de.sep)}function qS(i){return i.indexOf("/")===-1&&(i=Ii(i)),/^[a-zA-Z]:(\/|$)/.test(i)&&(i="/"+i),i}function lv(i,r=de.sep){if(!i)return"";let e=i.length,t=i.charCodeAt(0);if(Lo(t)){if(Lo(i.charCodeAt(1))&&!Lo(i.charCodeAt(2))){let o=3,s=o;for(;o<e&&!Lo(i.charCodeAt(o));o++);if(s!==o&&!Lo(i.charCodeAt(o+1))){for(o+=1;o<e;o++)if(Lo(i.charCodeAt(o)))return i.slice(0,o+1).replace(/[\\/]/g,r)}}return r}else if(Jp(t)&&i.charCodeAt(1)===58)return Lo(i.charCodeAt(2))?i.slice(0,2)+r:i.slice(0,2);let n=i.indexOf("://");if(n!==-1){for(n+=3;n<e;n++)if(Lo(i.charCodeAt(n)))return i.slice(0,n+1)}return""}function KS(i){if(!F||!i||i.length<5)return!1;let r=i.charCodeAt(0);if(r!==92||(r=i.charCodeAt(1),r!==92))return!1;let e=2,t=e;for(;e<i.length&&(r=i.charCodeAt(e),r!==92);e++);return!(t===e||(r=i.charCodeAt(e+1),isNaN(r)||r===92))}function zS(i,r=F){let e=r?BR:VR;return!(!i||i.length===0||/^\s+$/.test(i)||(e.lastIndex=0,e.test(i))||r&&HR.test(i)||i==="."||i===".."||r&&i[i.length-1]==="."||r&&i.length!==i.trim().length||i.length>255)}function Mo(i,r,e){let t=i===r;return!e||t?t:!i||!r?!1:Hr(i,r)}function Qi(i,r,e,t=Wt){if(i===r)return!0;if(!i||!r||r.length>i.length)return!1;if(e){if(!Ao(i,r))return!1;if(r.length===i.length)return!0;let o=r.length;return r.charAt(r.length-1)===t&&o--,i.charAt(o)===t}return r.charAt(r.length-1)!==t&&(r+=t),i.indexOf(r)===0}function Jp(i){return i>=65&&i<=90||i>=97&&i<=122}function Qp(i,r){return F&&i.endsWith(":")&&(i+=Wt),ko(i)||(i=V(r,i)),i=_t(i),cv(i)}function cv(i){return F?(i=jn(i,Wt),i.endsWith(":")&&(i+=Wt)):(i=jn(i,Wt),i||(i=Wt)),i}function dv(i){let r=_t(i);return F?i.length>3?!1:uv(r)&&(i.length===2||r.charCodeAt(2)===92):r===de.sep}function uv(i,r=F){return r?Jp(i.charCodeAt(0))&&i.charCodeAt(1)===58:!1}function La(i){let r=i.split(":"),e,t,n;for(let o of r){let s=Number(o);Kn(s)?t===void 0?t=s:n===void 0&&(n=s):e=e?[e,o].join(":"):o}if(!e)throw new Error("Format for `--goto` should be: `FILE:LINE(:COLUMN)`");return{path:e,line:t!==void 0?t:void 0,column:n!==void 0?n:t!==void 0?1:void 0}}function ks(i,r,e=8){let t="";for(let o=0;o<e;o++){let s;o===0&&F&&!r&&(e===3||e===4)?s=qR:s=$R,t+=s.charAt(Math.floor(Math.random()*s.length))}let n;return r?n=`${r}-${t}`:n=t,i?V(i,n):n}var BR,VR,HR,$R,qR,sn=I(()=>{zn();Ce();Z();ar();Le();BR=/[\\/:\*\?"<>\|]/g,VR=/[/]/g,HR=/^(con|prn|aux|clock\$|nul|lpt[0-9]|com[0-9])(\.(.*?))?$/i;$R="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",qR="BDEFGHIJKMOQRSTUVWXYZbdefghijkmoqrstuvwxyz0123456789"});var Xp=I(()=>{});function JR(i,r){if(!i.scheme&&r)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${i.authority}", path: "${i.path}", query: "${i.query}", fragment: "${i.fragment}"}`);if(i.scheme&&!zR.test(i.scheme)){let e=[...i.scheme.matchAll(/[^\w\d+.-]/gu)],t=e.length>0?` Found '${e[0][0]}' at index ${e[0].index} (${e.length} total)`:"";throw new Error(`[UriError]: Scheme contains illegal characters.${t} (len:${i.scheme.length})`)}if(i.path){if(i.authority){if(!jR.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(GR.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 QR(i,r){return!i&&!r?"file":i}function XR(i,r){switch(i){case"https":case"http":case"file":r?r[0]!==Gn&&(r=Gn+r):r=Gn;break}return r}function jS(i,r,e){let t,n=-1;for(let o=0;o<i.length;o++){let s=i.charCodeAt(o);if(s>=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||s===45||s===46||s===95||s===126||r&&s===47||e&&s===91||e&&s===93||e&&s===58)n!==-1&&(t+=encodeURIComponent(i.substring(n,o)),n=-1),t!==void 0&&(t+=i.charAt(o));else{t===void 0&&(t=i.substr(0,o));let a=XS[s];a!==void 0?(n!==-1&&(t+=encodeURIComponent(i.substring(n,o)),n=-1),t+=a):n===-1&&(n=o)}}return n!==-1&&(t+=encodeURIComponent(i.substring(n))),t!==void 0?t:i}function ZR(i){let r;for(let e=0;e<i.length;e++){let t=i.charCodeAt(e);t===35||t===63?(r===void 0&&(r=i.substr(0,e)),r+=XS[t]):r!==void 0&&(r+=i[e])}return r!==void 0?r:i}function ld(i,r){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?r?e=i.path.substr(1):e=i.path[1].toLowerCase()+i.path.substr(2):e=i.path,F&&(e=e.replace(/\//g,"\\")),e}function pv(i,r){let e=r?ZR:jS,t="",{scheme:n,authority:o,path:s,query:a,fragment:l}=i;if(n&&(t+=n,t+=":"),(o||n==="file")&&(t+=Gn,t+=Gn),o){let c=o.indexOf("@");if(c!==-1){let d=o.substr(0,c);o=o.substr(c+1),c=d.lastIndexOf(":"),c===-1?t+=e(d,!1,!1):(t+=e(d.substr(0,c),!1,!1),t+=":",t+=e(d.substr(c+1),!1,!0)),t+="@"}o=o.toLowerCase(),c=o.lastIndexOf(":"),c===-1?t+=e(o,!1,!0):(t+=e(o.substr(0,c),!1,!0),t+=o.substr(c))}if(s){if(s.length>=3&&s.charCodeAt(0)===47&&s.charCodeAt(2)===58){let c=s.charCodeAt(1);c>=65&&c<=90&&(s=`/${String.fromCharCode(c+32)}:${s.substr(3)}`)}else if(s.length>=2&&s.charCodeAt(1)===58){let c=s.charCodeAt(0);c>=65&&c<=90&&(s=`${String.fromCharCode(c+32)}:${s.substr(2)}`)}t+=e(s,!0,!1)}return a&&(t+="?",t+=e(a,!1,!1)),l&&(t+="#",t+=r?l:jS(l,!1,!1)),t}function YS(i){try{return decodeURIComponent(i)}catch{return i.length>3?i.substr(0,3)+YS(i.substr(3)):i}}function Yp(i){return i.match(GS)?i.replace(GS,r=>YS(r)):i}var zR,jR,GR,ht,Gn,YR,P,QS,Oo,XS,GS,le=I(()=>{zn();Xp();Ce();Z();zR=/^\w[\w\d+.-]*$/,jR=/^\//,GR=/^\/\//;ht="",Gn="/",YR=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,P=class i{static isUri(r){return r instanceof i?!0:!r||typeof r!="object"?!1:typeof r.authority=="string"&&typeof r.fragment=="string"&&typeof r.path=="string"&&typeof r.query=="string"&&typeof r.scheme=="string"&&typeof r.fsPath=="string"&&typeof r.with=="function"&&typeof r.toString=="function"}constructor(r,e,t,n,o,s=!1){typeof r=="object"?(this.scheme=r.scheme||ht,this.authority=r.authority||ht,this.path=r.path||ht,this.query=r.query||ht,this.fragment=r.fragment||ht):(this.scheme=QR(r,s),this.authority=e||ht,this.path=XR(this.scheme,t||ht),this.query=n||ht,this.fragment=o||ht,JR(this,s))}get fsPath(){return ld(this,!1)}with(r){if(!r)return this;let{scheme:e,authority:t,path:n,query:o,fragment:s}=r;return e===void 0?e=this.scheme:e===null&&(e=ht),t===void 0?t=this.authority:t===null&&(t=ht),n===void 0?n=this.path:n===null&&(n=ht),o===void 0?o=this.query:o===null&&(o=ht),s===void 0?s=this.fragment:s===null&&(s=ht),e===this.scheme&&t===this.authority&&n===this.path&&o===this.query&&s===this.fragment?this:new Oo(e,t,n,o,s)}static parse(r,e=!1){let t=YR.exec(r);return t?new Oo(t[2]||ht,Yp(t[4]||ht),Yp(t[5]||ht),Yp(t[7]||ht),Yp(t[9]||ht),e):new Oo(ht,ht,ht,ht,ht)}static file(r){let e=ht;if(F&&(r=r.replace(/\\/g,Gn)),r[0]===Gn&&r[1]===Gn){let t=r.indexOf(Gn,2);t===-1?(e=r.substring(2),r=Gn):(e=r.substring(2,t),r=r.substring(t)||Gn)}return new Oo("file",e,r,ht,ht)}static from(r,e){return new Oo(r.scheme,r.authority,r.path,r.query,r.fragment,e)}static joinPath(r,...e){if(!r.path)throw new Error(`[UriError]: cannot call joinPath on URI without path: ${r.toString()}`);let t;return F&&r.scheme==="file"?t=i.file(dt.join(ld(r,!0),...e)).path:t=de.join(r.path,...e),r.with({path:t})}toString(r=!1){return pv(this,r)}toJSON(){return this}static revive(r){if(r){if(r instanceof i)return r;{let e=new Oo(r);return e._formatted=r.external??null,e._fsPath=r._sep===QS?r.fsPath??null:null,e}}else return r}[Symbol.for("debug.description")](){return`URI(${this.toString()})`}},QS=F?1:void 0,Oo=class extends P{constructor(){super(...arguments);this._formatted=null;this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=ld(this,!1)),this._fsPath}toString(e=!1){return e?pv(this,!0):(this._formatted||(this._formatted=pv(this,!1)),this._formatted)}toJSON(){let e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=QS),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}},XS={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"};GS=/(%[0-9A-Za-z][0-9A-Za-z])+/g});function eD(i,r){return P.isUri(i)?Hr(i.scheme,r):Ao(i,r+":")}function hv(i,...r){return r.some(e=>eD(i,e))}function rD(i){return`${i.quality??"oss"}-${i.commit??"dev"}`}var W,tD,fv,gv,Ma,mv,st,ZS,e1,Oa,qe=I(()=>{He();Z();ar();le();Ce();(pe=>(pe.inMemory="inmemory",pe.vscode="vscode",pe.internal="private",pe.walkThrough="walkThrough",pe.walkThroughSnippet="walkThroughSnippet",pe.http="http",pe.https="https",pe.file="file",pe.mailto="mailto",pe.untitled="untitled",pe.data="data",pe.command="command",pe.vscodeRemote="vscode-remote",pe.vscodeRemoteResource="vscode-remote-resource",pe.vscodeManagedRemoteResource="vscode-managed-remote-resource",pe.vscodeUserData="vscode-userdata",pe.vscodeCustomEditor="vscode-custom-editor",pe.vscodeNotebookCell="vscode-notebook-cell",pe.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",pe.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",pe.vscodeNotebookCellOutput="vscode-notebook-cell-output",pe.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",pe.vscodeNotebookMetadata="vscode-notebook-metadata",pe.vscodeInteractiveInput="vscode-interactive-input",pe.vscodeSettings="vscode-settings",pe.vscodeWorkspaceTrust="vscode-workspace-trust",pe.vscodeTerminal="vscode-terminal",pe.vscodeImageCarousel="vscode-image-carousel",pe.vscodeChatCodeBlock="vscode-chat-code-block",pe.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",pe.vscodeChatEditor="vscode-chat-editor",pe.vscodeChatInput="chatSessionInput",pe.vscodeLocalChatSession="vscode-chat-session",pe.webviewPanel="webview-panel",pe.vscodeWebview="vscode-webview",pe.vscodeBrowser="vscode-browser",pe.extension="extension",pe.vscodeFileResource="vscode-file",pe.tmp="tmp",pe.vsls="vsls",pe.vscodeSourceControl="vscode-scm",pe.commentsInput="comment",pe.codeSetting="code-setting",pe.outputChannel="output",pe.accessibleView="accessible-view",pe.chatEditingSnapshotScheme="chat-editing-snapshot-text-model",pe.chatEditingModel="chat-editing-text-model",pe.copilotPr="copilot-pr"))(W||={});tD="tkn",fv=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(r){this._preferredWebSchema=r}setDelegate(r){this._delegate=r}setServerRootPath(r,e){this._serverRootPath=de.join(e??"/",rD(r))}getServerRootPath(){return this._serverRootPath}get _remoteResourcesPath(){return de.join(this._serverRootPath,W.vscodeRemoteResource)}set(r,e,t){this._hosts[r]=e,this._ports[r]=t}setConnectionToken(r,e){this._connectionTokens[r]=e}getPreferredWebSchema(){return this._preferredWebSchema}rewrite(r){if(this._delegate)try{return this._delegate(r)}catch(a){return nt(a),r}let e=r.authority,t=this._hosts[e];t&&t.indexOf(":")!==-1&&t.indexOf("[")===-1&&(t=`[${t}]`);let n=this._ports[e],o=this._connectionTokens[e],s=`path=${encodeURIComponent(r.path)}`;return typeof o=="string"&&(s+=`&${tD}=${encodeURIComponent(o)}`),P.from({scheme:Dr?this._preferredWebSchema:W.vscodeRemoteResource,authority:`${t}:${n}`,path:this._remoteResourcesPath,query:s})}},gv=new fv;Ma="vscode-app",mv=class i{static{this.FALLBACK_AUTHORITY=Ma}asBrowserUri(r){let e=this.toUri(r);return this.uriToBrowserUri(e)}uriToBrowserUri(r){return r.scheme===W.vscodeRemote?gv.rewrite(r):r.scheme===W.file&&(kp||qb===`${W.vscodeFileResource}://${i.FALLBACK_AUTHORITY}`)?r.with({scheme:W.vscodeFileResource,authority:r.authority||i.FALLBACK_AUTHORITY,query:null,fragment:null}):r}asFileUri(r){let e=this.toUri(r);return this.uriToFileUri(e)}uriToFileUri(r){return r.scheme===W.vscodeFileResource?r.with({scheme:W.file,authority:r.authority!==i.FALLBACK_AUTHORITY?r.authority:null,query:null,fragment:null}):r}toUri(r){if(P.isUri(r))return r;if(globalThis._VSCODE_FILE_ROOT){let e=globalThis._VSCODE_FILE_ROOT;if(/^\w[\w\d+.-]*:\/\//.test(e))return P.joinPath(P.parse(e,!0),r);let t=V(e,r);return P.file(t)}throw new Error("Cannot determine URI for module id!")}},st=new mv,ZS=Object.freeze({"Cache-Control":"no-cache, no-store"}),e1=Object.freeze({"Document-Policy":"include-js-call-stacks-in-crash-reports"});(o=>{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"}]]);o.CoopAndCoep=Object.freeze(i.get("3"));let e="vscode-coi";function t(s){let a;typeof s=="string"?a=new URL(s).searchParams:s instanceof URL?a=s.searchParams:P.isUri(s)&&(a=new URL(s.toString(!0)).searchParams);let l=a?.get(e);if(l)return i.get(l)}o.getHeadersFromQuery=t;function n(s,a,l){if(!globalThis.crossOriginIsolated)return;let c=a&&l?"3":l?"2":"1";s instanceof URLSearchParams?s.set(e,c):s[e]=c}o.addSearchParam=n})(Oa||={})});function hr(i){return ld(i,!0)}var Rs,Fe,Ge,Fa,cd,vv,I4,nD,$r,r1,n1,he,Zp,w4,b4,i1,Lr,t1,o1,S4,iD,wt=I(()=>{zn();sn();qe();Ce();Z();ar();le();Rs=class{constructor(r){this._ignorePathCasing=r}compare(r,e,t=!1){return r===e?0:sd(this.getComparisonKey(r,t),this.getComparisonKey(e,t))}isEqual(r,e,t=!1){return r===e?!0:!r||!e?!1:this.getComparisonKey(r,t)===this.getComparisonKey(e,t)}getComparisonKey(r,e=!1){return r.with({path:this._ignorePathCasing(r)?r.path.toLowerCase():void 0,fragment:e?null:void 0}).toString()}ignorePathCasing(r){return this._ignorePathCasing(r)}isEqualOrParent(r,e,t=!1){if(r.scheme===e.scheme){if(r.scheme===W.file)return Qi(hr(r),hr(e),this._ignorePathCasing(r))&&r.query===e.query&&(t||r.fragment===e.fragment);if(Lr(r.authority,e.authority))return Qi(r.path,e.path,this._ignorePathCasing(r),"/")&&r.query===e.query&&(t||r.fragment===e.fragment)}return!1}joinPath(r,...e){return P.joinPath(r,...e)}basenameOrAuthority(r){return $r(r)||r.authority}basename(r,e){return de.basename(r.path,e)}extname(r){return de.extname(r.path)}dirname(r){if(r.path.length===0)return r;let e;return r.scheme===W.file?e=P.file(Ae(hr(r))).path:(e=de.dirname(r.path),r.authority&&e.length&&e.charCodeAt(0)!==47&&(console.error(`dirname("${r.toString})) resulted in a relative path`),e="/")),r.with({path:e})}normalizePath(r){if(!r.path.length)return r;let e;return r.scheme===W.file?e=P.file(_t(hr(r))).path:e=de.normalize(r.path),r.with({path:e})}relativePath(r,e){if(r.scheme!==e.scheme||!Lr(r.authority,e.authority))return;if(r.scheme===W.file){let o=Lp(hr(r),hr(e));return F?Ii(o):o}let t=r.path||"/",n=e.path||"/";if(this._ignorePathCasing(r)){let o=0;for(let s=Math.min(t.length,n.length);o<s&&!(t.charCodeAt(o)!==n.charCodeAt(o)&&t.charAt(o).toLowerCase()!==n.charAt(o).toLowerCase());o++);t=n.substr(0,o)+t.substr(o)}return de.relative(t,n)}resolvePath(r,e){if(r.scheme===W.file){let t=P.file(Vr(hr(r),e));return r.with({authority:t.authority,path:t.path})}return e=qS(e),r.with({path:de.resolve(r.path,e)})}isAbsolutePath(r){return!!r.path&&r.path[0]==="/"}isEqualAuthority(r,e){return r===e||r!==void 0&&e!==void 0&&Hr(r,e)}hasTrailingPathSeparator(r,e=Wt){if(r.scheme===W.file){let t=hr(r);return t.length>lv(t).length&&t[t.length-1]===e}else{let t=r.path;return t.length>1&&t.charCodeAt(t.length-1)===47&&!/^[a-zA-Z]:(\/$|\\$)/.test(r.fsPath)}}removeTrailingPathSeparator(r,e=Wt){return t1(r,e)?r.with({path:r.path.substr(0,r.path.length-1)}):r}addTrailingPathSeparator(r,e=Wt){let t=!1;if(r.scheme===W.file){let n=hr(r);t=n!==void 0&&n.length===lv(n).length&&n[n.length-1]===e}else{e="/";let n=r.path;t=n.length===1&&n.charCodeAt(n.length-1)===47}return!t&&!t1(r,e)?r.with({path:r.path+"/"}):r}},Fe=new Rs(()=>!1),Ge=new Rs(i=>i.scheme===W.file?!ne:!0),Fa=new Rs(i=>!0),cd=Fe.isEqual.bind(Fe),vv=Fe.isEqualOrParent.bind(Fe),I4=Fe.getComparisonKey.bind(Fe),nD=Fe.basenameOrAuthority.bind(Fe),$r=Fe.basename.bind(Fe),r1=Fe.extname.bind(Fe),n1=Fe.dirname.bind(Fe),he=Fe.joinPath.bind(Fe),Zp=Fe.normalizePath.bind(Fe),w4=Fe.relativePath.bind(Fe),b4=Fe.resolvePath.bind(Fe),i1=Fe.isAbsolutePath.bind(Fe),Lr=Fe.isEqualAuthority.bind(Fe),t1=Fe.hasTrailingPathSeparator.bind(Fe),o1=Fe.removeTrailingPathSeparator.bind(Fe),S4=Fe.addTrailingPathSeparator.bind(Fe);(o=>{o.META_DATA_LABEL="label",o.META_DATA_DESCRIPTION="description",o.META_DATA_SIZE="size",o.META_DATA_MIME="mime";function n(s){let a=new Map;s.path.substring(s.path.indexOf(";")+1,s.path.lastIndexOf(";")).split(";").forEach(d=>{let[u,f]=d.split(":");u&&f&&a.set(u,f)});let c=s.path.substring(0,s.path.indexOf(";"));return c&&a.set(o.META_DATA_MIME,c),a}o.parseMetaData=n})(iD||={})});var s1,a1=I(()=>{s1=Symbol("MicrotaskDelay")});function af(i){return!!i&&typeof i.then=="function"}function Jn(i){let r=new $e,e=i(r.token),t=!1,n=new Promise((o,s)=>{let a=r.token.onCancellationRequested(()=>{t=!0,a.dispose(),s(new St)});Promise.resolve(e).then(l=>{a.dispose(),r.dispose(),t?qp(l)&&l.dispose():o(l)},l=>{a.dispose(),r.dispose(),s(l)})});return new class{cancel(){r.cancel(),r.dispose()}then(o,s){return n.then(o,s)}catch(o){return this.then(void 0,o)}finally(o){return n.finally(o)}}}function wv(i,r,e){let t,n=setTimeout(()=>{t?.(void 0),e?.()},r);return Promise.race([i.finally(()=>clearTimeout(n)),new Promise(o=>t=o)])}function d1(){let i,r;return{promise:new Promise((t,n)=>{i=t,r=n}),resolve:i,reject:r}}function lt(i,r){return r?new Promise((e,t)=>{let n=setTimeout(()=>{o.dispose(),e()},i),o=r.onCancellationRequested(()=>{clearTimeout(n),o.dispose(),t(new St)})}):Jn(e=>lt(i,e))}function u1(i,r=0,e){let t=setTimeout(()=>{i(),e&&n.dispose()},r),n=j(()=>{clearTimeout(t),e?.delete(n)});return e?.add(n),n}function p1(i,r=t=>!!t,e=null){let t=0,n=i.length,o=()=>{if(t>=n)return Promise.resolve(e);let s=i[t++];return Promise.resolve(s()).then(l=>r(l)?Promise.resolve(l):o())};return o()}async function f1(i,r,e){let t;for(let n=0;n<e;n++)try{return await i()}catch(o){t=o,await lt(r)}throw t}var dd,tf,oD,sD,Xi,Pr,wi,ud,kn,Wa,Ds,rf,gr,nf,of,Ua,pd,ef,yv,sf,Gt,gt,l1,Iv,c1,ge=I(()=>{It();He();z();$();wt();Z();a1();Gi();dd=class{constructor(){this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null,this.cancellationTokenSource=new $e}queue(r){if(this.cancellationTokenSource.token.isCancellationRequested)return Promise.reject(new Error("Throttler is disposed"));if(this.activePromise){if(this.queuedPromiseFactory=r,!this.queuedPromise){let e=()=>{if(this.queuedPromise=null,this.cancellationTokenSource.token.isCancellationRequested)return;let t=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,t};this.queuedPromise=new Promise(t=>{this.activePromise.then(e,e).then(t)})}return new Promise((e,t)=>{this.queuedPromise.then(e,t)})}return this.activePromise=r(this.cancellationTokenSource.token),new Promise((e,t)=>{this.activePromise.then(n=>{this.activePromise=null,e(n)},n=>{this.activePromise=null,t(n)})})}dispose(){this.cancellationTokenSource.cancel()}},tf=class{constructor(){this.promiseMap=new Map}queue(r,e){let n=(this.promiseMap.get(r)??Promise.resolve()).catch(()=>{}).then(e).finally(()=>{this.promiseMap.get(r)===n&&this.promiseMap.delete(r)});return this.promiseMap.set(r,n),n}peek(r){return this.promiseMap.get(r)||void 0}keys(){return this.promiseMap.keys()}},oD=(i,r)=>{let e=!0,t=setTimeout(()=>{e=!1,r()},i);return{isTriggered:()=>e,dispose:()=>{clearTimeout(t),e=!1}}},sD=i=>{let r=!0;return queueMicrotask(()=>{r&&(r=!1,i())}),{isTriggered:()=>r,dispose:()=>{r=!1}}},Xi=class{constructor(r){this.defaultDelay=r;this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(r,e=this.defaultDelay){this.task=r,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((n,o)=>{this.doResolve=n,this.doReject=o}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){let n=this.task;return this.task=null,n()}}));let t=()=>{this.deferred=null,this.doResolve?.(null)};return this.deferred=e===s1?sD(t):oD(e,t),this.completionPromise}isTriggered(){return!!this.deferred?.isTriggered()}cancel(){this.cancelTimeout(),this.completionPromise&&(this.doReject?.(new St),this.completionPromise=null)}cancelTimeout(){this.deferred?.dispose(),this.deferred=null}dispose(){this.cancel()}},Pr=class{constructor(r){this.delayer=new Xi(r),this.throttler=new dd}trigger(r,e){return this.delayer.trigger(()=>this.throttler.queue(r),e)}isTriggered(){return this.delayer.isTriggered()}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}},wi=class{constructor(){this._isOpen=!1,this._promise=new Promise((r,e)=>{this._completePromise=r})}isOpen(){return this._isOpen}open(){this._isOpen=!0,this._completePromise(!0)}wait(){return this._promise}};ud=class{constructor(r){this._size=0;this._isDisposed=!1;this.maxDegreeOfParalellism=r,this.outstandingPromises=[],this.runningPromises=0,this._onDrained=new b}whenIdle(){return this.size>0?S.toPromise(this.onDrained):Promise.resolve()}get onDrained(){return this._onDrained.event}get size(){return this._size}queue(r){if(this._isDisposed)throw new Error("Object has been disposed");return this._size++,new Promise((e,t)=>{this.outstandingPromises.push({factory:r,c:e,e:t}),this.consume()})}consume(){for(;this.outstandingPromises.length&&this.runningPromises<this.maxDegreeOfParalellism;){let r=this.outstandingPromises.shift();this.runningPromises++;let e=r.factory();e.then(r.c,r.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()}},kn=class extends ud{constructor(){super(1)}},Wa=class{constructor(){this.queues=new Map;this.drainers=new Set;this.drainListeners=void 0;this.drainListenerCount=0}async whenDrained(){if(this.isDrained())return;let r=new Gt;return this.drainers.add(r),r.p}isDrained(){for(let[,r]of this.queues)if(r.size>0)return!1;return!0}queueSize(r,e=Fe){let t=e.getComparisonKey(r);return this.queues.get(t)?.size??0}queueFor(r,e,t=Fe){let n=t.getComparisonKey(r),o=this.queues.get(n);if(!o){o=new kn;let s=this.drainListenerCount++,a=S.once(o.onDrained)(()=>{o?.dispose(),this.queues.delete(n),this.onDidQueueDrain(),this.drainListeners?.deleteAndDispose(s),this.drainListeners?.size===0&&(this.drainListeners.dispose(),this.drainListeners=void 0)});this.drainListeners||(this.drainListeners=new Rt),this.drainListeners.set(s,a),this.queues.set(n,o)}return o.queue(e)}onDidQueueDrain(){this.isDrained()&&this.releaseDrainers()}releaseDrainers(){for(let r of this.drainers)r.complete();this.drainers.clear()}dispose(){for(let[,r]of this.queues)r.dispose();this.queues.clear(),this.releaseDrainers(),this.drainListeners?.dispose()}},Ds=class{constructor(r,e){this._isDisposed=!1;this._token=void 0,typeof r=="function"&&typeof e=="number"&&this.setIfNotSet(r,e)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==void 0&&(clearTimeout(this._token),this._token=void 0)}cancelAndSet(r,e){if(this._isDisposed)throw new $n("Calling 'cancelAndSet' on a disposed TimeoutTimer");this.cancel(),this._token=setTimeout(()=>{this._token=void 0,r()},e)}setIfNotSet(r,e){if(this._isDisposed)throw new $n("Calling 'setIfNotSet' on a disposed TimeoutTimer");this._token===void 0&&(this._token=setTimeout(()=>{this._token=void 0,r()},e))}},rf=class{constructor(){this.disposable=void 0;this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(r,e,t=globalThis){if(this.isDisposed)throw new $n("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();let n=t.setInterval(()=>{r()},e);this.disposable=j(()=>{t.clearInterval(n),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}},gr=class{constructor(r,e){this.timeoutToken=void 0,this.runner=r,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(r=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,r)}get delay(){return this.timeout}set delay(r){this.timeout=r}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?.()}},nf=class{constructor(r,e){e%1e3!==0&&console.warn(`ProcessTimeRunOnceScheduler resolution is 1s, ${e}ms is not a multiple of 1000ms.`),this.runner=r,this.timeout=e,this.counter=0,this.intervalToken=void 0,this.intervalHandler=this.onInterval.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearInterval(this.intervalToken),this.intervalToken=void 0)}schedule(r=this.timeout){r%1e3!==0&&console.warn(`ProcessTimeRunOnceScheduler resolution is 1s, ${r}ms is not a multiple of 1000ms.`),this.cancel(),this.counter=Math.ceil(r/1e3),this.intervalToken=setInterval(this.intervalHandler,1e3)}isScheduled(){return this.intervalToken!==void 0}onInterval(){this.counter--,!(this.counter>0)&&(clearInterval(this.intervalToken),this.intervalToken=void 0,this.runner?.())}},of=class extends gr{constructor(e,t){super(e,t);this.units=[]}work(e){this.units.push(e),this.isScheduled()||this.schedule()}doRun(){let e=this.units;this.units=[],this.runner?.(e)}dispose(){this.units=[],super.dispose()}},Ua=class extends T{constructor(e,t){super();this.options=e;this.handler=t;this.pendingWork=[];this.throttler=this._register(new jt);this.disposed=!1;this.lastExecutionTime=0}get pending(){return this.pendingWork.length}work(e){if(this.disposed)return!1;if(typeof this.options.maxBufferedWork=="number"){if(this.throttler.value){if(this.pending+e.length>this.options.maxBufferedWork)return!1}else if(this.pending+e.length-this.options.maxWorkChunkSize>this.options.maxBufferedWork)return!1}for(let n of e)this.pendingWork.push(n);let t=Date.now()-this.lastExecutionTime;return!this.throttler.value&&(!this.options.waitThrottleDelayBetweenWorkUnits||t>=this.options.throttleDelay)?this.doWork():!this.throttler.value&&this.options.waitThrottleDelayBetweenWorkUnits&&this.scheduleThrottler(Math.max(this.options.throttleDelay-t,0)),!0}doWork(){this.lastExecutionTime=Date.now(),this.handler(this.pendingWork.splice(0,this.options.maxWorkChunkSize)),this.pendingWork.length>0&&this.scheduleThrottler()}scheduleThrottler(e=this.options.throttleDelay){this.throttler.value=new gr(()=>{this.throttler.clear(),this.doWork()},e),this.throttler.value.schedule()}dispose(){super.dispose(),this.pendingWork.length=0,this.disposed=!0}};(function(){let i=globalThis;typeof i.requestIdleCallback!="function"||typeof i.cancelIdleCallback!="function"?ef=(r,e,t)=>{zb(()=>{if(n)return;let o=Date.now()+15;e(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,o-Date.now())}}))});let n=!1;return{dispose(){n||(n=!0)}}}:ef=(r,e,t)=>{let n=r.requestIdleCallback(e,typeof t=="number"?{timeout:t}:void 0),o=!1;return{dispose(){o||(o=!0,r.cancelIdleCallback(n))}}},pd=(r,e)=>ef(globalThis,r,e)})();yv=class{constructor(r,e){this._didRun=!1;this._executor=()=>{try{this._value=e()}catch(t){this._error=t}finally{this._didRun=!0}},this._handle=ef(r,()=>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}},sf=class extends yv{constructor(r){super(globalThis,r)}};Gt=class i{static fromPromise(r){let e=new i;return e.settleWith(r),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((r,e)=>{this.completeCallback=r,this.errorCallback=e})}complete(r){return this.isSettled?Promise.resolve():new Promise(e=>{this.completeCallback(r),this.outcome={outcome:0,value:r},e()})}error(r){return this.isSettled?Promise.resolve():new Promise(e=>{this.errorCallback(r),this.outcome={outcome:1,value:r},e()})}settleWith(r){return r.then(e=>this.complete(e),e=>this.error(e))}cancel(){return this.error(new St)}};(e=>{async function i(t){let n,o=await Promise.all(t.map(s=>s.then(a=>a,a=>{n||(n=a)})));if(typeof n<"u")throw n;return o}e.settled=i;function r(t){return new Promise(async(n,o)=>{try{await t(n,o)}catch(s){o(s)}})}e.withAsyncBody=r})(gt||={});l1=class i{static fromArray(r){return new i(e=>{e.emitMany(r)})}static fromPromise(r){return new i(async e=>{e.emitMany(await r)})}static fromPromisesResolveOrder(r){return new i(async e=>{await Promise.all(r.map(async t=>e.emitOne(await t)))})}static merge(r){return new i(async e=>{await Promise.all(r.map(async t=>{for await(let n of t)e.emitOne(n)}))})}static{this.EMPTY=i.fromArray([])}constructor(r,e){this._state=0,this._results=[],this._error=null,this._onReturn=e,this._onStateChanged=new b,queueMicrotask(async()=>{let t={emitOne:n=>this.emitOne(n),emitMany:n=>this.emitMany(n),reject:n=>this.reject(n)};try{await Promise.resolve(r(t)),this.resolve()}catch(n){this.reject(n)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}})}[Symbol.asyncIterator](){let r=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(r<this._results.length)return{done:!1,value:this._results[r++]};if(this._state===1)return{done:!0,value:void 0};await S.toPromise(this._onStateChanged.event)}while(!0)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(r,e){return new i(async t=>{for await(let n of r)t.emitOne(e(n))})}map(r){return i.map(this,r)}static filter(r,e){return new i(async t=>{for await(let n of r)e(n)&&t.emitOne(n)})}filter(r){return i.filter(this,r)}static coalesce(r){return i.filter(r,e=>!!e)}coalesce(){return i.coalesce(this)}static async toPromise(r){let e=[];for await(let t of r)e.push(t);return e}toPromise(){return i.toPromise(this)}emitOne(r){this._state===0&&(this._results.push(r),this._onStateChanged.fire())}emitMany(r){this._state===0&&(this._results=this._results.concat(r),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(r){this._state===0&&(this._state=2,this._error=r,this._onStateChanged.fire())}},Iv=class{constructor(){this._unsatisfiedConsumers=[];this._unconsumedValues=[]}get hasFinalValue(){return!!this._finalValue}produce(r){if(this._ensureNoFinalValue(),this._unsatisfiedConsumers.length>0){let e=this._unsatisfiedConsumers.shift();this._resolveOrRejectDeferred(e,r)}else this._unconsumedValues.push(r)}produceFinal(r){this._ensureNoFinalValue(),this._finalValue=r;for(let e of this._unsatisfiedConsumers)this._resolveOrRejectDeferred(e,r);this._unsatisfiedConsumers.length=0}_ensureNoFinalValue(){if(this._finalValue)throw new $n("ProducerConsumer: cannot produce after final value has been set")}_resolveOrRejectDeferred(r,e){e.ok?r.complete(e.value):r.error(e.error)}consume(){if(this._unconsumedValues.length>0||this._finalValue){let r=this._unconsumedValues.length>0?this._unconsumedValues.shift():this._finalValue;return r.ok?Promise.resolve(r.value):Promise.reject(r.error)}else{let r=new Gt;return this._unsatisfiedConsumers.push(r),r.p}}},c1=class i{constructor(r,e){this._onReturn=e;this._producerConsumer=new Iv;this._iterator={next:()=>this._producerConsumer.consume(),return:()=>(this._onReturn?.(),Promise.resolve({done:!0,value:void 0})),throw:async r=>(this._finishError(r),{done:!0,value:void 0})};queueMicrotask(async()=>{let t=r({emitOne:n=>this._producerConsumer.produce({ok:!0,value:{done:!1,value:n}}),emitMany:n=>{for(let o of n)this._producerConsumer.produce({ok:!0,value:{done:!1,value:o}})},reject:n=>this._finishError(n)});if(!this._producerConsumer.hasFinalValue)try{await t,this._finishOk()}catch(n){this._finishError(n)}})}static fromArray(r){return new i(e=>{e.emitMany(r)})}static fromPromise(r){return new i(async e=>{e.emitMany(await r)})}static fromPromisesResolveOrder(r){return new i(async e=>{await Promise.all(r.map(async t=>e.emitOne(await t)))})}static merge(r){return new i(async e=>{await Promise.all(r.map(async t=>{for await(let n of t)e.emitOne(n)}))})}static{this.EMPTY=i.fromArray([])}static map(r,e){return new i(async t=>{for await(let n of r)t.emitOne(e(n))})}static tee(r){let e,t,n=new Gt,o=async()=>{if(!(!e||!t))try{for await(let l of r)e.emitOne(l),t.emitOne(l)}catch(l){e.reject(l),t.reject(l)}finally{n.complete()}},s=new i(async l=>(e=l,o(),n.p)),a=new i(async l=>(t=l,o(),n.p));return[s,a]}map(r){return i.map(this,r)}static coalesce(r){return i.filter(r,e=>!!e)}coalesce(){return i.coalesce(this)}static filter(r,e){return new i(async t=>{for await(let n of r)e(n)&&t.emitOne(n)})}filter(r){return i.filter(this,r)}_finishOk(){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!0,value:{done:!0,value:void 0}})}_finishError(r){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!1,error:r})}[Symbol.asyncIterator](){return this._iterator}}});function bi(i){return m1(i,"NFC",aD)}function cD(i){return m1(i,"NFD",lD)}function m1(i,r,e){if(!i)return i;let t=e.get(i);if(t)return t;let n;return dD.test(i)?n=i.normalize(r):n=i,e.set(i,n),n}var aD,lD,dD,B4,fd=I(()=>{xr();aD=new Tn(1e4);lD=new Tn(1e4);dD=/[^\u0000-\u0080]/;B4=(function(){let i=new Tn(1e4),r=/[\u0300-\u036f]/g;return function(e){let t=i.get(e);if(t)return t;let n=cD(e).replace(r,""),o=(n.length===e.length?n:e).toLowerCase();return i.set(e,o),o}})()});import*as we from"fs";import{tmpdir as uD}from"os";import{promisify as md}from"util";async function v1(i,r=0,e){if(dv(i))throw new Error("rimraf - will refuse to recursively delete root");return r===0?bv(i):pD(i,e)}async function pD(i,r=ks(uD())){try{try{await we.promises.rename(i,r)}catch(e){return e.code==="ENOENT"?void 0:bv(i)}bv(r).catch(()=>{})}catch(e){if(e.code!=="ENOENT")throw e}}async function bv(i){return we.promises.rm(i,{recursive:!0,force:!0,maxRetries:3})}async function lf(i,r){try{return await h1(i,r)}catch(e){if(e.code==="ENOENT"&&F&&dv(i))try{return await h1(`${i}.`,r)}catch{}throw e}}async function h1(i,r){return mD(await(r?fD(i):we.promises.readdir(i)))}async function fD(i){try{return await we.promises.readdir(i,{withFileTypes:!0})}catch(t){t.code!=="ENOENT"&&console.warn("[node.js fs] readdir with filetypes failed with error: ",t)}let r=[],e=await lf(i);for(let t of e){let n=!1,o=!1,s=!1;try{let a=await we.promises.lstat(V(i,t));n=a.isFile(),o=a.isDirectory(),s=a.isSymbolicLink()}catch(a){a.code!=="ENOENT"&&console.warn("[node.js fs] unexpected error from lstat after readdir: ",a)}r.push({name:t,isFile:()=>n,isDirectory:()=>o,isSymbolicLink:()=>s})}return r}function mD(i){return i.map(r=>typeof r=="string"?N?bi(r):r:(r.name=N?bi(r.name):r.name,r))}async function hD(i){let r=await lf(i),e=[];for(let t of r)await tr.existsDirectory(V(i,t))&&e.push(t);return e}function y1(i,r=1e3){return new Promise(e=>{let t=!1,n=setInterval(()=>{t||(t=!0,we.access(i,o=>{t=!1,o&&(clearInterval(n),e(void 0))}))},r)})}function vD(i,r,e){return gD.queueFor(P.file(i),()=>{let t=wD(e);return new Promise((n,o)=>ID(i,r,t,s=>s?o(s):n()))},Ge)}function yD(i){I1=i}function ID(i,r,e,t){if(!I1)return we.writeFile(i,r,{mode:e.mode,flag:e.flag},t);we.open(i,e.flag,e.mode,(n,o)=>{if(n)return t(n);we.writeFile(o,r,s=>{if(s)return we.close(o,()=>t(s));we.fdatasync(o,a=>(a&&(console.warn("[node.js fs] fdatasync is now disabled for this session because it failed: ",a),yD(!1)),we.close(o,l=>t(l))))})})}function wD(i){return i?{mode:typeof i.mode=="number"?i.mode:438,flag:typeof i.flag=="string"?i.flag:"w"}:{mode:438,flag:"w"}}async function bD(i,r,e=6e4){if(i!==r)try{F&&typeof e=="number"?await w1(i,r,Date.now(),e):await we.promises.rename(i,r)}catch(t){if(i.toLowerCase()!==r.toLowerCase()&&t.code==="EXDEV"||i.endsWith("."))await b1(i,r,{preserveSymlinks:!1}),await v1(i,1);else throw t}}async function w1(i,r,e,t,n=0){try{return await we.promises.rename(i,r)}catch(o){if(o.code!=="EACCES"&&o.code!=="EPERM"&&o.code!=="EBUSY")throw o;if(Date.now()-e>=t)throw console.error(`[node.js fs] rename failed after ${n} retries with error: ${o}`),o;if(n===0){let s=!1;try{let{stat:a}=await tr.stat(r);a.isFile()||(s=!0)}catch{}if(s)throw o}return await lt(Math.min(100,n*10)),w1(i,r,e,t,n+1)}}async function b1(i,r,e){return S1(i,r,{root:{source:i,target:r},options:e,handledSourcePaths:new Set})}async function S1(i,r,e){if(e.handledSourcePaths.has(i))return;e.handledSourcePaths.add(i);let{stat:t,symbolicLink:n}=await tr.stat(i);if(n){if(e.options.preserveSymlinks)try{return await PD(i,r,e)}catch{}if(n.dangling)return}return t.isDirectory()?SD(i,r,t.mode&g1,e):xD(i,r,t.mode&g1)}async function SD(i,r,e,t){await we.promises.mkdir(r,{recursive:!0,mode:e});let n=await lf(i);for(let o of n)await S1(V(i,o),V(r,o),t)}async function xD(i,r,e){await we.promises.copyFile(i,r),await we.promises.chmod(r,e)}async function PD(i,r,e){let t=await we.promises.readlink(i);Qi(t,e.root.source,!ne)&&(t=V(e.root.target,t.substr(e.root.source.length+1))),await we.promises.symlink(t,r)}async function ED(i){try{return await md(we.realpath)(i)}catch{let r=CD(i);return await we.promises.access(r,we.constants.R_OK),r}}function CD(i){return jn(_t(i),Wt)}var tr,gD,I1,g1,Q,rr=I(()=>{ge();sn();fd();Ce();Z();wt();le();ar();(t=>{async function i(n){let o;try{if(o=await we.promises.lstat(n),!o.isSymbolicLink())return{stat:o}}catch{}try{return{stat:await we.promises.stat(n),symbolicLink:o?.isSymbolicLink()?{dangling:!1}:void 0}}catch(s){if(s.code==="ENOENT"&&o)return{stat:o,symbolicLink:{dangling:!0}};if(F&&s.code==="EACCES")try{return{stat:await we.promises.stat(await we.promises.readlink(n)),symbolicLink:{dangling:!1}}}catch(a){if(a.code==="ENOENT"&&o)return{stat:o,symbolicLink:{dangling:!0}};throw a}throw s}}t.stat=i;async function r(n){try{let{stat:o,symbolicLink:s}=await t.stat(n);return o.isFile()&&s?.dangling!==!0}catch{}return!1}t.existsFile=r;async function e(n){try{let{stat:o,symbolicLink:s}=await t.stat(n);return o.isDirectory()&&s?.dangling!==!0}catch{}return!1}t.existsDirectory=e})(tr||={});gD=new Wa;I1=!0;g1=511;Q=new class{get read(){return(i,r,e,t,n)=>new Promise((o,s)=>{we.read(i,r,e,t,n,(a,l,c)=>a?s(a):o({bytesRead:l,buffer:c}))})}get write(){return(i,r,e,t,n)=>new Promise((o,s)=>{we.write(i,r,e,t,n,(a,l,c)=>a?s(a):o({bytesWritten:l,buffer:c}))})}get fdatasync(){return md(we.fdatasync)}get open(){return md(we.open)}get close(){return md(we.close)}get ftruncate(){return md(we.ftruncate)}async exists(i){try{return await we.promises.access(i),!0}catch{return!1}}get readdir(){return lf}get readDirsInDir(){return hD}get writeFile(){return vD}get rm(){return v1}get rename(){return bD}get copy(){return b1}get realpath(){return ED}}});function x1(){let i=P1();return i?Array.from(i):[]}function P1(){return process.uncHostAllowlist}function Zi(i){if(process.platform!=="win32")return;let r=P1();if(r)if(typeof i=="string")r.add(i.toLowerCase());else for(let e of RD(i))Zi(e)}function RD(i){let r=new Set;if(Array.isArray(i))for(let e of i)typeof e=="string"&&r.add(e);return Array.from(r)}function cf(i){if(typeof i!="string")return;let r=["\\\\.\\UNC\\","\\\\?\\UNC\\","\\\\"],e;for(let t of r){if(i.indexOf(t)!==0)continue;let o=i.indexOf("\\",t.length);if(o===-1)continue;let s=i.substring(t.length,o);if(s){e=s;break}}return e}function E1(){process.platform==="win32"&&(process.restrictUNCAccess=!1)}function C1(){return process.platform!=="win32"?!0:process.restrictUNCAccess===!1}var Na=I(()=>{});var T1,sU,vd=I(()=>{Ee();T1="/etc/vscode/policy.json",sU={Extensions:{name:{key:"extensionsConfigurationTitle",value:h(138,null)}},IntegratedTerminal:{name:{key:"terminalIntegratedConfigurationTitle",value:h(141,null)}},InteractiveSession:{name:{key:"interactiveSessionConfigurationTitle",value:h(139,null)}},Telemetry:{name:{key:"telemetryConfigurationTitle",value:h(140,null)}},Update:{name:{key:"updateConfigurationTitle",value:h(142,null)}}}});function DD(i,r,e){r[Qn.DI_TARGET]===r?r[Qn.DI_DEPENDENCIES].push({id:i,index:e}):(r[Qn.DI_DEPENDENCIES]=[{id:i,index:e}],r[Qn.DI_TARGET]=r)}function L(i){if(Qn.serviceIds.has(i))return Qn.serviceIds.get(i);let r=function(e,t,n){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");DD(r,e,n)};return r.toString=()=>i,Qn.serviceIds.set(i,r),r}var Qn,Nt,ee=I(()=>{(n=>{n.serviceIds=new Map,n.DI_TARGET="$di$target",n.DI_DEPENDENCIES="$di$dependencies";function t(o){return o[n.DI_DEPENDENCIES]||[]}n.getServiceDependencies=t})(Qn||={});Nt=L("instantiationService")});function df(i){let r=i;return r&&typeof r=="object"&&(!r.overrideIdentifier||typeof r.overrideIdentifier=="string")&&(!r.resource||r.resource instanceof P)}function _1(i){let r=i;return r&&typeof r=="object"&&(!r.overrideIdentifiers||Array.isArray(r.overrideIdentifiers))&&!r.overrideIdentifier&&(!r.resource||r.resource instanceof P)}function uf(i,r){let e=Object.create(null);for(let t in i)xv(e,t,i[t],r);return e}function xv(i,r,e,t){let n=r.split("."),o=n.pop(),s=i;for(let a=0;a<n.length;a++){let l=n[a],c=s[l];switch(typeof c){case"undefined":c=s[l]=Object.create(null);break;case"object":if(c===null){t(`Ignoring ${r} as ${n.slice(0,a+1).join(".")} is null`);return}break;default:t(`Ignoring ${r} as ${n.slice(0,a+1).join(".")} is ${JSON.stringify(c)}`);return}s=c}if(typeof s=="object"&&s!==null)try{s[o]=e}catch{t(`Ignoring ${r} as ${n.join(".")} is ${JSON.stringify(s)}`)}else t(`Ignoring ${r} as ${n.join(".")} is ${JSON.stringify(s)}`)}function k1(i,r){let e=r.split(".");R1(i,e)}function R1(i,r){if(!i)return;let e=i,t=r.shift();if(r.length===0){delete e[t];return}if(Object.keys(e).indexOf(t)!==-1){let n=e[t];typeof n=="object"&&!Array.isArray(n)&&(R1(n,r),Object.keys(n).length===0&&delete e[t])}}function yd(i,r,e){function t(s,a){let l=s;for(let c of a){if(typeof l!="object"||l===null)return;l=l[c]}return l}let n=r.split("."),o=t(i,n);return typeof o>"u"?e:o}function D1(i){return i.replace(/^\[/,"").replace(/]$/g,"").replace(/\]\[/g,", ")}var fe,it=I(()=>{Ea();Le();le();ee();fe=L("configurationService")});function A1(i){let r=!1,e=new Map,t=new Map;if(AD(i,d=>{if(i===d)return!0;let u=JSON.stringify(d);if(u.length<30)return!0;let f=e.get(u);if(!f){let m={schemas:[d]};return e.set(u,m),t.set(d,m),!0}return f.schemas.push(d),t.set(d,f),r=!0,!1}),e.clear(),!r)return JSON.stringify(i);let o="$defs";for(;i.hasOwnProperty(o);)o+="_";let s=[];function a(d){return JSON.stringify(d,(u,f)=>{if(f!==d){let m=t.get(f);if(m&&m.schemas.length>1)return m.id||(m.id=`_${s.length}`,s.push(m.schemas[0])),{$ref:`#/${o}/${m.id}`}}return f})}let l=a(i),c=[];for(let d=0;d<s.length;d++)c.push(`"_${d}":${a(s[d])}`);return c.length?`${l.substring(0,l.length-1)},"${o}":{${c.join(",")}}}`:l}function Ba(i){return typeof i=="object"&&i!==null}function AD(i,r){if(!i||typeof i!="object")return;let e=(...l)=>{for(let c of l)Ba(c)&&s.push(c)},t=(...l)=>{for(let c of l)if(Ba(c))for(let d in c){let u=c[d];Ba(u)&&s.push(u)}},n=(...l)=>{for(let c of l)if(Array.isArray(c))for(let d of c)Ba(d)&&s.push(d)},o=l=>{if(Array.isArray(l))for(let c of l)Ba(c)&&s.push(c);else Ba(l)&&s.push(l)},s=[i],a=s.pop();for(;a;)r(a)&&(e(a.additionalItems,a.additionalProperties,a.not,a.contains,a.propertyNames,a.if,a.then,a.else,a.unevaluatedItems,a.unevaluatedProperties),t(a.definitions,a.$defs,a.properties,a.patternProperties,a.dependencies,a.dependentSchemas),n(a.anyOf,a.allOf,a.oneOf,a.prefixItems),o(a.items)),a=s.pop()}var L1=I(()=>{});var Pv,xt,Xn=I(()=>{Ea();Le();Pv=class{constructor(){this.data=new Map}add(r,e){Vp(Oe(r)),Vp(je(e)),Vp(!this.data.has(r),"There is already an extension with this id"),this.data.set(r,e)}knows(r){return this.data.has(r)}as(r){return this.data.get(r)||null}dispose(){this.data.forEach(r=>{td(r.dispose)&&r.dispose()}),this.data.clear()}},xt=new Pv});function M1(i){return i.length>0&&i.charAt(i.length-1)==="#"?i.substring(0,i.length-1):i}var Cv,Ev,MD,O1=I(()=>{z();L1();$();Xn();Cv={JSONContribution:"base.contributions.json"};Ev=class extends T{constructor(){super(...arguments);this.schemasById={};this.schemaAssociations={};this._onDidChangeSchema=this._register(new b);this.onDidChangeSchema=this._onDidChangeSchema.event;this._onDidChangeSchemaAssociations=this._register(new b);this.onDidChangeSchemaAssociations=this._onDidChangeSchemaAssociations.event}registerSchema(e,t,n){let o=M1(e);this.schemasById[o]=t,this._onDidChangeSchema.fire(e),n&&n.add(j(()=>{delete this.schemasById[o],this._onDidChangeSchema.fire(e)}))}registerSchemaAssociation(e,t){let n=M1(e);return this.schemaAssociations[n]||(this.schemaAssociations[n]=[]),this.schemaAssociations[n].includes(t)||(this.schemaAssociations[n].push(t),this._onDidChangeSchemaAssociations.fire()),j(()=>{let o=this.schemaAssociations[n];if(o){let s=o.indexOf(t);s!==-1&&(o.splice(s,1),o.length===0&&delete this.schemaAssociations[n],this._onDidChangeSchemaAssociations.fire())}})}notifySchemaChanged(e){this._onDidChangeSchema.fire(e)}getSchemaContributions(){return{schemas:this.schemasById}}getSchemaContent(e){let t=this.schemasById[e];return t?A1(t):void 0}hasSchemaContent(e){return!!this.schemasById[e]}getSchemaAssociations(){return this.schemaAssociations}},MD=new Ev;xt.add(Cv.JSONContribution,MD)});var an,Tv,Mr,Id=I(()=>{Hn();Tv=globalThis.vscode;if(typeof Tv<"u"&&typeof Tv.context<"u"){let i=Tv.context.configuration();if(i)an=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(an=globalThis._VSCODE_PRODUCT_JSON,Zt.VSCODE_DEV&&Object.assign(an,{nameShort:`${an.nameShort} Dev`,nameLong:`${an.nameLong} Dev`,dataFolderName:`${an.dataFolderName}-dev`,serverDataFolderName:an.serverDataFolderName?`${an.serverDataFolderName}-dev`:void 0}),!an.version){let i=globalThis._VSCODE_PACKAGE_JSON;Object.assign(an,{version:i.version})}}else an={nameShort:"Code",nameLong:"Visual Studio Code",applicationName:"code",win32x64AppId:"{{EA457B21-F73E-494C-ACAB-524FDE069978}",win32arm64AppId:"{{A5270FC5-65AD-483E-AC30-2C276B63D0AC}",win32x64UserAppId:"{{771FD6B0-FA20-440A-A002-3B3BAC16DC50}",win32arm64UserAppId:"{{D9E514E7-1A56-452D-9337-2990C0DC4310}",win32NameVersion:"Microsoft Visual Studio Code",win32DirName:"Microsoft VS Code",win32SetupExeBasename:"VSCodeSetup",win32AppUserModelId:"Microsoft.VisualStudioCode",win32ShellNameShort:"Code",win32MutexName:"vscode",win32RegValueName:"VSCode",win32VersionedUpdate:!0,darwinCredits:"resources/darwin/Credits.rtf",darwinBundleIdentifier:"com.microsoft.VSCode",darwinSharedKeychainServiceName:"com.microsoft.VSCode.shared-secrets",darwinProfileUUID:"EBAE60D6-C8A2-4419-92FF-24F8AD5077AB",darwinProfilePayloadUUID:"C6B5723A-6539-4F31-8A4E-3CC96E51F48C",darwinExecutable:"VSCode",linuxIconName:"vscode",licenseFileName:"LICENSE.rtf",licenseName:"Multiple, see https://code.visualstudio.com/license",serverGreeting:[],serverLicense:["*","* Visual Studio Code Server","*","* By using the software, you agree to","* the Visual Studio Code Server License Terms (https://aka.ms/vscode-server-license) and","* the Microsoft Privacy Statement (https://privacy.microsoft.com/en-US/privacystatement).","*"],serverLicensePrompt:"Do you accept the terms in the License Agreement (Y/n)?",serverApplicationName:"code-server",urlProtocol:"vscode",dataFolderName:".vscode",serverDataFolderName:".vscode-server",downloadUrl:"https://code.visualstudio.com",updateUrl:"https://update.code.visualstudio.com",webUrl:"https://vscode.dev",webEndpointUrl:"https://main.vscode-cdn.net",webEndpointUrlTemplate:"https://{{uuid}}.vscode-cdn.net/{{quality}}/{{commit}}",nlsCoreBaseUrl:"https://www.vscode-unpkg.net/nls/",webviewContentExternalBaseUrlTemplate:"https://{{uuid}}.vscode-cdn.net/{{quality}}/{{commit}}/out/vs/workbench/contrib/webview/browser/pre/",quality:"stable",embedded:{nameShort:"Agents",nameLong:"Visual Studio Code Agents",applicationName:"agents",telemetryAppName:"agents",win32AppUserModelId:"Microsoft.VisualStudioCodeAgents",win32MutexName:"vscodeagents",win32RegValueName:"VSCodeAgents",win32NameVersion:"Microsoft Visual Studio Code Agents",win32VersionedUpdate:!0,darwinBundleIdentifier:"com.microsoft.VSCodeAgents",dataFolderName:".vscode-agents",urlProtocol:"vscode-agents",inheritAuthAccountPreference:{"github.copilot":["github.copilot-chat"],"vscode.github":["github.copilot-chat"]}},extensionsGallery:{nlsBaseUrl:"https://www.vscode-unpkg.net/_lp/",serviceUrl:"https://marketplace.visualstudio.com/_apis/public/gallery",itemUrl:"https://marketplace.visualstudio.com/items",publisherUrl:"https://marketplace.visualstudio.com/publishers",resourceUrlTemplate:"https://{publisher}.vscode-unpkg.net/{publisher}/{name}/{version}/{path}",extensionUrlTemplate:"https://www.vscode-unpkg.net/_gallery/{publisher}/{name}/latest",controlUrl:"https://main.vscode-cdn.net/extensions/marketplace.json",mcpUrl:"https://main.vscode-cdn.net/mcp/servers.json",accessSKUs:["copilot_enterprise_seat","copilot_enterprise_seat_quota","copilot_enterprise_seat_multi_quota","copilot_enterprise_seat_assignment","copilot_enterprise_seat_assignment_quota","copilot_enterprise_seat_assignment_multi_quota","copilot_enterprise_trial_seat","copilot_enterprise_trial_seat_quota","copilot_for_business_seat","copilot_for_business_seat_quota","copilot_for_business_seat_multi_quota","copilot_for_business_seat_assignment","copilot_for_business_seat_assignment_quota","copilot_for_business_seat_assignment_multi_quota","copilot_for_business_trial_seat","copilot_for_business_trial_seat_quota"]},mcpGallery:{serviceUrl:"https://api.mcp.github.com",itemWebUrl:"https://github.com/mcp/{name}",publisherUrl:"https://github.com/{name}",supportUrl:"https://support.github.com",privacyPolicyUrl:"https://docs.github.com/site-policy/privacy-policies/github-general-privacy-statement",termsOfServiceUrl:"https://docs.github.com/site-policy/github-terms/github-terms-of-service",reportUrl:"https://docs.github.com/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam"},extensionProperties:{"github.copilot-chat":{hasPrereleaseVersion:!1,excludeVersionRange:"<=0.16.1"},"github.copilot":{hasPrereleaseVersion:!0}},extensionsForceVersionByQuality:["github.copilot-chat","github.copilot"],builtInExtensions:[{name:"ms-vscode.js-debug-companion",version:"1.1.3",sha256:"7380a890787452f14b2db7835dfa94de538caf358ebc263f9d46dd68ac52de93",repo:"https://github.com/microsoft/vscode-js-debug-companion",metadata:{id:"99cb0b7f-7354-4278-b8da-6cc79972169d",publisherId:{publisherId:"5f5636e7-69ed-4afe-b5d6-8d231fb3d3ee",publisherName:"ms-vscode",displayName:"Microsoft",flags:"verified"},publisherDisplayName:"Microsoft"}},{name:"ms-vscode.js-debug",version:"1.117.0",sha256:"854eeb8a785b1f41ba2bd02d7ccd4fdbe10021b61473293973c7e96d036c7fb8",repo:"https://github.com/microsoft/vscode-js-debug",metadata:{id:"25629058-ddac-4e17-abba-74678e126c5d",publisherId:{publisherId:"5f5636e7-69ed-4afe-b5d6-8d231fb3d3ee",publisherName:"ms-vscode",displayName:"Microsoft",flags:"verified"},publisherDisplayName:"Microsoft"}},{name:"ms-vscode.vscode-js-profile-table",version:"1.0.10",sha256:"7361748ddf9fd09d8a2ed1f2a2d7376a2cf9aae708692820b799708385c38e08",repo:"https://github.com/microsoft/vscode-js-profile-visualizer",metadata:{id:"7e52b41b-71ad-457b-ab7e-0620f1fc4feb",publisherId:{publisherId:"5f5636e7-69ed-4afe-b5d6-8d231fb3d3ee",publisherName:"ms-vscode",displayName:"Microsoft",flags:"verified"},publisherDisplayName:"Microsoft"}},{name:"TypeScriptTeam.jsts-chat-features",version:"0.0.2",sha256:"288d8bc26a6e3a752c0971bc93078736c3d818384b27989c1e05ec49a28e1c29",metadata:{id:"7d881d23-233c-448d-9700-cf11a0de79c2",publisherId:{publisherId:"4f0355d2-4a53-4ab1-a8ea-507f4a333a6f",publisherName:"ms-vscode",displayName:"Microsoft",flags:"verified"},publisherDisplayName:"Microsoft"}}],profileTemplatesUrl:"https://main.vscode-cdn.net/core/profile-templates.json",emergencyAlertUrl:"https://main.vscode-cdn.net/core/stable.json",extensionPublisherOrgs:["microsoft"],trustedExtensionPublishers:["microsoft","github","openai"],extensionRecommendations:{"ms-dotnettools.csdevkit":{onFileOpen:[{pathGlob:"{**/*.cs,**/global.json,**/*.csproj,**/*.cshtml,**/*.sln}",important:!0},{languages:["csharp"],important:!0},{pathGlob:"{**/project.json,**/appsettings.json}"}]},"ms-python.python":{onFileOpen:[{pathGlob:"{**/*.py}",important:!0},{languages:["python"],important:!0},{pathGlob:"{**/*.ipynb}"}]},"ms-toolsai.jupyter":{onFileOpen:[{pathGlob:"{**/*.py}",contentPattern:"^#\\s*%%$",important:!0,whenInstalled:["ms-python.python"]},{pathGlob:"{**/*.ipynb}"}]},"ms-toolsai.datawrangler":{onFileOpen:[{pathGlob:"{**/*.ipynb}",contentPattern:"import\\s*pandas|from\\s*pandas",whenInstalled:["ms-toolsai.jupyter"]}]},"golang.Go":{onFileOpen:[{pathGlob:"**/*.go",important:!0},{languages:["go"],important:!0}]},"vscjava.vscode-java-pack":{onFileOpen:[{pathGlob:"{**/*.java}",important:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]},{languages:["java"],important:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]}]},"ms-vscode.PowerShell":{onFileOpen:[{pathGlob:"{**/*.ps1,**/*.psd1,**/*.psm1}",important:!0},{languages:["powershell"],important:!0},{pathGlob:"{**/*.ps.config,**/*.ps1.config}"}]},"ms-toolsai.prompty":{onFileOpen:[{pathGlob:"{**/*.prompty}",important:!1}]},"quantum.qsharp-lang-vscode":{onFileOpen:[{pathGlob:"{**/*.qs,**/*.qsc,**/*.qasm}",important:!0}]},"typespec.typespec-vscode":{onFileOpen:[{pathGlob:"{**/*.tsp,**/tspconfig.yaml}",important:!0}]},"ms-vscode.cpptools-extension-pack":{onFileOpen:[{pathGlob:"{**/*.c,**/*.cpp,**/*.cc,**/.cxx,**/*.hh,**/*.hpp,**/*.hxx,**/*.h}",important:!0,whenNotInstalled:["llvm-vs-code-extensions.vscode-clangd"]},{languages:["c","cpp"],important:!0,whenNotInstalled:["llvm-vs-code-extensions.vscode-clangd"]}]},"ms-azuretools.vscode-containers":{onFileOpen:[{pathGlob:"{**/dockerfile,**/Dockerfile,**/docker-compose.yml,**/docker-compose.*.yml}",important:!0,whenNotInstalled:["ms-azuretools.vscode-docker"]},{languages:["dockerfile"],important:!0,whenNotInstalled:["ms-azuretools.vscode-docker"]},{pathGlob:"{**/*.cs,**/project.json,**/global.json,**/*.csproj,**/*.cshtml,**/*.sln,**/appsettings.json,**/*.py,**/*.ipynb,**/*.js,**/*.ts,**/package.json}",whenNotInstalled:["ms-azuretools.vscode-docker"]}]},"vue.volar":{onFileOpen:[{pathGlob:"{**/*.vue}",important:!0},{languages:["vue"],important:!0}]},"ms-vscode.makefile-tools":{onFileOpen:[{pathGlob:"{**/makefile,**/Makefile}",important:!0},{languages:["makefile"],important:!0}]},"ms-vscode.cmake-tools":{onFileOpen:[{pathGlob:"{**/CMakeLists.txt}",important:!0}]},"ms-azure-devops.azure-pipelines":{onFileOpen:[{pathGlob:"{**/azure-pipelines.yaml}",important:!0}]},"msazurermtools.azurerm-vscode-tools":{onFileOpen:[{pathGlob:"{**/azuredeploy.json}",important:!0}]},"ms-vscode-remote.remote-containers":{onFileOpen:[{pathGlob:"{**/devcontainer.json}",important:!0}]},"ms-azuretools.vscode-bicep":{onFileOpen:[{pathGlob:"{**/*.bicep}",important:!0,whenNotInstalled:["ms-azuretools.rad-vscode-bicep"]}]},"svelte.svelte-vscode":{onFileOpen:[{pathGlob:"{**/*.svelte}",important:!0}]},"ms-vscode.vscode-github-issue-notebooks":{onFileOpen:[{pathGlob:"{**/*.github-issues}",important:!0}]},"ms-playwright.playwright":{onFileOpen:[{pathGlob:"{**/*playwright*.config.ts,**/*playwright*.config.js,**/*playwright*.config.mjs}",important:!0}]},"vscjava.vscode-gradle":{onFileOpen:[{pathGlob:"{**/gradlew,**/gradlew.bat,**/build.gradle,**/build.gradle.kts,**/settings.gradle,**/settings.gradle.kts}",important:!0}]},"REditorSupport.r":{onFileOpen:[{pathGlob:"{**/*.r}",important:!0},{languages:["r"],important:!0}]},"firefox-devtools.vscode-firefox-debug":{onFileOpen:[{pathGlob:"{**/*.ts,**/*.tsx,**/*.js,**/*.jsx,**/*.es6,**/.babelrc}"}]},"ms-edgedevtools.vscode-edge-devtools":{onFileOpen:[{pathGlob:"{**/*.ts,**/*.tsx,**/*.js,**/*.css,**/*.html}"}]},"Ionide.Ionide-fsharp":{onFileOpen:[{pathGlob:"{**/*.fsx,**/*.fsi,**/*.fs,**/*.ml,**/*.mli}"}]},"dbaeumer.vscode-eslint":{onFileOpen:[{pathGlob:"{**/*.js,**/*.jsx,**/*.es6,**/.eslintrc.*,**/.eslintrc,**/.babelrc,**/jsconfig.json}"}]},"bmewburn.vscode-intelephense-client":{onFileOpen:[{pathGlob:"{**/*.php,**/php.ini}"}]},"xdebug.php-debug":{onFileOpen:[{pathGlob:"{**/*.php,**/php.ini}"}]},"rust-lang.rust-analyzer":{onFileOpen:[{pathGlob:"{**/*.rs,**/*.rslib}"}]},"DavidAnson.vscode-markdownlint":{onFileOpen:[{pathGlob:"{**/*.md}"}]},"EditorConfig.EditorConfig":{onFileOpen:[{pathGlob:"{**/.editorconfig}"}]},"HookyQR.beautify":{onFileOpen:[{pathGlob:"{**/.jsbeautifyrc}"}]},"donjayamanne.githistory":{onFileOpen:[{pathGlob:"{**/.gitignore,**/.git}"}]},"eamodio.gitlens":{onFileOpen:[{pathGlob:"{**/.gitignore,**/.git}"}]},"Shopify.ruby-lsp":{onFileOpen:[{pathGlob:"{**/*.rb,**/*.erb,**/*.reek,**/.fasterer.yml,**/ruby-lint.yml,**/.rubocop.yml}"}]},"swiftlang.swift-vscode":{onFileOpen:[{pathGlob:"{**/*.swift,**/*.swiftinterface}",important:!0}]},"DotJoshJohnson.xml":{onFileOpen:[{pathGlob:"{**/*.xml}"}]},"stylelint.vscode-stylelint":{onFileOpen:[{pathGlob:"{**/.stylelintrc,**/stylelint.config.js}"}]},"ms-mssql.mssql":{onFileOpen:[{pathGlob:"{**/*.sql}"}]},"mtxr.sqltools":{onFileOpen:[{pathGlob:"{**/*.sql}"}]},"usqlextpublisher.usql-vscode-ext":{onFileOpen:[{pathGlob:"{**/*.usql}"}]},"ms-vscode.sublime-keybindings":{onFileOpen:[{pathGlob:"{**/.sublime-project,**/.sublime-workspace}"}]},"k--kato.intellij-idea-keybindings":{onFileOpen:[{pathGlob:"{**/.idea}"}]},"christian-kohler.npm-intellisense":{onFileOpen:[{pathGlob:"{**/package.json}"}]},"cake-build.cake-vscode":{onFileOpen:[{pathGlob:"{**/build.cake}"}]},"Angular.ng-template":{onFileOpen:[{pathGlob:"{**/.angular-cli.json,**/angular.json,**/*.ng.html,**/*.ng,**/*.ngml}"}]},"vscjava.vscode-maven":{onFileOpen:[{pathGlob:"**/pom.xml"}]},"ms-azuretools.vscode-azureterraform":{onFileOpen:[{pathGlob:"**/*.tf"}]},"HashiCorp.terraform":{onFileOpen:[{pathGlob:"**/*.tf"}]},"vsciot-vscode.vscode-arduino":{onFileOpen:[{pathGlob:"**/*.ino"}]},"ms-kubernetes-tools.vscode-kubernetes-tools":{onFileOpen:[{pathGlob:"{**/Chart.yaml}"}]},"Oracle.oracledevtools":{onFileOpen:[{pathGlob:"{**/*.sql}"}]},"betterthantomorrow.calva":{onFileOpen:[{pathGlob:"{**/*.clj,**/*.cljs}"}]},"vmware.vscode-boot-dev-pack":{onFileOpen:[{pathGlob:"{**/application.properties}"}]},"GitHub.copilot":{onFileOpen:[{pathGlob:"{**/*.ts,**/*.tsx,**/*.js,**/*.jsx,**/*.py,**/*.go,**/*.rb,**/*.html,**/*.css,**/*.php,**/*.cpp,**/*.vue,**/*.c,**/*.sql,**/*.java,**/*.cs,**/*.rs,**/*.dart,**/*.ps,**/*.ps1,**/*.tex}"}]},"GitHub.copilot-chat":{onSettingsEditorOpen:{descriptionOverride:"GitHub Copilot is an AI-powered coding assistant that helps you write code faster and smarter."}},"GitHub.vscode-github-actions":{onFileOpen:[{pathGlob:"{**/.github/workflows/*.yml}",important:!0}]},"circleci.circleci":{onFileOpen:[{pathGlob:"{**/.circleci/config.yml}"}]},"mechatroner.rainbow-csv":{onFileOpen:[{pathGlob:"**/*.csv",important:!0}]},"tomoki1207.pdf":{onFileOpen:[{pathGlob:"**/*.pdf",important:!0}]},"Redis.redis-for-vscode":{onFileOpen:[{pathGlob:"{**/redis.*,**/redis-server.*,**/redis_*,**/redisinsight.*}",important:!0}]},"SonarSource.sonarlint-vscode":{onFileOpen:[{pathGlob:"{**/sonar-project.properties,**/sonarcloud.properties,**/sonarlint.*}",important:!0}]}},onboardingKeymaps:[{id:"vscode",label:"VS Code",description:"Default keyboard mapping"},{id:"sublime",label:"Sublime Text",extensionId:"ms-vscode.sublime-keybindings",description:"Keyboard mapping from Sublime Text"},{id:"intellij",label:"IntelliJ / JetBrains",extensionId:"k--kato.intellij-idea-keybindings",description:"Keyboard mapping from IntelliJ IDEA"},{id:"vim",label:"Vim",extensionId:"vscodevim.vim",description:"Vim modal editing"},{id:"eclipse",label:"Eclipse",extensionId:"alphabotsec.vscode-eclipse-keybindings",description:"Keyboard mapping from Eclipse"},{id:"notepadpp",label:"Notepad++",extensionId:"ms-vscode.notepadplusplus-keybindings",description:"Keyboard mapping from Notepad++"}],onboardingThemes:[{id:"dark-2026",label:"Dark 2026",themeId:"Dark 2026",type:"dark"},{id:"hc-dark",label:"Dark High Contrast",themeId:"Default High Contrast",type:"hcDark"},{id:"solarized-dark",label:"Solarized Dark",themeId:"Solarized Dark",type:"dark"},{id:"light-2026",label:"Light 2026",themeId:"Light 2026",type:"light"},{id:"hc-light",label:"Light High Contrast",themeId:"Default High Contrast Light",type:"hcLight"},{id:"solarized-light",label:"Solarized Light",themeId:"Solarized Light",type:"light"}],keymapExtensionTips:["vscodevim.vim","ms-vscode.sublime-keybindings","ms-vscode.atom-keybindings","ms-vscode.brackets-keybindings","ms-vscode.vs-keybindings","ms-vscode.notepadplusplus-keybindings","k--kato.intellij-idea-keybindings","lfs.vscode-emacs-friendly","alphabotsec.vscode-eclipse-keybindings","alefragnani.delphi-keybindings"],languageExtensionTips:["ms-python.python","ms-vscode.cpptools-extension-pack","ms-dotnettools.csdevkit","ms-toolsai.jupyter","vscjava.vscode-java-pack","ecmel.vscode-html-css","vue.volar","bmewburn.vscode-intelephense-client","dsznajder.es7-react-js-snippets","golang.go","ms-vscode.powershell","dart-code.dart-code","rust-lang.rust-analyzer","Shopify.ruby-lsp","GitHub.copilot"],configBasedExtensionTips:{git:{configPath:".git/config",configName:"Git",recommendations:{"github.vscode-pull-request-github":{name:"GitHub Pull Request",contentPattern:"^\\s*url\\s*=\\s*https:\\/\\/github\\.com.*$"},"eamodio.gitlens":{name:"GitLens"}}},devContainer:{configPath:".devcontainer/devcontainer.json",configName:"Dev Container",recommendations:{"ms-vscode-remote.remote-containers":{name:"Dev Containers",important:!0}}},maven:{configPath:"pom.xml",configName:"Maven",recommendations:{"vscjava.vscode-java-pack":{name:"Java",important:!0,isExtensionPack:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]},"vmware.vscode-boot-dev-pack":{name:"Spring Boot Extension Pack",isExtensionPack:!0}}},gradle:{configPath:"build.gradle",configName:"Gradle",recommendations:{"vscjava.vscode-java-pack":{name:"Java",important:!0,isExtensionPack:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]}}},"github-pull-request":{configPath:".vscode/.github-pull-request.rec",configName:"GitHub",configScheme:"vscode-vfs",recommendations:{"github.vscode-pull-request-github":{name:"GitHub Pull Request",important:!0}}},"pyproject-formatter":{configPath:"pyproject.toml",configName:"Python Formatter",recommendations:{"ms-python.black-formatter":{name:"Black Formatter",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?black"?\\s*[\\].])|("black\\s*["[(<=>!~;@])'},"ms-python.autopep8":{name:"Autopep8",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?autopep8"?\\s*[\\].])|("autopep8\\s*["[(<=>!~;@])'}}},"pep8-formatter":{configPath:".pep8",configName:"Python Formatter",recommendations:{"ms-python.autopep8":{name:"Autopep8"}}},"python-setup-cgf-formatter":{configPath:"setup.cfg",configName:"Python Formatter",recommendations:{"ms-python.autopep8":{name:"Autopep8",contentPattern:"^\\[pep8\\]"}}},"tox-ini-formatter":{configPath:"tox.ini",configName:"Python Formatter",recommendations:{"ms-python.autopep8":{name:"Autopep8",contentPattern:"^\\[pep8\\]"}}},"pyproject-linter":{configPath:"pyproject.toml",configName:"Python Linter",recommendations:{"ms-python.pylint":{name:"Pylint",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?pylint"?\\s*[\\].])|("pylint\\s*["[(<=>!~;@])'},"charliermarsh.ruff":{name:"Ruff",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?ruff"?\\s*[\\].])|("ruff\\s*["[(<=>!~;@])'},"ms-python.mypy-type-checker":{name:"Mypy Type Checker",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?mypy"?\\s*[\\].])|("mypy\\s*["[(<=>!~;@])'},"ms-python.flake8":{name:"Flake8",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?flake8"?\\s*[\\].])|("flake8\\s*["[(<=>!~;@])'}}},".pylintrc-linter":{configPath:".pylintrc",configName:"Python Linter",recommendations:{"ms-python.pylint":{name:"Pylint"}}},"pylintrc-linter":{configPath:"pylintrc",configName:"Python Linter",recommendations:{"ms-python.pylint":{name:"Pylint"}}},"mypy-ini-linter":{configPath:".mypy.ini",configName:"Python Linter",recommendations:{"ms-python.mypy-type-checker":{name:"Mypy Type Checker"}}},"tox-ini-linter":{configPath:"tox.ini",configName:"Python Linter",recommendations:{"ms-python.flake8":{name:"Flake8",contentPattern:"^\\[flake8\\]"}}},".flake8-linter":{configPath:".flake8",configName:"Python Linter",recommendations:{"ms-python.flake8":{name:"Flake8"}}},"python-setup-cgf-linter":{configPath:"setup.cfg",configName:"Python Linter",recommendations:{"ms-python.flake8":{name:"Flake8",contentPattern:"^\\[flake8\\]"}}}},exeBasedExtensionTips:{az:{friendlyName:"Azure CLI",windowsPath:"%ProgramFiles(x86)%\\Microsoft SDKs\\Azure\\CLI2\\wbin\\az.cmd",recommendations:{"ms-vscode.vscode-node-azure-pack":{name:"Azure Tools"},"ms-azuretools.vscode-azure-github-copilot":{name:"GitHub Copilot for Azure"}}},azd:{friendlyName:"Azure Dev CLI",windowsPath:"%USERPROFILE%\\AppData\\Local\\Programs\\Azure Dev CLI\\azd.exe",recommendations:{"ms-vscode.vscode-node-azure-pack":{name:"Azure Tools"},"ms-azuretools.vscode-azure-github-copilot":{name:"GitHub Copilot for Azure"}}},"azd-user":{friendlyName:"Azure Dev CLI",windowsPath:"%ProgramFiles%\\Azure Dev CLI\\azd.exe",recommendations:{"ms-vscode.vscode-node-azure-pack":{name:"Azure Tools"},"ms-azuretools.vscode-azure-github-copilot":{name:"GitHub Copilot for Azure"}}},"azure-powershell":{friendlyName:"Azure PowerShell",windowsPath:"%USERPROFILE%\\.Azure",recommendations:{"ms-vscode.vscode-node-azure-pack":{name:"Azure Tools"}}},heroku:{friendlyName:"Heroku CLI",windowsPath:"%ProgramFiles%\\Heroku\\bin\\heroku.cmd",recommendations:{"ms-azuretools.vscode-azureappservice":{name:"Azure App Service"},"pkosta2005.heroku-command":{name:"heroku-cli"}}},mongo:{friendlyName:"Mongo",windowsPath:"%ProgramFiles%\\MongoDB\\Server\\3.6\\bin\\mongod.exe",recommendations:{"ms-azuretools.vscode-cosmosdb":{name:"Azure Databases"}}},serverless:{friendlyName:"Serverless framework",windowsPath:"%APPDATA%\\npm\\serverless.cmd",recommendations:{"ms-azuretools.vscode-azurefunctions":{name:"Azure Functions"}}},func:{friendlyName:"Azure Function SDK",windowsPath:"%APPDATA%\\npm\\func.cmd",recommendations:{"ms-azuretools.vscode-azurefunctions":{name:"Azure Functions"}}},mysql:{friendlyName:"MySQL",windowsPath:"%ProgramFiles%\\MySQL\\MySQL Server 8.0\\bin\\mysqld.exe",recommendations:{"mtxr.sqltools":{name:"SQLTools"}}},postgres:{friendlyName:"PostgreSQL",windowsPath:"%ProgramFiles%\\PostgreSQL\\11\\bin\\psql.exe",recommendations:{"ms-ossdata.vscode-postgresql":{name:"PostgreSQL"},"mtxr.sqltools":{name:"SQLTools"}}},sqlcmd:{friendlyName:"SQL CLI",recommendations:{"ms-mssql.mssql":{name:"SQL Server (mssql)"}}},now:{friendlyName:"Now CLI",windowsPath:"%APPDATA%\\npm\\now.cmd",recommendations:{"ms-azuretools.vscode-azureappservice":{name:"Azure App Service"},"ms-azuretools.vscode-containers":{name:"Docker"}}},docker:{friendlyName:"Docker",windowsPath:"%ProgramFiles%\\Docker\\Docker\\Resources\\bin\\docker.exe",recommendations:{"ms-azuretools.vscode-containers":{name:"Docker",important:!0,whenNotInstalled:["ms-azuretools.vscode-docker"]},"ms-vscode-remote.remote-containers":{name:"Dev Containers",important:!0},"ms-kubernetes-tools.vscode-kubernetes-tools":{name:"Kubernetes"}}},kubectl:{friendlyName:"Kubernetes",windowsPath:"%ProgramFiles%\\Docker\\Docker\\Resources\\bin\\kubectl.exe",recommendations:{"ms-azuretools.vscode-containers":{name:"Docker"},"ms-kubernetes-tools.vscode-kubernetes-tools":{name:"Kubernetes"},"ms-vscode-remote.remote-containers":{name:"Dev Containers"}}},ng:{friendlyName:"Angular CLI",windowsPath:"%APPDATA%\\npmexit\\ng.cmd",recommendations:{"johnpapa.Angular2":{name:"Angular Snippets"}}},"create-react-app":{friendlyName:"Create React App",windowsPath:"%APPDATA%\\npm\\create-react-app.cmd",recommendations:{"msjsdiag.vscode-react-native":{name:"React Native Tools"}}},"react-native":{friendlyName:"React Native",windowsPath:"%APPDATA%\\npm\\react-native-cli",recommendations:{"msjsdiag.vscode-react-native":{name:"React Native Tools"}}},p4:{friendlyName:"Perforce",recommendations:{"slevesque.perforce":{name:"Perforce for VS Code"}}},hg:{friendlyName:"Mercurial",recommendations:{"mrcrowl.hg":{name:"Hg"}}},git:{friendlyName:"Git",windowsPath:"%ProgramFiles%\\Git\\git-bash.exe",recommendations:{"eamodio.gitlens":{name:"GitLens"}}},svn:{friendlyName:"Subversion",windowsPath:"%ProgramFiles%\\TortoiseSVN\\bin\\TortoiseProc.exe",recommendations:{"johnstoncode.svn-scm":{name:"SVN"}}},subl:{friendlyName:"Sublime",windowsPath:"%ProgramFiles%\\Sublime Text3\\sublime_text.exe",recommendations:{"ms-vscode.sublime-keybindings":{name:"Sublime Text Keymap and Settings Importer"}}},atom:{friendlyName:"Atom",windowsPath:"%USERPROFILE%\\AppData\\Local\\atom\\bin\\atom.cmd",recommendations:{"ms-vscode.atom-keybindings":{name:"Atom Keymap"}}},brackets:{friendlyName:"Brackets",windowsPath:"%ProgramFiles(x86)%\\Brackets\\Brackets.exe",recommendations:{"ms-vscode.brackets-keybindings":{name:"Brackets Keymap"}}},notepadplusplus:{friendlyName:"Notepad++",windowsPath:"%ProgramFiles%\\Notepad++\\Notepad++.exe",recommendations:{"ms-vscode.notepadplusplus-keybindings":{name:"Notepad++ keymap"}}},vi:{friendlyName:"VIM",windowsPath:"%ProgramFiles(x86)%\\Vim\\vim80\\gvim.exe",recommendations:{"vscodevim.vim":{name:"Vim"}}},mvn:{friendlyName:"Maven",recommendations:{"vscjava.vscode-java-pack":{name:"Java",important:!0,isExtensionPack:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]}}},gradle:{friendlyName:"Gradle",recommendations:{"vscjava.vscode-java-pack":{name:"Java",important:!0,isExtensionPack:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]}}},ollama:{friendlyName:"Ollama",windowsPath:"%USERPROFILE%\\AppData\\Local\\Programs\\Ollama\\ollama.exe",recommendations:{"ms-windows-ai-studio.windows-ai-studio":{name:"AI Toolkit for Visual Studio Code"}}},"Microsoft Edge":{friendlyName:"Microsoft Edge",windowsPath:"%USERPROFILE%\\AppData\\Local\\Microsoft\\Edge\\Application\\msedge.exe",recommendations:{"ms-edgedevtools.vscode-edge-devtools":{name:"Microsoft Edge Developer Tools"}}},"Microsoft Edge Dev":{friendlyName:"Microsoft Edge Dev",windowsPath:"%USERPROFILE%\\AppData\\Local\\Microsoft\\Edge Dev\\Application\\msedge.exe",recommendations:{"ms-edgedevtools.vscode-edge-devtools":{name:"Microsoft Edge Developer Tools"}}},"Microsoft Edge Beta":{friendlyName:"Microsoft Edge Beta",windowsPath:"%USERPROFILE%\\AppData\\Local\\Microsoft\\Edge Beta\\Application\\msedge.exe",recommendations:{"ms-edgedevtools.vscode-edge-devtools":{name:"Microsoft Edge Developer Tools"}}},"Microsoft Edge Canary":{friendlyName:"Microsoft Edge Canary",windowsPath:"%USERPROFILE%\\AppData\\Local\\Microsoft\\Edge SxS\\Application\\msedge.exe",recommendations:{"ms-edgedevtools.vscode-edge-devtools":{name:"Microsoft Edge Developer Tools"}}},"Mozilla Firefox (x86)":{friendlyName:"Mozilla Firefox",windowsPath:"%ProgramFiles(x86)%\\Mozilla Firefox\\firefox.exe",recommendations:{"firefox-devtools.vscode-firefox-debug":{name:"Debugger for Firefox"}}},"Mozilla Firefox Developer Edition (x86)":{friendlyName:"Mozilla Firefox Developer Edition",windowsPath:"%ProgramFiles(x86)%\\Firefox Developer Edition\\firefox.exe",recommendations:{"firefox-devtools.vscode-firefox-debug":{name:"Debugger for Firefox"}}},"Mozilla Firefox":{friendlyName:"Mozilla Firefox",windowsPath:"%ProgramFiles%\\Mozilla Firefox\\firefox.exe",recommendations:{"firefox-devtools.vscode-firefox-debug":{name:"Debugger for Firefox"}}},"Mozilla Firefox Developer Edition":{friendlyName:"Mozilla Firefox Developer Edition",windowsPath:"%ProgramFiles%\\Firefox Developer Edition\\firefox.exe",recommendations:{"firefox-devtools.vscode-firefox-debug":{name:"Debugger for Firefox"}}},cordova:{friendlyName:"Cordova",windowsPath:"%APPDATA%\\npm\\cordova",recommendations:{"msjsdiag.cordova-tools":{name:"Cordova Tools"}}},gcloud:{friendlyName:"Google GCloud CLI",windowsPath:"%ProgramFiles(x86)%\\Google\\Cloud SDK\\google-cloud-sdk\\bin\\gcloud.cmd",recommendations:{"GoogleCloudTools.cloudcode":{name:"Cloud Code"}}},skaffold:{friendlyName:"Skaffold Code to Cluster",recommendations:{"ms-azuretools.vscode-containers":{name:"Docker"},"ms-kubernetes-tools.vscode-kubernetes-tools":{name:"Kubernetes"}}},minikube:{friendlyName:"MiniKube Local Kubernetes Cluster",recommendations:{"ms-azuretools.vscode-containers":{name:"Docker"},"ms-kubernetes-tools.vscode-kubernetes-tools":{name:"Kubernetes"},"ms-vscode-remote.remote-containers":{name:"Dev Containers"}}},podman:{friendlyName:"Podman",recommendations:{"ms-vscode-remote.remote-containers":{name:"Dev Containers"}}},wsl:{friendlyName:"Windows Subsystem for Linux (WSL)",windowsPath:"%WINDIR%\\system32\\lxss\\LxssManager.dll",recommendations:{"ms-vscode-remote.remote-wsl":{name:"WSL"}}}},webExtensionTips:["tyriar.luna-paint","codespaces-contrib.codeswing","ms-vscode.vscode-github-issue-notebooks","esbenp.prettier-vscode","hediet.vscode-drawio"],virtualWorkspaceExtensionTips:{"vscode-vfs":{friendlyName:"Remote Repositories",extensionId:"ms-vscode.remote-repositories",startEntry:{helpLink:"https://aka.ms/vscode-remote/remote-repositories",startConnectLabel:"Remote Repository",startCommand:"remoteHub.continueOn.openRepository",priority:5}}},remoteExtensionTips:{wsl:{friendlyName:"WSL",extensionId:"ms-vscode-remote.remote-wsl",supportedPlatforms:["Windows","Web"],startEntry:{helpLink:"https://aka.ms/vscode-remote/wsl",startConnectLabel:"WSL",startCommand:"remote-wsl.connect",priority:3}},"ssh-remote":{friendlyName:"Remote - SSH",extensionId:"ms-vscode-remote.remote-ssh",supportedPlatforms:["Windows","Linux","Mac"],startEntry:{helpLink:"https://aka.ms/vscode-remote/ssh",startConnectLabel:"SSH ",startCommand:"opensshremotes.openEmptyWindowInCurrentWindow",priority:1}},"dev-container":{friendlyName:"Dev Containers",extensionId:"ms-vscode-remote.remote-containers",supportedPlatforms:["Windows","Linux","Mac"],startEntry:{helpLink:"https://aka.ms/vscode-remote/containers",startConnectLabel:"Dev Container",startCommand:"remote-containers.reopenInContainer",priority:2}},"attached-container":{friendlyName:"Dev Containers",extensionId:"ms-vscode-remote.remote-containers"},codespaces:{friendlyName:"GitHub Codespaces",extensionId:"github.codespaces",startEntry:{helpLink:"https://aka.ms/vscode-remote-codespaces",startConnectLabel:"GitHub Codespace ",startCommand:"github.codespaces.connect",priority:4}},tunnel:{friendlyName:"Remote - Tunnels",extensionId:"ms-vscode.remote-server",startEntry:{helpLink:"https://aka.ms/remote-tunnels-doc",startConnectLabel:"Tunnel",startCommand:"remote-tunnels.connectCurrentWindowToTunnel",priority:0}},amlext:{friendlyName:"Azure Machine Learning",extensionId:"ms-toolsai.vscode-ai-remote"}},commandPaletteSuggestedCommandIds:["workbench.action.files.openFile","workbench.action.files.openFileFolder","workbench.action.files.openFolder","workbench.action.remote.showMenu","editor.action.formatDocument","editor.action.commentLine","workbench.action.tasks.runTask","workbench.action.openSettings2","workbench.action.selectTheme","workbench.action.openWalkthrough","workbench.action.openIssueReporter"],extensionKeywords:{md:["Markdown"],js:["JavaScript"],jsx:["JavaScript"],es6:["JavaScript"],html:["Html"],ts:["TypeScript"],tsx:["TypeScript"],css:["CSS"],scss:["SASS"],txt:["Text"],php:["PHP"],php3:["PHP"],php4:["PHP"],ph3:["PHP"],ph4:["PHP"],xml:["XML"],py:["Python"],pyc:["Python"],pyd:["Python"],pyo:["Python"],pyw:["Python"],pyz:["Python"],java:["Java"],class:["Java"],jar:["Java"],c:["c","objective c","objective-c"],m:["objective c","objective-c"],mm:["objective c","objective-c"],cpp:["cpp","c plus plus","c","c++"],cc:["cpp","c plus plus","c","c++"],cxx:["cpp","c plus plus","c++"],hh:["cpp","c plus plus","c++"],hpp:["cpp","c++"],h:["cpp","c plus plus","c++","c","objective c","objective-c"],sql:["sql"],sh:["bash"],bash:["bash"],zsh:["bash","zshell"],cs:["c#","csharp"],csproj:["c#","csharp"],sln:["c#","csharp"],go:["go"],sty:["latex"],tex:["latex"],ps:["powershell"],ps1:["powershell"],rs:["rust"],rslib:["rust"],hs:["haskell"],lhs:["haskell"],scm:["scheme"],ss:["scheme"],clj:["clojure"],cljs:["clojure"],cljc:["clojure"],edn:["clojure"],erl:["erlang"],hrl:["erlang"],scala:["scala"],sc:["scala"],pl:["perl"],pm:["perl"],t:["perl"],pod:["perl"],groovy:["groovy"],swift:["swift"],rb:["ruby"],rbw:["ruby"],jl:["julia"],f:["fortran"],for:["fortran"],f90:["fortran"],f95:["fortran"],coffee:["CoffeeScript"],litcoffee:["CoffeeScript"],yaml:["yaml"],yml:["yaml"],dart:["dart"],json:["json"]},extensionAllowedBadgeProviders:["api.travis-ci.com","app.fossa.io","badge.buildkite.com","badge.fury.io","badgen.net","badges.frapsoft.com","badges.gitter.im","cdn.travis-ci.com","ci.appveyor.com","circleci.com","cla.opensource.microsoft.com","codacy.com","codeclimate.com","codecov.io","coveralls.io","david-dm.org","deepscan.io","dev.azure.com","docs.rs","flat.badgen.net","gitlab.com","godoc.org","goreportcard.com","img.shields.io","isitmaintained.com","marketplace.visualstudio.com","nodesecurity.io","opencollective.com","snyk.io","travis-ci.com","travis-ci.org","visualstudio.com","vsmarketplacebadge.apphb.com"],extensionAllowedBadgeProvidersRegex:["^https:\\/\\/github\\.com\\/[^/]+\\/[^/]+\\/(actions\\/)?workflows\\/.*badge\\.svg"],crashReporter:{productName:"VSCode",companyName:"Microsoft"},appCenter:{"win32-x64":"appcenter://code?aid=a4e3233c-699c-46ec-b4f4-9c2a77254662","win32-arm64":"appcenter://code?aid=3712d786-7cc8-4f11-8b08-cc12eab6d4f7","linux-x64":"appcenter://code?aid=fba07a4d-84bd-4fc8-a125-9640fc8ce171",darwin:"appcenter://code?aid=860d6632-f65b-490b-85a8-3e72944f7774","darwin-arm64":"appcenter://code?aid=be71415d-3893-4ae5-b453-e537b9668a10","darwin-universal":"appcenter://code?aid=de75e3cc-e22f-4f42-a03f-1409c21d8af8"},enableTelemetry:!0,aiConfig:{ariaKey:"5bbf946d11a54f6783919c455abaddaf-fd62977b-c92d-4714-a45d-649d06980372-7168"},msftInternalDomains:["redmond.corp.microsoft.com","northamerica.corp.microsoft.com","fareast.corp.microsoft.com","ntdev.corp.microsoft.com","wingroup.corp.microsoft.com","southpacific.corp.microsoft.com","wingroup.windeploy.ntdev.microsoft.com","ddnet.microsoft.com","europe.corp.microsoft.com"],documentationUrl:"https://go.microsoft.com/fwlink/?LinkID=533484#vscode",serverDocumentationUrl:"https://aka.ms/vscode-server-doc",releaseNotesUrl:"https://go.microsoft.com/fwlink/?LinkID=533483#vscode",keyboardShortcutsUrlMac:"https://go.microsoft.com/fwlink/?linkid=832143",keyboardShortcutsUrlLinux:"https://go.microsoft.com/fwlink/?linkid=832144",keyboardShortcutsUrlWin:"https://go.microsoft.com/fwlink/?linkid=832145",introductoryVideosUrl:"https://go.microsoft.com/fwlink/?linkid=832146",tipsAndTricksUrl:"https://go.microsoft.com/fwlink/?linkid=852118",newsletterSignupUrl:"https://www.research.net/r/vsc-newsletter",youTubeUrl:"https://aka.ms/vscode-youtube",requestFeatureUrl:"https://go.microsoft.com/fwlink/?LinkID=533482",reportIssueUrl:"https://github.com/Microsoft/vscode/issues/new",reportMarketplaceIssueUrl:"https://github.com/microsoft/vsmarketplace/issues/new",licenseUrl:"https://go.microsoft.com/fwlink/?LinkID=533485",serverLicenseUrl:"https://aka.ms/vscode-server-license",privacyStatementUrl:"https://go.microsoft.com/fwlink/?LinkId=521839",showTelemetryOptOut:!0,npsSurveyUrl:"https://aka.ms/vscode-nps",checksumFailMoreInfoUrl:"https://go.microsoft.com/fwlink/?LinkId=828886",electronRepository:"Microsoft/vscode-electron-prebuilt",nodejsRepository:"Microsoft/vscode-node",settingsSearchUrl:"https://bingsettingssearch.trafficmanager.net/api/Search",surveys:[{surveyId:"cpp.1",surveyUrl:"https://www.research.net/r/VBVV6C6",languageId:"cpp",editCount:10,userProbability:.15},{surveyId:"java.2",surveyUrl:"https://www.research.net/r/vscodejava",languageId:"java",editCount:10,userProbability:.3},{surveyId:"javascript.1",surveyUrl:"https://www.research.net/r/vscode-js",languageId:"javascript",editCount:10,userProbability:.05},{surveyId:"typescript.1",surveyUrl:"https://www.research.net/r/vscode-ts",languageId:"typescript",editCount:10,userProbability:.05},{surveyId:"csharp.1",surveyUrl:"https://www.research.net/r/8KGJ9V8",languageId:"csharp",editCount:10,userProbability:.1}],extensionsEnabledWithApiProposalVersion:["GitHub.copilot-chat","ms-vscode.vscode-commander","ms-vscode.vscode-copilot-vision","GitHub.vscode-pull-request-github"],extensionEnabledApiProposals:{"mrleemurray.theme-2026":["css"],"ms-azuretools.vscode-containers":["authenticationChallenges"],"ms-azuretools.vscode-azureresourcegroups":["authenticationChallenges"],"ms-azuretools.vscode-azure-github-copilot":["authenticationChallenges"],"ms-azuretools.vscode-dev-azurecloudshell":["contribEditSessions","authenticationChallenges"],"ms-toolsai.vscode-ai":["authenticationChallenges"],"TeamsDevApp.vscode-ai-foundry":["authenticationChallenges"],"ms-vscode.vscode-selfhost-test-provider":["testObserver","testRelatedCode"],"VisualStudioExptTeam.vscodeintellicode-completions":["inlineCompletionsAdditions"],"ms-vsliveshare.vsliveshare":["contribMenuBarHome","contribShareMenu","contribStatusBarItems","diffCommand","documentFiltersExclusive","fileSearchProvider","findTextInFiles","notebookLiveShare","terminalDimensions","terminalDataWriteEvent","textSearchProvider"],"ms-vscode.js-debug":["portsAttributes","findTextInFiles","workspaceTrust","tunnels","browser"],"ms-toolsai.vscode-ai-remote":["resolvers","authenticationChallenges"],"ms-python.python":["codeActionAI","contribEditorContentMenu","quickPickSortByLabel","portsAttributes","testObserver","quickPickItemTooltip","terminalDataWriteEvent","terminalExecuteCommandEvent","notebookReplDocument","notebookVariableProvider","terminalShellEnv"],"ms-python.vscode-python-envs":["terminalShellEnv","terminalDataWriteEvent","taskExecutionTerminal"],"ms-dotnettools.dotnet-interactive-vscode":["notebookMessaging"],"GitHub.codespaces":["contribEditSessions","contribMenuBarHome","contribRemoteHelp","contribViewsRemote","resolvers","tunnels","terminalDataWriteEvent","treeViewReveal","notebookKernelSource"],"ms-vscode.azure-repos":["extensionRuntime","fileSearchProvider","textSearchProvider"],"ms-vscode.remote-repositories":["canonicalUriProvider","contribEditSessions","contribRemoteHelp","contribMenuBarHome","contribViewsRemote","contribViewsWelcome","contribShareMenu","documentFiltersExclusive","editSessionIdentityProvider","extensionRuntime","fileSearchProvider","quickPickSortByLabel","workspaceTrust","shareProvider","scmActionButton","scmSelectedProvider","scmValidation","textSearchProvider","timeline"],"ms-vscode-remote.remote-wsl":["resolvers","contribRemoteHelp","contribViewsRemote","telemetry"],"ms-vscode-remote.remote-ssh":["resolvers","tunnels","terminalDataWriteEvent","contribRemoteHelp","contribViewsRemote","telemetry"],"ms-vscode.remote-server":["resolvers","tunnels","contribViewsWelcome"],"ms-vscode.remote-explorer":["contribRemoteHelp","contribViewsRemote","extensionsAny"],"ms-vscode-remote.remote-containers":["contribEditSessions","resolvers","portsAttributes","tunnels","workspaceTrust","terminalDimensions","contribRemoteHelp","contribViewsRemote"],"ms-vscode.js-debug-nightly":["portsAttributes","findTextInFiles","workspaceTrust","tunnels","browser"],"ms-vscode.lsif-browser":["documentFiltersExclusive"],"ms-vscode.vscode-speech":["speech"],"GitHub.vscode-pull-request-github":["activeComment","chatContextProvider","chatParticipantAdditions","chatParticipantPrivate","chatSessionsProvider","codiconDecoration","codeActionRanges","commentingRangeHint","commentReactor","commentReveal","commentsDraftState","commentThreadApplicability","contribAccessibilityHelpContent","contribCommentEditorActionsMenu","contribCommentPeekContext","contribCommentThreadAdditionalMenu","contribCommentsViewThreadMenus","contribEditorContentMenu","contribMultiDiffEditorMenus","contribShareMenu","diffCommand","languageModelToolResultAudience","markdownAlertSyntax","quickDiffProvider","remoteCodingAgents","shareProvider","tabInputMultiDiff","tabInputTextMerge","tokenInformation","treeItemMarkdownLabel","treeViewMarkdownMessage"],"GitHub.copilot":["inlineCompletionsAdditions","devDeviceId"],"GitHub.copilot-nightly":["inlineCompletionsAdditions","devDeviceId"],"GitHub.copilot-chat":["agentSessionsWorkspace","interactive","terminalDataWriteEvent","terminalExecuteCommandEvent","terminalSelection","terminalQuickFixProvider","chatParticipantAdditions","defaultChatParticipant","embeddings","chatProvider","mappedEditsProvider","aiRelatedInformation","aiSettingsSearch","codeActionAI","findTextInFiles","findTextInFiles2","textSearchProvider","textSearchProvider2","activeComment","commentReveal","contribSourceControlInputBoxMenu","contribCommentEditorActionsMenu","contribCommentThreadAdditionalMenu","contribCommentsViewThreadMenus","contribChatEditorInlineGutterMenu","extensionAffinity","newSymbolNamesProvider","findFiles2","chatReferenceDiagnostic","extensionsAny","authLearnMore","testObserver","aiTextSearchProvider","documentFiltersExclusive","chatParticipantPrivate","contribDebugCreateConfiguration","inlineCompletionsAdditions","chatReferenceBinaryData","languageModelSystem","languageModelCapabilities","languageModelThinkingPart","languageModelToolSupportsModel","chatStatusItem","taskProblemMatcherStatus","contribLanguageModelToolSets","textDocumentChangeReason","resolvers","taskExecutionTerminal","dataChannels","chatSessionsProvider","chatSessionCustomizationProvider","devDeviceId","contribEditorContentMenu","tokenInformation","toolInvocationApproveCombination","chatPromptFiles","mcpServerDefinitions","tabInputMultiDiff","workspaceTrust","chatHooks","chatDebug","environmentPower","terminalTitle"],"GitHub.remotehub":["contribRemoteHelp","contribMenuBarHome","contribViewsRemote","contribViewsWelcome","documentFiltersExclusive","extensionRuntime","fileSearchProvider","quickPickSortByLabel","workspaceTrust","scmSelectedProvider","scmValidation","textSearchProvider","timeline"],"ms-python.vscode-pylance":["terminalShellEnv","portsAttributes","codeActionAI"],"ms-python.debugpy":["contribViewsWelcome","debugVisualization","portsAttributes"],"ms-toolsai.jupyter-renderers":["contribNotebookStaticPreloads"],"ms-toolsai.jupyter":["notebookDeprecated","notebookMessaging","notebookMime","portsAttributes","quickPickSortByLabel","notebookKernelSource","interactiveWindow","notebookControllerAffinityHidden","contribNotebookStaticPreloads","quickPickItemTooltip","notebookExecution","notebookCellExecution","notebookVariableProvider","notebookReplDocument"],"donjayamanne.kusto":["notebookVariableProvider"],"ms-toolsai.tensorboard":["portsAttributes"],"dbaeumer.vscode-eslint":[],"ms-vscode.azure-sphere-tools-ui":["tunnels"],"ms-azuretools.vscode-azureappservice":["terminalDataWriteEvent"],"ms-vscode.anycode":["extensionsAny"],"ms-vscode.cpptools":["terminalDataWriteEvent","chatParticipantAdditions"],"vscjava.vscode-java-pack":[],"ms-dotnettools.csdevkit":["inlineCompletionsAdditions"],"ms-dotnettools.vscodeintellicode-csharp":["inlineCompletionsAdditions"],"ms-dotnettools.vscode-dotnet-modernize":["chatParticipantAdditions","chatPromptFiles"],"microsoft-IsvExpTools.powerplatform-vscode":["fileSearchProvider","textSearchProvider"],"microsoft-IsvExpTools.powerplatform-vscode-preview":["fileSearchProvider","textSearchProvider"],"TeamsDevApp.ms-teams-vscode-extension":["chatParticipantAdditions","languageModelSystem","mcpServerDefinitions"],"ms-toolsai.datawrangler":[],"ms-vscode.vscode-commander":[],"ms-vscode.vscode-websearchforcopilot":[],"ms-vscode.vscode-copilot-vision":["chatReferenceBinaryData","codeActionAI"],"ms-autodev.vscode-autodev":["chatParticipantAdditions"],"vscjava.migrate-java-to-azure":["chatParticipantAdditions","chatParticipantPrivate"],"vscjava.vscode-java-upgrade":["chatParticipantAdditions","chatParticipantPrivate"],"FoundryLocal.foundry-local-chat":["chatProvider"],"Microsoft.foundry-local-chat":["chatProvider"],"ms-wmcp.windows-mcp-server-extension":["mcpToolDefinitions"],"openai.chatgpt":["languageModelProxy","chatSessionsProvider"],"TypeScriptTeam.native-preview":["editorHoverVerbosityLevel","multiDocumentHighlightProvider"],"ms-vscode.vscode-eng-codereview":["chatContextProvider"]},tasConfig:{endpoint:"https://default.exp-tas.com/vscode/ab",telemetryEventName:"query-expfeature",assignmentContextTelemetryPropertyName:"abexp.assignmentcontext"},extensionKind:{"Shan.code-settings-sync":["ui"],"shalldie.background":["ui"],"techer.open-in-browser":["ui"],"CoenraadS.bracket-pair-colorizer-2":["ui"],"CoenraadS.bracket-pair-colorizer":["ui","workspace"],"hiro-sun.vscode-emacs":["ui","workspace"],"hnw.vscode-auto-open-markdown-preview":["ui","workspace"],"wayou.vscode-todo-highlight":["ui","workspace"],"aaron-bond.better-comments":["ui","workspace"],"vscodevim.vim":["ui"],"ollyhayes.colmak-vim":["ui"]},extensionPointExtensionKind:{typescriptServerPlugins:["workspace"]},extensionSyncedKeys:{"ritwickdey.liveserver":["liveServer.setup.version"]},extensionVirtualWorkspacesSupport:{"esbenp.prettier-vscode":{default:!1},"msjsdiag.debugger-for-chrome":{default:!1},"redhat.java":{default:!1},"HookyQR.beautify":{default:!1},"ritwickdey.LiveServer":{default:!1},"VisualStudioExptTeam.vscodeintellicode":{default:!1},"octref.vetur":{default:!1},"formulahendry.code-runner":{default:!1},"xdebug.php-debug":{default:!1},"ms-mssql.mssql":{default:!1},"christian-kohler.path-intellisense":{default:!1},"eg2.tslint":{default:!1},"eg2.vscode-npm-script":{default:!1},"donjayamanne.githistory":{default:!1},"Zignd.html-css-class-completion":{default:!1},"christian-kohler.npm-intellisense":{default:!1},"EditorConfig.EditorConfig":{default:!1},"austin.code-gnu-global":{default:!1},"johnpapa.Angular2":{default:!1},"ms-vscode.vscode-typescript-tslint-plugin":{default:!1},"DotJoshJohnson.xml":{default:!1},"techer.open-in-browser":{default:!1},"tht13.python":{default:!1},"bmewburn.vscode-intelephense-client":{default:!1},"Angular.ng-template":{default:!1},"xdebug.php-pack":{default:!1},"dbaeumer.jshint":{default:!1},"yzhang.markdown-all-in-one":{default:!1},"Dart-Code.flutter":{default:!1},"streetsidesoftware.code-spell-checker":{default:!1},"rebornix.Ruby":{default:!1},"ms-vscode.sublime-keybindings":{default:!1},"mitaki28.vscode-clang":{default:!1},"steoates.autoimport":{default:!1},"donjayamanne.python-extension-pack":{default:!1},"shd101wyy.markdown-preview-enhanced":{default:!1},"mikestead.dotenv":{default:!1},"pranaygp.vscode-css-peek":{default:!1},"ikappas.phpcs":{default:!1},"platformio.platformio-ide":{default:!1},"jchannon.csharpextensions":{default:!1},"gruntfuggly.todo-tree":{default:!1}},linkProtectionTrustedDomains:["https://*.visualstudio.com","https://*.microsoft.com","https://aka.ms","https://*.gallerycdn.vsassets.io","https://*.github.com","https://login.microsoftonline.com","https://*.vscode.dev","https://*.github.dev","https://gh.io","https://portal.azure.com","https://raw.githubusercontent.com","https://private-user-images.githubusercontent.com","https://avatars.githubusercontent.com","https://auth.openai.com"],trustedExtensionAuthAccess:{github:["vscode.github","github.remotehub","ms-vscode.remote-server","github.vscode-pull-request-github","github.codespaces","github.copilot","github.copilot-chat","ms-vsliveshare.vsliveshare","ms-azuretools.vscode-azure-github-copilot"],"github-enterprise":["vscode.github","github.remotehub","ms-vscode.remote-server","github.vscode-pull-request-github","github.codespaces","github.copilot","github.copilot-chat","ms-vsliveshare.vsliveshare","ms-azuretools.vscode-azure-github-copilot"],microsoft:["github.copilot-chat","ms-vscode.azure-repos","ms-vscode.remote-server","ms-vsliveshare.vsliveshare","ms-azuretools.vscode-azure-github-copilot","ms-azuretools.vscode-azureresourcegroups","ms-azuretools.vscode-dev-azurecloudshell","ms-edu.vscode-learning","ms-toolsai.vscode-ai","ms-toolsai.vscode-ai-remote"],"microsoft-sovereign-cloud":["ms-vscode.azure-repos","ms-vscode.remote-server","ms-vsliveshare.vsliveshare","ms-azuretools.vscode-azure-github-copilot","ms-azuretools.vscode-azureresourcegroups","ms-azuretools.vscode-dev-azurecloudshell","ms-edu.vscode-learning","ms-toolsai.vscode-ai","ms-toolsai.vscode-ai-remote"],"__GitHub.copilot-chat":["ms-azuretools.vscode-azure-github-copilot","github.vscode-pull-request-github"]},trustedExtensionProtocolHandlers:["vscode.git","vscode.github-authentication","vscode.microsoft-authentication","github.vscode-pull-request-github"],authClientIdMetadataUrl:"https://vscode.dev/oauth/client-metadata.json",inheritAuthAccountPreference:{"github.copilot":["github.copilot-chat"]},auth:{loginUrl:"https://login.microsoftonline.com/common/oauth2/authorize",tokenUrl:"https://login.microsoftonline.com/common/oauth2/token",redirectUrl:"https://vscode-redirect.azurewebsites.net/",clientId:"aebc6443-996d-45c2-90f0-388ff96faa56"},"configurationSync.store":{url:"https://vscode-sync.trafficmanager.net/",stableUrl:"https://vscode-sync.trafficmanager.net/",insidersUrl:"https://vscode-sync-insiders.trafficmanager.net/",canSwitch:!1,authenticationProviders:{github:{scopes:["user:email"]},microsoft:{scopes:["openid","profile","email","offline_access"]}}},"editSessions.store":{url:"https://vscode-sync.trafficmanager.net/",authenticationProviders:{microsoft:{scopes:["openid","profile","email","offline_access"]},github:{scopes:["user:email"]}}},tunnelServerQualities:{stable:{serverApplicationName:"code-server"},exploration:{serverApplicationName:"code-server-exploration"},insider:{serverApplicationName:"code-server-insiders"}},tunnelApplicationName:"code-tunnel",tunnelApplicationConfig:{editorWebUrl:"https://vscode.dev",extension:{friendlyName:"Remote - Tunnels",extensionId:"ms-vscode.remote-server"},authenticationProviders:{github:{scopes:["user:email","read:org"]},microsoft:{scopes:["46da2f7e-b5ef-422a-88d4-2a7f9de6a0b2/.default","profile","openid"]}}},win32TunnelServiceMutex:"vscode-tunnelservice",win32TunnelMutex:"vscode-tunnel",aiGeneratedWorkspaceTrust:{title:"This workspace was generated by GitHub Copilot",checkboxText:"Trust the contents of all files in this workspace",trustOption:"Yes, I trust the contents",dontTrustOption:"No, I don't trust the contents",startupTrustRequestLearnMore:"If you don't trust the contents of the files generated by GitHub Copilot, we recommend continuing in restricted mode. See [our docs](https://aka.ms/vscode-workspace-trust) to learn more. "},defaultChatAgent:{providerExtensionId:"vscode.github-authentication",extensionId:"GitHub.copilot",chatExtensionId:"GitHub.copilot-chat",chatExtensionOutputId:"GitHub.copilot-chat.GitHub Copilot Chat.log",chatExtensionOutputExtensionStateCommand:"github.copilot.debug.extensionState",documentationUrl:"https://aka.ms/github-copilot-overview",termsStatementUrl:"https://aka.ms/github-copilot-terms-statement",privacyStatementUrl:"https://aka.ms/github-copilot-privacy-statement",skusDocumentationUrl:"https://aka.ms/github-copilot-plans",publicCodeMatchesUrl:"https://aka.ms/github-copilot-match-public-code",manageSettingsUrl:"https://aka.ms/github-copilot-settings",managePlanUrl:"https://aka.ms/github-copilot-manage-plan",manageOverageUrl:"https://aka.ms/github-copilot-manage-overage",upgradePlanUrl:"https://aka.ms/github-copilot-upgrade-plan",signUpUrl:"https://aka.ms/github-sign-up",provider:{default:{id:"github",name:"GitHub"},enterprise:{id:"github-enterprise",name:"GHE.com"},google:{id:"google",name:"Google"},apple:{id:"apple",name:"Apple"}},providerUriSetting:"github-enterprise.uri",providerScopes:[["read:user","user:email","repo","workflow"],["user:email"],["read:user"]],entitlementUrl:"https://api.github.com/copilot_internal/user",entitlementSignupLimitedUrl:"https://api.github.com/copilot_internal/subscribe_limited_user",chatQuotaExceededContext:"github.copilot.chat.quotaExceeded",completionsQuotaExceededContext:"github.copilot.completions.quotaExceeded",walkthroughCommand:"github.copilot.open.walkthrough",completionsMenuCommand:"github.copilot.toggleStatusMenu",completionsRefreshTokenCommand:"github.copilot.signIn",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"},chatParticipantRegistry:"https://main.vscode-cdn.net/extensions/chat.json",remoteDefaultExtensionsIfInstalledLocally:["GitHub.copilot","GitHub.copilot-chat","GitHub.vscode-pull-request-github"],extensionConfigurationPolicy:{"github.copilot.nextEditSuggestions.enabled":{name:"CopilotNextEditSuggestions",minimumVersion:"1.99",category:"InteractiveSession",description:"Whether to enable next edit suggestions (NES). NES can propose a next edit based on your recent changes."},"github.copilot.chat.reviewSelection.enabled":{name:"CopilotReviewSelection",minimumVersion:"1.104",category:"InteractiveSession",description:"Enables code review on current selection."},"github.copilot.chat.reviewAgent.enabled":{name:"CopilotReviewAgent",minimumVersion:"1.104",category:"InteractiveSession",description:"Enables the code review agent."},"github.copilot.chat.claudeAgent.enabled":{name:"Claude3PIntegration",minimumVersion:"1.113",category:"InteractiveSession",description:"Enable Claude Agent sessions in VS Code. Start and resume agentic coding sessions powered by Anthropic Claude Agent SDK directly in the editor. Uses your existing Copilot subscription."}},win32ContextMenu:{x64:{clsid:"1C6DF0C0-192A-4451-BE36-6A59A86A692E"},arm64:{clsid:"F5EA5883-1DA8-4A05-864A-D5DE2D2B2854"}},chatSessionRecommendations:[{extensionId:"openai.chatgpt",extensionName:"Codex - OpenAI's coding agent",displayName:"Codex Agent",name:"codex",description:"Codex is OpenAI's coding agent that helps you write, review, and ship code faster.",postInstallCommand:"chatgpt.newCodexPanel"},{extensionId:"GitHub.copilot-chat",extensionName:"GitHub Copilot Chat",displayName:"Background Agent",name:"cli",description:"Delegate tasks to a background agent.",postInstallCommand:"workbench.action.chat.openNewSessionSidebar.copilotcli"},{extensionId:"GitHub.copilot-chat",extensionName:"GitHub Copilot Chat",displayName:"Cloud Agent",name:"cloud",description:"Delegate tasks to the GitHub Copilot Cloud Agent. The agent works asynchronously in the cloud to implement changes, iterates via chat, and can create or update pull requests as needed.",postInstallCommand:"workbench.action.chat.openNewSessionSidebar.copilot-cloud-agent"}],builtInExtensionsEnabledWithAutoUpdates:["GitHub.copilot-chat"],version:"1.117.0",commit:"10c8e557c8b9f9ed0a87f61f1c9a44bde731c409",date:"2026-04-21T16:12:14-07:00"},Object.keys(an).length===0&&Object.assign(an,{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:[]}});Mr=an});function OD(i,r){return i===r?!0:!i||!r?!1:typeof i=="string"||typeof r=="string"?i===r:i.id===r.id}function Va(i){let r=[];if(Si.test(i)){let e=F1.exec(i);for(;e?.length;){let t=e[1].trim();t&&r.push(t),e=F1.exec(i)}}return Ar(r)}function U1(i){return i.reduce((r,e)=>`${r}[${e}]`,"")}function FD(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}}function WD(i,r,e){return i.trim()?Si.test(i)?h(1931,null,i):If.getConfigurationProperties()[i]!==void 0&&(!e||!UD.has(e.toLowerCase()))?h(1929,null,i):r.policy?.name&&If.getPolicyConfigurations().get(r.policy?.name)!==void 0?h(1928,null,i,r.policy?.name,If.getPolicyConfigurations().get(r.policy?.name)):null:h(1930,null)}var lr,pf,ff,mf,hf,gf,vf,wd,As,yf,_v,W1,F1,Fo,Si,If,UD,eo=I(()=>{zt();z();Le();Ee();it();O1();Xn();$();Id();lr={Configuration:"base.contributions.configuration"};pf={properties:{},patternProperties:{}},ff={properties:{},patternProperties:{}},mf={properties:{},patternProperties:{}},hf={properties:{},patternProperties:{}},gf={properties:{},patternProperties:{}},vf={properties:{},patternProperties:{}},wd={properties:{},patternProperties:{}},As="vscode://schemas/settings/resourceLanguage",yf=xt.as(Cv.JSONContribution),_v=class extends T{constructor(){super();this.registeredConfigurationDefaults=[];this.overrideIdentifiers=new Set;this._onDidSchemaChange=this._register(new b);this.onDidSchemaChange=this._onDidSchemaChange.event;this._onDidUpdateConfiguration=this._register(new b);this.onDidUpdateConfiguration=this._onDidUpdateConfiguration.event;this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:h(1933,null),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.excludedConfigurationProperties={},yf.registerSchema(As,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(e,t=!0){return this.registerConfigurations([e],t),e}registerConfigurations(e,t=!0){let n=new Set;this.doRegisterConfigurations(e,t,n),yf.registerSchema(As,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:n})}deregisterConfigurations(e){let t=new Set;this.doDeregisterConfigurations(e,t),yf.registerSchema(As,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:t})}updateConfigurations({add:e,remove:t}){let n=new Set;this.doDeregisterConfigurations(t,n),this.doRegisterConfigurations(e,!1,n),yf.registerSchema(As,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:n})}registerDefaultConfigurations(e){let t=new Set;this.doRegisterDefaultConfigurations(e,t),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:t,defaultsOverrides:!0})}doRegisterDefaultConfigurations(e,t){this.registeredConfigurationDefaults.push(...e);let n=[];for(let{overrides:o,source:s}of e)for(let a in o){t.add(a);let l=this.configurationDefaultsOverrides.get(a)??this.configurationDefaultsOverrides.set(a,{configurationDefaultOverrides:[]}).get(a),c=o[a];if(l.configurationDefaultOverrides.push({value:c,source:s}),Si.test(a)){let d=this.mergeDefaultConfigurationsForOverrideIdentifier(a,c,s,l.configurationDefaultOverrideValue);if(!d)continue;l.configurationDefaultOverrideValue=d,this.updateDefaultOverrideProperty(a,d,s),n.push(...Va(a))}else{let d=this.mergeDefaultConfigurationsForConfigurationProperty(a,c,s,l.configurationDefaultOverrideValue);if(!d)continue;l.configurationDefaultOverrideValue=d;let u=this.configurationProperties[a];u&&(this.updatePropertyDefaultValue(a,u),this.updateSchema(a,u))}}this.doRegisterOverrideIdentifiers(n)}deregisterDefaultConfigurations(e){let t=new Set;this.doDeregisterDefaultConfigurations(e,t),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:t,defaultsOverrides:!0})}doDeregisterDefaultConfigurations(e,t){for(let n of e){let o=this.registeredConfigurationDefaults.indexOf(n);o!==-1&&this.registeredConfigurationDefaults.splice(o,1)}for(let{overrides:n,source:o}of e)for(let s in n){let a=this.configurationDefaultsOverrides.get(s);if(!a)continue;let l=a.configurationDefaultOverrides.findIndex(c=>o?OD(c.source,o):c.value===n[s]);if(l!==-1){if(a.configurationDefaultOverrides.splice(l,1),a.configurationDefaultOverrides.length===0&&this.configurationDefaultsOverrides.delete(s),Si.test(s)){let c;for(let d of a.configurationDefaultOverrides)c=this.mergeDefaultConfigurationsForOverrideIdentifier(s,d.value,d.source,c);c&&!$p(c.value)?(a.configurationDefaultOverrideValue=c,this.updateDefaultOverrideProperty(s,c,o)):(this.configurationDefaultsOverrides.delete(s),delete this.configurationProperties[s],delete this.defaultLanguageConfigurationOverridesNode.properties[s])}else{let c;for(let u of a.configurationDefaultOverrides)c=this.mergeDefaultConfigurationsForConfigurationProperty(s,u.value,u.source,c);a.configurationDefaultOverrideValue=c;let d=this.configurationProperties[s];d&&(this.updatePropertyDefaultValue(s,d),this.updateSchema(s,d))}t.add(s)}}this.updateOverridePropertyPatternKey()}updateDefaultOverrideProperty(e,t,n){let o={section:{id:this.defaultLanguageConfigurationOverridesNode.id,title:this.defaultLanguageConfigurationOverridesNode.title,order:this.defaultLanguageConfigurationOverridesNode.order,extensionInfo:this.defaultLanguageConfigurationOverridesNode.extensionInfo},type:"object",default:t.value,description:h(1932,null,D1(e)),$ref:As,defaultDefaultValue:t.value,source:n,defaultValueSource:n};this.configurationProperties[e]=o,this.defaultLanguageConfigurationOverridesNode.properties[e]=o}mergeDefaultConfigurationsForOverrideIdentifier(e,t,n,o){let s=o?.value||{},a=o?.source??new Map;if(!(a instanceof Map)){console.error("objectConfigurationSources is not a Map");return}for(let l of Object.keys(t)){let c=t[l];if(je(c)&&(_n(s[l])||je(s[l]))){if(s[l]={...s[l]??{},...c},n)for(let u in c)a.set(`${l}.${u}`,n)}else s[l]=c,n?a.set(l,n):a.delete(l)}return{value:s,source:a}}mergeDefaultConfigurationsForConfigurationProperty(e,t,n,o){let s=this.configurationProperties[e],a=o?.value??s?.defaultDefaultValue,l=n;if(je(t)&&(s!==void 0&&s.type==="object"||s===void 0&&(_n(a)||je(a)))){if(l=o?.source??new Map,!(l instanceof Map)){console.error("defaultValueSource is not a Map");return}for(let d in t)n&&l.set(`${e}.${d}`,n);t={...je(a)?a:{},...t}}return{value:t,source:l}}deltaConfiguration(e){let t=!1,n=new Set;e.removedDefaults&&(this.doDeregisterDefaultConfigurations(e.removedDefaults,n),t=!0),e.addedDefaults&&(this.doRegisterDefaultConfigurations(e.addedDefaults,n),t=!0),e.removedConfigurations&&this.doDeregisterConfigurations(e.removedConfigurations,n),e.addedConfigurations&&this.doRegisterConfigurations(e.addedConfigurations,!1,n),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:n,defaultsOverrides:t})}notifyConfigurationSchemaUpdated(...e){this._onDidSchemaChange.fire()}registerOverrideIdentifiers(e){this.doRegisterOverrideIdentifiers(e),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(e){for(let t of e)this.overrideIdentifiers.add(t);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(e,t,n){e.forEach(o=>{this.validateAndRegisterProperties(o,t,o.extensionInfo,o.restrictedProperties,void 0,n),this.configurationContributors.push(o),this.registerJSONConfiguration(o)})}doDeregisterConfigurations(e,t){let n=o=>{if(o.properties)for(let s in o.properties){t.add(s);let a=this.configurationProperties[s];a?.policy?.name&&this.policyConfigurations.delete(a.policy.name),delete this.configurationProperties[s],this.removeFromSchema(s,o.properties[s])}o.allOf?.forEach(s=>n(s))};for(let o of e){n(o);let s=this.configurationContributors.indexOf(o);s!==-1&&this.configurationContributors.splice(s,1)}}validateAndRegisterProperties(e,t=!0,n,o,s=4,a){s=Ut(e.scope)?s:e.scope;let l=e.properties;if(l)for(let d in l){let u=l[d];if(u.section={id:e.id,title:e.title,order:e.order,extensionInfo:e.extensionInfo},t&&WD(d,u,n?.id)){delete l[d];continue}u.source=n,u.defaultDefaultValue=l[d].default,this.updatePropertyDefaultValue(d,u),Si.test(d)?u.scope=void 0:(u.scope=Ut(u.scope)?s:u.scope,u.restricted=Ut(u.restricted)?!!o?.includes(d):u.restricted),u.experiment?u.tags?.some(y=>y.toLowerCase()==="onexp")||(u.tags=u.tags??[],u.tags.push("onExP")):u.tags?.some(y=>y.toLowerCase()==="onexp")&&(console.error(`Invalid tag 'onExP' found for property '${d}'. Please use 'experiment' property instead.`),u.experiment={mode:"startup"});let f=l[d].hasOwnProperty("included")&&!l[d].included,m=l[d].policy?.name;f?(this.excludedConfigurationProperties[d]=l[d],m&&(this.policyConfigurations.set(m,d),a.add(d)),delete l[d]):(a.add(d),m&&this.policyConfigurations.set(m,d),this.configurationProperties[d]=l[d],!l[d].deprecationMessage&&l[d].markdownDeprecationMessage&&(l[d].deprecationMessage=l[d].markdownDeprecationMessage))}let c=e.allOf;if(c)for(let d of c)this.validateAndRegisterProperties(d,t,n,o,s,a)}getConfigurations(){return this.configurationContributors}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}getExcludedConfigurationProperties(){return this.excludedConfigurationProperties}getRegisteredDefaultConfigurations(){return[...this.registeredConfigurationDefaults]}getConfigurationDefaultsOverrides(){let e=new Map;for(let[t,n]of this.configurationDefaultsOverrides)n.configurationDefaultOverrideValue&&e.set(t,n.configurationDefaultOverrideValue);return e}registerJSONConfiguration(e){let t=n=>{let o=n.properties;if(o)for(let a in o)this.updateSchema(a,o[a]);n.allOf?.forEach(t)};t(e)}updateSchema(e,t){switch(pf.properties[e]=t,t.scope){case 1:ff.properties[e]=t;break;case 2:hf.properties[e]=t;break;case 3:mf.properties[e]=t;break;case 7:gf.properties[e]=t;break;case 4:vf.properties[e]=t;break;case 5:wd.properties[e]=t;break;case 6:wd.properties[e]=t,this.resourceLanguageSettingsSchema.properties[e]=t;break}}removeFromSchema(e,t){switch(delete pf.properties[e],t.scope){case 1:delete ff.properties[e];break;case 2:delete hf.properties[e];break;case 3:delete mf.properties[e];break;case 7:delete gf.properties[e];break;case 4:delete vf.properties[e];break;case 5:case 6:delete wd.properties[e],delete this.resourceLanguageSettingsSchema.properties[e];break}}updateOverridePropertyPatternKey(){for(let e of this.overrideIdentifiers.values()){let t=`[${e}]`,n={type:"object",description:h(1934,null),errorMessage:h(1935,null),$ref:As};this.updatePropertyDefaultValue(t,n),pf.properties[t]=n,ff.properties[t]=n,mf.properties[t]=n,hf.properties[t]=n,gf.properties[t]=n,vf.properties[t]=n,wd.properties[t]=n}}registerOverridePropertyPatternKey(){let e={type:"object",description:h(1934,null),errorMessage:h(1935,null),$ref:As};pf.patternProperties[Fo]=e,ff.patternProperties[Fo]=e,mf.patternProperties[Fo]=e,hf.patternProperties[Fo]=e,gf.patternProperties[Fo]=e,vf.patternProperties[Fo]=e,wd.patternProperties[Fo]=e,this._onDidSchemaChange.fire()}updatePropertyDefaultValue(e,t){let n=this.configurationDefaultsOverrides.get(e)?.configurationDefaultOverrideValue,o,s;n&&(!t.disallowConfigurationDefault||!n.source)&&(o=n.value,s=n.source),_n(o)&&(o=t.defaultDefaultValue,s=void 0),_n(o)&&(o=FD(t.type)),t.default=o,t.defaultValueSource=s}},W1="\\[([^\\]]+)\\]",F1=new RegExp(W1,"g"),Fo=`^(${W1})+$`,Si=new RegExp(Fo);If=new _v;xt.add(lr.Configuration,If);UD=new Set(Mr.defaultChatAgent?[Mr.defaultChatAgent.extensionId,Mr.defaultChatAgent.chatExtensionId].map(i=>i.toLowerCase()):[])});var ND,B1=I(()=>{Z();vd();Ee();eo();Xn();ND=xt.as(lr.Configuration);ND.registerConfiguration({id:"update",order:15,title:h(2783,null),type:"object",properties:{"update.mode":{type:"string",enum:["none","manual","start","default"],default:"default",scope:1,description:h(2784,null),tags:["usesOnlineServices"],enumDescriptions:[h(2779,null),h(2778,null),h(2782,null),h(2774,null)],policy:{name:"UpdateMode",category:"Update",minimumVersion:"1.67",localization:{description:{key:"updateMode",value:h(2784,null)},enumDescriptions:[{key:"none",value:h(2779,null)},{key:"manual",value:h(2778,null)},{key:"start",value:h(2782,null)},{key:"default",value:h(2774,null)}]}}},"update.channel":{type:"string",default:"default",scope:1,description:h(2784,null),deprecationMessage:h(2775,null,"update.mode")},"update.enableWindowsBackgroundUpdates":{type:"boolean",default:!0,scope:1,title:h(2777,null),description:h(2776,null),included:F&&!Dr},"update.showReleaseNotes":{type:"boolean",default:!0,scope:1,description:h(2781,null),tags:["usesOnlineServices"]},"update.showPostInstallInfo":{type:"boolean",default:!0,scope:1,description:h(2780,null),included:!1}}})});function kv(i,r){return r&&(i.stack||i.stacktrace)?h(116,null,H1(i),V1(i.stack)||V1(i.stacktrace)):H1(i)}function V1(i){return Array.isArray(i)?i.join(`
`):i}function H1(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"?h(115,null,i.message):i.message||h(113,null)}function Er(i=null,r=!1){if(!i)return h(113,null);if(Array.isArray(i)){let e=at(i),t=Er(e[0],r);return e.length>1?h(114,null,t,e.length):t}if(Oe(i))return i;if(i.detail){let e=i.detail;if(e.error)return kv(e.error,r);if(e.exception)return kv(e.exception,r)}return i.stack?kv(i,r):i.message?i.message:h(113,null)}var Wo=I(()=>{zt();Le();Ee()});function to(i,r){let{os:e,tildify:t,relative:n}=r;if(n){let a=BD(i,n,e);if(typeof a=="string")return a}let o=i.fsPath;if(e===1&&!F?o=o.replace(/\//g,"\\"):e!==1&&F&&(o=o.replace(/\\/g,"/")),e!==1&&t?.userHome){let a=t.userHome.fsPath,l;i.scheme!==t.userHome.scheme&&i.path[0]===de.sep&&i.path[1]!==de.sep?l=t.userHome.with({path:i.path}).fsPath:l=o,o=VD(l,a,e)}return(e===1?dt:de).normalize(Sd(o,e===1))}function BD(i,r,e){let t=e===1?dt:de,n=e===3?Fe:Fa,o=r.getWorkspace(),s=o.folders.at(0);if(!s)return;i.scheme!==s.uri.scheme&&i.path[0]===de.sep&&i.path[1]!==de.sep&&(i=s.uri.with({path:i.path}));let a=r.getWorkspaceFolder(i);if(!a)return;let l;if(n.isEqual(a.uri,i)?l="":l=n.relativePath(a.uri,i)??"",l&&(l=t.normalize(l)),o.folders.length>1&&!r.noPrefix){let c=a.name?a.name:n.basenameOrAuthority(a.uri);l=l?`${c} \u2022 ${l}`:c}return l}function Sd(i,r=F){return uv(i,r)?i.charAt(0).toUpperCase()+i.slice(1):i}function VD(i,r,e=Ot){if(e===1||!i||!r)return i;let t=Rv.original===r?Rv.normalized:void 0;t||(t=r,F&&(t=Ii(t)),t=`${jn(t,de.sep)}${de.sep}`,Rv={original:r,normalized:t});let n=i;return F&&(n=Ii(n)),(e===3?n.startsWith(t):Ao(n,t))?`~/${n.substr(t.length)}`:i}function q1(i,r){return N||r?i.replace(/\(&&\w\)|&&/g,"").replace(/&/g,N?"&":"&&"):i.replace(/&&|&/g,e=>e==="&"?"&&":"&")}function xd(i,r){let e=i.replace(/\(&&\w\)|&&/g,"");if(r)return e;if(N)return{withMnemonic:e,withoutMnemonic:e};let t;return F?t=i.replace(/&&|&/g,n=>n==="&"?"&&":"&"):t=i.replace(/&&/g,"_"),{withMnemonic:t,withoutMnemonic:e}}function K1(i){if(i.endsWith("]")){let r=i.lastIndexOf(" [",i.length-2);if(r!==-1){let e=$1(i.substring(0,r)),t=i.substring(r);return{name:e.name+t,parentPath:e.parentPath}}}return $1(i)}function $1(i){let r=i.indexOf("/")!==-1?de:dt,e=r.basename(i),t=r.dirname(i);return e.length?{name:e,parentPath:t}:{name:t,parentPath:""}}var Rv,ro=I(()=>{sn();Ce();Z();wt();ar();Rv=Object.create(null)});function Pd(i){let r=i;return r?[r.on,r.pause,r.resume,r.destroy].every(e=>typeof e=="function"):!1}function bf(i){let r=i;return r?Pd(r.stream)&&Array.isArray(r.buffer)&&typeof r.ended=="boolean":!1}function Uo(i,r){return new Dv(i,r)}function z1(i,r){let e=[],t;for(;(t=i.read())!==null;)e.push(t);return r(e)}function j1(i,r,e){let t=[],n;for(;(n=i.read())!==null&&t.length<e;)t.push(n);return n===null&&t.length>0?r(t):{read:()=>{if(t.length>0)return t.shift();if(typeof n<"u"){let o=n;return n=void 0,o}return i.read()}}}function Sf(i,r){return new Promise((e,t)=>{let n=[];Ha(i,{onData:o=>{r&&n.push(o)},onError:o=>{r?t(o):e(void 0)},onEnd:()=>{e(r?r(n):void 0)}})})}function Ha(i,r,e){i.on("error",t=>{e?.isCancellationRequested||r.onError(t)}),i.on("end",()=>{e?.isCancellationRequested||r.onEnd()}),i.on("data",t=>{e?.isCancellationRequested||r.onData(t)})}function G1(i,r){return new Promise((e,t)=>{let n=new J,o=[],s=c=>{if(o.push(c),o.length>r)return n.dispose(),i.pause(),e({stream:i,buffer:o,ended:!1})},a=c=>(n.dispose(),t(c)),l=()=>(n.dispose(),e({stream:i,buffer:o,ended:!0}));n.add(j(()=>i.removeListener("error",a))),i.on("error",a),n.add(j(()=>i.removeListener("end",l))),i.on("end",l),n.add(j(()=>i.removeListener("data",s))),i.on("data",s)})}function J1(i){let r=!1;return{read:()=>r?null:(r=!0,i)}}function $a(i,r,e){let t=Uo(e);return Ha(i,{onData:n=>t.write(r.data(n)),onError:n=>t.error(r.error?r.error(n):n),onEnd:()=>t.end()}),t}var Dv,Ls=I(()=>{He();$();Dv=class{constructor(r,e){this.reducer=r;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(r){if(!this.state.destroyed){if(this.state.flowing)this.emitData(r);else if(this.buffer.data.push(r),typeof this.options?.highWaterMark=="number"&&this.buffer.data.length>this.options.highWaterMark)return new Promise(e=>this.pendingWritePromises.push(e))}}error(r){this.state.destroyed||(this.state.flowing?this.emitError(r):this.buffer.error.push(r))}end(r){this.state.destroyed||(typeof r<"u"&&this.write(r),this.state.flowing?(this.emitEnd(),this.destroy()):this.state.ended=!0)}emitData(r){this.listeners.data.slice(0).forEach(e=>e(r))}emitError(r){this.listeners.error.length===0?nt(r):this.listeners.error.slice(0).forEach(e=>e(r))}emitEnd(){this.listeners.end.slice(0).forEach(r=>r())}on(r,e){if(!this.state.destroyed)switch(r){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(r,e){if(this.state.destroyed)return;let t;switch(r){case"data":t=this.listeners.data;break;case"end":t=this.listeners.end;break;case"error":t=this.listeners.error;break}if(t){let n=t.indexOf(e);n>=0&&t.splice(n,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 r=[...this.pendingWritePromises];this.pendingWritePromises.length=0,r.forEach(e=>e())}flowErrors(){if(this.listeners.error.length>0){for(let r of this.buffer.error)this.emitError(r);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 qD(i,r,e=0){let t=r.byteLength,n=i.byteLength;if(t===0)return 0;if(t===1)return i.indexOf(r[0],e);if(t>n-e)return-1;let o=$D.value;o.fill(r.length);for(let c=0;c<r.length;c++)o[r[c]]=r.length-c-1;let s=e+r.length-1,a=s,l=-1;for(;s<n;)if(i[s]===r[a]){if(a===0){l=s;break}s--,a--}else s+=Math.max(r.length-a,o[i[s]]),a=r.length-1;return l}function KD(i,r){return i[r]*2**24+i[r+1]*2**16+i[r+2]*2**8+i[r+3]}function zD(i,r,e){i[e+3]=r,r=r>>>8,i[e+2]=r,r=r>>>8,i[e+1]=r,r=r>>>8,i[e]=r}function jD(i,r){return i[r+0]<<0>>>0|i[r+1]<<8>>>0|i[r+2]<<16>>>0|i[r+3]<<24>>>0}function GD(i,r,e){i[e+0]=r&255,r=r>>>8,i[e+1]=r&255,r=r>>>8,i[e+2]=r&255,r=r>>>8,i[e+3]=r&255}function JD(i,r){return i[r]}function QD(i,r,e){i[e]=r}function X1(i){return z1(i,r=>H.concat(r))}function Y1(i){return J1(i)}function Ms(i){return Sf(i,r=>H.concat(r))}async function Z1(i){return i.ended?H.concat(i.buffer):H.concat([...i.buffer,await Ms(i.stream)])}function ex(i){return $a(i,{data:r=>typeof r=="string"?H.fromString(r):H.wrap(r)},r=>H.concat(r))}function tx(i){return Uo(r=>H.concat(r),i)}function rx({buffer:i}){let r="";for(let e=0;e<i.length;e++){let t=i[e];r+=Q1[t>>>4],r+=Q1[t&15]}return r}var Ed,$D,Av,Lv,H,Q1,ot=I(()=>{Gi();Ls();Ed=typeof Buffer<"u",$D=new er(()=>new Uint8Array(256)),H=class i{static alloc(r){return Ed?new i(Buffer.allocUnsafe(r)):new i(new Uint8Array(r))}static wrap(r){return Ed&&!Buffer.isBuffer(r)&&(r=Buffer.from(r.buffer,r.byteOffset,r.byteLength)),new i(r)}static fromString(r,e){return!(e?.dontUseNodeBuffer||!1)&&Ed?new i(Buffer.from(r)):(Av||(Av=new TextEncoder),new i(Av.encode(r)))}static fromByteArray(r){let e=i.alloc(r.length);for(let t=0,n=r.length;t<n;t++)e.buffer[t]=r[t];return e}static concat(r,e){if(typeof e>"u"){e=0;for(let o=0,s=r.length;o<s;o++)e+=r[o].byteLength}let t=i.alloc(e),n=0;for(let o=0,s=r.length;o<s;o++){let a=r[o];t.set(a,n),n+=a.byteLength}return t}static isNativeBuffer(r){return Ed&&Buffer.isBuffer(r)}constructor(r){this.buffer=r,this.byteLength=this.buffer.byteLength}clone(){let r=i.alloc(this.byteLength);return r.set(this),r}toString(){return Ed?this.buffer.toString():(Lv||(Lv=new TextDecoder(void 0,{ignoreBOM:!0})),Lv.decode(this.buffer))}slice(r,e){return new i(this.buffer.subarray(r,e))}set(r,e){if(r instanceof i)this.buffer.set(r.buffer,e);else if(r instanceof Uint8Array)this.buffer.set(r,e);else if(r instanceof ArrayBuffer)this.buffer.set(new Uint8Array(r),e);else if(ArrayBuffer.isView(r))this.buffer.set(new Uint8Array(r.buffer,r.byteOffset,r.byteLength),e);else throw new Error("Unknown argument 'array'")}readUInt32BE(r){return KD(this.buffer,r)}writeUInt32BE(r,e){zD(this.buffer,r,e)}readUInt32LE(r){return jD(this.buffer,r)}writeUInt32LE(r,e){GD(this.buffer,r,e)}readUInt8(r){return JD(this.buffer,r)}writeUInt8(r,e){QD(this.buffer,r,e)}indexOf(r,e=0){return qD(this.buffer,r instanceof i?r.buffer:r,e)}equals(r){return this===r?!0:this.byteLength!==r.byteLength?!1:this.buffer.every((e,t)=>e===r.buffer[t])}};Q1="0123456789abcdef"});var nx=I(()=>{Le();$();It()});function ce(i,r,e){let t=null,n=null;if(typeof e.value=="function"?(t="value",n=e.value,n.length!==0&&console.warn("Memoize should only be used in functions with zero parameters")):typeof e.get=="function"&&(t="get",n=e.get),!n)throw new Error("not supported");let o=`$memoize$${r}`;e[t]=function(...s){return this.hasOwnProperty(o)||Object.defineProperty(this,o,{configurable:!1,enumerable:!1,writable:!1,value:n.apply(this,s)}),this[o]}}var No=I(()=>{nx()});function ix(i){return JSON.stringify(i,XD)}function ox(i){let r=JSON.parse(i);return r=Yn(r),r}function XD(i,r){return r instanceof RegExp?{$mid:2,source:r.source,flags:r.flags}:r}function Yn(i,r=0){if(!i||r>200)return i;if(typeof i=="object"){switch(i.$mid){case 1:return P.revive(i);case 2:return new RegExp(i.source,i.flags);case 17:return new Date(i.source)}if(i instanceof H||i instanceof Uint8Array)return i;if(Array.isArray(i))for(let e=0;e<i.length;++e)i[e]=Yn(i[e],r+1);else for(let e in i)Object.hasOwnProperty.call(i,e)&&(i[e]=Yn(i[e],r+1))}return i}var Cd=I(()=>{ot();le();Xp()});function za(i){switch(i){case 100:return"req";case 101:return"cancel";case 102:return"subscribe";case 103:return"unsubscribe"}}function xf(i){switch(i){case 200:return"init";case 201:return"reply:";case 202:case 203:return"replyErr:";case 204:return"event:"}}function qa(i){let r=0;for(let e=0;;e+=7){let t=i.read(1);if(r|=(t.buffer[0]&127)<<e,!(t.buffer[0]&128))return r}}function Ka(i,r){if(r===0){i.write(YD);return}let e=0;for(let n=r;n!==0;n=n>>>7)e++;let t=H.alloc(e);for(let n=0;r!==0;n++)t.buffer[n]=r&127,r=r>>>7,r>0&&(t.buffer[n]|=128);i.write(t)}function Bo(i){let r=H.alloc(1);return r.writeUInt8(i,0),r}function ja(i,r){if(typeof r>"u")i.write(Os.Undefined);else if(typeof r=="string"){let e=H.fromString(r);i.write(Os.String),Ka(i,e.byteLength),i.write(e)}else if(H.isNativeBuffer(r)){let e=H.wrap(r);i.write(Os.Buffer),Ka(i,e.byteLength),i.write(e)}else if(r instanceof H)i.write(Os.VSBuffer),Ka(i,r.byteLength),i.write(r);else if(Array.isArray(r)){i.write(Os.Array),Ka(i,r.length);for(let e of r)ja(i,e)}else if(typeof r=="number"&&(r|0)===r)i.write(Os.Uint),Ka(i,r);else{let e=H.fromString(JSON.stringify(r));i.write(Os.Object),Ka(i,e.byteLength),i.write(e)}}function Ga(i){switch(i.read(1).readUInt8(0)){case 0:return;case 1:return i.read(qa(i)).toString();case 2:return i.read(qa(i)).buffer;case 3:return i.read(qa(i));case 4:{let e=qa(i),t=[];for(let n=0;n<e;n++)t.push(Ga(i));return t}case 5:return JSON.parse(i.read(qa(i)).toString());case 6:return qa(i)}}function Rd(i){return{call(r,e,t){return i.then(n=>n.call(r,e,t))},listen(r,e){let t=new od;return i.then(n=>t.input=n.listen(r,e)),t.event}}}function sx(i){let r=!1;return{call(e,t,n){return r?i.call(e,t,n):lt(0).then(()=>r=!0).then(()=>i.call(e,t,n))},listen(e,t){if(r)return i.listen(e,t);let n=new od;return lt(0).then(()=>r=!0).then(()=>n.input=i.listen(e,t)),n.event}}}var YD,Td,_d,Os,kd,Fs,Ja,Qa,Pf,et,xi=I(()=>{zt();ge();ot();It();No();He();z();Sa();$();Cd();ar();Le();YD=Bo(0);Td=class{constructor(r){this.buffer=r;this.pos=0}read(r){let e=this.buffer.slice(this.pos,this.pos+r);return this.pos+=e.byteLength,e}},_d=class{constructor(){this.buffers=[]}get buffer(){return H.concat(this.buffers)}write(r){this.buffers.push(r)}};Os={Undefined:Bo(0),String:Bo(1),Buffer:Bo(2),VSBuffer:Bo(3),Array:Bo(4),Object:Bo(5),Uint:Bo(6)};kd=class{constructor(r,e,t=null,n=1e3){this.protocol=r;this.ctx=e;this.logger=t;this.timeoutDelay=n;this.channels=new Map;this.activeRequests=new Map;this.pendingRequests=new Map;this.protocolListener=this.protocol.onMessage(o=>this.onRawMessage(o)),this.sendResponse({type:200})}registerChannel(r,e){this.channels.set(r,e),setTimeout(()=>this.flushPendingRequests(r),0)}sendResponse(r){switch(r.type){case 200:{let e=this.send([r.type]);this.logger?.logOutgoing(e,0,1,xf(r.type));return}case 201:case 202:case 204:case 203:{let e=this.send([r.type,r.id],r.data);this.logger?.logOutgoing(e,r.id,1,xf(r.type),r.data);return}}}send(r,e=void 0){let t=new _d;return ja(t,r),ja(t,e),this.sendBuffer(t.buffer)}sendBuffer(r){try{return this.protocol.send(r),r.byteLength}catch{return 0}}onRawMessage(r){let e=new Td(r),t=Ga(e),n=Ga(e),o=t[0];switch(o){case 100:return this.logger?.logIncoming(r.byteLength,t[1],1,`${za(o)}: ${t[2]}.${t[3]}`,n),this.onPromise({type:o,id:t[1],channelName:t[2],name:t[3],arg:n});case 102:return this.logger?.logIncoming(r.byteLength,t[1],1,`${za(o)}: ${t[2]}.${t[3]}`,n),this.onEventListen({type:o,id:t[1],channelName:t[2],name:t[3],arg:n});case 101:return this.logger?.logIncoming(r.byteLength,t[1],1,`${za(o)}`),this.disposeActiveRequest({type:o,id:t[1]});case 103:return this.logger?.logIncoming(r.byteLength,t[1],1,`${za(o)}`),this.disposeActiveRequest({type:o,id:t[1]})}}onPromise(r){let e=this.channels.get(r.channelName);if(!e){this.collectPendingRequest(r);return}let t=new $e,n;try{n=e.call(this.ctx,r.name,r.arg,t.token)}catch(a){n=Promise.reject(a)}let o=r.id;n.then(a=>{this.sendResponse({id:o,data:a,type:201})},a=>{a instanceof Error?this.sendResponse({id:o,data:{message:a.message,name:a.name,stack:a.stack?a.stack.split(`
`):void 0},type:202}):this.sendResponse({id:o,data:a,type:203})}).finally(()=>{s.dispose(),this.activeRequests.delete(r.id)});let s=j(()=>t.cancel());this.activeRequests.set(r.id,s)}onEventListen(r){let e=this.channels.get(r.channelName);if(!e){this.collectPendingRequest(r);return}let t=r.id,o=e.listen(this.ctx,r.name,r.arg)(s=>this.sendResponse({id:t,data:s,type:204}));this.activeRequests.set(r.id,o)}disposeActiveRequest(r){let e=this.activeRequests.get(r.id);e&&(e.dispose(),this.activeRequests.delete(r.id))}collectPendingRequest(r){let e=this.pendingRequests.get(r.channelName);e||(e=[],this.pendingRequests.set(r.channelName,e));let t=setTimeout(()=>{console.error(`Unknown channel: ${r.channelName}`),r.type===100&&this.sendResponse({id:r.id,data:{name:"Unknown channel",message:`Channel name '${r.channelName}' timed out after ${this.timeoutDelay}ms`,stack:void 0},type:202})},this.timeoutDelay);e.push({request:r,timeoutTimer:t})}flushPendingRequests(r){let e=this.pendingRequests.get(r);if(e){for(let t of e)switch(clearTimeout(t.timeoutTimer),t.request.type){case 100:this.onPromise(t.request);break;case 102:this.onEventListen(t.request);break}this.pendingRequests.delete(r)}}dispose(){this.protocolListener&&(this.protocolListener.dispose(),this.protocolListener=null),ut(this.activeRequests.values()),this.activeRequests.clear()}},Fs=class{constructor(r,e=null){this.protocol=r;this.isDisposed=!1;this.state=0;this.activeRequests=new Set;this.handlers=new Map;this.lastRequestId=0;this._onDidInitialize=new b;this.onDidInitialize=this._onDidInitialize.event;this.protocolListener=this.protocol.onMessage(t=>this.onBuffer(t)),this.logger=e}getChannel(r){let e=this;return{call(t,n,o){return e.isDisposed?Promise.reject(new St):e.requestPromise(r,t,n,o)},listen(t,n){return e.isDisposed?S.None:e.requestEvent(r,t,n)}}}requestPromise(r,e,t,n=xe.None){let o=this.lastRequestId++,a={id:o,type:100,channelName:r,name:e,arg:t};if(n.isCancellationRequested)return Promise.reject(new St);let l,c;return new Promise((u,f)=>{if(n.isCancellationRequested)return f(new St);let m=()=>{let C=w=>{switch(w.type){case 201:this.handlers.delete(o),u(w.data);break;case 202:{this.handlers.delete(o);let _=new Error(w.data.message);_.stack=Array.isArray(w.data.stack)?w.data.stack.join(`
`):w.data.stack,_.name=w.data.name,f(_);break}case 203:this.handlers.delete(o),f(w.data);break}};this.handlers.set(o,C),this.sendRequest(a)},y=null;this.state===1?m():(y=Jn(C=>this.whenInitialized()),y.then(()=>{y=null,m()}));let v=()=>{y?(y.cancel(),y=null):this.sendRequest({id:o,type:101}),f(new St)};l=n.onCancellationRequested(v),c={dispose:ji(()=>{v(),l.dispose()})},this.activeRequests.add(c)}).finally(()=>{l?.dispose(),this.activeRequests.delete(c)})}requestEvent(r,e,t){let n=this.lastRequestId++,s={id:n,type:102,channelName:r,name:e,arg:t},a=null,l=new b({onWillAddFirstListener:()=>{let d=()=>{this.activeRequests.add(l),this.sendRequest(s)};this.state===1?d():(a=Jn(u=>this.whenInitialized()),a.then(()=>{a=null,d()}))},onDidRemoveLastListener:()=>{a?(a.cancel(),a=null):(this.activeRequests.delete(l),this.sendRequest({id:n,type:103})),this.handlers.delete(n)}}),c=d=>l.fire(d.data);return this.handlers.set(n,c),l.event}sendRequest(r){switch(r.type){case 100:case 102:{let e=this.send([r.type,r.id,r.channelName,r.name],r.arg);this.logger?.logOutgoing(e,r.id,0,`${za(r.type)}: ${r.channelName}.${r.name}`,r.arg);return}case 101:case 103:{let e=this.send([r.type,r.id]);this.logger?.logOutgoing(e,r.id,0,za(r.type));return}}}send(r,e=void 0){let t=new _d;return ja(t,r),ja(t,e),this.sendBuffer(t.buffer)}sendBuffer(r){try{return this.protocol.send(r),r.byteLength}catch{return 0}}onBuffer(r){let e=new Td(r),t=Ga(e),n=Ga(e),o=t[0];switch(o){case 200:return this.logger?.logIncoming(r.byteLength,0,0,xf(o)),this.onResponse({type:t[0]});case 201:case 202:case 204:case 203:return this.logger?.logIncoming(r.byteLength,t[1],0,xf(o),n),this.onResponse({type:t[0],id:t[1],data:n})}}onResponse(r){if(r.type===200){this.state=1,this._onDidInitialize.fire();return}this.handlers.get(r.id)?.(r)}get onDidInitializePromise(){return S.toPromise(this.onDidInitialize)}whenInitialized(){return this.state===1?Promise.resolve():this.onDidInitializePromise}dispose(){this.isDisposed=!0,this.protocolListener&&(this.protocolListener.dispose(),this.protocolListener=null),ut(this.activeRequests.values()),this.activeRequests.clear(),this._onDidInitialize.dispose()}};E([ce],Fs.prototype,"onDidInitializePromise",1);Ja=class{constructor(r,e,t){this.channels=new Map;this._connections=new Set;this._onDidAddConnection=new b;this.onDidAddConnection=this._onDidAddConnection.event;this._onDidRemoveConnection=new b;this.onDidRemoveConnection=this._onDidRemoveConnection.event;this.disposables=new J;this.disposables.add(r(({protocol:n,onDidClientDisconnect:o})=>{let s=S.once(n.onMessage);this.disposables.add(s(a=>{let l=new Td(a),c=Ga(l),d=new kd(n,c,e,t),u=new Fs(n,e);this.channels.forEach((m,y)=>d.registerChannel(y,m));let f={channelServer:d,channelClient:u,ctx:c};this._connections.add(f),this._onDidAddConnection.fire(f),this.disposables.add(o(()=>{d.dispose(),u.dispose(),this._connections.delete(f),this._onDidRemoveConnection.fire(f)}))}))}))}get connections(){let r=[];return this._connections.forEach(e=>r.push(e)),r}getChannel(r,e){let t=this;return{call(n,o,s){let a;if(td(e)){let c=uS(t.connections.filter(e));a=c?Promise.resolve(c):S.toPromise(S.filter(t.onDidAddConnection,e))}else a=e.routeCall(t,n,o);let l=a.then(c=>c.channelClient.getChannel(r));return Rd(l).call(n,o,s)},listen(n,o){if(td(e))return t.getMulticastEvent(r,e,n,o);let s=e.routeEvent(t,n,o).then(a=>a.channelClient.getChannel(r));return Rd(s).listen(n,o)}}}getMulticastEvent(r,e,t,n){let o=this,s,a=new b({onWillAddFirstListener:()=>{s=new J;let l=new Kp,c=new Map,d=f=>{let y=f.channelClient.getChannel(r).listen(t,n),v=l.add(y);c.set(f,v)},u=f=>{let m=c.get(f);m&&(m.dispose(),c.delete(f))};o.connections.filter(e).forEach(d),S.filter(o.onDidAddConnection,e)(d,void 0,s),o.onDidRemoveConnection(u,void 0,s),l.event(a.fire,a,s),s.add(l)},onDidRemoveLastListener:()=>{s?.dispose(),s=void 0}});return o.disposables.add(a),a.event}registerChannel(r,e){this.channels.set(r,e);for(let t of this._connections)t.channelServer.registerChannel(r,e)}dispose(){this.disposables.dispose();for(let r of this._connections)r.channelClient.dispose(),r.channelServer.dispose();this._connections.clear(),this.channels.clear(),this._onDidAddConnection.dispose(),this._onDidRemoveConnection.dispose()}},Qa=class{constructor(r,e,t=null){let n=new _d;ja(n,e),r.send(n.buffer),this.channelClient=new Fs(r,t),this.channelServer=new kd(r,e,t)}getChannel(r){return this.channelClient.getChannel(r)}registerChannel(r,e){this.channelServer.registerChannel(r,e)}dispose(){this.channelClient.dispose(),this.channelServer.dispose()}};Pf=class{constructor(r){this.fn=r}routeCall(r){return this.route(r)}routeEvent(r){return this.route(r)}async route(r){for(let e of r.connections)if(await Promise.resolve(this.fn(e.ctx)))return Promise.resolve(e);return await S.toPromise(r.onDidAddConnection),await this.route(r)}};(n=>{function i(o,s,a){let l=o,c=a?.disableMarshalling,d=new Map;for(let u in l)e(u)&&d.set(u,S.buffer(l[u],u,!0,void 0,s));return new class{listen(u,f,m){let y=d.get(f);if(y)return y;let v=l[f];if(typeof v=="function"){if(t(f))return v.call(l,m);if(e(f))return d.set(f,S.buffer(l[f],f,!0,void 0,s)),d.get(f)}throw new rn(`Event not found: ${f}`)}call(u,f,m){let y=l[f];if(typeof y=="function"){if(!c&&Array.isArray(m))for(let C=0;C<m.length;C++)m[C]=Yn(m[C]);let v=y.apply(l,m);return v instanceof Promise||(v=Promise.resolve(v)),v}throw new rn(`Method not found: ${f}`)}}}n.fromService=i;function r(o,s){let a=s?.disableMarshalling;return new Proxy({},{get(l,c){if(typeof c=="string")return s?.properties?.has(c)?s.properties.get(c):t(c)?function(d){return o.listen(c,d)}:e(c)?o.listen(c):async function(...d){let u;s&&!Ut(s.context)?u=[s.context,...d]:u=d;let f=await o.call(c,u);return a?f:Yn(f)};throw new rn(`Property not found: ${String(c)}`)}})}n.toService=r;function e(o){return o[0]==="o"&&o[1]==="n"&&sv(o.charCodeAt(2))}function t(o){return/^onDynamic/.test(o)&&sv(o.charCodeAt(9))}})(et||={})});function ax(i){return ZD.test(i)}var ZD,_e,Jt=I(()=>{ZD=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;_e=(function(){if(typeof crypto.randomUUID=="function")return crypto.randomUUID.bind(crypto);let i=new Uint8Array(16),r=[];for(let e=0;e<256;e++)r.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 t=0,n="";return n+=r[i[t++]],n+=r[i[t++]],n+=r[i[t++]],n+=r[i[t++]],n+="-",n+=r[i[t++]],n+=r[i[t++]],n+="-",n+=r[i[t++]],n+=r[i[t++]],n+="-",n+=r[i[t++]],n+=r[i[t++]],n+="-",n+=r[i[t++]],n+=r[i[t++]],n+=r[i[t++]],n+=r[i[t++]],n+=r[i[t++]],n+=r[i[t++]],n}})()});function Vo(){return Mv||(Mv=H.alloc(0)),Mv}function lx(i){switch(i){case 0:return"None";case 1:return"Regular";case 2:return"Control";case 3:return"Ack";case 5:return"Disconnect";case 6:return"ReplayRequest";case 7:return"PauseWriting";case 8:return"ResumeWriting";case 9:return"KeepAlive"}}var Uv,Mv,Dd,yn,Ad,Ld,Md,Od,Ws,Ov,Fv,Wv,Ef,Nv=I(()=>{ot();z();$();xi();(s=>{s.enableDiagnostics=!1,s.records=[];let e=new WeakMap,t=0;function n(a,l){if(!e.has(a)){let c=String(++t);e.set(a,c)}return e.get(a)}function o(a,l,c,d){}s.traceSocketEvent=o})(Uv||={});Mv=null;Dd=class{get byteLength(){return this._totalLength}constructor(){this._chunks=[],this._totalLength=0}acceptChunk(r){this._chunks.push(r),this._totalLength+=r.byteLength}read(r){return this._read(r,!0)}peek(r){return this._read(r,!1)}_read(r,e){if(r===0)return Vo();if(r>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===r){let s=this._chunks[0];return e&&(this._chunks.shift(),this._totalLength-=r),s}if(this._chunks[0].byteLength>r){let s=this._chunks[0].slice(0,r);return e&&(this._chunks[0]=this._chunks[0].slice(r),this._totalLength-=r),s}let t=H.alloc(r),n=0,o=0;for(;r>0;){let s=this._chunks[o];if(s.byteLength>r){let a=s.slice(0,r);t.set(a,n),n+=r,e&&(this._chunks[o]=s.slice(r),this._totalLength-=r),r-=r}else t.set(s,n),n+=s.byteLength,e?(this._chunks.shift(),this._totalLength-=s.byteLength):o++,r-=s.byteLength}return t}};yn=class{constructor(r,e,t,n){this.type=r;this.id=e;this.ack=t;this.data=n;this.writtenTime=0}get size(){return this.data.byteLength}},Ad=class extends T{constructor(e){super();this._onMessage=this._register(new b);this.onMessage=this._onMessage.event;this._state={readHead:!0,readLen:13,messageType:0,id:0,ack:0};this._socket=e,this._isDisposed=!1,this._incomingData=new Dd,this._register(this._socket.onData(t=>this.acceptChunk(t))),this.lastReadTime=Date.now()}acceptChunk(e){if(!(!e||e.byteLength===0))for(this.lastReadTime=Date.now(),this._incomingData.acceptChunk(e);this._incomingData.byteLength>=this._state.readLen;){let t=this._incomingData.read(this._state.readLen);if(this._state.readHead)this._state.readHead=!1,this._state.readLen=t.readUInt32BE(9),this._state.messageType=t.readUInt8(0),this._state.id=t.readUInt32BE(1),this._state.ack=t.readUInt32BE(5),this._socket.traceSocketEvent("protocolHeaderRead",{messageType:lx(this._state.messageType),id:this._state.id,ack:this._state.ack,messageSize:this._state.readLen});else{let n=this._state.messageType,o=this._state.id,s=this._state.ack;if(this._state.readHead=!0,this._state.readLen=13,this._state.messageType=0,this._state.id=0,this._state.ack=0,this._socket.traceSocketEvent("protocolMessageRead",t),this._onMessage.fire(new yn(n,o,s,t)),this._isDisposed)break}}}readEntireBuffer(){return this._incomingData.read(this._incomingData.byteLength)}dispose(){this._isDisposed=!0,super.dispose()}},Ld=class{constructor(r){this._writeNowTimeout=null;this._isDisposed=!1,this._isPaused=!1,this._socket=r,this._data=[],this._totalLength=0,this.lastWriteTime=0}dispose(){try{this.flush()}catch{}this._isDisposed=!0}drain(){return this.flush(),this._socket.drain()}flush(){this._writeNow()}pause(){this._isPaused=!0}resume(){this._isPaused=!1,this._scheduleWriting()}write(r){if(this._isDisposed)return;r.writtenTime=Date.now(),this.lastWriteTime=Date.now();let e=H.alloc(13);e.writeUInt8(r.type,0),e.writeUInt32BE(r.id,1),e.writeUInt32BE(r.ack,5),e.writeUInt32BE(r.data.byteLength,9),this._socket.traceSocketEvent("protocolHeaderWrite",{messageType:lx(r.type),id:r.id,ack:r.ack,messageSize:r.data.byteLength}),this._socket.traceSocketEvent("protocolMessageWrite",r.data),this._writeSoon(e,r.data)}_bufferAdd(r,e){let t=this._totalLength===0;return this._data.push(r,e),this._totalLength+=r.byteLength+e.byteLength,t}_bufferTake(){let r=H.concat(this._data,this._totalLength);return this._data.length=0,this._totalLength=0,r}_writeSoon(r,e){this._bufferAdd(r,e)&&this._scheduleWriting()}_scheduleWriting(){this._writeNowTimeout||(this._writeNowTimeout=setTimeout(()=>{this._writeNowTimeout=null,this._writeNow()}))}_writeNow(){if(this._totalLength===0||this._isPaused)return;let r=this._bufferTake();this._socket.traceSocketEvent("protocolWrite",{byteLength:r.byteLength}),this._socket.write(r)}},Md=class extends T{constructor(e){super();this._onMessage=this._register(new b);this.onMessage=this._onMessage.event;this._onDidDispose=this._register(new b);this.onDidDispose=this._onDidDispose.event;this._socket=e,this._socketWriter=this._register(new Ld(this._socket)),this._socketReader=this._register(new Ad(this._socket)),this._register(this._socketReader.onMessage(t=>{t.type===1&&this._onMessage.fire(t.data)})),this._register(this._socket.onClose(()=>this._onDidDispose.fire()))}drain(){return this._socketWriter.drain()}getSocket(){return this._socket}sendDisconnect(){}send(e){this._socketWriter.write(new yn(1,0,0,e))}},Od=class i extends Qa{constructor(e,t,n=null){super(e,t,n);this.protocol=e}static fromSocket(e,t){return new i(new Md(e),t)}get onDidDispose(){return this.protocol.onDidDispose}dispose(){super.dispose();let e=this.protocol.getSocket();this.protocol.sendDisconnect(),this.protocol.dispose(),e.end()}},Ws=class{constructor(){this._hasListeners=!1;this._isDeliveringMessages=!1;this._bufferedMessages=[];this._emitter=new b({onWillAddFirstListener:()=>{this._hasListeners=!0,queueMicrotask(()=>this._deliverMessages())},onDidRemoveLastListener:()=>{this._hasListeners=!1}}),this.event=this._emitter.event}_deliverMessages(){if(!this._isDeliveringMessages){for(this._isDeliveringMessages=!0;this._hasListeners&&this._bufferedMessages.length>0;)this._emitter.fire(this._bufferedMessages.shift());this._isDeliveringMessages=!1}}fire(r){this._hasListeners?this._bufferedMessages.length>0?this._bufferedMessages.push(r):this._emitter.fire(r):this._bufferedMessages.push(r)}flushBuffer(){this._bufferedMessages=[]}},Ov=class{constructor(r){this.data=r,this.next=null}},Fv=class{constructor(){this._first=null,this._last=null}length(){let r=0,e=this._first;for(;e;)e=e.next,r++;return r}peek(){return this._first?this._first.data:null}toArray(){let r=[],e=0,t=this._first;for(;t;)r[e++]=t.data,t=t.next;return r}pop(){if(this._first){if(this._first===this._last){this._first=null,this._last=null;return}this._first=this._first.next}}push(r){let e=new Ov(r);if(!this._first){this._first=e,this._last=e;return}this._last.next=e,this._last=e}},Wv=class i{static{this._HISTORY_LENGTH=10}static{this._INSTANCE=null}static getInstance(){return i._INSTANCE||(i._INSTANCE=new i),i._INSTANCE}constructor(){this.lastRuns=[];let r=Date.now();for(let e=0;e<i._HISTORY_LENGTH;e++)this.lastRuns[e]=r-1e3*e;setInterval(()=>{for(let e=i._HISTORY_LENGTH;e>=1;e--)this.lastRuns[e]=this.lastRuns[e-1];this.lastRuns[0]=Date.now()},1e3)}load(){let r=Date.now(),e=(1+i._HISTORY_LENGTH)*1e3,t=0;for(let n=0;n<i._HISTORY_LENGTH;n++)r-this.lastRuns[n]<=e&&t++;return 1-t/i._HISTORY_LENGTH}hasHighLoad(){return this.load()>=.5}},Ef=class{constructor(r){this._onControlMessage=new Ws;this.onControlMessage=this._onControlMessage.event;this._onMessage=new Ws;this.onMessage=this._onMessage.event;this._onDidDispose=new Ws;this.onDidDispose=this._onDidDispose.event;this._onSocketClose=new Ws;this.onSocketClose=this._onSocketClose.event;this._onSocketTimeout=new Ws;this.onSocketTimeout=this._onSocketTimeout.event;this._loadEstimator=r.loadEstimator??Wv.getInstance(),this._shouldSendKeepAlive=r.sendKeepAlive??!0,this._isReconnecting=!1,this._outgoingUnackMsg=new Fv,this._outgoingMsgId=0,this._outgoingAckId=0,this._outgoingAckTimeout=null,this._incomingMsgId=0,this._incomingAckId=0,this._incomingMsgLastTime=0,this._incomingAckTimeout=null,this._lastReplayRequestTime=0,this._lastSocketTimeoutTime=Date.now(),this._socketDisposables=new J,this._socket=r.socket,this._socketWriter=this._socketDisposables.add(new Ld(this._socket)),this._socketReader=this._socketDisposables.add(new Ad(this._socket)),this._socketDisposables.add(this._socketReader.onMessage(e=>this._receiveMessage(e))),this._socketDisposables.add(this._socket.onClose(e=>this._onSocketClose.fire(e))),r.initialChunk&&this._socketReader.acceptChunk(r.initialChunk),this._shouldSendKeepAlive?this._keepAliveInterval=setInterval(()=>{this._sendKeepAlive()},5e3):this._keepAliveInterval=null}get unacknowledgedCount(){return this._outgoingMsgId-this._outgoingAckId}dispose(){this._outgoingAckTimeout&&(clearTimeout(this._outgoingAckTimeout),this._outgoingAckTimeout=null),this._incomingAckTimeout&&(clearTimeout(this._incomingAckTimeout),this._incomingAckTimeout=null),this._keepAliveInterval&&(clearInterval(this._keepAliveInterval),this._keepAliveInterval=null),this._socketDisposables.dispose()}drain(){return this._socketWriter.drain()}sendDisconnect(){if(!this._didSendDisconnect){this._didSendDisconnect=!0;let r=new yn(5,0,0,Vo());this._socketWriter.write(r),this._socketWriter.flush()}}sendPause(){let r=new yn(7,0,0,Vo());this._socketWriter.write(r)}sendResume(){let r=new yn(8,0,0,Vo());this._socketWriter.write(r)}pauseSocketWriting(){this._socketWriter.pause()}getSocket(){return this._socket}getMillisSinceLastIncomingData(){return Date.now()-this._socketReader.lastReadTime}beginAcceptReconnection(r,e){this._isReconnecting=!0,this._socketDisposables.dispose(),this._socketDisposables=new J,this._onControlMessage.flushBuffer(),this._onSocketClose.flushBuffer(),this._onSocketTimeout.flushBuffer(),this._socket.dispose(),this._lastReplayRequestTime=0,this._lastSocketTimeoutTime=Date.now(),this._socket=r,this._socketWriter=this._socketDisposables.add(new Ld(this._socket)),this._socketReader=this._socketDisposables.add(new Ad(this._socket)),this._socketDisposables.add(this._socketReader.onMessage(t=>this._receiveMessage(t))),this._socketDisposables.add(this._socket.onClose(t=>this._onSocketClose.fire(t))),this._socketReader.acceptChunk(e)}endAcceptReconnection(){this._isReconnecting=!1,this._incomingAckId=this._incomingMsgId;let r=new yn(3,0,this._incomingAckId,Vo());this._socketWriter.write(r);let e=this._outgoingUnackMsg.toArray();for(let t=0,n=e.length;t<n;t++)this._socketWriter.write(e[t]);this._recvAckCheck()}acceptDisconnect(){this._onDidDispose.fire()}_receiveMessage(r){if(r.ack>this._outgoingAckId){this._outgoingAckId=r.ack;do{let e=this._outgoingUnackMsg.peek();if(e&&e.id<=r.ack)this._outgoingUnackMsg.pop();else break}while(!0)}switch(r.type){case 0:break;case 1:{if(r.id>this._incomingMsgId)if(r.id!==this._incomingMsgId+1){let e=Date.now();e-this._lastReplayRequestTime>1e4&&(this._lastReplayRequestTime=e,this._socketWriter.write(new yn(6,0,0,Vo())))}else this._incomingMsgId=r.id,this._incomingMsgLastTime=Date.now(),this._sendAckCheck(),this._onMessage.fire(r.data);break}case 2:{this._onControlMessage.fire(r.data);break}case 3:break;case 5:{this._onDidDispose.fire();break}case 6:{let e=this._outgoingUnackMsg.toArray();for(let t=0,n=e.length;t<n;t++)this._socketWriter.write(e[t]);this._recvAckCheck();break}case 7:{this._socketWriter.pause();break}case 8:{this._socketWriter.resume();break}case 9:break}}readEntireBuffer(){return this._socketReader.readEntireBuffer()}flush(){this._socketWriter.flush()}send(r){let e=++this._outgoingMsgId;this._incomingAckId=this._incomingMsgId;let t=new yn(1,e,this._incomingAckId,r);this._outgoingUnackMsg.push(t),this._isReconnecting||(this._socketWriter.write(t),this._recvAckCheck())}sendControl(r){let e=new yn(2,0,0,r);this._socketWriter.write(e)}_sendAckCheck(){if(this._incomingMsgId<=this._incomingAckId||this._incomingAckTimeout)return;let r=Date.now()-this._incomingMsgLastTime;if(r>=2e3){this._sendAck();return}this._incomingAckTimeout=setTimeout(()=>{this._incomingAckTimeout=null,this._sendAckCheck()},2e3-r+5)}_recvAckCheck(){if(this._outgoingMsgId<=this._outgoingAckId||this._outgoingAckTimeout||this._isReconnecting)return;let r=this._outgoingUnackMsg.peek(),e=Date.now()-r.writtenTime,t=Date.now()-this._socketReader.lastReadTime,n=Date.now()-this._lastSocketTimeoutTime;if(e>=2e4&&t>=2e4&&n>=2e4&&!this._loadEstimator.hasHighLoad()){this._lastSocketTimeoutTime=Date.now(),this._onSocketTimeout.fire({unacknowledgedMsgCount:this._outgoingUnackMsg.length(),timeSinceOldestUnacknowledgedMsg:e,timeSinceLastReceivedSomeData:t});return}let o=Math.max(2e4-e,2e4-t,2e4-n,500);this._outgoingAckTimeout=setTimeout(()=>{this._outgoingAckTimeout=null,this._recvAckCheck()},o)}_sendAck(){if(this._incomingMsgId<=this._incomingAckId)return;this._incomingAckId=this._incomingMsgId;let r=new yn(3,0,this._incomingAckId,Vo());this._socketWriter.write(r)}_sendKeepAlive(){this._incomingAckId=this._incomingMsgId;let r=new yn(9,0,this._incomingAckId,Vo());this._socketWriter.write(r)}}});import{createHash as dx}from"crypto";import{createConnection as cx,createServer as r2}from"net";import{createDeflateRaw as n2,createInflateRaw as i2}from"zlib";function ux(i,r,{debugLabel:e,skipWebSocketFrames:t=!1,disableWebSocketCompression:n=!1,enableMessageSplitting:o=!0}){if(i.headers.upgrade===void 0||i.headers.upgrade.toLowerCase()!=="websocket"){r.end("HTTP/1.1 400 Bad Request");return}let s=i.headers["sec-websocket-key"],a=dx("sha1");a.update(s+"258EAFA5-E914-47DA-95CA-C5AB0DC85B11");let c=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${a.digest("base64")}`],d=!1;if(!t&&!n&&i.headers["sec-websocket-extensions"]){let u=Array.isArray(i.headers["sec-websocket-extensions"])?i.headers["sec-websocket-extensions"]:[i.headers["sec-websocket-extensions"]];for(let f of u)if(!/\b((server_max_window_bits)|(server_no_context_takeover)|(client_no_context_takeover))\b/.test(f)){if(/\b(permessage-deflate)\b/.test(f)){d=!0,c.push("Sec-WebSocket-Extensions: permessage-deflate");break}if(/\b(x-webkit-deflate-frame)\b/.test(f)){d=!0,c.push("Sec-WebSocket-Extensions: x-webkit-deflate-frame");break}}}return r.write(c.join(`\r
`)+`\r
\r
`),r.setTimeout(0),r.setNoDelay(!0),t?new no(r,e):new Bv(new no(r,e),d,null,!0,o)}function s2(i,r){if(r===0)return;let e=i.byteLength>>>2;for(let l=0;l<e;l++){let c=i.readUInt32BE(l*4);i.writeUInt32BE(c^r,l*4)}let t=e*4,n=i.byteLength-t,o=r>>>24&255,s=r>>>16&255,a=r>>>8&255;n>=1&&i.writeUInt8(i.readUInt8(t)^o,t),n>=2&&i.writeUInt8(i.readUInt8(t+1)^s,t+1),n>=3&&i.writeUInt8(i.readUInt8(t+2)^a,t+2)}function px(i,r,e){let n=dx("sha256").update(i).digest("hex").substr(0,8);if(process.platform==="win32")return`\\\\.\\pipe\\${n}-${e}-${r}-sock`;let o=e.substr(0,4),s=r.substr(0,6),a;return process.platform!=="darwin"&&Cf&&!process.env.VSCODE_PORTABLE?a=V(Cf,`vscode-${n}-${o}-${s}.sock`):a=V(i,`${o}-${s}.sock`),l2(a),a}function l2(i){let r=a2[qi];typeof r=="number"&&i.length>=r&&console.warn(`WARNING: IPC handle "${i}" is longer than ${r} chars, try a shorter --user-data-dir`)}function fx(i){return new Promise((r,e)=>{let t=r2();t.on("error",e),t.listen(i,()=>{t.removeListener("error",e),r(new qv(t))})})}function mx(i,r){return new Promise((e,t)=>{let n,o=()=>{n.removeListener("error",t),e(Od.fromSocket(new no(n,`ipc-client${r}`),r))};typeof i=="string"?n=cx(i,o):n=cx(i,o),n.once("error",t)})}var o2,no,Bv,Vv,Hv,$v,Cf,a2,qv,Fd=I(()=>{ot();He();z();$();Ce();Z();Jt();xi();Nv();o2=3e4,no=class{constructor(r,e=""){this._canWrite=!0;this.debugLabel=e,this.socket=r,this.traceSocketEvent("created",{type:"NodeSocket"}),this._errorListener=n=>{if(this.traceSocketEvent("error",{code:n?.code,message:n?.message}),n){if(n.code==="EPIPE")return;nt(n)}},this.socket.on("error",this._errorListener);let t;this._closeListener=n=>{this.traceSocketEvent("close",{hadError:n}),this._canWrite=!1,t&&clearTimeout(t)},this.socket.on("close",this._closeListener),this._endListener=()=>{this.traceSocketEvent("nodeEndReceived"),this._canWrite=!1,t=setTimeout(()=>r.destroy(),o2)},this.socket.on("end",this._endListener)}traceSocketEvent(r,e){Uv.traceSocketEvent(this.socket,this.debugLabel,r,e)}dispose(){this.socket.off("error",this._errorListener),this.socket.off("close",this._closeListener),this.socket.off("end",this._endListener),this.socket.destroy()}onData(r){let e=t=>{this.traceSocketEvent("read",t),r(H.wrap(t))};return this.socket.on("data",e),{dispose:()=>this.socket.off("data",e)}}onClose(r){let e=t=>{r({type:0,hadError:t,error:void 0})};return this.socket.on("close",e),{dispose:()=>this.socket.off("close",e)}}onEnd(r){let e=()=>{r()};return this.socket.on("end",e),{dispose:()=>this.socket.off("end",e)}}write(r){if(!(this.socket.destroyed||!this._canWrite))try{this.traceSocketEvent("write",r),this.socket.write(r.buffer,e=>{if(e){if(e.code==="EPIPE")return;nt(e)}})}catch(e){if(e.code==="EPIPE")return;nt(e)}}end(){this.traceSocketEvent("nodeEndSent"),this.socket.end()}drain(){return this.traceSocketEvent("nodeDrainBegin"),new Promise((r,e)=>{if(this.socket.bufferSize===0){this.traceSocketEvent("nodeDrainEnd"),r();return}let t=()=>{this.socket.off("close",t),this.socket.off("end",t),this.socket.off("error",t),this.socket.off("timeout",t),this.socket.off("drain",t),this.traceSocketEvent("nodeDrainEnd"),r()};this.socket.on("close",t),this.socket.on("end",t),this.socket.on("error",t),this.socket.on("timeout",t),this.socket.on("drain",t)})}},Bv=class extends T{constructor(e,t,n,o,s=!0){super();this._onData=this._register(new b);this._onClose=this._register(new b);this._isEnded=!1;this._state={state:1,readLen:2,fin:0,compressed:!1,firstFrameOfMessage:!0,mask:0,opcode:0};this.socket=e,this._maxSocketMessageLength=s?262144:1/0,this.traceSocketEvent("created",{type:"WebSocketNodeSocket",permessageDeflate:t,inflateBytesLength:n?.byteLength||0,recordInflateBytes:o}),this._flowManager=this._register(new Vv(this,t,n,o,this._onData,(a,l)=>this._write(a,l))),this._register(this._flowManager.onError(a=>{console.error(a),nt(a),this._onClose.fire({type:0,hadError:!0,error:a})})),this._incomingData=new Dd,this._register(this.socket.onData(a=>this._acceptChunk(a))),this._register(this.socket.onClose(async a=>{this._flowManager.isProcessingReadQueue()&&await S.toPromise(this._flowManager.onDidFinishProcessingReadQueue),this._onClose.fire(a)}))}get permessageDeflate(){return this._flowManager.permessageDeflate}get recordedInflateBytes(){return this._flowManager.recordedInflateBytes}setRecordInflateBytes(e){this._flowManager.setRecordInflateBytes(e)}traceSocketEvent(e,t){this.socket.traceSocketEvent(e,t)}dispose(){this._flowManager.isProcessingWriteQueue()?this._register(this._flowManager.onDidFinishProcessingWriteQueue(()=>{this.dispose()})):(this.socket.dispose(),super.dispose())}onData(e){return this._onData.event(e)}onClose(e){return this._onClose.event(e)}onEnd(e){return this.socket.onEnd(e)}write(e){let t=0;for(;t<e.byteLength;)this._flowManager.writeMessage(e.slice(t,Math.min(t+this._maxSocketMessageLength,e.byteLength)),{compressed:!0,opcode:2}),t+=this._maxSocketMessageLength}_write(e,{compressed:t,opcode:n}){if(this._isEnded)return;this.traceSocketEvent("webSocketNodeSocketWrite",e);let o=2;e.byteLength<126?o+=0:e.byteLength<2**16?o+=2:o+=8;let s=H.alloc(o),a=t?64:0,l=n&15;if(s.writeUInt8(128|a|l,0),e.byteLength<126)s.writeUInt8(e.byteLength,1);else if(e.byteLength<2**16){s.writeUInt8(126,1);let c=1;s.writeUInt8(e.byteLength>>>8&255,++c),s.writeUInt8(e.byteLength>>>0&255,++c)}else{s.writeUInt8(127,1);let c=1;s.writeUInt8(0,++c),s.writeUInt8(0,++c),s.writeUInt8(0,++c),s.writeUInt8(0,++c),s.writeUInt8(e.byteLength>>>24&255,++c),s.writeUInt8(e.byteLength>>>16&255,++c),s.writeUInt8(e.byteLength>>>8&255,++c),s.writeUInt8(e.byteLength>>>0&255,++c)}this.socket.write(H.concat([s,e]))}end(){this._isEnded=!0,this.socket.end()}_acceptChunk(e){if(e.byteLength!==0){for(this._incomingData.acceptChunk(e);this._incomingData.byteLength>=this._state.readLen;)if(this._state.state===1){let t=this._incomingData.peek(this._state.readLen),n=t.readUInt8(0),o=(n&128)>>>7,s=(n&64)>>>6,a=n&15,l=t.readUInt8(1),c=(l&128)>>>7,d=l&127;this._state.state=2,this._state.readLen=2+(c?4:0)+(d===126?2:0)+(d===127?8:0),this._state.fin=o,this._state.firstFrameOfMessage&&(this._state.compressed=!!s),this._state.firstFrameOfMessage=!!o,this._state.mask=0,this._state.opcode=a,this.traceSocketEvent("webSocketNodeSocketPeekedHeader",{headerSize:this._state.readLen,compressed:this._state.compressed,fin:this._state.fin,opcode:this._state.opcode})}else if(this._state.state===2){let t=this._incomingData.read(this._state.readLen),n=t.readUInt8(1),o=(n&128)>>>7,s=n&127,a=1;s===126?s=t.readUInt8(++a)*2**8+t.readUInt8(++a):s===127&&(s=t.readUInt8(++a)*0+t.readUInt8(++a)*0+t.readUInt8(++a)*0+t.readUInt8(++a)*0+t.readUInt8(++a)*2**24+t.readUInt8(++a)*2**16+t.readUInt8(++a)*2**8+t.readUInt8(++a));let l=0;o&&(l=t.readUInt8(++a)*2**24+t.readUInt8(++a)*2**16+t.readUInt8(++a)*2**8+t.readUInt8(++a)),this._state.state=3,this._state.readLen=s,this._state.mask=l,this.traceSocketEvent("webSocketNodeSocketPeekedHeader",{bodySize:this._state.readLen,compressed:this._state.compressed,fin:this._state.fin,mask:this._state.mask,opcode:this._state.opcode})}else if(this._state.state===3){let t=this._incomingData.read(this._state.readLen);this.traceSocketEvent("webSocketNodeSocketReadData",t),s2(t,this._state.mask),this.traceSocketEvent("webSocketNodeSocketUnmaskedData",t),this._state.state=1,this._state.readLen=2,this._state.mask=0,this._state.opcode<=2?this._flowManager.acceptFrame(t,this._state.compressed,!!this._state.fin):this._state.opcode===9&&this._flowManager.writeMessage(t,{compressed:!1,opcode:10})}}}async drain(){this.traceSocketEvent("webSocketNodeSocketDrainBegin"),this._flowManager.isProcessingWriteQueue()&&await S.toPromise(this._flowManager.onDidFinishProcessingWriteQueue),await this.socket.drain(),this.traceSocketEvent("webSocketNodeSocketDrainEnd")}},Vv=class extends T{constructor(e,t,n,o,s,a){super();this._tracer=e;this._onData=s;this._writeFn=a;this._onError=this._register(new b);this.onError=this._onError.event;this._writeQueue=[];this._readQueue=[];this._onDidFinishProcessingReadQueue=this._register(new b);this.onDidFinishProcessingReadQueue=this._onDidFinishProcessingReadQueue.event;this._onDidFinishProcessingWriteQueue=this._register(new b);this.onDidFinishProcessingWriteQueue=this._onDidFinishProcessingWriteQueue.event;this._isProcessingWriteQueue=!1;this._isProcessingReadQueue=!1;t?(this._zlibInflateStream=this._register(new Hv(this._tracer,o,n,{windowBits:15})),this._zlibDeflateStream=this._register(new $v(this._tracer,{windowBits:15})),this._register(this._zlibInflateStream.onError(l=>this._onError.fire(l))),this._register(this._zlibDeflateStream.onError(l=>this._onError.fire(l)))):(this._zlibInflateStream=null,this._zlibDeflateStream=null)}get permessageDeflate(){return!!(this._zlibInflateStream&&this._zlibDeflateStream)}get recordedInflateBytes(){return this._zlibInflateStream?this._zlibInflateStream.recordedInflateBytes:H.alloc(0)}setRecordInflateBytes(e){this._zlibInflateStream?.setRecordInflateBytes(e)}writeMessage(e,t){this._writeQueue.push({data:e,options:t}),this._processWriteQueue()}async _processWriteQueue(){if(!this._isProcessingWriteQueue){for(this._isProcessingWriteQueue=!0;this._writeQueue.length>0;){let{data:e,options:t}=this._writeQueue.shift();if(this._zlibDeflateStream&&t.compressed){let n=await this._deflateMessage(this._zlibDeflateStream,e);this._writeFn(n,t)}else this._writeFn(e,{...t,compressed:!1})}this._isProcessingWriteQueue=!1,this._onDidFinishProcessingWriteQueue.fire()}}isProcessingWriteQueue(){return this._isProcessingWriteQueue}_deflateMessage(e,t){return new Promise((n,o)=>{e.write(t),e.flush(s=>n(s))})}acceptFrame(e,t,n){this._readQueue.push({data:e,isCompressed:t,isLastFrameOfMessage:n}),this._processReadQueue()}async _processReadQueue(){if(!this._isProcessingReadQueue){for(this._isProcessingReadQueue=!0;this._readQueue.length>0;){let e=this._readQueue.shift();if(this._zlibInflateStream&&e.isCompressed){let t=await this._inflateFrame(this._zlibInflateStream,e.data,e.isLastFrameOfMessage);this._onData.fire(t)}else this._onData.fire(e.data)}this._isProcessingReadQueue=!1,this._onDidFinishProcessingReadQueue.fire()}}isProcessingReadQueue(){return this._isProcessingReadQueue}_inflateFrame(e,t,n){return new Promise((o,s)=>{e.write(t),n&&e.write(H.fromByteArray([0,0,255,255])),e.flush(a=>o(a))})}},Hv=class extends T{constructor(e,t,n,o){super();this._tracer=e;this._onError=this._register(new b);this.onError=this._onError.event;this._recordedInflateBytes=[];this._pendingInflateData=[];this._recordInflateBytes=t,this._zlibInflate=i2(o),this._zlibInflate.on("error",s=>{this._tracer.traceSocketEvent("zlibInflateError",{message:s?.message,code:s?.code}),this._onError.fire(s)}),this._zlibInflate.on("data",s=>{this._tracer.traceSocketEvent("zlibInflateData",s),this._pendingInflateData.push(H.wrap(s))}),n&&(this._tracer.traceSocketEvent("zlibInflateInitialWrite",n.buffer),this._zlibInflate.write(n.buffer),this._zlibInflate.flush(()=>{this._tracer.traceSocketEvent("zlibInflateInitialFlushFired"),this._pendingInflateData.length=0}))}get recordedInflateBytes(){return this._recordInflateBytes?H.concat(this._recordedInflateBytes):H.alloc(0)}write(e){this._recordInflateBytes&&this._recordedInflateBytes.push(e.clone()),this._tracer.traceSocketEvent("zlibInflateWrite",e),this._zlibInflate.write(e.buffer)}setRecordInflateBytes(e){this._recordInflateBytes=e,e||(this._recordedInflateBytes.length=0)}flush(e){this._zlibInflate.flush(()=>{this._tracer.traceSocketEvent("zlibInflateFlushFired");let t=H.concat(this._pendingInflateData);this._pendingInflateData.length=0,e(t)})}dispose(){this._recordedInflateBytes.length=0,this._pendingInflateData.length=0;try{this._zlibInflate.close()}catch{}super.dispose()}},$v=class extends T{constructor(e,t){super();this._tracer=e;this._onError=this._register(new b);this.onError=this._onError.event;this._pendingDeflateData=[];this._zlibDeflate=n2({windowBits:15}),this._zlibDeflate.on("error",n=>{this._tracer.traceSocketEvent("zlibDeflateError",{message:n?.message,code:n?.code}),this._onError.fire(n)}),this._zlibDeflate.on("data",n=>{this._tracer.traceSocketEvent("zlibDeflateData",n),this._pendingDeflateData.push(H.wrap(n))})}write(e){this._tracer.traceSocketEvent("zlibDeflateWrite",e.buffer),this._zlibDeflate.write(e.buffer)}flush(e){this._zlibDeflate.flush(2,()=>{this._tracer.traceSocketEvent("zlibDeflateFlushFired");let t=H.concat(this._pendingDeflateData);this._pendingDeflateData.length=0,t=t.slice(0,t.byteLength-4),e(t)})}dispose(){this._pendingDeflateData.length=0;try{this._zlibDeflate.close()}catch{}super.dispose()}};Cf=process.env.XDG_RUNTIME_DIR,a2={2:107,1:103};qv=class i extends Ja{static toClientConnectionEvent(r){let e=S.fromNodeEventEmitter(r,"connection");return S.map(e,t=>({protocol:new Md(new no(t,"ipc-server-connection")),onDidClientDisconnect:S.once(S.fromNodeEventEmitter(t,"close"))}))}constructor(r){super(i.toClientConnectionEvent(r)),this.server=r}dispose(){super.dispose(),this.server&&(this.server.close(),this.server=null)}}});import Wd from"electron";var zv,tt,Rn=I(()=>{He();qe();zv=class{constructor(){this.mapListenerToWrapper=new WeakMap}on(r,e){let t=(n,...o)=>{this.validateEvent(r,n)&&e(n,...o)};return this.mapListenerToWrapper.set(e,t),Wd.ipcMain.on(r,t),this}once(r,e){return Wd.ipcMain.once(r,(t,...n)=>{this.validateEvent(r,t)&&e(t,...n)}),this}handle(r,e){return Wd.ipcMain.handle(r,(t,...n)=>this.validateEvent(r,t)?e(t,...n):Promise.reject(`Invalid channel '${r}' or sender for ipcMain.handle() usage.`)),this}removeHandler(r){return Wd.ipcMain.removeHandler(r),this}removeListener(r,e){let t=this.mapListenerToWrapper.get(e);return t&&(Wd.ipcMain.removeListener(r,t),this.mapListenerToWrapper.delete(e)),this}validateEvent(r,e){if(!r?.startsWith("vscode:"))return nt(`Refused to handle ipcMain event for channel '${r}' because the channel is unknown.`),!1;let t=e.senderFrame,n=t?.url;if(!n||n==="about:blank")return!0;let o="unknown";try{o=new URL(n).host}catch{return nt(`Refused to handle ipcMain event for channel '${r}' because of a malformed URL '${n}'.`),!1}return process.env.VSCODE_DEV&&n===process.env.DEV_WINDOW_SRC&&(o==="localhost"||o.startsWith("localhost:"))?!0:o!==Ma?(nt(`Refused to handle ipcMain event for channel '${r}' because of a bad origin of '${o}'.`),!1):t?.parent!==null?(nt(`Refused to handle ipcMain event for channel '${r}' because sender of origin '${o}' is not a main frame.`),!1):!0}},tt=new zv});import*as Ud from"os";async function Tf(){if(Ho)return;if(!F){Ho={release:Ud.release(),buildNumber:0};return}let i,r;try{let e=await import("@vscode/windows-registry"),t="SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion",n=e.GetStringRegKey("HKEY_LOCAL_MACHINE",t,"CurrentBuild");n!==void 0&&(i=parseInt(n,10),isNaN(i)&&(i=void 0));let o=e.GetDWORDRegKey("HKEY_LOCAL_MACHINE",t,"CurrentMajorVersionNumber"),s=e.GetDWORDRegKey("HKEY_LOCAL_MACHINE",t,"CurrentMinorVersionNumber");o!==void 0&&s!==void 0&&n!==void 0&&(r=`${o}.${s}.${n}`)}catch{}finally{Ho={release:r||Ud.release(),buildNumber:i||c2()}}}async function hx(){return Ho||await Tf(),Ho.release}async function _f(){return Ho||await Tf(),Ho.buildNumber}function gx(){return Ho?.release??Ud.release()}function c2(){let i=/(\d+)\.(\d+)\.(\d+)/g.exec(Ud.release());return i&&i.length===4?parseInt(i[3],10):0}var Ho,Xa=I(()=>{Z()});var vx,yx,Ix=I(()=>{vx="vscode:contextmenu",yx="vscode:onCloseContextMenu"});import{Menu as d2,MenuItem as jv}from"electron";function wx(){tt.on(vx,(i,r,e,t,n)=>{let o=bx(i,t,e);o.popup({x:n?n.x:void 0,y:n?n.y:void 0,positioningItem:n?n.positioningItem:void 0,callback:()=>{o&&i.sender.send(yx,r)}})})}function bx(i,r,e){let t=new d2;return e.forEach(n=>{let o;n.type==="separator"?o=new jv({type:n.type}):Array.isArray(n.submenu)?o=new jv({submenu:bx(i,r,n.submenu),label:n.label}):o=new jv({label:n.label,type:n.type,accelerator:n.accelerator,checked:n.checked,enabled:n.enabled,visible:n.visible,click:(s,a,l)=>i.sender.send(r,n.id,l)}),t.append(o)}),t}var Sx=I(()=>{Rn();Ix()});var kf,xx=I(()=>{kf=class{constructor(r,e){this.sender=r;this.onMessage=e}send(r){try{this.sender.send("vscode:message",r.buffer)}catch{}}disconnect(){this.sender.send("vscode:disconnect",null)}}});function Px(i,r){let e=S.fromNodeEventEmitter(tt,r,(n,o)=>({event:n,message:o})),t=S.filter(e,({event:n})=>n.sender.id===i);return S.map(t,({message:n})=>n&&H.wrap(n))}var Rf,Ex=I(()=>{Rn();ot();z();$();xi();xx();Rf=class i extends Ja{static{this.Clients=new Map}static getOnDidClientConnect(){let r=S.fromNodeEventEmitter(tt,"vscode:hello",({sender:e})=>e);return S.map(r,e=>{let t=e.id;i.Clients.get(t)?.dispose();let o=new b;i.Clients.set(t,j(()=>o.fire()));let s=Px(t,"vscode:message"),a=S.any(S.signal(Px(t,"vscode:disconnect")),o.event);return{protocol:new kf(e,s),onDidClientDisconnect:a}})}constructor(){super(i.getOnDidClientConnect())}}});var Gv,Df,Cx=I(()=>{ot();z();xi();Gv=class{constructor(r){this.port=r;this.onMessage=S.fromDOMEventEmitter(this.port,"message",e=>e.data?H.wrap(e.data):H.alloc(0)),r.start()}send(r){this.port.postMessage(r.buffer)}disconnect(){this.port.close()}},Df=class extends Qa{constructor(r,e){let t=new Gv(r);super(t,e),this.protocol=t}dispose(){this.protocol.disconnect(),super.dispose()}}});var $o,Af=I(()=>{Rn();z();Jt();Cx();$o=class extends Df{constructor(r,e){super({addEventListener:(t,n)=>r.addListener(t,n),removeEventListener:(t,n)=>r.removeListener(t,n),postMessage:t=>r.postMessage(t),start:()=>r.start(),close:()=>r.close()},e)}}});function cr(i){return Qv(i,0)}function Qv(i,r){switch(typeof i){case"object":return i===null?io(349,r):Array.isArray(i)?p2(i,r):f2(i,r);case"string":return _x(i,r);case"boolean":return u2(i,r);case"number":return io(i,r);case"undefined":return io(937,r);default:return io(617,r)}}function io(i,r){return(r<<5)-r+i|0}function u2(i,r){return io(i?433:863,r)}function _x(i,r){r=io(149417,r);for(let e=0,t=i.length;e<t;e++)r=io(i.charCodeAt(e),r);return r}function p2(i,r){return r=io(104579,r),i.reduce((e,t)=>Qv(t,e),r)}function f2(i,r){return r=io(181387,r),Object.keys(i).sort().reduce((e,t)=>(e=_x(t,e),Qv(i[t],e)),r)}function Jv(i,r,e=32){let t=e-r,n=~((1<<t)-1);return(i<<r|(n&i)>>>t)>>>0}function Nd(i,r=32){return i instanceof ArrayBuffer?rx(H.wrap(new Uint8Array(i))):(i>>>0).toString(16).padStart(r/4,"0")}var Tx,Pi=I(()=>{ot();ar();Tx=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(r){let e=r.length;if(e===0)return;let t=this._buff,n=this._buffLen,o=this._leftoverHighSurrogate,s,a;for(o!==0?(s=o,a=-1,o=0):(s=r.charCodeAt(0),a=0);;){let l=s;if(HS(s))if(a+1<e){let c=r.charCodeAt(a+1);av(c)?(a++,l=$S(s,c)):l=65533}else{o=s;break}else av(s)&&(l=65533);if(n=this._push(t,n,l),a++,a<e)s=r.charCodeAt(a);else break}this._buffLen=n,this._leftoverHighSurrogate=o}_push(r,e,t){return t<128?r[e++]=t:t<2048?(r[e++]=192|(t&1984)>>>6,r[e++]=128|(t&63)>>>0):t<65536?(r[e++]=224|(t&61440)>>>12,r[e++]=128|(t&4032)>>>6,r[e++]=128|(t&63)>>>0):(r[e++]=240|(t&1835008)>>>18,r[e++]=128|(t&258048)>>>12,r[e++]=128|(t&4032)>>>6,r[e++]=128|(t&63)>>>0),e>=64&&(this._step(),e-=64,this._totalLen+=64,r[0]=r[64],r[1]=r[65],r[2]=r[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()),Nd(this._h0)+Nd(this._h1)+Nd(this._h2)+Nd(this._h3)+Nd(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 r=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(r/4294967296),!1),this._buffDV.setUint32(60,r%4294967296,!1),this._step()}_step(){let r=i._bigBlock32,e=this._buffDV;for(let u=0;u<64;u+=4)r.setUint32(u,e.getUint32(u,!1),!1);for(let u=64;u<320;u+=4)r.setUint32(u,Jv(r.getUint32(u-12,!1)^r.getUint32(u-32,!1)^r.getUint32(u-56,!1)^r.getUint32(u-64,!1),1),!1);let t=this._h0,n=this._h1,o=this._h2,s=this._h3,a=this._h4,l,c,d;for(let u=0;u<80;u++)u<20?(l=n&o|~n&s,c=1518500249):u<40?(l=n^o^s,c=1859775393):u<60?(l=n&o|n&s|o&s,c=2400959708):(l=n^o^s,c=3395469782),d=Jv(t,5)+l+a+c+r.getUint32(u*4,!1)&4294967295,a=s,s=o,o=Jv(n,30),n=t,t=d;this._h0=this._h0+t&4294967295,this._h1=this._h1+n&4294967295,this._h2=this._h2+o&4294967295,this._h3=this._h3+s&4294967295,this._h4=this._h4+a&4294967295}}});var kx,Ya,Bd=I(()=>{ee();kx=L("encryptionService"),Ya=L("encryptionMainService")});var qr,Or,ln=I(()=>{ee();qr=L("environmentService"),Or=qr});function Rx(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 m2,h2,Yv,ZN,e7,t7,Dx=I(()=>{Ee();Gi();Z();m2=60,h2=m2*60,Yv=h2*24,ZN=Yv*7,e7=Yv*30,t7=Yv*365});function g2(i,r){return Vd(i["inspect-extensions"],i["inspect-brk-extensions"],5870,r,i.debugId,i.extensionEnvironment)}function Vd(i,r,e,t,n,o){let a=Number(r||i)||(t?null:e),l=a?!!r:!1,c;if(o)try{c=JSON.parse(o)}catch{}return{port:a,break:l,debugId:n,env:c}}var Ax,Ve,Lx=I(()=>{Dx();No();qe();Ce();Hn();wt();le();Ax=/^([^.]+\..+)[:=](.+)$/,Ve=class{constructor(r,e,t){this._args=r;this.paths=e;this.productService=t}get appRoot(){return Ae(st.asFileUri("").fsPath)}get userHome(){return P.file(this.paths.homeDir)}get userDataPath(){return this.paths.userDataDir}get appSettingsHome(){return P.file(V(this.userDataPath,"User"))}get tmpDir(){return P.file(this.paths.tmpDir)}get cacheHome(){return P.file(this.userDataPath)}get stateResource(){return he(this.appSettingsHome,"globalStorage","storage.json")}get userRoamingDataHome(){return this.appSettingsHome.with({scheme:W.vscodeUserData})}get userDataSyncHome(){return he(this.appSettingsHome,"sync")}get logsHome(){if(!this.args.logsPath){let r=Rx(new Date).replace(/-|:|\.\d+Z$/g,"");this.args.logsPath=V(this.userDataPath,"logs",r)}return P.file(this.args.logsPath)}get sync(){return this.args.sync}get workspaceStorageHome(){return he(this.appSettingsHome,"workspaceStorage")}get localHistoryHome(){return he(this.appSettingsHome,"History")}get keyboardLayoutResource(){return he(this.userRoamingDataHome,"keyboardLayout.json")}get argvResource(){let r=Zt.VSCODE_PORTABLE;return r?P.file(V(r,"argv.json")):he(this.userHome,this.productService.dataFolderName,"argv.json")}get isExtensionDevelopment(){return!!this.args.extensionDevelopmentPath}get untitledWorkspacesHome(){return P.file(V(this.userDataPath,"Workspaces"))}get builtinExtensionsPath(){let r=this.args["builtin-extensions-dir"];return r?Vr(r):_t(V(st.asFileUri("").fsPath,"..","extensions"))}get extensionsDownloadLocation(){let r=this.args["extensions-download-dir"];return r?P.file(Vr(r)):P.file(V(this.userDataPath,"CachedExtensionVSIXs"))}get extensionsPath(){let r=this.args["extensions-dir"];if(r)return Vr(r);let e=Zt.VSCODE_EXTENSIONS;if(e)return e;let t=Zt.VSCODE_PORTABLE;return t?V(t,"extensions"):he(this.userHome,this.productService.dataFolderName,"extensions").fsPath}get agentPluginsPath(){let r=this.args["agent-plugins-dir"];if(r)return Vr(r);let e=Zt.VSCODE_AGENT_PLUGINS;if(e)return e;let t=Zt.VSCODE_PORTABLE;return t?V(t,"agent-plugins"):he(this.userHome,this.productService.dataFolderName,"agent-plugins").fsPath}get extensionDevelopmentLocationURI(){let r=this.args.extensionDevelopmentPath;if(Array.isArray(r))return r.map(e=>/^[^:/?#]+?:\/\//.test(e)?P.parse(e):P.file(_t(e)))}get extensionDevelopmentKind(){return this.args.extensionDevelopmentKind?.map(r=>r==="ui"||r==="workspace"||r==="web"?r:"workspace")}get extensionTestsLocationURI(){let r=this.args.extensionTestsPath;if(r)return/^[^:/?#]+?:\/\//.test(r)?P.parse(r):P.file(_t(r))}get disableExtensions(){if(this.args["disable-extensions"])return!0;let r=this.args["disable-extension"];if(r){if(typeof r=="string")return[r];if(Array.isArray(r)&&r.length>0)return r}return!1}get skipBuiltinExtensions(){let r=Zt.VSCODE_SKIP_BUILTIN_EXTENSIONS;return r?r.split(",").map(e=>e.trim()).filter(e=>e):[]}get debugExtensionHost(){return g2(this.args,this.isBuilt)}get debugRenderer(){return!!this.args.debugRenderer}get isBuilt(){return!Zt.VSCODE_DEV}get verbose(){return!!this.args.verbose}get logLevel(){return this.args.log?.find(r=>!Ax.test(r))}get extensionLogLevel(){let r=[];for(let e of this.args.log||[]){let t=Ax.exec(e);t?.[1]&&t[2]&&r.push([t[1],t[2]])}return r.length?r:void 0}get serviceMachineIdResource(){return he(P.file(this.userDataPath),"machineid")}get crashReporterId(){return this.args["crash-reporter-id"]}get crashReporterDirectory(){return this.args["crash-reporter-directory"]}get disableTelemetry(){return!!this.args["disable-telemetry"]}get disableExperiments(){return!!this.args["disable-experiments"]}get disableWorkspaceTrust(){return!!this.args["disable-workspace-trust"]}get useInMemorySecretStorage(){return!!this.args["use-inmemory-secretstorage"]}get policyFile(){if(this.args["__enable-file-policy"]){let r=Zt.VSCODE_PORTABLE;return r?P.file(V(r,"policy.json")):he(this.userHome,this.productService.dataFolderName,"policy.json")}}get agentSessionsWorkspace(){return he(this.appSettingsHome,"agent-sessions.code-workspace")}get editSessionId(){return this.args.editSessionId}get exportPolicyData(){return this.args["export-policy-data"]}get exportDefaultKeybindings(){return this.args["export-default-keybindings"]}get continueOn(){return this.args.continueOn}set continueOn(r){this.args.continueOn=r}get args(){return this._args}};E([ce],Ve.prototype,"appRoot",1),E([ce],Ve.prototype,"userHome",1),E([ce],Ve.prototype,"userDataPath",1),E([ce],Ve.prototype,"appSettingsHome",1),E([ce],Ve.prototype,"tmpDir",1),E([ce],Ve.prototype,"cacheHome",1),E([ce],Ve.prototype,"stateResource",1),E([ce],Ve.prototype,"userRoamingDataHome",1),E([ce],Ve.prototype,"userDataSyncHome",1),E([ce],Ve.prototype,"sync",1),E([ce],Ve.prototype,"workspaceStorageHome",1),E([ce],Ve.prototype,"localHistoryHome",1),E([ce],Ve.prototype,"keyboardLayoutResource",1),E([ce],Ve.prototype,"argvResource",1),E([ce],Ve.prototype,"isExtensionDevelopment",1),E([ce],Ve.prototype,"untitledWorkspacesHome",1),E([ce],Ve.prototype,"builtinExtensionsPath",1),E([ce],Ve.prototype,"extensionsDownloadLocation",1),E([ce],Ve.prototype,"extensionsPath",1),E([ce],Ve.prototype,"agentPluginsPath",1),E([ce],Ve.prototype,"extensionDevelopmentLocationURI",1),E([ce],Ve.prototype,"extensionDevelopmentKind",1),E([ce],Ve.prototype,"extensionTestsLocationURI",1),E([ce],Ve.prototype,"debugExtensionHost",1),E([ce],Ve.prototype,"logLevel",1),E([ce],Ve.prototype,"extensionLogLevel",1),E([ce],Ve.prototype,"serviceMachineIdResource",1),E([ce],Ve.prototype,"disableTelemetry",1),E([ce],Ve.prototype,"disableExperiments",1),E([ce],Ve.prototype,"disableWorkspaceTrust",1),E([ce],Ve.prototype,"useInMemorySecretStorage",1),E([ce],Ve.prototype,"policyFile",1),E([ce],Ve.prototype,"agentSessionsWorkspace",1)});import{homedir as v2,tmpdir as y2}from"os";function Mx(i,r){return Vd(i["inspect-ptyhost"],i["inspect-brk-ptyhost"],5877,r,i.extensionEnvironment)}function Ox(i,r){return Vd(i["inspect-agenthost"],i["inspect-brk-agenthost"],5878,r,i.extensionEnvironment)}function Fx(i,r){return Vd(i["inspect-sharedprocess"],i["inspect-brk-sharedprocess"],5879,r,i.extensionEnvironment)}var Lf,Hd=I(()=>{Lx();Og();Lf=class extends Ve{constructor(r,e){super(r,{homeDir:v2(),tmpDir:y2(),userDataDir:Sp(r,e.nameShort)},e)}}});var Te,In,Dt=I(()=>{No();Ce();Z();Fd();ln();Hd();ee();Te=qr,In=class extends Lf{constructor(){super(...arguments);this._snapEnv={}}get backupHome(){return V(this.userDataPath,"Backups")}get mainIPCHandle(){return px(this.userDataPath,"main",this.productService.version)}get mainLockfile(){return V(this.userDataPath,"code.lock")}get disableUpdates(){return!!this.args["disable-updates"]}get isPortable(){return!!process.env.VSCODE_PORTABLE}get crossOriginIsolated(){return!!this.args["enable-coi"]}get enableRDPDisplayTracking(){return!!this.args["enable-rdp-display-tracking"]}get codeCachePath(){return process.env.VSCODE_CODE_CACHE_PATH||void 0}get useCodeCache(){return!!this.codeCachePath}unsetSnapExportedVariables(){if(ne){for(let e in process.env)if(e.endsWith("_VSCODE_SNAP_ORIG")){let t=e.slice(0,-17);if(this._snapEnv[t])continue;process.env[t]&&(this._snapEnv[t]=process.env[t]),process.env[e]?process.env[t]=process.env[e]:delete process.env[t]}}}restoreSnapExportedVariables(){if(ne)for(let e in this._snapEnv)process.env[e]=this._snapEnv[e],delete this._snapEnv[e]}};E([ce],In.prototype,"backupHome",1),E([ce],In.prototype,"mainIPCHandle",1),E([ce],In.prototype,"mainLockfile",1),E([ce],In.prototype,"disableUpdates",1),E([ce],In.prototype,"isPortable",1),E([ce],In.prototype,"crossOriginIsolated",1),E([ce],In.prototype,"enableRDPDisplayTracking",1),E([ce],In.prototype,"codeCachePath",1),E([ce],In.prototype,"useCodeCache",1)});function Zv(...i){switch(i.length){case 1:return h(1959,null,i[0]);case 2:return h(1960,null,i[0],i[1]);case 3:return h(1961,null,i[0],i[1],i[2]);default:return}}var I2,w2,qo,Wx=I(()=>{zn();He();Ee();I2=h(1958,null),w2=h(1957,null),qo=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(r){switch(r.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return r.isTripleEq?"===":"==";case 4:return r.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:return">=";case 8:return">=";case 9:return"=~";case 10:return r.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 r.lexeme;case 18:return r.lexeme;case 19:return r.lexeme;case 20:return"EOF";default:throw Up(`unhandled token type: ${JSON.stringify(r)}; have you forgotten to add a case?`)}}static{this._regexFlags=new Set(["i","g","s","m","y","u"].map(r=>r.charCodeAt(0)))}static{this._keywords=new Map([["not",14],["in",13],["false",12],["true",11]])}get errors(){return this._errors}reset(r){return this._input=r,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(Zv("==","=~"));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(Zv("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(Zv("||"));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(r){return this._isAtEnd()||this._input.charCodeAt(this._current)!==r?!1:(this._current++,!0)}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(r){this._tokens.push({type:r,offset:this._start})}_error(r){let e=this._start,t=this._input.substring(this._start,this._current),n={type:19,offset:this._start,lexeme:t};this._errors.push({offset:e,lexeme:t,additionalInfo:r}),this._tokens.push(n)}_string(){this.stringRe.lastIndex=this._start;let r=this.stringRe.exec(this._input);if(r){this._current=this._start+r[0].length;let e=this._input.substring(this._start,this._current),t=i._keywords.get(e);t?this._addToken(t):this._tokens.push({type:17,lexeme:e,offset:this._start})}}_quotedString(){for(;this._peek()!==39&&!this._isAtEnd();)this._advance();if(this._isAtEnd()){this._error(I2);return}this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1})}_regex(){let r=this._current,e=!1,t=!1;for(;;){if(r>=this._input.length){this._current=r,this._error(w2);return}let o=this._input.charCodeAt(r);if(e)e=!1;else if(o===47&&!t){r++;break}else o===91?t=!0:o===92?e=!0:o===93&&(t=!1);r++}for(;r<this._input.length&&i._regexFlags.has(this._input.charCodeAt(r));)r++;this._current=r;let n=this._input.substring(this._start,this._current);this._tokens.push({type:10,lexeme:n,offset:this._start})}_isAtEnd(){return this._current>=this._input.length}}});function $d(i,r){return i.cmp(r)}function Uf(i,r){if(typeof i=="string"){let e=parseFloat(i);isNaN(e)||(i=e)}return typeof i=="string"||typeof i=="number"?r(i):Cr.INSTANCE}function Bx(i){let r=null;for(let e=0,t=i.length;e<t;e++){let n=i[e].substituteConstants();if(i[e]!==n&&r===null){r=[];for(let o=0;o<e;o++)r[o]=i[o]}r!==null&&(r[e]=n)}return r===null?i:r}function Vx(i,r){return i<r?-1:i>r?1:0}function Bs(i,r,e,t){return i<e?-1:i>e?1:r<t?-1:r>t?1:0}function Nx(i){return i.type===9?i.expr:[i]}var dr,b2,S2,x2,P2,E2,Ux,C2,T2,_2,k2,ey,vr,Cr,Fr,Us,qd,Mf,Of,Kd,Ns,Za,zd,jd,Gd,Jd,ty,Ff,Qd,Wf,V7,Hx=I(()=>{zn();Z();ar();Wx();ee();Ee();He();dr=new Map;dr.set("false",!1);dr.set("true",!0);dr.set("isMac",N);dr.set("isLinux",ne);dr.set("isWindows",F);dr.set("isWeb",Dr);dr.set("isMacNative",N&&!Dr);dr.set("isEdge",Jb);dr.set("isFirefox",jb);dr.set("isChrome",Bg);dr.set("isSafari",Gb);b2=Object.prototype.hasOwnProperty,S2={regexParsingWithErrorRecovery:!0},x2=h(1938,null),P2=h(1939,null),E2=h(1941,null),Ux=h(1937,null),C2=h(1944,null),T2=h(1945,null),_2=h(1942,null),k2=h(1943,null),ey=class i{constructor(r=S2){this._config=r;this._scanner=new qo;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(r){if(r===""){this._parsingErrors.push({message:x2,offset:0,lexeme:"",additionalInfo:P2});return}this._tokens=this._scanner.reset(r).scan(),this._current=0,this._parsingErrors=[];try{let e=this._expr();if(!this._isAtEnd()){let t=this._peek(),n=t.type===17?T2:void 0;throw this._parsingErrors.push({message:C2,offset:t.offset,lexeme:qo.getLexeme(t),additionalInfo:n}),i._parseError}return e}catch(e){if(e!==i._parseError)throw e;return}}_expr(){return this._or()}_or(){let r=[this._and()];for(;this._matchOne(16);){let e=this._and();r.push(e)}return r.length===1?r[0]:vr.or(...r)}_and(){let r=[this._term()];for(;this._matchOne(15);){let e=this._term();r.push(e)}return r.length===1?r[0]:vr.and(...r)}_term(){if(this._matchOne(2)){let r=this._peek();switch(r.type){case 11:return this._advance(),Cr.INSTANCE;case 12:return this._advance(),Fr.INSTANCE;case 0:{this._advance();let e=this._expr();return this._consume(1,Ux),e?.negate()}case 17:return this._advance(),Ns.create(r.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",r)}}return this._primary()}_primary(){let r=this._peek();switch(r.type){case 11:return this._advance(),vr.true();case 12:return this._advance(),vr.false();case 0:{this._advance();let e=this._expr();return this._consume(1,Ux),e}case 17:{let e=r.lexeme;if(this._advance(),this._matchOne(9)){let n=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),n.type!==10)throw this._errExpectedButGot("REGEX",n);let o=n.lexeme,s=o.lastIndexOf("/"),a=s===o.length-1?void 0:this._removeFlagsGY(o.substring(s+1)),l;try{l=new RegExp(o.substring(1,s),a)}catch{throw this._errExpectedButGot("REGEX",n)}return Jd.create(e,l)}switch(n.type){case 10:case 19:{let o=[n.lexeme];this._advance();let s=this._peek(),a=0;for(let f=0;f<n.lexeme.length;f++)n.lexeme.charCodeAt(f)===40?a++:n.lexeme.charCodeAt(f)===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 f=0;f<s.lexeme.length;f++)s.lexeme.charCodeAt(f)===40?a++:n.lexeme.charCodeAt(f)===41&&a--}if(a<0)break;o.push(qo.getLexeme(s)),this._advance(),s=this._peek()}let l=o.join(""),c=l.lastIndexOf("/"),d=c===l.length-1?void 0:this._removeFlagsGY(l.substring(c+1)),u;try{u=new RegExp(l.substring(1,c),d)}catch{throw this._errExpectedButGot("REGEX",n)}return vr.regex(e,u)}case 18:{let o=n.lexeme;this._advance();let s=null;if(!NS(o)){let a=o.indexOf("/"),l=o.lastIndexOf("/");if(a!==l&&a>=0){let c=o.slice(a+1,l),d=o[l+1]==="i"?"i":"";try{s=new RegExp(c,d)}catch{throw this._errExpectedButGot("REGEX",n)}}}if(s===null)throw this._errExpectedButGot("REGEX",n);return Jd.create(e,s)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,E2);let n=this._value();return vr.notIn(e,n)}switch(this._peek().type){case 3:{this._advance();let n=this._value();if(this._previous().type===18)return vr.equals(e,n);switch(n){case"true":return vr.has(e);case"false":return vr.not(e);default:return vr.equals(e,n)}}case 4:{this._advance();let n=this._value();if(this._previous().type===18)return vr.notEquals(e,n);switch(n){case"true":return vr.not(e);case"false":return vr.has(e);default:return vr.notEquals(e,n)}}case 5:return this._advance(),jd.create(e,this._value());case 6:return this._advance(),Gd.create(e,this._value());case 7:return this._advance(),Za.create(e,this._value());case 8:return this._advance(),zd.create(e,this._value());case 13:return this._advance(),vr.in(e,this._value());default:return vr.has(e)}}case 20:throw this._parsingErrors.push({message:_2,offset:r.offset,lexeme:"",additionalInfo:k2}),i._parseError;default:throw this._errExpectedButGot(`true | false | KEY 
	| KEY '=~' REGEX 
	| KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value`,this._peek())}}_value(){let r=this._peek();switch(r.type){case 17:case 18:return this._advance(),r.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(r){return r.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(r){return this._check(r)?(this._advance(),!0):!1}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(r,e){if(this._check(r))return this._advance();throw this._errExpectedButGot(e,this._peek())}_errExpectedButGot(r,e,t){let n=h(1940,null,r,qo.getLexeme(e)),o=e.offset,s=qo.getLexeme(e);return this._parsingErrors.push({message:n,offset:o,lexeme:s,additionalInfo:t}),i._parseError}_check(r){return this._peek().type===r}_peek(){return this._tokens[this._current]}_isAtEnd(){return this._peek().type===20}},vr=class{static false(){return Cr.INSTANCE}static true(){return Fr.INSTANCE}static has(r){return Us.create(r)}static equals(r,e){return qd.create(r,e)}static notEquals(r,e){return Kd.create(r,e)}static regex(r,e){return Jd.create(r,e)}static in(r,e){return Mf.create(r,e)}static notIn(r,e){return Of.create(r,e)}static not(r){return Ns.create(r)}static and(...r){return Ff.create(r,null,!0)}static or(...r){return Qd.create(r,null,!0)}static greater(r,e){return Za.create(r,e)}static greaterEquals(r,e){return zd.create(r,e)}static smaller(r,e){return jd.create(r,e)}static smallerEquals(r,e){return Gd.create(r,e)}static{this._parser=new ey({regexParsingWithErrorRecovery:!1})}static deserialize(r){return r==null?void 0:this._parser.parse(r)}};Cr=class i{constructor(){this.type=0}static{this.INSTANCE=new i}cmp(r){return this.type-r.type}equals(r){return r.type===this.type}substituteConstants(){return this}evaluate(r){return!1}serialize(){return"false"}keys(){return[]}map(r){return this}negate(){return Fr.INSTANCE}},Fr=class i{constructor(){this.type=1}static{this.INSTANCE=new i}cmp(r){return this.type-r.type}equals(r){return r.type===this.type}substituteConstants(){return this}evaluate(r){return!0}serialize(){return"true"}keys(){return[]}map(r){return this}negate(){return Cr.INSTANCE}},Us=class i{constructor(r,e){this.key=r;this.negated=e;this.type=2}static create(r,e=null){let t=dr.get(r);return typeof t=="boolean"?t?Fr.INSTANCE:Cr.INSTANCE:new i(r,e)}cmp(r){return r.type!==this.type?this.type-r.type:Vx(this.key,r.key)}equals(r){return r.type===this.type?this.key===r.key:!1}substituteConstants(){let r=dr.get(this.key);return typeof r=="boolean"?r?Fr.INSTANCE:Cr.INSTANCE:this}evaluate(r){return!!r.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}map(r){return r.mapDefined(this.key)}negate(){return this.negated||(this.negated=Ns.create(this.key,this)),this.negated}},qd=class i{constructor(r,e,t){this.key=r;this.value=e;this.negated=t;this.type=4}static create(r,e,t=null){if(typeof e=="boolean")return e?Us.create(r,t):Ns.create(r,t);let n=dr.get(r);return typeof n=="boolean"?e===(n?"true":"false")?Fr.INSTANCE:Cr.INSTANCE:new i(r,e,t)}cmp(r){return r.type!==this.type?this.type-r.type:Bs(this.key,this.value,r.key,r.value)}equals(r){return r.type===this.type?this.key===r.key&&this.value===r.value:!1}substituteConstants(){let r=dr.get(this.key);if(typeof r=="boolean"){let e=r?"true":"false";return this.value===e?Fr.INSTANCE:Cr.INSTANCE}return this}evaluate(r){return r.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}map(r){return r.mapEquals(this.key,this.value)}negate(){return this.negated||(this.negated=Kd.create(this.key,this.value,this)),this.negated}},Mf=class i{constructor(r,e){this.key=r;this.valueKey=e;this.type=10;this.negated=null}static create(r,e){return new i(r,e)}cmp(r){return r.type!==this.type?this.type-r.type:Bs(this.key,this.valueKey,r.key,r.valueKey)}equals(r){return r.type===this.type?this.key===r.key&&this.valueKey===r.valueKey:!1}substituteConstants(){return this}evaluate(r){let e=r.getValue(this.valueKey),t=r.getValue(this.key);if(Array.isArray(e)){if(e.includes(t))return!0;if(F&&typeof t=="string"&&t.startsWith("file:///")){let n=t.toLowerCase();return e.some(o=>typeof o=="string"&&o.toLowerCase()===n)}return!1}if(typeof t=="string"&&typeof e=="object"&&e!==null){if(b2.call(e,t))return!0;if(F&&t.startsWith("file:///")){let n=t.toLowerCase();return Object.keys(e).some(o=>o.toLowerCase()===n)}return!1}return!1}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}map(r){return r.mapIn(this.key,this.valueKey)}negate(){return this.negated||(this.negated=Of.create(this.key,this.valueKey)),this.negated}},Of=class i{constructor(r,e){this.key=r;this.valueKey=e;this.type=11;this._negated=Mf.create(r,e)}static create(r,e){return new i(r,e)}cmp(r){return r.type!==this.type?this.type-r.type:this._negated.cmp(r._negated)}equals(r){return r.type===this.type?this._negated.equals(r._negated):!1}substituteConstants(){return this}evaluate(r){return!this._negated.evaluate(r)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}map(r){return r.mapNotIn(this.key,this.valueKey)}negate(){return this._negated}},Kd=class i{constructor(r,e,t){this.key=r;this.value=e;this.negated=t;this.type=5}static create(r,e,t=null){if(typeof e=="boolean")return e?Ns.create(r,t):Us.create(r,t);let n=dr.get(r);return typeof n=="boolean"?e===(n?"true":"false")?Cr.INSTANCE:Fr.INSTANCE:new i(r,e,t)}cmp(r){return r.type!==this.type?this.type-r.type:Bs(this.key,this.value,r.key,r.value)}equals(r){return r.type===this.type?this.key===r.key&&this.value===r.value:!1}substituteConstants(){let r=dr.get(this.key);if(typeof r=="boolean"){let e=r?"true":"false";return this.value===e?Cr.INSTANCE:Fr.INSTANCE}return this}evaluate(r){return r.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}map(r){return r.mapNotEquals(this.key,this.value)}negate(){return this.negated||(this.negated=qd.create(this.key,this.value,this)),this.negated}},Ns=class i{constructor(r,e){this.key=r;this.negated=e;this.type=3}static create(r,e=null){let t=dr.get(r);return typeof t=="boolean"?t?Cr.INSTANCE:Fr.INSTANCE:new i(r,e)}cmp(r){return r.type!==this.type?this.type-r.type:Vx(this.key,r.key)}equals(r){return r.type===this.type?this.key===r.key:!1}substituteConstants(){let r=dr.get(this.key);return typeof r=="boolean"?r?Cr.INSTANCE:Fr.INSTANCE:this}evaluate(r){return!r.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}map(r){return r.mapNot(this.key)}negate(){return this.negated||(this.negated=Us.create(this.key,this)),this.negated}};Za=class i{constructor(r,e,t){this.key=r;this.value=e;this.negated=t;this.type=12}static create(r,e,t=null){return Uf(e,n=>new i(r,n,t))}cmp(r){return r.type!==this.type?this.type-r.type:Bs(this.key,this.value,r.key,r.value)}equals(r){return r.type===this.type?this.key===r.key&&this.value===r.value:!1}substituteConstants(){return this}evaluate(r){return typeof this.value=="string"?!1:parseFloat(r.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}map(r){return r.mapGreater(this.key,this.value)}negate(){return this.negated||(this.negated=Gd.create(this.key,this.value,this)),this.negated}},zd=class i{constructor(r,e,t){this.key=r;this.value=e;this.negated=t;this.type=13}static create(r,e,t=null){return Uf(e,n=>new i(r,n,t))}cmp(r){return r.type!==this.type?this.type-r.type:Bs(this.key,this.value,r.key,r.value)}equals(r){return r.type===this.type?this.key===r.key&&this.value===r.value:!1}substituteConstants(){return this}evaluate(r){return typeof this.value=="string"?!1:parseFloat(r.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}map(r){return r.mapGreaterEquals(this.key,this.value)}negate(){return this.negated||(this.negated=jd.create(this.key,this.value,this)),this.negated}},jd=class i{constructor(r,e,t){this.key=r;this.value=e;this.negated=t;this.type=14}static create(r,e,t=null){return Uf(e,n=>new i(r,n,t))}cmp(r){return r.type!==this.type?this.type-r.type:Bs(this.key,this.value,r.key,r.value)}equals(r){return r.type===this.type?this.key===r.key&&this.value===r.value:!1}substituteConstants(){return this}evaluate(r){return typeof this.value=="string"?!1:parseFloat(r.getValue(this.key))<this.value}serialize(){return`${this.key} < ${this.value}`}keys(){return[this.key]}map(r){return r.mapSmaller(this.key,this.value)}negate(){return this.negated||(this.negated=zd.create(this.key,this.value,this)),this.negated}},Gd=class i{constructor(r,e,t){this.key=r;this.value=e;this.negated=t;this.type=15}static create(r,e,t=null){return Uf(e,n=>new i(r,n,t))}cmp(r){return r.type!==this.type?this.type-r.type:Bs(this.key,this.value,r.key,r.value)}equals(r){return r.type===this.type?this.key===r.key&&this.value===r.value:!1}substituteConstants(){return this}evaluate(r){return typeof this.value=="string"?!1:parseFloat(r.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}map(r){return r.mapSmallerEquals(this.key,this.value)}negate(){return this.negated||(this.negated=Za.create(this.key,this.value,this)),this.negated}},Jd=class i{constructor(r,e){this.key=r;this.regexp=e;this.type=7;this.negated=null}static create(r,e){return new i(r,e)}cmp(r){if(r.type!==this.type)return this.type-r.type;if(this.key<r.key)return-1;if(this.key>r.key)return 1;let e=this.regexp?this.regexp.source:"",t=r.regexp?r.regexp.source:"";return e<t?-1:e>t?1:0}equals(r){if(r.type===this.type){let e=this.regexp?this.regexp.source:"",t=r.regexp?r.regexp.source:"";return this.key===r.key&&e===t}return!1}substituteConstants(){return this}evaluate(r){let e=r.getValue(this.key);return this.regexp?this.regexp.test(e):!1}serialize(){let r=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/";return`${this.key} =~ ${r}`}keys(){return[this.key]}map(r){return r.mapRegex(this.key,this.regexp)}negate(){return this.negated||(this.negated=ty.create(this)),this.negated}},ty=class i{constructor(r){this._actual=r;this.type=8}static create(r){return new i(r)}cmp(r){return r.type!==this.type?this.type-r.type:this._actual.cmp(r._actual)}equals(r){return r.type===this.type?this._actual.equals(r._actual):!1}substituteConstants(){return this}evaluate(r){return!this._actual.evaluate(r)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}map(r){return new i(this._actual.map(r))}negate(){return this._actual}};Ff=class i{constructor(r,e){this.expr=r;this.negated=e;this.type=6}static create(r,e,t){return i._normalizeArr(r,e,t)}cmp(r){if(r.type!==this.type)return this.type-r.type;if(this.expr.length<r.expr.length)return-1;if(this.expr.length>r.expr.length)return 1;for(let e=0,t=this.expr.length;e<t;e++){let n=$d(this.expr[e],r.expr[e]);if(n!==0)return n}return 0}equals(r){if(r.type===this.type){if(this.expr.length!==r.expr.length)return!1;for(let e=0,t=this.expr.length;e<t;e++)if(!this.expr[e].equals(r.expr[e]))return!1;return!0}return!1}substituteConstants(){let r=Bx(this.expr);return r===this.expr?this:i.create(r,this.negated,!1)}evaluate(r){for(let e=0,t=this.expr.length;e<t;e++)if(!this.expr[e].evaluate(r))return!1;return!0}static _normalizeArr(r,e,t){let n=[],o=!1;for(let s of r)if(s){if(s.type===1){o=!0;continue}if(s.type===0)return Cr.INSTANCE;if(s.type===6){n.push(...s.expr);continue}n.push(s)}if(n.length===0&&o)return Fr.INSTANCE;if(n.length!==0){if(n.length===1)return n[0];n.sort($d);for(let s=1;s<n.length;s++)n[s-1].equals(n[s])&&(n.splice(s,1),s--);if(n.length===1)return n[0];for(;n.length>1;){let s=n[n.length-1];if(s.type!==9)break;n.pop();let a=n.pop(),l=n.length===0,c=Qd.create(s.expr.map(d=>i.create([d,a],null,t)),null,l);c&&(n.push(c),n.sort($d))}if(n.length===1)return n[0];if(t){for(let s=0;s<n.length;s++)for(let a=s+1;a<n.length;a++)if(n[s].negate().equals(n[a]))return Cr.INSTANCE;if(n.length===1)return n[0]}return new i(n,e)}}serialize(){return this.expr.map(r=>r.serialize()).join(" && ")}keys(){let r=[];for(let e of this.expr)r.push(...e.keys());return r}map(r){return new i(this.expr.map(e=>e.map(r)),null)}negate(){if(!this.negated){let r=[];for(let e of this.expr)r.push(e.negate());this.negated=Qd.create(r,this,!0)}return this.negated}},Qd=class i{constructor(r,e){this.expr=r;this.negated=e;this.type=9}static create(r,e,t){return i._normalizeArr(r,e,t)}cmp(r){if(r.type!==this.type)return this.type-r.type;if(this.expr.length<r.expr.length)return-1;if(this.expr.length>r.expr.length)return 1;for(let e=0,t=this.expr.length;e<t;e++){let n=$d(this.expr[e],r.expr[e]);if(n!==0)return n}return 0}equals(r){if(r.type===this.type){if(this.expr.length!==r.expr.length)return!1;for(let e=0,t=this.expr.length;e<t;e++)if(!this.expr[e].equals(r.expr[e]))return!1;return!0}return!1}substituteConstants(){let r=Bx(this.expr);return r===this.expr?this:i.create(r,this.negated,!1)}evaluate(r){for(let e=0,t=this.expr.length;e<t;e++)if(this.expr[e].evaluate(r))return!0;return!1}static _normalizeArr(r,e,t){let n=[],o=!1;if(r){for(let s=0,a=r.length;s<a;s++){let l=r[s];if(l){if(l.type===0){o=!0;continue}if(l.type===1)return Fr.INSTANCE;if(l.type===9){n=n.concat(l.expr);continue}n.push(l)}}if(n.length===0&&o)return Cr.INSTANCE;n.sort($d)}if(n.length!==0){if(n.length===1)return n[0];for(let s=1;s<n.length;s++)n[s-1].equals(n[s])&&(n.splice(s,1),s--);if(n.length===1)return n[0];if(t){for(let s=0;s<n.length;s++)for(let a=s+1;a<n.length;a++)if(n[s].negate().equals(n[a]))return Fr.INSTANCE;if(n.length===1)return n[0]}return new i(n,e)}}serialize(){return this.expr.map(r=>r.serialize()).join(" || ")}keys(){let r=[];for(let e of this.expr)r.push(...e.keys());return r}map(r){return new i(this.expr.map(e=>e.map(r)),null)}negate(){if(!this.negated){let r=[];for(let e of this.expr)r.push(e.negate());for(;r.length>1;){let e=r.shift(),t=r.shift(),n=[];for(let o of Nx(e))for(let s of Nx(t))n.push(Ff.create([o,s],null,!1));r.unshift(i.create(n,null,!1))}this.negated=i.create(r,this,!0)}return this.negated}},Wf=class i extends Us{static{this._info=[]}static all(){return i._info.values()}constructor(r,e,t){super(r,null),this._defaultValue=e,typeof t=="object"?i._info.push({...t,key:r}):t!==!0&&i._info.push({key:r,description:t,type:e!=null?typeof e:void 0})}bindTo(r){return r.createKey(this.key,this._defaultValue)}getValue(r){return r.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(r){return qd.create(this.key,r)}notEqualsTo(r){return Kd.create(this.key,r)}greater(r){return Za.create(this.key,r)}},V7=L("contextKeyService")});function Ei(){return new Date().toISOString()}function Zd(i){return Kn(i)}function R2(i,r){return i!==0&&i<=r}function tu(i,r,e){switch(r){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 ${r}`)}}function el(i,r=!1){let e="";for(let t=0;t<i.length;t++){let n=i[t];if(n instanceof Error&&(n=Er(n,r)),typeof n=="object")try{n=JSON.stringify(n)}catch{}e+=(t>0?" ":"")+n}return e}function $x(i){if(i.verbose)return 1;if(typeof i.logLevel=="string"){let r=A2(i.logLevel.toLowerCase());if(r!==void 0)return r}return eu}function D2(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"}}function A2(i){switch(i){case"trace":return 1;case"debug":return 2;case"info":return 3;case"warn":return 4;case"error":return 5;case"critical":return 5;case"off":return 0}}var U,cn,eu,Xd,Vs,Nf,Bf,Yd,ry,Vf,n9,re=I(()=>{Ee();Wo();z();Pi();$();xr();Z();wt();Le();le();Hx();ee();U=L("logService"),cn=L("loggerService");eu=3;Xd=class extends T{constructor(){super(...arguments);this.level=eu;this._onDidChangeLogLevel=this._register(new b)}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 R2(this.level,e)}canLog(e){return this._store.isDisposed?!1:this.checkLogLevel(e)}},Vs=class extends Xd{constructor(e){super();this.logAlways=e}checkLogLevel(e){return this.logAlways||super.checkLogLevel(e)}trace(e,...t){this.canLog(1)&&this.log(1,el([e,...t],!0))}debug(e,...t){this.canLog(2)&&this.log(2,el([e,...t]))}info(e,...t){this.canLog(3)&&this.log(3,el([e,...t]))}warn(e,...t){this.canLog(4)&&this.log(4,el([e,...t]))}error(e,...t){if(this.canLog(5))if(e instanceof Error){let n=Array.prototype.slice.call(arguments);n[0]=e.stack,this.log(5,el(n))}else this.log(5,el([e,...t]))}flush(){}},Nf=class extends Xd{constructor(r=eu){super(),this.setLevel(r),this.useColors=!F}trace(r,...e){this.canLog(1)&&(this.useColors?console.log(`\x1B[90m[main ${Ei()}]\x1B[0m`,r,...e):console.log(`[main ${Ei()}]`,r,...e))}debug(r,...e){this.canLog(2)&&(this.useColors?console.log(`\x1B[90m[main ${Ei()}]\x1B[0m`,r,...e):console.log(`[main ${Ei()}]`,r,...e))}info(r,...e){this.canLog(3)&&(this.useColors?console.log(`\x1B[90m[main ${Ei()}]\x1B[0m`,r,...e):console.log(`[main ${Ei()}]`,r,...e))}warn(r,...e){this.canLog(4)&&(this.useColors?console.warn(`\x1B[93m[main ${Ei()}]\x1B[0m`,r,...e):console.warn(`[main ${Ei()}]`,r,...e))}error(r,...e){this.canLog(5)&&(this.useColors?console.error(`\x1B[91m[main ${Ei()}]\x1B[0m`,r,...e):console.error(`[main ${Ei()}]`,r,...e))}flush(){}},Bf=class extends Xd{constructor(e){super();this.loggers=e;e.length&&this.setLevel(e[0].getLevel())}setLevel(e){for(let t of this.loggers)t.setLevel(e);super.setLevel(e)}trace(e,...t){for(let n of this.loggers)n.trace(e,...t)}debug(e,...t){for(let n of this.loggers)n.debug(e,...t)}info(e,...t){for(let n of this.loggers)n.info(e,...t)}warn(e,...t){for(let n of this.loggers)n.warn(e,...t)}error(e,...t){for(let n of this.loggers)n.error(e,...t)}flush(){for(let e of this.loggers)e.flush()}dispose(){for(let e of this.loggers)e.dispose();super.dispose()}},Yd=class extends T{constructor(e,t,n){super();this.logLevel=e;this.logsHome=t;this._loggers=new mt;this._onDidChangeLoggers=this._register(new b);this.onDidChangeLoggers=this._onDidChangeLoggers.event;this._onDidChangeLogLevel=this._register(new b);this.onDidChangeLogLevel=this._onDidChangeLogLevel.event;this._onDidChangeVisibility=this._register(new b);this.onDidChangeVisibility=this._onDidChangeVisibility.event;if(n)for(let o of n)this._loggers.set(o.resource,{logger:void 0,info:o})}getLoggerEntry(e){return Oe(e)?[...this._loggers.values()].find(t=>t.info.id===e):this._loggers.get(e)}getLogger(e){return this.getLoggerEntry(e)?.logger}createLogger(e,t){let n=this.toResource(e),o=Oe(e)?e:t?.id??cr(n.toString()).toString(16),s=this._loggers.get(n)?.logger,a=t?.logLevel==="always"?1:t?.logLevel;s||(s=this.doCreateLogger(n,a??this.getLogLevel(n)??this.logLevel,{...t,id:o}));let l={logger:s,info:{resource:n,id:o,logLevel:a,name:t?.name,hidden:t?.hidden,group:t?.group,extensionId:t?.extensionId,when:t?.when}};return this.registerLogger(l.info),this._loggers.set(n,l),s}toResource(e){return Oe(e)?he(this.logsHome,`${e.replace(/[\\/:\*\?"<>\|]/g,"")}.log`):e}setLogLevel(e,t){if(P.isUri(e)){let n=e,o=t,s=this._loggers.get(n);s&&o!==s.info.logLevel&&(s.info.logLevel=o===this.logLevel?void 0:o,s.logger?.setLevel(o),this._loggers.set(s.info.resource,s),this._onDidChangeLogLevel.fire([n,o]))}else{this.logLevel=e;for(let[n,o]of this._loggers.entries())this._loggers.get(n)?.info.logLevel===void 0&&o.logger?.setLevel(this.logLevel);this._onDidChangeLogLevel.fire(this.logLevel)}}setVisibility(e,t){let n=this.getLoggerEntry(e);n&&t!==!n.info.hidden&&(n.info.hidden=!t,this._loggers.set(n.info.resource,n),this._onDidChangeVisibility.fire([n.info.resource,t]))}getLogLevel(e){let t;return e&&(t=this._loggers.get(e)?.info.logLevel),t??this.logLevel}registerLogger(e){let t=this._loggers.get(e.resource);t?t.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 t=this.toResource(e),n=this._loggers.get(t);n&&(n.logger&&n.logger.dispose(),this._loggers.delete(t),this._onDidChangeLoggers.fire({added:[],removed:[n.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()}},ry=class{constructor(){this.onDidChangeLogLevel=new b().event}setLevel(r){}getLevel(){return 3}trace(r,...e){}debug(r,...e){}info(r,...e){}warn(r,...e){}error(r,...e){}critical(r,...e){}dispose(){}flush(){}},Vf=class extends ry{};n9=new Wf("logLevel",D2(3))});var Zn,oo,ny=I(()=>{ge();z();$();Cd();Le();Zn=class i extends T{constructor(e,t=Object.create(null)){super();this.database=e;this.options=t;this._onDidChangeStorage=this._register(new Ts);this.onDidChangeStorage=this._onDidChangeStorage.event;this.state=0;this.cache=new Map;this.flushDelayer=this._register(new Pr(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((t,n)=>this.acceptExternal(n,t)),e.deleted?.forEach(t=>this.acceptExternal(t,void 0))}finally{this._onDidChangeStorage.resume()}}acceptExternal(e,t){if(this.state===2)return;let n=!1;Ut(t)?n=this.cache.delete(e):this.cache.get(e)!==t&&(this.cache.set(e,t),n=!0),n&&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,t){let n=this.cache.get(e);return Ut(n)?t:n}getBoolean(e,t){let n=this.get(e);return Ut(n)?t:n==="true"}getNumber(e,t){let n=this.get(e);return Ut(n)?t:parseInt(n,10)}getObject(e,t){let n=this.get(e);return Ut(n)?t:ox(n)}async set(e,t,n=!1){if(this.state===2)return;if(Ut(t))return this.delete(e,n);let o=je(t)||Array.isArray(t)?ix(t):String(t);if(this.cache.get(e)!==o)return this.cache.set(e,o),this.pendingInserts.set(e,o),this.pendingDeletes.delete(e),this._onDidChangeStorage.fire({key:e,external:n}),this.doFlush()}async delete(e,t=!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:t}),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}},oo=class{constructor(){this.onDidChangeItemsExternal=S.None;this.items=new Map}async getItems(){return this.items}async updateItems(r){r.insert?.forEach((e,t)=>this.items.set(t,e)),r.delete?.forEach(e=>this.items.delete(e))}async optimize(){}async close(){}}});var iy,oy,Hf,sy,so,tl,Kr,Hs=I(()=>{zt();Ea();zn();ar();iy=class{constructor(){this._value="";this._pos=0}reset(r){return this._value=r,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos<this._value.length-1}cmp(r){let e=r.charCodeAt(0),t=this._value.charCodeAt(this._pos);return e-t}value(){return this._value[this._pos]}},oy=class{constructor(r=!0){this._caseSensitive=r}reset(r){return this._value=r,this._from=0,this._to=0,this.next()}hasNext(){return this._to<this._value.length}next(){this._from=this._to;let r=!0;for(;this._to<this._value.length;this._to++)if(this._value.charCodeAt(this._to)===46)if(r)this._from++;else break;else r=!1;return this}cmp(r){return this._caseSensitive?jp(r,this._value,0,r.length,this._from,this._to):_s(r,this._value,0,r.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}},Hf=class{constructor(r=!0,e=!0){this._splitOnBackslash=r;this._caseSensitive=e}reset(r){this._from=0,this._to=0,this._value=r,this._valueLen=r.length;for(let e=r.length-1;e>=0;e--,this._valueLen--){let t=this._value.charCodeAt(e);if(!(t===47||this._splitOnBackslash&&t===92))break}return this.next()}hasNext(){return this._to<this._valueLen}next(){this._from=this._to;let r=!0;for(;this._to<this._valueLen;this._to++){let e=this._value.charCodeAt(this._to);if(e===47||this._splitOnBackslash&&e===92)if(r)this._from++;else break;else r=!1}return this}cmp(r){return this._caseSensitive?jp(r,this._value,0,r.length,this._from,this._to):_s(r,this._value,0,r.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}},sy=class{constructor(r,e){this._ignorePathCasing=r;this._ignoreQueryAndFragment=e;this._states=[];this._stateIdx=0}reset(r){return this._value=r,this._states=[],this._value.scheme&&this._states.push(1),this._value.authority&&this._states.push(2),this._value.path&&(this._pathIterator=new Hf(!1,!this._ignorePathCasing(r)),this._pathIterator.reset(r.path),this._pathIterator.value()&&this._states.push(3)),this._ignoreQueryAndFragment(r)||(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(r){if(this._states[this._stateIdx]===1)return ad(r,this._value.scheme);if(this._states[this._stateIdx]===2)return ad(r,this._value.authority);if(this._states[this._stateIdx]===3)return this._pathIterator.cmp(r);if(this._states[this._stateIdx]===4)return sd(r,this._value.query);if(this._states[this._stateIdx]===5)return sd(r,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}},so=class i{static{this.Val=Symbol("undefined_placeholder")}static wrap(r){return r===void 0?i.Val:r}static unwrap(r){return r===i.Val?void 0:r}},tl=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 r=this.right;return this.right=r.left,r.left=this,this.updateHeight(),r.updateHeight(),r}rotateRight(){let r=this.left;return this.left=r.right,r.right=this,this.updateHeight(),r.updateHeight(),r}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}},Kr=class i{static forUris(r=()=>!1,e=()=>!1){return new i(new sy(r,e))}static forPaths(r=!1){return new i(new Hf(void 0,!r))}static forStrings(){return new i(new iy)}static forConfigKeys(){return new i(new oy)}constructor(r){this._iter=r}clear(){this._root=void 0}fill(r,e){if(e){let t=e.slice(0);jg(t);for(let n of t)this.set(n,r)}else{let t=r.slice(0);jg(t);for(let n of t)this.set(n[0],n[1])}}set(r,e){let t=this._iter.reset(r),n;this._root||(this._root=new tl,this._root.segment=t.value());let o=[];for(n=this._root;;){let a=t.cmp(n.segment);if(a>0)n.left||(n.left=new tl,n.left.segment=t.value()),o.push([-1,n]),n=n.left;else if(a<0)n.right||(n.right=new tl,n.right.segment=t.value()),o.push([1,n]),n=n.right;else if(t.hasNext())t.next(),n.mid||(n.mid=new tl,n.mid.segment=t.value()),o.push([0,n]),n=n.mid;else break}let s=so.unwrap(n.value);n.value=so.wrap(e),n.key=r;for(let a=o.length-1;a>=0;a--){let l=o[a][1];l.updateHeight();let c=l.balanceFactor();if(c<-1||c>1){let d=o[a][0],u=o[a+1][0];if(d===1&&u===1)o[a][1]=l.rotateLeft();else if(d===-1&&u===-1)o[a][1]=l.rotateRight();else if(d===1&&u===-1)l.right=o[a+1][1]=o[a+1][1].rotateRight(),o[a][1]=l.rotateLeft();else if(d===-1&&u===1)l.left=o[a+1][1]=o[a+1][1].rotateLeft(),o[a][1]=l.rotateRight();else throw new Error;if(a>0)switch(o[a-1][0]){case-1:o[a-1][1].left=o[a][1];break;case 1:o[a-1][1].right=o[a][1];break;case 0:o[a-1][1].mid=o[a][1];break}else this._root=o[0][1]}}return s}get(r){return so.unwrap(this._getNode(r)?.value)}_getNode(r){let e=this._iter.reset(r),t=this._root;for(;t;){let n=e.cmp(t.segment);if(n>0)t=t.left;else if(n<0)t=t.right;else if(e.hasNext())e.next(),t=t.mid;else break}return t}has(r){let e=this._getNode(r);return!(e?.value===void 0&&e?.mid===void 0)}delete(r){return this._delete(r,!1)}deleteSuperstr(r){return this._delete(r,!0)}_delete(r,e){let t=this._iter.reset(r),n=[],o=this._root;for(;o;){let s=t.cmp(o.segment);if(s>0)n.push([-1,o]),o=o.left;else if(s<0)n.push([1,o]),o=o.right;else if(t.hasNext())t.next(),n.push([0,o]),o=o.mid;else break}if(o){if(e?(o.left=void 0,o.mid=void 0,o.right=void 0,o.height=1):(o.key=void 0,o.value=void 0),!o.mid&&!o.value)if(o.left&&o.right){let s=[[1,o]],a=this._min(o.right,s);if(a.key){o.key=a.key,o.value=a.value,o.segment=a.segment;let l=a.right;if(s.length>1){let[d,u]=s[s.length-1];switch(d){case-1:u.left=l;break;case 0:Pa(!1);case 1:Pa(!1)}}else o.right=l;let c=this._balanceByStack(s);if(n.length>0){let[d,u]=n[n.length-1];switch(d){case-1:u.left=c;break;case 0:u.mid=c;break;case 1:u.right=c;break}}else this._root=c}}else{let s=o.left??o.right;if(n.length>0){let[a,l]=n[n.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(n)??this._root}}_min(r,e){for(;r.left;)e.push([-1,r]),r=r.left;return r}_balanceByStack(r){for(let e=r.length-1;e>=0;e--){let t=r[e][1];t.updateHeight();let n=t.balanceFactor();if(n>1?(t.right.balanceFactor()>=0||(t.right=t.right.rotateRight()),r[e][1]=t.rotateLeft()):n<-1&&(t.left.balanceFactor()<=0||(t.left=t.left.rotateLeft()),r[e][1]=t.rotateRight()),e>0)switch(r[e-1][0]){case-1:r[e-1][1].left=r[e][1];break;case 1:r[e-1][1].right=r[e][1];break;case 0:r[e-1][1].mid=r[e][1];break}else return r[0][1]}}findSubstr(r){let e=this._iter.reset(r),t=this._root,n;for(;t;){let o=e.cmp(t.segment);if(o>0)t=t.left;else if(o<0)t=t.right;else if(e.hasNext())e.next(),n=so.unwrap(t.value)||n,t=t.mid;else break}return t&&so.unwrap(t.value)||n}findSuperstr(r){return this._findSuperstrOrElement(r,!1)}_findSuperstrOrElement(r,e){let t=this._iter.reset(r),n=this._root;for(;n;){let o=t.cmp(n.segment);if(o>0)n=n.left;else if(o<0)n=n.right;else if(t.hasNext())t.next(),n=n.mid;else return n.mid?this._entries(n.mid):e?so.unwrap(n.value):void 0}}hasElementOrSubtree(r){return this._findSuperstrOrElement(r,!0)!==void 0}forEach(r){for(let[e,t]of this)r(t,e)}*[Symbol.iterator](){yield*this._entries(this._root)}_entries(r){let e=[];return this._dfsEntries(r,e),e[Symbol.iterator]()}_dfsEntries(r,e){r&&(r.left&&this._dfsEntries(r.left,e),r.value!==void 0&&e.push([r.key,so.unwrap(r.value)]),r.mid&&this._dfsEntries(r.mid,e),r.right&&this._dfsEntries(r.right,e))}_isBalanced(){let r=e=>{if(!e)return!0;let t=e.balanceFactor();return t<-1||t>1?!1:r(e.left)&&r(e.right)};return r(this._root)}}});function $s(i){return i.create===!0}function wn(i){return!!(i.capabilities&2)}function qx(i){return!!(i.capabilities&524288)}function ru(i){return!!(i.capabilities&8)}function qf(i){return!!(i.capabilities&131072)}function Kx(i){return!!(i.capabilities&262144)}function lo(i){return!!(i.capabilities&4)}function Kf(i){return!!(i.capabilities&16)}function zf(i){return wn(i)?!!(i.capabilities&16384):!1}function ay(i){return wn(i)?!!(i.capabilities&32768):!1}function zx(i){return!!(i.capabilities&65536)}function zr(i,r){return rl.create(i,r)}function co(i){return i||zr(h(2161,null),"Unknown")}function L2(i,r){return i.name=r?`${r} (FileSystemError)`:"FileSystemError",i}function nu(i){if(!i)return"Unknown";if(i instanceof rl)return i.code;let r=/^(.+) \(FileSystemError\)$/.exec(i.name);if(!r)return"Unknown";switch(r[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 jr(i){if(i instanceof Qt)return i.fileOperationResult;switch(nu(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}}function jx(i,r,e){return!i||!r||i===r||r.length>i.length?!1:(r.charAt(r.length-1)!==Wt&&(r+=Wt),e?Ao(i,r):i.indexOf(r)===0)}function ly(i){if(!(typeof i.size!="number"||typeof i.mtime!="number"))return i.mtime.toString(29)+i.size.toString(31)}var Me,rl,ao,$f,Qt,nl,il,jf,Gf,Ci,ze=I(()=>{Hs();Ce();ar();Le();le();Ee();ee();Z();qe();Gi();Me=L("fileService");rl=class i extends Error{constructor(e,t){super(e);this.code=t}static create(e,t){let n=new i(e.toString(),t);return L2(n,t),n}};ao=class{constructor(r,e,t){this.resource=r;this.operation=e;this.target=t}isOperation(r){return this.operation===r}},$f=class i{constructor(r,e){this.ignorePathCasing=e;this.correlationId=void 0;this.added=new er(()=>{let r=Kr.forUris(()=>this.ignorePathCasing);return r.fill(this.rawAdded.map(e=>[e,!0])),r});this.updated=new er(()=>{let r=Kr.forUris(()=>this.ignorePathCasing);return r.fill(this.rawUpdated.map(e=>[e,!0])),r});this.deleted=new er(()=>{let r=Kr.forUris(()=>this.ignorePathCasing);return r.fill(this.rawDeleted.map(e=>[e,!0])),r});this.rawAdded=[];this.rawUpdated=[];this.rawDeleted=[];for(let t of r){switch(t.type){case 1:this.rawAdded.push(t.resource);break;case 0:this.rawUpdated.push(t.resource);break;case 2:this.rawDeleted.push(t.resource);break}this.correlationId!==i.MIXED_CORRELATION&&(typeof t.cId=="number"?this.correlationId===void 0?this.correlationId=t.cId:this.correlationId!==t.cId&&(this.correlationId=i.MIXED_CORRELATION):this.correlationId!==void 0&&(this.correlationId=i.MIXED_CORRELATION))}}static{this.MIXED_CORRELATION=null}contains(r,...e){return this.doContains(r,{includeChildren:!1},...e)}affects(r,...e){return this.doContains(r,{includeChildren:!0},...e)}doContains(r,e,...t){if(!r)return!1;let n=t.length>0;return!!((!n||t.includes(1))&&(this.added.value.get(r)||e.includeChildren&&this.added.value.findSuperstr(r))||(!n||t.includes(0))&&(this.updated.value.get(r)||e.includeChildren&&this.updated.value.findSuperstr(r))||(!n||t.includes(2))&&(this.deleted.value.findSubstr(r)||e.includeChildren&&this.deleted.value.findSuperstr(r)))}gotAdded(){return this.rawAdded.length>0}gotDeleted(){return this.rawDeleted.length>0}gotUpdated(){return this.rawUpdated.length>0}correlates(r){return this.correlationId===r}hasCorrelation(){return typeof this.correlationId=="number"}};Qt=class extends Error{constructor(e,t,n){super(e);this.fileOperationResult=t;this.options=n}},nl=class extends Qt{constructor(e,t,n,o){super(e,t,o);this.fileOperationResult=t;this.size=n}},il=class extends Qt{constructor(e,t,n){super(e,2,n);this.stat=t}},jf={OFF:"off",ON_EXIT:"onExit",ON_EXIT_AND_WINDOW_CLOSE:"onExitAndWindowClose"},Gf="";Ci=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(r){return Kn(r)||(r=0),r<i.KB?h(2156,null,r.toFixed(0)):r<i.MB?h(2158,null,(r/i.KB).toFixed(2)):r<i.GB?h(2159,null,(r/i.MB).toFixed(2)):r<i.TB?h(2157,null,(r/i.GB).toFixed(2)):h(2160,null,(r/i.TB).toFixed(2))}}});function Bt(i){let r=i;return typeof r?.id=="string"&&P.isUri(r.uri)}function Ko(i,r){if(typeof i=="string"||typeof i>"u")return typeof i=="string"?{id:Se(i)}:r?M2:O2;let e=i;return e.configuration?{id:e.id,configPath:e.configuration}:e.folders.length===1?{id:e.id,uri:e.folders[0].uri}:{id:e.id}}function ct(i){let r=i;return typeof r?.id=="string"&&P.isUri(r.configPath)}function Gx(i){let r=i;if(r?.uri)return{id:r.id,uri:P.revive(r.uri)};let e=i;if(e?.configPath)return{id:e.id,configPath:P.revive(e.configPath)};if(i?.id)return{id:i.id}}function dy(i,r){return Ge.isEqualOrParent(i,r.untitledWorkspacesHome)}function Ti(i){return(typeof i=="string"?Ia(i):r1(i))===F2}var F9,M2,O2,Jf,iu,F2,Jx,cy,Tr=I(()=>{Ee();Ce();Hs();wt();le();ee();qe();F9=L("contextService");M2={id:"ext-dev"},O2={id:"empty-window"};Jf=class{constructor(r,e){this.raw=e;this.uri=r.uri,this.index=r.index,this.name=r.name}toResource(r){return he(this.uri,r)}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}},iu="code-workspace",F2=`.${iu}`,Jx=[{name:h(2826,null),extensions:[iu]}],cy="workspace.json"});var kt,ei=I(()=>{ee();kt=L("IUriIdentityService")});function Qx(i){let r=i;return!!(r&&typeof r=="object"&&typeof r.id=="string"&&typeof r.isDefault=="boolean"&&typeof r.name=="string"&&P.isUri(r.location)&&P.isUri(r.globalStorageHome)&&P.isUri(r.settingsResource)&&P.isUri(r.keybindingsResource)&&P.isUri(r.tasksResource)&&P.isUri(r.snippetsHome)&&P.isUri(r.promptsHome)&&P.isUri(r.extensionsResource)&&P.isUri(r.mcpResource))}function Qf(i,r,e,t,n,o){return{id:i,name:r,location:e,isDefault:!1,icon:n?.icon,globalStorageHome:o&&n?.useDefaultFlags?.globalState?o.globalStorageHome:he(e,"globalStorage"),settingsResource:o&&n?.useDefaultFlags?.settings?o.settingsResource:he(e,"settings.json"),keybindingsResource:o&&n?.useDefaultFlags?.keybindings?o.keybindingsResource:he(e,"keybindings.json"),tasksResource:o&&n?.useDefaultFlags?.tasks?o.tasksResource:he(e,"tasks.json"),snippetsHome:o&&n?.useDefaultFlags?.snippets?o.snippetsHome:he(e,"snippets"),promptsHome:o&&n?.useDefaultFlags?.prompts?o.promptsHome:he(e,"prompts"),extensionsResource:o&&n?.useDefaultFlags?.extensions?o.extensionsResource:he(e,"extensions.json"),mcpResource:o&&n?.useDefaultFlags?.mcp?o.mcpResource:he(e,"mcp.json"),cacheHome:he(t,i),useDefaultFlags:n?.useDefaultFlags,isTransient:n?.transient,workspaces:n?.workspaces}}var _r,ol,ti=I(()=>{Pi();z();$();wt();le();Ee();ln();ze();ee();re();Tr();ei();ge();Jt();ar();Le();_r=L("IUserDataProfilesService");ol=class extends T{constructor(e,t,n,o){super();this.environmentService=e;this.fileService=t;this.uriIdentityService=n;this.logService=o;this._onDidChangeProfiles=this._register(new b);this.onDidChangeProfiles=this._onDidChangeProfiles.event;this._onWillCreateProfile=this._register(new b);this.onWillCreateProfile=this._onWillCreateProfile.event;this._onWillRemoveProfile=this._register(new b);this.onWillRemoveProfile=this._onWillRemoveProfile.event;this._onDidResetWorkspaces=this._register(new b);this.onDidResetWorkspaces=this._onDidResetWorkspaces.event;this.profileCreationPromises=new Map;this.transientProfilesObject={profiles:[],emptyWindows:new Map};this.profilesHome=he(this.environmentService.userRoamingDataHome,"profiles"),this.profilesCacheHome=he(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(),t=[e];try{for(let o of this.getStoredProfiles()){if(this.isInvalidProfile(o)){this.logService.warn("Skipping the invalid stored profile",o.location||o.name);continue}let s=$r(o.location);t.push(Qf(s,o.name,o.location,this.profilesCacheHome,{icon:o.icon,useDefaultFlags:o.useDefaultFlags},e))}}catch(o){this.logService.error(o)}let n=new Map;if(t.length)try{let o=this.getStoredProfileAssociations();if(o.workspaces)for(let[s,a]of Object.entries(o.workspaces)){let l=P.parse(s),c=t.find(d=>d.id===a);if(c){let d=c.workspaces?c.workspaces.slice(0):[];d.push(l),c.workspaces=d}}if(o.emptyWindows)for(let[s,a]of Object.entries(o.emptyWindows)){let l=t.find(c=>c.id===a);l&&n.set(s,l)}}catch(o){this.logService.error(o)}this._profilesObject={profiles:t,emptyWindows:n}}return this._profilesObject}isInvalidProfile(e){return!!(!e.name||!Oe(e.name)||!e.location||e.isSystem||this.uriIdentityService.extUri.basename(this.uriIdentityService.extUri.dirname(e.location))==="builtin")}createDefaultProfile(){let e=Qf("__default__profile__",h(2785,null),this.environmentService.userRoamingDataHome,this.profilesCacheHome);return{...e,extensionsResource:this.getDefaultProfileExtensionsLocation()??e.extensionsResource,isDefault:!0}}async createTransientProfile(e){let t="Temp",n=new RegExp(`${Do(t)}\\s(\\d+)`),o=0;for(let a of this.profiles){let l=n.exec(a.name),c=l?parseInt(l[1]):0;o=c>o?c:o}let s=`${t} ${o+1}`;return this.createProfile(cr(_e()).toString(16),s,{transient:!0},e)}async createNamedProfile(e,t,n){return this.createProfile(cr(_e()).toString(16),e,t,n)}async createProfile(e,t,n,o){return await this.doCreateProfile(e,t,n,o)}async doCreateProfile(e,t,n,o){if(!Oe(t)||!t)throw new Error("Name of the profile is mandatory and must be of type `string`");let s=this.profileCreationPromises.get(t);return s||(s=(async()=>{try{if(this.profiles.find(u=>u.id===e||!u.isTransient&&!n?.transient&&u.name===t))throw new Error(`Profile with ${t} name already exists`);let l=o?this.getWorkspace(o):void 0;P.isUri(l)&&(n={...n,workspaces:[l]});let c=Qf(e,t,this.uriIdentityService.extUri.joinPath(this.profilesHome,e),this.profilesCacheHome,n,this.defaultProfile);await this.fileService.createFolder(c.location);let d=[];return this._onWillCreateProfile.fire({profile:c,join(u){d.push(u)}}),await gt.settled(d),l&&!P.isUri(l)&&this.updateEmptyWindowAssociation(l,c,!!c.isTransient),this.updateProfiles([c],[],[]),c}finally{this.profileCreationPromises.delete(t)}})(),this.profileCreationPromises.set(t,s)),s}async updateProfile(e,t){let n=[];for(let s of this.profiles){let a;if(e.id===s.id)s.isDefault?t.workspaces&&(a=s,a.workspaces=t.workspaces):a=Qf(s.id,t.name??s.name,s.location,this.profilesCacheHome,{icon:t.icon===null?void 0:t.icon??s.icon,transient:t.transient??s.isTransient,useDefaultFlags:t.useDefaultFlags??s.useDefaultFlags,workspaces:t.workspaces??s.workspaces},this.defaultProfile);else if(t.workspaces){let l=s.workspaces?.filter(c=>!t.workspaces?.some(d=>this.uriIdentityService.extUri.isEqual(c,d)));s.workspaces?.length!==l?.length&&(a=s,a.workspaces=l)}a&&n.push(a)}if(!n.length)throw e.isDefault?new Error("Cannot update default profile"):new Error(`Profile '${e.name}' does not exist`);this.updateProfiles([],[],n);let o=this.profiles.find(s=>s.id===e.id);if(!o)throw new Error(`Profile '${e.name}' was not updated`);return o}async removeProfile(e){if(e.isDefault)throw new Error("Cannot remove default profile");let t=this.profiles.find(o=>o.id===e.id);if(!t)throw new Error(`Profile '${e.name}' does not exist`);let n=[];this._onWillRemoveProfile.fire({profile:t,join(o){n.push(o)}});try{await Promise.allSettled(n)}catch(o){this.logService.error(o)}this.updateProfiles([],[t],[]);try{await this.fileService.del(t.cacheHome,{recursive:!0})}catch(o){jr(o)!==1&&this.logService.error(o)}}async setProfileForWorkspace(e,t){let n=this.profiles.find(s=>s.id===t.id);if(!n)throw new Error(`Profile '${t.name}' does not exist`);let o=this.getWorkspace(e);if(P.isUri(o)){let s=n.workspaces?[...n.workspaces]:[];s.some(a=>this.uriIdentityService.extUri.isEqual(a,o))||(s.push(o),await this.updateProfile(n,{workspaces:s}))}else this.updateEmptyWindowAssociation(o,n,!1),this.updateStoredProfiles(this.profiles)}unsetWorkspace(e,t=!1){let n=this.getWorkspace(e);if(P.isUri(n)){let o=this.getProfileForWorkspace(e);o&&this.updateProfile(o,{workspaces:o.workspaces?.filter(s=>!this.uriIdentityService.extUri.isEqual(s,n))})}else this.updateEmptyWindowAssociation(n,void 0,t),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=this.uriIdentityService.extUri.joinPath(this.profilesHome,"builtin");if(await this.fileService.exists(e))try{await this.fileService.del(e,{recursive:!0})}catch(n){this.logService.error(n)}let t=await this.fileService.resolve(this.profilesHome);await Promise.all((t.children||[]).filter(n=>n.isDirectory&&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(),t=[];for(let n of this.getStoredProfiles())this.isInvalidProfile(n)?this.logService.warn(`Invalid user data profile found: ${n.name}`):t.push(n);e.length!==t.length&&this.saveStoredProfiles(t)}catch(e){this.logService.error("Error removing invalid stored profiles",e)}}async cleanUpTransientProfiles(){let e=this.transientProfilesObject.profiles.filter(t=>!this.isProfileAssociatedToWorkspace(t));await Promise.allSettled(e.map(t=>this.removeProfile(t)))}getProfileForWorkspace(e){let t=this.getWorkspace(e);return P.isUri(t)?this.profiles.find(n=>n.workspaces?.some(o=>this.uriIdentityService.extUri.isEqual(o,t))):this.profilesObject.emptyWindows.get(t)??this.transientProfilesObject.emptyWindows.get(t)}getWorkspace(e){return Bt(e)?e.uri:ct(e)?e.configPath:e.id}isProfileAssociatedToWorkspace(e){return!!(e.workspaces?.length||[...this.profilesObject.emptyWindows.values()].some(t=>this.uriIdentityService.extUri.isEqual(t.location,e.location))||[...this.transientProfilesObject.emptyWindows.values()].some(t=>this.uriIdentityService.extUri.isEqual(t.location,e.location)))}updateProfiles(e,t,n,o=!1){let s=[...this.profiles,...e],a=this.transientProfilesObject.profiles;this.transientProfilesObject.profiles=[];let l=[];for(let c of s){if(t.some(d=>c.id===d.id)){for(let d of[...this.profilesObject.emptyWindows.keys()])c.id===this.profilesObject.emptyWindows.get(d)?.id&&this.profilesObject.emptyWindows.delete(d);continue}if(!c.isDefault){c=n.find(u=>c.id===u.id)??c;let d=a.find(u=>c.id===u.id);if(c.isTransient)this.transientProfilesObject.profiles.push(c);else if(d){for(let[u,f]of this.transientProfilesObject.emptyWindows.entries())if(c.id===f.id){this.transientProfilesObject.emptyWindows.delete(u),this.profilesObject.emptyWindows.set(u,c);break}}}c.workspaces?.length===0&&(c.workspaces=void 0),l.push(c)}this.updateStoredProfiles(l),o||this.triggerProfilesChanges(e,t,n)}triggerProfilesChanges(e,t,n){this._onDidChangeProfiles.fire({added:e,removed:t,updated:n,all:this.profiles})}updateEmptyWindowAssociation(e,t,n){n=t?.isTransient?!0:n,n?t?this.transientProfilesObject.emptyWindows.set(e,t):this.transientProfilesObject.emptyWindows.delete(e):(this.transientProfilesObject.emptyWindows.delete(e),t?this.profilesObject.emptyWindows.set(e,t):this.profilesObject.emptyWindows.delete(e))}updateStoredProfiles(e){let t=[],n={},o={};for(let s of e)if(!s.isTransient&&(s.isDefault||t.push({location:s.location,name:s.name,icon:s.icon,useDefaultFlags:s.useDefaultFlags}),s.workspaces))for(let a of s.workspaces)n[a.toString()]=s.id;for(let[s,a]of this.profilesObject.emptyWindows.entries())o[s.toString()]=a.id;this.saveStoredProfileAssociations({workspaces:n,emptyWindows:o}),this.saveStoredProfiles(t),this._profilesObject=void 0}getStoredProfiles(){return[]}saveStoredProfiles(e){throw new Error("not implemented")}getStoredProfileAssociations(){return{}}saveStoredProfileAssociations(e){throw new Error("not implemented")}getDefaultProfileExtensionsLocation(){}};ol=E([g(0,qr),g(1,Me),g(2,kt),g(3,U)],ol)});function Zf(i){let r=i.get(uo);if(r)try{return JSON.parse(r)}catch{}return Object.create(null)}function Xf(i){return i.isDefault||!!i.useDefaultFlags?.globalState}async function U2(i,r,e,t,n,o){let s=v=>{try{return JSON.parse(v)}catch{return v}},a=new Map,l=new Map;i.forEach((v,C)=>{a.set(C,v),l.set(C,s(v))});let c=new Map,d=new Map;r.forEach((v,C)=>{c.set(C,v),d.set(C,s(v))});let u=new Map,f=new Map;e.forEach((v,C)=>{u.set(C,v),f.set(C,s(v))}),console.group(t!==n?`Storage: Application (path: ${t})`:`Storage: Application & Profile (path: ${t}, default profile)`);let m=[];if(a.forEach((v,C)=>{m.push({key:C,value:v})}),console.table(m),console.groupEnd(),console.log(l),t!==n){console.group(`Storage: Profile (path: ${n}, profile specific)`);let v=[];c.forEach((C,w)=>{v.push({key:w,value:C})}),console.table(v),console.groupEnd(),console.log(d)}console.group(`Storage: Workspace (path: ${o})`);let y=[];u.forEach((v,C)=>{y.push({key:C,value:v})}),console.table(y),console.groupEnd(),console.log(f)}var su,uo,Xx,ou,Yf,_i=I(()=>{ge();z();$();mi();Le();ny();ee();ti();su="__$__isNewStorageMarker",uo="__$__targetStorageMarker",Xx=L("storageService");ou=class i extends T{constructor(e={flushInterval:i.DEFAULT_FLUSH_INTERVAL}){super();this._onDidChangeValue=this._register(new Ts);this._onDidChangeTarget=this._register(new Ts);this.onDidChangeTarget=this._onDidChangeTarget.event;this._onWillSaveState=this._register(new b);this.onWillSaveState=this._onWillSaveState.event;this.runFlushWhenIdle=this._register(new jt);this._workspaceKeyTargets=void 0;this._profileKeyTargets=void 0;this._applicationKeyTargets=void 0;this.flushWhenIdleScheduler=this._register(new gr(()=>this.doFlushWhenIdle(),e.flushInterval))}static{this.DEFAULT_FLUSH_INTERVAL=60*1e3}onDidChangeValue(e,t,n){return S.filter(this._onDidChangeValue.event,o=>o.scope===e&&(t===void 0||o.key===t),n)}doFlushWhenIdle(){this.runFlushWhenIdle.value=pd(()=>{this.shouldFlushWhenIdle()&&this.flush(),this.flushWhenIdleScheduler.schedule()})}shouldFlushWhenIdle(){return!0}stopFlushWhenIdle(){ut([this.runFlushWhenIdle,this.flushWhenIdleScheduler])}initialize(){return this.initializationPromise||(this.initializationPromise=(async()=>{Be("code/willInitStorage");try{await this.doInitialize()}finally{Be("code/didInitStorage")}this.flushWhenIdleScheduler.schedule()})()),this.initializationPromise}emitDidChangeValue(e,t){let{key:n,external:o}=t;if(n===uo){switch(e){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:n,target:this.getKeyTargets(e)[n],external:o})}emitWillSaveState(e){this._onWillSaveState.fire({reason:e})}get(e,t,n){return this.getStorage(t)?.get(e,n)}getBoolean(e,t,n){return this.getStorage(t)?.getBoolean(e,n)}getNumber(e,t,n){return this.getStorage(t)?.getNumber(e,n)}getObject(e,t,n){return this.getStorage(t)?.getObject(e,n)}storeAll(e,t){this.withPausedEmitters(()=>{for(let n of e)this.store(n.key,n.value,n.scope,n.target,t)})}store(e,t,n,o,s=!1){if(Ut(t)){this.remove(e,n,s);return}this.withPausedEmitters(()=>{this.updateKeyTarget(e,n,o),this.getStorage(n)?.set(e,t,s)})}remove(e,t,n=!1){this.withPausedEmitters(()=>{this.updateKeyTarget(e,t,void 0),this.getStorage(t)?.delete(e,n)})}withPausedEmitters(e){this._onDidChangeValue.pause(),this._onDidChangeTarget.pause();try{e()}finally{this._onDidChangeValue.resume(),this._onDidChangeTarget.resume()}}keys(e,t){let n=[],o=this.getKeyTargets(e);for(let s of Object.keys(o))o[s]===t&&n.push(s);return n}updateKeyTarget(e,t,n,o=!1){let s=this.getKeyTargets(t);typeof n=="number"?s[e]!==n&&(s[e]=n,this.getStorage(t)?.set(uo,JSON.stringify(s),o)):typeof s[e]=="number"&&(delete s[e],this.getStorage(t)?.set(uo,JSON.stringify(s),o))}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}getKeyTargets(e){switch(e){case-1:return this.applicationKeyTargets;case 0:return this.profileKeyTargets;default:return this.workspaceKeyTargets}}loadKeyTargets(e){let t=this.getStorage(e);return t?Zf(t):Object.create(null)}isNew(e){return this.getBoolean(su,e)===!0}async flush(e=0){this._onWillSaveState.fire({reason:e});let t=this.getStorage(-1),n=this.getStorage(0),o=this.getStorage(1);switch(e){case 0:await gt.settled([t?.whenFlushed()??Promise.resolve(),n?.whenFlushed()??Promise.resolve(),o?.whenFlushed()??Promise.resolve()]);break;case 1:await gt.settled([t?.flush(0)??Promise.resolve(),n?.flush(0)??Promise.resolve(),o?.flush(0)??Promise.resolve()]);break}}async log(){let e=this.getStorage(-1)?.items??new Map,t=this.getStorage(0)?.items??new Map,n=this.getStorage(1)?.items??new Map;return U2(e,t,n,this.getLogDetails(-1)??"",this.getLogDetails(0)??"",this.getLogDetails(1)??"")}async optimize(e){return await this.flush(),this.getStorage(e)?.optimize()}async switch(e,t){return this.emitWillSaveState(0),Qx(e)?this.switchToProfile(e,t):this.switchToWorkspace(e,t)}canSwitchProfile(e,t){return!(e.id===t.id||Xf(t)&&Xf(e))}switchData(e,t,n){this.withPausedEmitters(()=>{let o=new Set;for(let[s,a]of e)o.add(s),t.get(s)!==a&&this.emitDidChangeValue(n,{key:s,external:!0});for(let[s]of t.items)o.has(s)||this.emitDidChangeValue(n,{key:s,external:!0})})}};Yf=class extends ou{constructor(){super();this.applicationStorage=this._register(new Zn(new oo,{hint:1}));this.profileStorage=this._register(new Zn(new oo,{hint:1}));this.workspaceStorage=this._register(new Zn(new oo,{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)))}getStorage(e){switch(e){case-1:return this.applicationStorage;case 0:return this.profileStorage;default:return this.workspaceStorage}}getLogDetails(e){switch(e){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}}});var em,Pt,bn=I(()=>{ee();em=L("stateReadService"),Pt=L("stateService")});function au(i){return!!i.workspaceUri}function tm(i){return!!i.folderUri}function py(i){return!!i.fileUri}function N2(i,r){if(Dr)return!1;let e=zo(i,r),t=i.getValue("window");return t?.menuStyle==="native"?!(!N&&!e):t?.menuStyle==="custom"?!1:e}function fy(i,r){return Dr?!1:N?!0:N2(i,r)}function Yx(i){let r=i.getValue("window.menuBarVisibility");return r==="default"||r==="compact"&&fy(i)||N&&kp?"classic":r}function zo(i,r){return r||(r=Zx(i)),r==="native"}function Zx(i){if(Dr)return"custom";let r=i.getValue("window");if(r){if(N&&r.nativeTabs===!0||N&&r.nativeFullScreen===!1)return"native";let n=r.titleBarStyle;if(n==="native"||n==="custom")return n}return"custom"}function B2(i){if(Dr||N||Zx(i)==="native")return"native";let e=i.getValue("window")?.controlsStyle;return e==="custom"||e==="hidden"?e:"native"}function lu(i){if(Dr||zo(i))return!1;if(!N){let r=B2(i);if(r==="custom"||r==="hidden")return!1}return!0}function rm(i){let r=i.getValue("window");return!r||typeof r.nativeFullScreen!="boolean"||r.nativeTabs?!0:r.nativeFullScreen!==!1}function tP(i=0){return 1.2**i}var uy,eP,rP,nP,my,jo=I(()=>{Z();uy={WIDTH:400,WIDTH_WITH_VERTICAL_PANEL:600,HEIGHT:270};eP=35;rP={width:1200,height:800},nP={width:1440,height:900},my={width:1024,height:768}});import V2 from"electron";var ki,iP,Ri=I(()=>{jo();ki=function(i=1,r=!1){let e=r?nP:rP;return{width:e.width,height:e.height,mode:i}},iP=function(){let i=my.width,r=my.height,e=V2.screen.getPrimaryDisplay().workArea,t=Math.max(e.x+e.width/2-i/2,0),n=Math.max(e.y+e.height/2-r/2,0);return{x:t,y:n,width:i,height:r,mode:1}}});function Jo(i,r){let e=Math.pow(10,r);return Math.round(i*e)/e}var k,Go,sl,Qo,hy=I(()=>{zn();k=class{constructor(r,e,t,n=1){this._rgbaBrand=void 0;this.r=Math.min(255,Math.max(0,r))|0,this.g=Math.min(255,Math.max(0,e))|0,this.b=Math.min(255,Math.max(0,t))|0,this.a=Jo(Math.max(Math.min(1,n),0),3)}static equals(r,e){return r.r===e.r&&r.g===e.g&&r.b===e.b&&r.a===e.a}},Go=class i{constructor(r,e,t,n){this._hslaBrand=void 0;this.h=Math.max(Math.min(360,r),0)|0,this.s=Jo(Math.max(Math.min(1,e),0),3),this.l=Jo(Math.max(Math.min(1,t),0),3),this.a=Jo(Math.max(Math.min(1,n),0),3)}static equals(r,e){return r.h===e.h&&r.s===e.s&&r.l===e.l&&r.a===e.a}static fromRGBA(r){let e=r.r/255,t=r.g/255,n=r.b/255,o=r.a,s=Math.max(e,t,n),a=Math.min(e,t,n),l=0,c=0,d=(a+s)/2,u=s-a;if(u>0){switch(c=Math.min(d<=.5?u/(2*d):u/(2-2*d),1),s){case e:l=(t-n)/u+(t<n?6:0);break;case t:l=(n-e)/u+2;break;case n:l=(e-t)/u+4;break}l*=60,l=Math.round(l)}return new i(l,c,d,o)}static _hue2rgb(r,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?r+(e-r)*6*t:t<1/2?e:t<2/3?r+(e-r)*(2/3-t)*6:r}static toRGBA(r){let e=r.h/360,{s:t,l:n,a:o}=r,s,a,l;if(t===0)s=a=l=n;else{let c=n<.5?n*(1+t):n+t-n*t,d=2*n-c;s=i._hue2rgb(d,c,e+1/3),a=i._hue2rgb(d,c,e),l=i._hue2rgb(d,c,e-1/3)}return new k(Math.round(s*255),Math.round(a*255),Math.round(l*255),o)}},sl=class i{constructor(r,e,t,n){this._hsvaBrand=void 0;this.h=Math.max(Math.min(360,r),0)|0,this.s=Jo(Math.max(Math.min(1,e),0),3),this.v=Jo(Math.max(Math.min(1,t),0),3),this.a=Jo(Math.max(Math.min(1,n),0),3)}static equals(r,e){return r.h===e.h&&r.s===e.s&&r.v===e.v&&r.a===e.a}static fromRGBA(r){let e=r.r/255,t=r.g/255,n=r.b/255,o=Math.max(e,t,n),s=Math.min(e,t,n),a=o-s,l=o===0?0:a/o,c;return a===0?c=0:o===e?c=((t-n)/a%6+6)%6:o===t?c=(n-e)/a+2:c=(e-t)/a+4,new i(Math.round(c*60),l,o,r.a)}static toRGBA(r){let{h:e,s:t,v:n,a:o}=r,s=n*t,a=s*(1-Math.abs(e/60%2-1)),l=n-s,[c,d,u]=[0,0,0];return e<60?(c=s,d=a):e<120?(c=a,d=s):e<180?(d=s,u=a):e<240?(d=a,u=s):e<300?(c=a,u=s):e<=360&&(c=s,u=a),c=Math.round((c+l)*255),d=Math.round((d+l)*255),u=Math.round((u+l)*255),new k(c,d,u,o)}},Qo=class i{static fromHex(r){return i.Format.CSS.parseHex(r)||i.red}static equals(r,e){return!r&&!e?!0:!r||!e?!1:r.equals(e)}get hsla(){return this._hsla?this._hsla:Go.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:sl.fromRGBA(this.rgba)}constructor(r){if(r)if(r instanceof k)this.rgba=r;else if(r instanceof Go)this._hsla=r,this.rgba=Go.toRGBA(r);else if(r instanceof sl)this._hsva=r,this.rgba=sl.toRGBA(r);else throw new Error("Invalid color ctor argument");else throw new Error("Color needs a value")}equals(r){return!!r&&k.equals(this.rgba,r.rgba)&&Go.equals(this.hsla,r.hsla)&&sl.equals(this.hsva,r.hsva)}getRelativeLuminance(){let r=i._relativeLuminanceForComponent(this.rgba.r),e=i._relativeLuminanceForComponent(this.rgba.g),t=i._relativeLuminanceForComponent(this.rgba.b),n=.2126*r+.7152*e+.0722*t;return Jo(n,4)}reduceRelativeLuminace(r,e){let{r:t,g:n,b:o}=r.rgba,s=this.getContrastRatio(r);for(;s<e&&(t>0||n>0||o>0);)t-=Math.max(0,Math.ceil(t*.1)),n-=Math.max(0,Math.ceil(n*.1)),o-=Math.max(0,Math.ceil(o*.1)),s=this.getContrastRatio(new i(new k(t,n,o)));return new i(new k(t,n,o))}increaseRelativeLuminace(r,e){let{r:t,g:n,b:o}=r.rgba,s=this.getContrastRatio(r);for(;s<e&&(t<255||n<255||o<255);)t=Math.min(255,t+Math.ceil((255-t)*.1)),n=Math.min(255,n+Math.ceil((255-n)*.1)),o=Math.min(255,o+Math.ceil((255-o)*.1)),s=this.getContrastRatio(new i(new k(t,n,o)));return new i(new k(t,n,o))}static _relativeLuminanceForComponent(r){let e=r/255;return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}getContrastRatio(r){let e=this.getRelativeLuminance(),t=r.getRelativeLuminance();return e>t?(e+.05)/(t+.05):(t+.05)/(e+.05)}isDarker(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3<128}isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3>=128}isLighterThan(r){let e=this.getRelativeLuminance(),t=r.getRelativeLuminance();return e>t}isDarkerThan(r){let e=this.getRelativeLuminance(),t=r.getRelativeLuminance();return e<t}ensureConstrast(r,e){let t=this.getRelativeLuminance(),n=r.getRelativeLuminance();if(this.getContrastRatio(r)<e){if(n<t){let l=this.reduceRelativeLuminace(r,e),c=this.getContrastRatio(l);if(c<e){let d=this.increaseRelativeLuminace(r,e),u=this.getContrastRatio(d);return c>u?l:d}return l}let s=this.increaseRelativeLuminace(r,e),a=this.getContrastRatio(s);if(a<e){let l=this.reduceRelativeLuminace(r,e),c=this.getContrastRatio(l);return a>c?s:l}return s}return r}lighten(r){return new i(new Go(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*r,this.hsla.a))}darken(r){return new i(new Go(this.hsla.h,this.hsla.s,this.hsla.l-this.hsla.l*r,this.hsla.a))}transparent(r){let{r:e,g:t,b:n,a:o}=this.rgba;return new i(new k(e,t,n,o*r))}isTransparent(){return this.rgba.a===0}isOpaque(){return this.rgba.a===1}opposite(){return new i(new k(255-this.rgba.r,255-this.rgba.g,255-this.rgba.b,this.rgba.a))}blend(r){let e=r.rgba,t=this.rgba.a,n=e.a,o=t+n*(1-t);if(o<1e-6)return i.transparent;let s=this.rgba.r*t/o+e.r*n*(1-t)/o,a=this.rgba.g*t/o+e.g*n*(1-t)/o,l=this.rgba.b*t/o+e.b*n*(1-t)/o;return new i(new k(s,a,l,o))}mix(r,e=.5){let t=Math.min(Math.max(e,0),1),n=this.rgba,o=r.rgba,s=n.r+(o.r-n.r)*t,a=n.g+(o.g-n.g)*t,l=n.b+(o.b-n.b)*t,c=n.a+(o.a-n.a)*t;return new i(new k(s,a,l,c))}makeOpaque(r){if(this.isOpaque()||r.rgba.a!==1)return this;let{r:e,g:t,b:n,a:o}=this.rgba;return new i(new k(r.rgba.r-o*(r.rgba.r-e),r.rgba.g-o*(r.rgba.g-t),r.rgba.b-o*(r.rgba.b-n),1))}flatten(...r){let e=r.reduceRight((t,n)=>i._flatten(n,t));return i._flatten(this,e)}static _flatten(r,e){let t=1-r.rgba.a;return new i(new k(t*e.rgba.r+r.rgba.a*r.rgba.r,t*e.rgba.g+r.rgba.a*r.rgba.g,t*e.rgba.b+r.rgba.a*r.rgba.b))}toString(){return this._toString||(this._toString=i.Format.CSS.format(this)),this._toString}toNumber32Bit(){return this._toNumber32Bit||(this._toNumber32Bit=(this.rgba.r<<24|this.rgba.g<<16|this.rgba.b<<8|this.rgba.a*255<<0)>>>0),this._toNumber32Bit}static getLighterColor(r,e,t){if(r.isLighterThan(e))return r;t=t||.5;let n=r.getRelativeLuminance(),o=e.getRelativeLuminance();return t=t*(o-n)/o,r.lighten(t)}static getDarkerColor(r,e,t){if(r.isDarkerThan(e))return r;t=t||.5;let n=r.getRelativeLuminance(),o=e.getRelativeLuminance();return t=t*(n-o)/n,r.darken(t)}static{this.white=new i(new k(255,255,255,1))}static{this.black=new i(new k(0,0,0,1))}static{this.red=new i(new k(255,0,0,1))}static{this.blue=new i(new k(0,0,255,1))}static{this.green=new i(new k(0,255,0,1))}static{this.cyan=new i(new k(0,255,255,1))}static{this.lightgrey=new i(new k(211,211,211,1))}static{this.transparent=new i(new k(0,0,0,0))}};(r=>{let i;(t=>{let e;(C=>{function n(w){return w.rgba.a===1?`rgb(${w.rgba.r}, ${w.rgba.g}, ${w.rgba.b})`:r.Format.CSS.formatRGBA(w)}C.formatRGB=n;function o(w){return`rgba(${w.rgba.r}, ${w.rgba.g}, ${w.rgba.b}, ${+w.rgba.a.toFixed(2)})`}C.formatRGBA=o;function s(w){return w.hsla.a===1?`hsl(${w.hsla.h}, ${Math.round(w.hsla.s*100)}%, ${Math.round(w.hsla.l*100)}%)`:r.Format.CSS.formatHSLA(w)}C.formatHSL=s;function a(w){return`hsla(${w.hsla.h}, ${Math.round(w.hsla.s*100)}%, ${Math.round(w.hsla.l*100)}%, ${w.hsla.a.toFixed(2)})`}C.formatHSLA=a;function l(w){let _=w.toString(16);return _.length!==2?"0"+_:_}function c(w){return`#${l(w.rgba.r)}${l(w.rgba.g)}${l(w.rgba.b)}`}C.formatHex=c;function d(w,_=!1){return _&&w.rgba.a===1?r.Format.CSS.formatHex(w):`#${l(w.rgba.r)}${l(w.rgba.g)}${l(w.rgba.b)}${l(Math.round(w.rgba.a*255))}`}C.formatHexA=d;function u(w){return w.isOpaque()?r.Format.CSS.formatHex(w):r.Format.CSS.formatRGBA(w)}C.format=u;function f(w){if(w==="transparent")return r.transparent;if(w.startsWith("#"))return y(w);if(w.startsWith("rgba(")){let _=w.match(/rgba\((?<r>(?:\+|-)?\d+), *(?<g>(?:\+|-)?\d+), *(?<b>(?:\+|-)?\d+), *(?<a>(?:\+|-)?\d+(\.\d+)?)\)/);if(!_)throw new Error("Invalid color format "+w);let R=parseInt(_.groups?.r??"0"),D=parseInt(_.groups?.g??"0"),M=parseInt(_.groups?.b??"0"),X=parseFloat(_.groups?.a??"0");return new r(new k(R,D,M,X))}if(w.startsWith("rgb(")){let _=w.match(/rgb\((?<r>(?:\+|-)?\d+), *(?<g>(?:\+|-)?\d+), *(?<b>(?:\+|-)?\d+)\)/);if(!_)throw new Error("Invalid color format "+w);let R=parseInt(_.groups?.r??"0"),D=parseInt(_.groups?.g??"0"),M=parseInt(_.groups?.b??"0");return new r(new k(R,D,M))}return m(w)}C.parse=f;function m(w){switch(w){case"aliceblue":return new r(new k(240,248,255,1));case"antiquewhite":return new r(new k(250,235,215,1));case"aqua":return new r(new k(0,255,255,1));case"aquamarine":return new r(new k(127,255,212,1));case"azure":return new r(new k(240,255,255,1));case"beige":return new r(new k(245,245,220,1));case"bisque":return new r(new k(255,228,196,1));case"black":return new r(new k(0,0,0,1));case"blanchedalmond":return new r(new k(255,235,205,1));case"blue":return new r(new k(0,0,255,1));case"blueviolet":return new r(new k(138,43,226,1));case"brown":return new r(new k(165,42,42,1));case"burlywood":return new r(new k(222,184,135,1));case"cadetblue":return new r(new k(95,158,160,1));case"chartreuse":return new r(new k(127,255,0,1));case"chocolate":return new r(new k(210,105,30,1));case"coral":return new r(new k(255,127,80,1));case"cornflowerblue":return new r(new k(100,149,237,1));case"cornsilk":return new r(new k(255,248,220,1));case"crimson":return new r(new k(220,20,60,1));case"cyan":return new r(new k(0,255,255,1));case"darkblue":return new r(new k(0,0,139,1));case"darkcyan":return new r(new k(0,139,139,1));case"darkgoldenrod":return new r(new k(184,134,11,1));case"darkgray":return new r(new k(169,169,169,1));case"darkgreen":return new r(new k(0,100,0,1));case"darkgrey":return new r(new k(169,169,169,1));case"darkkhaki":return new r(new k(189,183,107,1));case"darkmagenta":return new r(new k(139,0,139,1));case"darkolivegreen":return new r(new k(85,107,47,1));case"darkorange":return new r(new k(255,140,0,1));case"darkorchid":return new r(new k(153,50,204,1));case"darkred":return new r(new k(139,0,0,1));case"darksalmon":return new r(new k(233,150,122,1));case"darkseagreen":return new r(new k(143,188,143,1));case"darkslateblue":return new r(new k(72,61,139,1));case"darkslategray":return new r(new k(47,79,79,1));case"darkslategrey":return new r(new k(47,79,79,1));case"darkturquoise":return new r(new k(0,206,209,1));case"darkviolet":return new r(new k(148,0,211,1));case"deeppink":return new r(new k(255,20,147,1));case"deepskyblue":return new r(new k(0,191,255,1));case"dimgray":return new r(new k(105,105,105,1));case"dimgrey":return new r(new k(105,105,105,1));case"dodgerblue":return new r(new k(30,144,255,1));case"firebrick":return new r(new k(178,34,34,1));case"floralwhite":return new r(new k(255,250,240,1));case"forestgreen":return new r(new k(34,139,34,1));case"fuchsia":return new r(new k(255,0,255,1));case"gainsboro":return new r(new k(220,220,220,1));case"ghostwhite":return new r(new k(248,248,255,1));case"gold":return new r(new k(255,215,0,1));case"goldenrod":return new r(new k(218,165,32,1));case"gray":return new r(new k(128,128,128,1));case"green":return new r(new k(0,128,0,1));case"greenyellow":return new r(new k(173,255,47,1));case"grey":return new r(new k(128,128,128,1));case"honeydew":return new r(new k(240,255,240,1));case"hotpink":return new r(new k(255,105,180,1));case"indianred":return new r(new k(205,92,92,1));case"indigo":return new r(new k(75,0,130,1));case"ivory":return new r(new k(255,255,240,1));case"khaki":return new r(new k(240,230,140,1));case"lavender":return new r(new k(230,230,250,1));case"lavenderblush":return new r(new k(255,240,245,1));case"lawngreen":return new r(new k(124,252,0,1));case"lemonchiffon":return new r(new k(255,250,205,1));case"lightblue":return new r(new k(173,216,230,1));case"lightcoral":return new r(new k(240,128,128,1));case"lightcyan":return new r(new k(224,255,255,1));case"lightgoldenrodyellow":return new r(new k(250,250,210,1));case"lightgray":return new r(new k(211,211,211,1));case"lightgreen":return new r(new k(144,238,144,1));case"lightgrey":return new r(new k(211,211,211,1));case"lightpink":return new r(new k(255,182,193,1));case"lightsalmon":return new r(new k(255,160,122,1));case"lightseagreen":return new r(new k(32,178,170,1));case"lightskyblue":return new r(new k(135,206,250,1));case"lightslategray":return new r(new k(119,136,153,1));case"lightslategrey":return new r(new k(119,136,153,1));case"lightsteelblue":return new r(new k(176,196,222,1));case"lightyellow":return new r(new k(255,255,224,1));case"lime":return new r(new k(0,255,0,1));case"limegreen":return new r(new k(50,205,50,1));case"linen":return new r(new k(250,240,230,1));case"magenta":return new r(new k(255,0,255,1));case"maroon":return new r(new k(128,0,0,1));case"mediumaquamarine":return new r(new k(102,205,170,1));case"mediumblue":return new r(new k(0,0,205,1));case"mediumorchid":return new r(new k(186,85,211,1));case"mediumpurple":return new r(new k(147,112,219,1));case"mediumseagreen":return new r(new k(60,179,113,1));case"mediumslateblue":return new r(new k(123,104,238,1));case"mediumspringgreen":return new r(new k(0,250,154,1));case"mediumturquoise":return new r(new k(72,209,204,1));case"mediumvioletred":return new r(new k(199,21,133,1));case"midnightblue":return new r(new k(25,25,112,1));case"mintcream":return new r(new k(245,255,250,1));case"mistyrose":return new r(new k(255,228,225,1));case"moccasin":return new r(new k(255,228,181,1));case"navajowhite":return new r(new k(255,222,173,1));case"navy":return new r(new k(0,0,128,1));case"oldlace":return new r(new k(253,245,230,1));case"olive":return new r(new k(128,128,0,1));case"olivedrab":return new r(new k(107,142,35,1));case"orange":return new r(new k(255,165,0,1));case"orangered":return new r(new k(255,69,0,1));case"orchid":return new r(new k(218,112,214,1));case"palegoldenrod":return new r(new k(238,232,170,1));case"palegreen":return new r(new k(152,251,152,1));case"paleturquoise":return new r(new k(175,238,238,1));case"palevioletred":return new r(new k(219,112,147,1));case"papayawhip":return new r(new k(255,239,213,1));case"peachpuff":return new r(new k(255,218,185,1));case"peru":return new r(new k(205,133,63,1));case"pink":return new r(new k(255,192,203,1));case"plum":return new r(new k(221,160,221,1));case"powderblue":return new r(new k(176,224,230,1));case"purple":return new r(new k(128,0,128,1));case"rebeccapurple":return new r(new k(102,51,153,1));case"red":return new r(new k(255,0,0,1));case"rosybrown":return new r(new k(188,143,143,1));case"royalblue":return new r(new k(65,105,225,1));case"saddlebrown":return new r(new k(139,69,19,1));case"salmon":return new r(new k(250,128,114,1));case"sandybrown":return new r(new k(244,164,96,1));case"seagreen":return new r(new k(46,139,87,1));case"seashell":return new r(new k(255,245,238,1));case"sienna":return new r(new k(160,82,45,1));case"silver":return new r(new k(192,192,192,1));case"skyblue":return new r(new k(135,206,235,1));case"slateblue":return new r(new k(106,90,205,1));case"slategray":return new r(new k(112,128,144,1));case"slategrey":return new r(new k(112,128,144,1));case"snow":return new r(new k(255,250,250,1));case"springgreen":return new r(new k(0,255,127,1));case"steelblue":return new r(new k(70,130,180,1));case"tan":return new r(new k(210,180,140,1));case"teal":return new r(new k(0,128,128,1));case"thistle":return new r(new k(216,191,216,1));case"tomato":return new r(new k(255,99,71,1));case"turquoise":return new r(new k(64,224,208,1));case"violet":return new r(new k(238,130,238,1));case"wheat":return new r(new k(245,222,179,1));case"white":return new r(new k(255,255,255,1));case"whitesmoke":return new r(new k(245,245,245,1));case"yellow":return new r(new k(255,255,0,1));case"yellowgreen":return new r(new k(154,205,50,1));default:return null}}function y(w){let _=w.length;if(_===0||w.charCodeAt(0)!==35)return null;if(_===7){let R=16*v(w.charCodeAt(1))+v(w.charCodeAt(2)),D=16*v(w.charCodeAt(3))+v(w.charCodeAt(4)),M=16*v(w.charCodeAt(5))+v(w.charCodeAt(6));return new r(new k(R,D,M,1))}if(_===9){let R=16*v(w.charCodeAt(1))+v(w.charCodeAt(2)),D=16*v(w.charCodeAt(3))+v(w.charCodeAt(4)),M=16*v(w.charCodeAt(5))+v(w.charCodeAt(6)),X=16*v(w.charCodeAt(7))+v(w.charCodeAt(8));return new r(new k(R,D,M,X/255))}if(_===4){let R=v(w.charCodeAt(1)),D=v(w.charCodeAt(2)),M=v(w.charCodeAt(3));return new r(new k(16*R+R,16*D+D,16*M+M))}if(_===5){let R=v(w.charCodeAt(1)),D=v(w.charCodeAt(2)),M=v(w.charCodeAt(3)),X=v(w.charCodeAt(4));return new r(new k(16*R+R,16*D+D,16*M+M,(16*X+X)/255))}return null}C.parseHex=y;function v(w){switch(w){case 48:return 0;case 49:return 1;case 50:return 2;case 51:return 3;case 52:return 4;case 53:return 5;case 54:return 6;case 55:return 7;case 56:return 8;case 57:return 9;case 97:return 10;case 65:return 10;case 98:return 11;case 66:return 11;case 99:return 12;case 67:return 12;case 100:return 13;case 68:return 13;case 101:return 14;case 69:return 14;case 102:return 15;case 70:return 15}return 0}})(e=t.CSS||={})})(i=r.Format||={})})(Qo||={})});var De,nr=I(()=>{ee();De=L("productService")});var Di,al=I(()=>{ee();Di=L("themeMainService")});import gy from"electron";function ll(i,r,e,t){let n=i.get(Di),o=i.get(De),s=i.get(fe),a=i.get(Te),l=s.getValue("window"),c={backgroundColor:n.getBackgroundColor(),minWidth:uy.WIDTH,minHeight:uy.HEIGHT,title:o.nameLong,show:r.mode!==0&&r.mode!==3,x:r.x,y:r.y,width:r.width,height:r.height,webPreferences:{...t,enableWebSQL:!1,spellcheck:!1,zoomFactor:tP(r.zoomLevel??l?.zoomLevel),autoplayPolicy:"user-gesture-required",enableBlinkFeatures:"HighlightAPI",sandbox:!0,enableDeprecatedPaste:!0},experimentalDarkMode:!0};if(F){let f=l?.border||"default";f==="system"&&(f="default"),f!=="default"&&(f==="off"?c.accentColor=!1:typeof f=="string"&&(c.accentColor=f))}if(ne?c.icon=V(a.appRoot,"resources/linux/code.png"):F&&(a.isBuilt?process.isEmbeddedApp&&(c.icon=V(a.appRoot,"resources/win32/sessions.ico")):c.icon=V(a.appRoot,"resources/win32/code_150x150.png")),N&&(c.acceptFirstMouse=!0,l?.clickThroughInactive===!1&&(c.acceptFirstMouse=!1)),e?.disableFullscreen?c.fullscreen=!1:N&&!rm(s)&&(c.fullscreenable=!1),N&&l?.nativeTabs===!0&&(c.tabbingIdentifier=o.nameShort),!zo(s,e?.forceNativeTitlebar?"native":void 0)&&(c.titleBarStyle="hidden",N||(c.frame=!1),lu(s)))if(N)c.titleBarOverlay=!0;else{let f=n.getWindowSplash(void 0)?.colorInfo.titleBarBackground??n.getBackgroundColor(),m=Qo.fromHex(f).isDarker()?"#FFFFFF":"#000000";c.titleBarOverlay={height:29,color:f,symbolColor:m}}return e?.alwaysOnTop&&(c.alwaysOnTop=!0),c}function im(i){let r,e=Number.MIN_VALUE;for(let t of i)t.lastFocusTime>e&&(e=t.lastFocusTime,r=t);return r}function Ai(){return gy.BrowserWindow.getAllWindows().filter(i=>!i.webContents.isOffscreen())}var Ke,cl,Vt=I(()=>{hy();Ce();Z();it();Dt();ee();nr();al();jo();Ri();Ke=L("windowsMainService");(t=>{function i(n,o,s=gy.screen.getAllDisplays()){if(n.trace(`window#validateWindowState: validating window state on ${s.length} display(s)`,o),typeof o.x!="number"||typeof o.y!="number"||typeof o.width!="number"||typeof o.height!="number"){n.trace("window#validateWindowState: unexpected type of state values");return}if(o.width<=0||o.height<=0){n.trace("window#validateWindowState: unexpected negative values");return}if(s.length===1){let c=e(s[0]);if(n.trace("window#validateWindowState: single monitor working area",c),c){let d=function(){!o||typeof o.x!="number"||typeof o.y!="number"||!c||(o.x<c.x&&(o.x=c.x),o.y<c.y&&(o.y=c.y))};d(),o.width>c.width&&(o.width=c.width),o.height>c.height&&(o.height=c.height),o.x>c.x+c.width-128&&(o.x=c.x+c.width-o.width),o.y>c.y+c.height-128&&(o.y=c.y+c.height-o.height),d()}return o}if(o.display&&o.mode===3){let c=s.find(d=>d.id===o.display);if(c&&typeof c.bounds?.x=="number"&&typeof c.bounds?.y=="number"){n.trace("window#validateWindowState: restoring fullscreen to previous display");let d=ki(3);return d.x=c.bounds.x,d.y=c.bounds.y,d}}let a,l;try{a=gy.screen.getDisplayMatching({x:o.x,y:o.y,width:o.width,height:o.height}),l=e(a),n.trace("window#validateWindowState: multi-monitor working area",l)}catch(c){n.error("window#validateWindowState: error finding display for window state",c)}if(a&&r(o,a))return o;n.trace("window#validateWindowState: state is outside of the multi-monitor working area")}t.validateWindowState=i;function r(n,o){if(typeof n.x!="number"||typeof n.y!="number"||typeof n.width!="number"||typeof n.height!="number"||n.width<=0||n.height<=0)return!1;let s=e(o);return!!(s&&n.x+n.width>s.x&&n.y+n.height>s.y&&n.x<s.x+s.width&&n.y<s.y+s.height)}t.validateWindowStateOnDisplay=r;function e(n){if(n.workArea.width>0&&n.workArea.height>0)return n.workArea;if(n.bounds.width>0&&n.bounds.height>0)return n.bounds}})(cl||={})});import Dn from"electron";var ye,Li,Et=I(()=>{Rn();ge();z();$();Z();Hn();Le();ee();re();bn();Ri();Dt();Vt();ye=L("lifecycleMainService"),Li=class extends T{constructor(e,t,n){super();this.logService=e;this.stateService=t;this.environmentMainService=n;this._onBeforeShutdown=this._register(new b);this.onBeforeShutdown=this._onBeforeShutdown.event;this._onWillShutdown=this._register(new b);this.onWillShutdown=this._onWillShutdown.event;this._onWillLoadWindow=this._register(new b);this.onWillLoadWindow=this._onWillLoadWindow.event;this._onBeforeCloseWindow=this._register(new b);this.onBeforeCloseWindow=this._onBeforeCloseWindow.event;this._quitRequested=!1;this._wasRestarted=!1;this._phase=1;this.windowToCloseRequest=new Set;this.oneTimeListenerTokenGenerator=0;this.windowCounter=0;this.pendingQuitPromise=void 0;this.pendingQuitPromiseResolve=void 0;this.pendingWillShutdownPromise=void 0;this.mapWindowIdToPendingUnload=new Map;this.phaseWhen=new Map;this.relaunchHandler=void 0;this.resolveRestarted(),this.when(2).then(()=>this.registerListeners())}static{this.QUIT_AND_RESTART_KEY="lifecycle.quitAndRestart"}get quitRequested(){return this._quitRequested}get wasRestarted(){return this._wasRestarted}get phase(){return this._phase}resolveRestarted(){this._wasRestarted=!!this.stateService.getItem(Li.QUIT_AND_RESTART_KEY),this._wasRestarted&&this.stateService.removeItem(Li.QUIT_AND_RESTART_KEY)}registerListeners(){let e=()=>{this._quitRequested||(this.trace("Lifecycle#app.on(before-quit)"),this._quitRequested=!0,this.trace("Lifecycle#onBeforeShutdown.fire()"),this._onBeforeShutdown.fire(),N&&this.windowCounter===0&&this.fireOnWillShutdown(1))};Dn.app.addListener("before-quit",e);let t=()=>{this.trace("Lifecycle#app.on(window-all-closed)"),(this._quitRequested||!N)&&Dn.app.quit()};Dn.app.addListener("window-all-closed",t),Dn.app.once("will-quit",n=>{this.trace("Lifecycle#app.on(will-quit) - begin"),n.preventDefault(),this.fireOnWillShutdown(1).finally(()=>{this.trace("Lifecycle#app.on(will-quit) - after fireOnWillShutdown"),this.resolvePendingQuitPromise(!1),Dn.app.removeListener("before-quit",e),Dn.app.removeListener("window-all-closed",t),this.trace("Lifecycle#app.on(will-quit) - calling app.quit()"),Dn.app.quit()})})}fireOnWillShutdown(e){if(this.pendingWillShutdownPromise)return this.pendingWillShutdownPromise;let t=this.logService;this.trace("Lifecycle#onWillShutdown.fire()");let n=[];return this._onWillShutdown.fire({reason:e,join(o,s){t.trace(`Lifecycle#onWillShutdown - begin '${o}'`),n.push(s.finally(()=>{t.trace(`Lifecycle#onWillShutdown - end '${o}'`)}))}}),this.pendingWillShutdownPromise=(async()=>{try{await gt.settled(n)}catch(o){this.logService.error(o)}try{await this.stateService.close()}catch(o){this.logService.error(o)}})(),this.pendingWillShutdownPromise}set phase(e){if(e<this.phase)throw new Error("Lifecycle cannot go backwards");if(this._phase===e)return;this.trace(`lifecycle (main): phase changed (value: ${e})`),this._phase=e;let t=this.phaseWhen.get(this._phase);t&&(t.open(),this.phaseWhen.delete(this._phase))}async when(e){if(e<=this._phase)return;let t=this.phaseWhen.get(e);t||(t=new wi,this.phaseWhen.set(e,t)),await t.wait()}registerWindow(e){let t=new J;this.windowCounter++,t.add(e.onWillLoad(o=>this._onWillLoadWindow.fire({window:e,workspace:o.workspace,reason:o.reason})));let n=vi(e.win);t.add(S.fromNodeEventEmitter(n,"close")(o=>{let s=e.id;this.windowToCloseRequest.delete(s)||(this.trace(`Lifecycle#window.on('close') - window ID ${e.id}`),o.preventDefault(),this.unload(e,1).then(a=>{if(a){this.windowToCloseRequest.delete(s);return}this.windowToCloseRequest.add(s),this.trace(`Lifecycle#onBeforeCloseWindow.fire() - window ID ${s}`),this._onBeforeCloseWindow.fire(e),e.close()}))})),t.add(S.fromNodeEventEmitter(n,"closed")(()=>{this.trace(`Lifecycle#window.on('closed') - window ID ${e.id}`),this.windowCounter--,t.dispose(),this.windowCounter===0&&(!N||this._quitRequested)&&this.fireOnWillShutdown(1)}))}registerAuxWindow(e){let t=vi(e.win),n=new J;n.add(S.fromNodeEventEmitter(t,"close")(o=>{this.trace(`Lifecycle#auxWindow.on('close') - window ID ${e.id}`),this._quitRequested&&(this.trace("Lifecycle#auxWindow.on('close') - preventDefault() because quit requested"),o.preventDefault())})),n.add(S.fromNodeEventEmitter(t,"closed")(()=>{this.trace(`Lifecycle#auxWindow.on('closed') - window ID ${e.id}`),n.dispose()}))}async reload(e,t){await this.unload(e,3)||e.reload(t)}unload(e,t){let n=this.mapWindowIdToPendingUnload.get(e.id);if(n)return n;let o=this.doUnload(e,t).finally(()=>{this.mapWindowIdToPendingUnload.delete(e.id)});return this.mapWindowIdToPendingUnload.set(e.id,o),o}async doUnload(e,t){if(!e.isReady)return!1;this.trace(`Lifecycle#unload() - window ID ${e.id}`);let n=this._quitRequested?2:t,o=await this.onBeforeUnloadWindowInRenderer(e,n);return o?(this.trace(`Lifecycle#unload() - veto in renderer (window ID ${e.id})`),this.handleWindowUnloadVeto(o)):(await this.onWillUnloadWindowInRenderer(e,n),!1)}handleWindowUnloadVeto(e){return e?(this.resolvePendingQuitPromise(!0),this._quitRequested=!1,!0):!1}resolvePendingQuitPromise(e){this.pendingQuitPromiseResolve&&(this.pendingQuitPromiseResolve(e),this.pendingQuitPromiseResolve=void 0,this.pendingQuitPromise=void 0)}onBeforeUnloadWindowInRenderer(e,t){return new Promise(n=>{let o=this.oneTimeListenerTokenGenerator++,s=`vscode:ok${o}`,a=`vscode:cancel${o}`;tt.once(s,()=>{n(!1)}),tt.once(a,()=>{n(!0)}),e.send("vscode:onBeforeUnload",{okChannel:s,cancelChannel:a,reason:t})})}onWillUnloadWindowInRenderer(e,t){return new Promise(n=>{let s=`vscode:reply${this.oneTimeListenerTokenGenerator++}`;tt.once(s,()=>n()),e.send("vscode:onWillUnload",{replyChannel:s,reason:t})})}quit(e){return this.doQuit(e).then(t=>{if(!t&&e)try{if(F){let n=Zr();n!==process.cwd()&&process.chdir(n)}}catch(n){this.logService.error(n)}return t})}doQuit(e){return this.trace(`Lifecycle#quit() - begin (willRestart: ${e})`),this.pendingQuitPromise?(this.trace("Lifecycle#quit() - returning pending quit promise"),this.pendingQuitPromise):(e&&this.stateService.setItem(Li.QUIT_AND_RESTART_KEY,!0),this.pendingQuitPromise=new Promise(t=>{this.pendingQuitPromiseResolve=t,this.trace("Lifecycle#quit() - calling app.quit()"),Dn.app.quit()}),this.pendingQuitPromise)}trace(e){this.environmentMainService.args["enable-smoke-test-driver"]?this.logService.info(e):this.logService.trace(e)}setRelaunchHandler(e){this.relaunchHandler=e}async relaunch(e){this.trace("Lifecycle#relaunch()");let t=process.argv.slice(1);if(e?.addArgs&&t.push(...e.addArgs),e?.removeArgs)for(let s of e.removeArgs){let a=t.indexOf(s);a>=0&&t.splice(a,1)}let n=()=>{this.relaunchHandler?.handleRelaunch(e)||(this.trace("Lifecycle#relaunch() - calling app.relaunch()"),Dn.app.relaunch({args:t}))};Dn.app.once("quit",n),await this.quit(!0)&&Dn.app.removeListener("quit",n)}async kill(e){this.trace("Lifecycle#kill()"),await this.fireOnWillShutdown(2),await Promise.race([lt(1e3),(async()=>{for(let t of Ai())if(t&&!t.isDestroyed()){let n;t.webContents&&!t.webContents.isDestroyed()?n=new Promise(o=>t.once("closed",o)):n=Promise.resolve(),t.destroy(),await n}})()]),Dn.app.exit(e)}};Li=E([g(0,U),g(1,Pt),g(2,Te)],Li)});import*as vy from"fs";var Ks,yy,sP=I(()=>{ge();z();xr();Ce();rr();Ks=class i{constructor(r,e=Object.create(null)){this.path=r;this.name=Se(this.path),this.logger=new yy(e.logging),this.whenConnected=this.connect(this.path)}static{this.IN_MEMORY_PATH=":memory:"}get onDidChangeItemsExternal(){return S.None}static{this.BUSY_OPEN_TIMEOUT=2e3}static{this.MAX_HOST_PARAMETERS=256}async getItems(){let r=await this.whenConnected,e=new Map;return(await this.all(r,"SELECT * FROM ItemTable")).forEach(n=>e.set(n.key,n.value)),this.logger.isTracing&&this.logger.trace(`[storage ${this.name}] getItems(): ${e.size} rows`),e}async updateItems(r){let e=await this.whenConnected;return this.doUpdateItems(e,r)}doUpdateItems(r,e){return this.logger.isTracing&&this.logger.trace(`[storage ${this.name}] updateItems(): insert(${e.insert?IS(e.insert):"0"}), delete(${e.delete?wS(e.delete):"0"})`),this.transaction(r,()=>{let t=e.insert,n=e.delete;if(t&&t.size>0){let o=[];o.push([]);let s=0;t.forEach((a,l)=>{let c=o[s];c.length>i.MAX_HOST_PARAMETERS&&(s++,c=[],o.push(c)),c.push(l,a)}),o.forEach(a=>{this.prepare(r,`INSERT INTO ItemTable VALUES ${new Array(a.length/2).fill("(?,?)").join(",")} ON CONFLICT (key) DO UPDATE SET value = excluded.value WHERE value != excluded.value`,l=>l.run(a),()=>{let l=[],c=0;return t.forEach((d,u)=>{l.push(u),c+=d.length}),`Keys: ${l.join(", ")} Length: ${c}`})})}if(n?.size){let o=[];o.push([]);let s=0;n.forEach(a=>{let l=o[s];l.length>i.MAX_HOST_PARAMETERS&&(s++,l=[],o.push(l)),l.push(a)}),o.forEach(a=>{this.prepare(r,`DELETE FROM ItemTable WHERE key IN (${new Array(a.length).fill("?").join(",")})`,l=>l.run(a),()=>{let l=[];return n.forEach(c=>{l.push(c)}),`Keys: ${l.join(", ")}`})})}})}async optimize(){this.logger.trace(`[storage ${this.name}] vacuum()`);let r=await this.whenConnected;return this.exec(r,"VACUUM")}async close(r){this.logger.trace(`[storage ${this.name}] close()`);let e=await this.whenConnected;return this.doClose(e,r)}doClose(r,e){return new Promise((t,n)=>{r.db.close(o=>(o&&this.handleSQLiteError(r,`[storage ${this.name}] close(): ${o}`),this.path===i.IN_MEMORY_PATH?t():!r.isErroneous&&!r.isInMemory?this.backup().then(t,s=>(this.logger.error(`[storage ${this.name}] backup(): ${s}`),t())):typeof e=="function"?vy.promises.unlink(this.path).then(()=>this.doConnect(this.path).then(s=>{let a=()=>this.doClose(s,void 0);return this.doUpdateItems(s,{insert:e()}).then(()=>a(),l=>(a(),Promise.reject(l)))})).then(t,n):n(o||new Error("Database has errors or is in-memory without recovery option"))))})}backup(){let r=this.toBackupPath(this.path);return Q.copy(this.path,r,{preserveSymlinks:!1})}toBackupPath(r){return`${r}.backup`}async checkIntegrity(r){this.logger.trace(`[storage ${this.name}] checkIntegrity(full: ${r})`);let e=await this.whenConnected,t=await this.get(e,r?"PRAGMA integrity_check":"PRAGMA quick_check"),n=r?t.integrity_check:t.quick_check;return e.isErroneous?`${n} (last error: ${e.lastError})`:e.isInMemory?`${n} (in-memory!)`:n}async connect(r,e=!0){this.logger.trace(`[storage ${this.name}] open(${r}, retryOnBusy: ${e})`);try{return await this.doConnect(r)}catch(t){if(this.logger.error(`[storage ${this.name}] open(): Unable to open DB due to ${t}`),t.code==="SQLITE_BUSY"&&e)return await lt(i.BUSY_OPEN_TIMEOUT),this.connect(r,!1);try{await vy.promises.unlink(r);try{await Q.rename(this.toBackupPath(r),r,!1)}catch{}return await this.doConnect(r)}catch(n){return this.logger.error(`[storage ${this.name}] open(): Unable to use backup due to ${n}`),this.doConnect(i.IN_MEMORY_PATH)}}}handleSQLiteError(r,e){r.isErroneous=!0,r.lastError=e,this.logger.error(e)}doConnect(r){return new Promise((e,t)=>{import("@vscode/sqlite3").then(n=>{let o=this.logger.isTracing?n.default.verbose().Database:n.default.Database,s={db:new o(r,a=>a?s.db&&a.code!=="SQLITE_CANTOPEN"?s.db.close(()=>t(a)):t(a):this.exec(s,["PRAGMA user_version = 1;","CREATE TABLE IF NOT EXISTS ItemTable (key TEXT UNIQUE ON CONFLICT REPLACE, value BLOB)"].join("")).then(()=>e(s),l=>s.db.close(()=>t(l)))),isInMemory:r===i.IN_MEMORY_PATH};s.db.on("error",a=>this.handleSQLiteError(s,`[storage ${this.name}] Error (event): ${a}`)),this.logger.isTracing&&s.db.on("trace",a=>this.logger.trace(`[storage ${this.name}] Trace (event): ${a}`))},t)})}exec(r,e){return new Promise((t,n)=>{r.db.exec(e,o=>o?(this.handleSQLiteError(r,`[storage ${this.name}] exec(): ${o}`),n(o)):t())})}get(r,e){return new Promise((t,n)=>{r.db.get(e,(o,s)=>o?(this.handleSQLiteError(r,`[storage ${this.name}] get(): ${o}`),n(o)):t(s))})}all(r,e){return new Promise((t,n)=>{r.db.all(e,(o,s)=>o?(this.handleSQLiteError(r,`[storage ${this.name}] all(): ${o}`),n(o)):t(s))})}transaction(r,e){return new Promise((t,n)=>{r.db.serialize(()=>{r.db.run("BEGIN TRANSACTION"),e(),r.db.run("END TRANSACTION",o=>o?(this.handleSQLiteError(r,`[storage ${this.name}] transaction(): ${o}`),n(o)):t())})})}prepare(r,e,t,n){let o=r.db.prepare(e),s=a=>{this.handleSQLiteError(r,`[storage ${this.name}] prepare(): ${a} (${e}). Details: ${n()}`)};o.on("error",s),t(o),o.finalize(a=>{a&&s(a),o.removeListener("error",s)})}},yy=class i{static{this.VSCODE_TRACE_STORAGE="VSCODE_TRACE_STORAGE"}constructor(r){r&&typeof r.logTrace=="function"&&process.env[i.VSCODE_TRACE_STORAGE]&&(this.logTrace=r.logTrace),r&&typeof r.logError=="function"&&(this.logError=r.logError)}get isTracing(){return!!this.logTrace}trace(r){this.logTrace?.(r)}error(r){this.logError?.(r)}}});var Je,k6,Iy,wy,aP,om,sm,cu,lP,dl,am,du,ir=I(()=>{ee();Je=L("telemetryService"),k6=L("customEndpointTelemetryService"),Iy="telemetry.currentSessionDate",wy="telemetry.firstSessionDate",aP="telemetry.lastSessionDate",om="telemetry.machineId",sm="telemetry.sqmId",cu="telemetry.devDeviceId",lP="telemetry",dl="telemetry.telemetryLevel",am="telemetry.enableCrashReporter",du="telemetry.enableTelemetry"});import*as cP from"fs";var uu,lm,cm,dm,um,pu,dP=I(()=>{zt();ge();z();$();Ce();Cs();le();rr();ny();sP();re();_i();ir();Tr();qe();uu=class i extends T{constructor(e,t){super();this.logService=e;this.fileService=t;this._onDidChangeStorage=this._register(new b);this.onDidChangeStorage=this._onDidChangeStorage.event;this._onDidCloseStorage=this._register(new b);this.onDidCloseStorage=this._onDidCloseStorage.event;this._storage=this._register(new Zn(new oo,{hint:1}));this.initializePromise=void 0;this.whenInitPromise=new Gt;this.whenInit=this.whenInitPromise.p;this.state=0}static{this.LOG_SLOW_CLOSE_THRESHOLD=2e3}get storage(){return this._storage}isInMemory(){return this._storage.isInMemory()}init(){return this.initializePromise||(this.initializePromise=(async()=>{if(this.state===0)try{let e=this._register(await this.doCreate());this._storage.dispose(),this._storage=e,this._register(e.onDidChangeStorage(n=>this._onDidChangeStorage.fire(n))),await this.doInit(e);let t=e.getBoolean(su);t===void 0?e.set(su,!0):t&&e.set(su,!1)}catch(e){this.logService.error(`[storage main] initialize(): Unable to init storage due to ${e}`)}finally{this.state=1,this.whenInitPromise.complete()}})()),this.initializePromise}createLoggingOptions(){return{logTrace:this.logService.getLevel()===1?e=>this.logService.trace(e):void 0,logError:e=>this.logService.error(e)}}doInit(e){return e.init()}get items(){return this._storage.items}get(e,t){return this._storage.get(e,t)}set(e,t){return this._storage.set(e,t)}delete(e){return this._storage.delete(e)}optimize(){return this._storage.optimize()}async close(){let e=new on(!1);await this.doClose(),e.stop(),e.elapsed()>i.LOG_SLOW_CLOSE_THRESHOLD&&await this.logSlowClose(e),this._onDidCloseStorage.fire()}async logSlowClose(e){if(this.path)try{let t=dS(Array.from(this._storage.items.entries()).map(([o,s])=>({key:o,length:s.length})),(o,s)=>s.length-o.length,5).map(o=>`${o.key}:${o.length}`).join(", "),n=(await this.fileService.stat(P.file(this.path))).size;this.logService.warn(`[storage main] detected slow close() operation: Time: ${e.elapsed()}ms, DB size: ${n}b, Large Keys: ${t}`)}catch(t){this.logService.error("[storage main] figuring out stats for slow DB on close() resulted in an error",t)}}async doClose(){this.initializePromise&&await this.initializePromise,this.state=2,await this._storage.close()}},lm=class i extends uu{constructor(e,t,n,o){super(n,o);this.profile=e;this.options=t}static{this.STORAGE_NAME="state.vscdb"}get path(){if(!this.options.useInMemoryStorage)return V(this.profile.globalStorageHome.with({scheme:W.file}).fsPath,i.STORAGE_NAME)}async doCreate(){return new Zn(new Ks(this.path??Ks.IN_MEMORY_PATH,{logging:this.createLoggingOptions()}),this.path?void 0:{hint:1})}},cm=class extends lm{},dm=class extends lm{constructor(r,e,t,n){super(e.defaultProfile,r,t,n)}async doInit(r){await super.doInit(r),this.updateTelemetryState(r)}updateTelemetryState(r){r.get(wy,void 0)===void 0&&r.set(wy,new Date().toUTCString());let t=r.get(Iy,void 0),n=new Date().toUTCString();r.set(aP,typeof t>"u"?null:t),r.set(Iy,n)}},um=class i extends uu{constructor(e,t,n,o,s){super(n,s);this.workspace=e;this.options=t;this.environmentService=o}static{this.WORKSPACE_STORAGE_NAME="state.vscdb"}static{this.WORKSPACE_META_NAME="workspace.json"}get path(){if(!this.options.useInMemoryStorage)return V(this.environmentService.workspaceStorageHome.with({scheme:W.file}).fsPath,this.workspace.id,i.WORKSPACE_STORAGE_NAME)}async doCreate(){let{storageFilePath:e,wasCreated:t}=await this.prepareWorkspaceStorageFolder();return new Zn(new Ks(e,{logging:this.createLoggingOptions()}),{hint:this.options.useInMemoryStorage?1:t?0:void 0})}async prepareWorkspaceStorageFolder(){if(this.options.useInMemoryStorage)return{storageFilePath:Ks.IN_MEMORY_PATH,wasCreated:!0};let e=V(this.environmentService.workspaceStorageHome.with({scheme:W.file}).fsPath,this.workspace.id),t=V(e,i.WORKSPACE_STORAGE_NAME);return await Q.exists(e)?{storageFilePath:t,wasCreated:!1}:(await cP.promises.mkdir(e,{recursive:!0}),this.ensureWorkspaceStorageFolderMeta(e),{storageFilePath:t,wasCreated:!0})}async ensureWorkspaceStorageFolderMeta(e){let t;if(Bt(this.workspace)?t={folder:this.workspace.uri.toString()}:ct(this.workspace)&&(t={workspace:this.workspace.configPath.toString()}),t)try{let n=V(e,i.WORKSPACE_META_NAME);await Q.exists(n)||await Q.writeFile(n,JSON.stringify(t,void 0,2))}catch(n){this.logService.error(`[storage main] ensureWorkspaceStorageFolderMeta(): Unable to create workspace storage metadata due to ${n}`)}}},pu=class extends uu{get path(){}async doCreate(){return new Zn(new oo,{hint:1})}}});var by,mu,ul,Sy=I(()=>{ge();ot();$();Le();ln();ze();re();by=class extends T{constructor(e,t,n,o){super();this.storagePath=e;this.logService=n;this.fileService=o;this.storage=Object.create(null);this.lastSavedStorageContents="";this.initializing=void 0;this.closing=void 0;this.flushDelayer=this._register(new Pr(t===0?0:100))}init(){return this.initializing||(this.initializing=this.doInit()),this.initializing}async doInit(){try{this.lastSavedStorageContents=(await this.fileService.readFile(this.storagePath)).value.toString(),this.storage=JSON.parse(this.lastSavedStorageContents)}catch(e){e.fileOperationResult!==1&&this.logService.error(e)}}getItem(e,t){let n=this.storage[e];return Ut(n)?t:n}setItem(e,t){this.setItems([{key:e,data:t}])}setItems(e){let t=!1;for(let{key:n,data:o}of e)this.storage[n]!==o&&(Ut(o)?_n(this.storage[n])||(this.storage[n]=void 0,t=!0):(this.storage[n]=o,t=!0));t&&this.save()}removeItem(e){_n(this.storage[e])||(this.storage[e]=void 0,this.save())}async save(){if(!this.closing)return this.flushDelayer.trigger(()=>this.doSave())}async doSave(){if(!this.initializing)return;await this.initializing;let e=JSON.stringify(this.storage,null,4);if(e!==this.lastSavedStorageContents)try{await this.fileService.writeFile(this.storagePath,H.fromString(e),{atomic:{postfix:".vsctmp"}}),this.lastSavedStorageContents=e}catch(t){this.logService.error(t)}}async close(){return this.closing||(this.closing=this.flushDelayer.trigger(()=>this.doSave(),0)),this.closing}},mu=class extends T{constructor(r,e,t,n){super(),this.fileStorage=this._register(new by(e.stateResource,r,t,n))}async init(){await this.fileStorage.init()}getItem(r,e){return this.fileStorage.getItem(r,e)}};mu=E([g(1,qr),g(2,U),g(3,Me)],mu);ul=class extends mu{setItem(r,e){this.fileStorage.setItem(r,e)}setItems(r){this.fileStorage.setItems(r)}removeItem(r){this.fileStorage.removeItem(r)}close(){return this.fileStorage.close()}}});var Xo,An,pm,uP=I(()=>{le();ln();ze();re();bn();ei();ti();Le();Sy();Xo=class extends ol{constructor(e,t,n,o,s){super(n,o,t,s);this.stateReadonlyService=e;this.nativeEnvironmentService=n}getStoredProfiles(){return this.stateReadonlyService.getItem(Xo.PROFILES_KEY,[]).map(t=>({...t,location:Oe(t.location)?this.uriIdentityService.extUri.joinPath(this.profilesHome,t.location):P.revive(t.location)}))}getStoredProfileAssociations(){return this.stateReadonlyService.getItem(Xo.PROFILE_ASSOCIATIONS_KEY,{})}getDefaultProfileExtensionsLocation(){return this.uriIdentityService.extUri.joinPath(P.file(this.nativeEnvironmentService.extensionsPath).with({scheme:this.profilesHome.scheme}),"extensions.json")}};Xo=E([g(0,em),g(1,kt),g(2,Or),g(3,Me),g(4,U)],Xo);An=class extends Xo{constructor(e,t,n,o,s){super(e,t,n,o,s);this.stateService=e}saveStoredProfiles(e){e.length?this.stateService.setItem(An.PROFILES_KEY,e.map(t=>({...t,location:this.uriIdentityService.extUri.relativePath(this.profilesHome,t.location)}))):this.stateService.removeItem(An.PROFILES_KEY)}saveStoredProfileAssociations(e){e.emptyWindows||e.workspaces?this.stateService.setItem(An.PROFILE_ASSOCIATIONS_KEY,e):this.stateService.removeItem(An.PROFILE_ASSOCIATIONS_KEY)}};An=E([g(0,Pt),g(1,kt),g(2,Or),g(3,Me),g(4,U)],An);pm=class extends An{constructor(r,e,t,n){super(new ul(0,e,n,t),r,e,t,n)}async init(){return await this.stateService.init(),super.init()}};pm=E([g(0,kt),g(1,Or),g(2,Me),g(3,U)],pm)});var Wr,pl,Yo=I(()=>{ln();ze();ee();re();ei();ti();uP();bn();Wr=_r,pl=class extends An{constructor(r,e,t,n,o){super(r,e,t,n,o)}getAssociatedEmptyWindows(){let r=[];for(let e of this.profilesObject.emptyWindows.keys())r.push({id:e});return r}};pl=E([g(0,Pt),g(1,kt),g(2,Or),g(3,Me),g(4,U)],pl)});var Zo,fl,yr,ml,Mi=I(()=>{le();z();$();ln();ze();ee();Et();re();_i();dP();ti();Yo();ei();qe();Zo=L("storageMainService"),fl=class extends T{constructor(e,t,n,o,s,a){super();this.logService=e;this.environmentService=t;this.userDataProfilesService=n;this.lifecycleMainService=o;this.fileService=s;this.uriIdentityService=a;this.shutdownReason=void 0;this._onDidChangeProfileStorage=this._register(new b);this.onDidChangeProfileStorage=this._onDidChangeProfileStorage.event;this.mapProfileToStorage=new Map;this.mapWorkspaceToStorage=new Map;this.applicationStorage=this._register(this.createApplicationStorage()),this.registerListeners()}getStorageOptions(){return{useInMemoryStorage:!!this.environmentService.extensionTestsLocationURI}}registerListeners(){(async()=>(await this.lifecycleMainService.when(3),this.applicationStorage.init()))(),this._register(this.lifecycleMainService.onWillLoadWindow(e=>{e.window.profile&&this.profileStorage(e.window.profile).init(),e.workspace&&this.workspaceStorage(e.workspace).init()})),this._register(this.lifecycleMainService.onWillShutdown(e=>{this.logService.trace("storageMainService#onWillShutdown()"),this.shutdownReason=e.reason,e.join("applicationStorage",this.applicationStorage.close());for(let[,t]of this.mapProfileToStorage)e.join("profileStorage",t.close());for(let[,t]of this.mapWorkspaceToStorage)e.join("workspaceStorage",t.close())})),this._register(this.userDataProfilesService.onWillCreateProfile(e=>{e.join((async()=>{await this.fileService.exists(e.profile.globalStorageHome)||await this.fileService.createFolder(e.profile.globalStorageHome)})())})),this._register(this.userDataProfilesService.onWillRemoveProfile(e=>{let t=this.mapProfileToStorage.get(e.profile.id);t&&e.join(t.close())}))}createApplicationStorage(){this.logService.trace("StorageMainService: creating application storage");let e=new dm(this.getStorageOptions(),this.userDataProfilesService,this.logService,this.fileService);return this._register(S.once(e.onDidCloseStorage)(()=>{this.logService.trace("StorageMainService: closed application storage")})),e}profileStorage(e){if(Xf(e))return this.applicationStorage;let t=this.mapProfileToStorage.get(e.id);if(!t){this.logService.trace(`StorageMainService: creating profile storage (${e.name})`),t=this._register(this.createProfileStorage(e)),this.mapProfileToStorage.set(e.id,t);let n=t.onDidChangeStorage(o=>this._onDidChangeProfileStorage.fire({...o,storage:t,profile:e}));S.once(t.onDidCloseStorage)(()=>{this.logService.trace(`StorageMainService: closed profile storage (${e.name})`),this.mapProfileToStorage.delete(e.id),n.dispose()})}return t}createProfileStorage(e){return this.shutdownReason===2?new pu(this.logService,this.fileService):new cm(e,this.getStorageOptions(),this.logService,this.fileService)}workspaceStorage(e){let t=this.mapWorkspaceToStorage.get(e.id);return t||(this.logService.trace(`StorageMainService: creating workspace storage (${e.id})`),t=this._register(this.createWorkspaceStorage(e)),this.mapWorkspaceToStorage.set(e.id,t),S.once(t.onDidCloseStorage)(()=>{this.logService.trace(`StorageMainService: closed workspace storage (${e.id})`),this.mapWorkspaceToStorage.delete(e.id)})),t}createWorkspaceStorage(e){return this.shutdownReason===2?new pu(this.logService,this.fileService):new um(e,this.getStorageOptions(),this.logService,this.environmentService,this.fileService)}isUsed(e){let t=P.file(e);for(let n of[this.applicationStorage,...this.mapProfileToStorage.values(),...this.mapWorkspaceToStorage.values()])if(n.path&&this.uriIdentityService.extUri.isEqualOrParent(P.file(n.path),t))return!0;return!1}};fl=E([g(0,U),g(1,qr),g(2,Wr),g(3,ye),g(4,Me),g(5,kt)],fl);yr=L("applicationStorageMainService"),ml=class extends ou{constructor(e,t){super();this.userDataProfilesService=e;this.storageMainService=t;this.whenReady=this.storageMainService.applicationStorage.whenInit}doInitialize(){return this.storageMainService.applicationStorage.whenInit}getStorage(e){if(e===-1)return this.storageMainService.applicationStorage.storage}getLogDetails(e){if(e===-1)return this.userDataProfilesService.defaultProfile.globalStorageHome.with({scheme:W.file}).fsPath}shouldFlushWhenIdle(){return!1}switch(){throw new Error("Migrating storage is unsupported from main process")}switchToProfile(){throw new Error("Switching storage profile is unsupported from main process")}switchToWorkspace(){throw new Error("Switching storage workspace is unsupported from main process")}hasScope(){throw new Error("Main process is never profile or workspace scoped")}};ml=E([g(0,_r),g(1,Zo)],ml)});import{app as K2}from"electron";var vu,hl,xy=I(()=>{It();z();Pi();$();le();Jt();it();Bd();Dt();ee();re();_i();Mi();Vt();vu=L("proxyAuthService"),hl=class extends T{constructor(e,t,n,o,s,a){super();this.logService=e;this.windowsMainService=t;this.encryptionMainService=n;this.applicationStorageMainService=o;this.configurationService=s;this.environmentMainService=a;this.PROXY_CREDENTIALS_SERVICE_KEY="proxy-credentials://";this.pendingProxyResolves=new Map;this.currentDialog=void 0;this.cancelledAuthInfoHashes=new Set;this.sessionCredentials=new Map;this.registerListeners()}registerListeners(){let e=S.fromNodeEventEmitter(K2,"login",(t,n,o,s,a)=>({event:t,authInfo:{...s,attempt:o.firstAuthAttempt?1:2},callback:a}));this._register(e(this.onLogin,this))}async lookupAuthorization(e){return this.onLogin({authInfo:e})}async onLogin({event:e,authInfo:t,callback:n}){if(!t.isProxy)return;e?.preventDefault();let o=String(cr({scheme:t.scheme,host:t.host,port:t.port})),s,a=this.pendingProxyResolves.get(o);if(a)this.logService.trace("auth#onLogin (proxy) - pending proxy handling found"),s=await a;else{this.logService.trace("auth#onLogin (proxy) - no pending proxy handling found, starting new"),a=this.resolveProxyCredentials(t,o),this.pendingProxyResolves.set(o,a);try{s=await a}finally{this.pendingProxyResolves.delete(o)}}return n?.(s?.username,s?.password),s}async resolveProxyCredentials(e,t){this.logService.trace("auth#resolveProxyCredentials (proxy) - enter");try{let n=await this.doResolveProxyCredentials(e,t);if(n)return this.logService.trace("auth#resolveProxyCredentials (proxy) - got credentials"),n;this.logService.trace("auth#resolveProxyCredentials (proxy) - did not get credentials")}finally{this.logService.trace("auth#resolveProxyCredentials (proxy) - exit")}}async doResolveProxyCredentials(e,t){if(this.logService.trace("auth#doResolveProxyCredentials - enter",e),this.environmentMainService.extensionTestsLocationURI){try{let d=Buffer.from(e.realm,"base64").toString("utf-8");if(d.startsWith("{"))return JSON.parse(d)}catch{}return}let n=(this.configurationService.getValue("http.proxy")||"").trim()||(process.env.https_proxy||process.env.HTTPS_PROXY||process.env.http_proxy||process.env.HTTP_PROXY||"").trim()||void 0;if(n?.indexOf("@")!==-1){let d=P.parse(n),u=d.authority.indexOf("@");if(u!==-1){if(e.attempt>1){this.logService.trace("auth#doResolveProxyCredentials (proxy) - exit - ignoring previously used config/envvar credentials");return}this.logService.trace("auth#doResolveProxyCredentials (proxy) - exit - found config/envvar credentials to use");let f=d.authority.substring(0,u),m=f.indexOf(":");return m!==-1?{username:f.substring(0,m),password:f.substring(m+1)}:{username:f,password:""}}}let o=e.attempt===1&&this.sessionCredentials.get(t);if(o){this.logService.trace("auth#doResolveProxyCredentials (proxy) - exit - found session credentials to use");let{username:d,password:u}=o;return{username:d,password:u}}let s,a;try{let d=this.applicationStorageMainService.get(this.PROXY_CREDENTIALS_SERVICE_KEY+t,-1);if(d){let u=JSON.parse(await this.encryptionMainService.decrypt(d));s=u.username,a=u.password}}catch(d){this.logService.error(d)}if(e.attempt===1&&typeof s=="string"&&typeof a=="string")return this.logService.trace("auth#doResolveProxyCredentials (proxy) - exit - found stored credentials to use"),this.sessionCredentials.set(t,{username:s,password:a}),{username:s,password:a};let l=this.currentDialog,c=this.currentDialog=(async()=>{await l;let d=await this.showProxyCredentialsDialog(e,t,s,a);return this.currentDialog===c&&(this.currentDialog=void 0),d})();return c}async showProxyCredentialsDialog(e,t,n,o){if(this.cancelledAuthInfoHashes.has(t)){this.logService.trace("auth#doResolveProxyCredentials (proxy) - exit - login dialog was cancelled before, not showing again");return}let s=this.windowsMainService.getFocusedWindow()||this.windowsMainService.getLastActiveWindow();if(!s){this.logService.trace("auth#doResolveProxyCredentials (proxy) - exit - no opened window found to show dialog in");return}this.logService.trace(`auth#doResolveProxyCredentials (proxy) - asking window ${s.id} to handle proxy login`);let a=this.sessionCredentials.get(t),l={authInfo:e,username:a?.username??n,password:a?.password??o,replyChannel:`vscode:proxyAuthResponse:${_e()}`};s.sendWhenReady("vscode:openProxyAuthenticationDialog",xe.None,l);let c=await new Promise(d=>{let u=async(f,m,y)=>{if(m===l.replyChannel)if(this.logService.trace(`auth#doResolveProxyCredentials - exit - received credentials from window ${s.id}`),s.win?.webContents.off("ipc-message",u),y){let v={username:y.username,password:y.password};try{if(y.remember){let C=await this.encryptionMainService.encrypt(JSON.stringify(v));this.applicationStorageMainService.store(this.PROXY_CREDENTIALS_SERVICE_KEY+t,C,-1,1)}else this.applicationStorageMainService.remove(this.PROXY_CREDENTIALS_SERVICE_KEY+t,-1)}catch(C){this.logService.error(C)}d({username:v.username,password:v.password})}else this.cancelledAuthInfoHashes.add(t),d(void 0)};s.win?.webContents.on("ipc-message",u)});return this.sessionCredentials.set(t,c),c}};hl=E([g(0,U),g(1,Ke),g(2,Ya),g(3,yr),g(4,fe),g(5,Te)],hl)});var Oi,gl=I(()=>{ee();Oi=L("backupMainService")});function pP(i){return typeof i?.backupFolder=="string"}function fP(i){let r=[];try{Array.isArray(i.workspaces)&&(r=i.workspaces.map(e=>({workspace:{id:e.id,configPath:P.parse(e.configURIPath)},remoteAuthority:e.remoteAuthority})))}catch{}return r}function mP(i){let r=[];try{Array.isArray(i.folders)&&(r=i.folders.map(e=>({folderUri:P.parse(e.folderUri),remoteAuthority:e.remoteAuthority})))}catch{}return r}var hP=I(()=>{le()});function gP(i){return i?.hasOwnProperty("folderUri")}var vP=I(()=>{});import{createHash as Py}from"crypto";function po(i){function r(){let e=i.scheme===W.file?hr(i):i.toString();return ne||(e=e.toLowerCase()),Py("md5").update(e).digest("hex")}return{id:r(),configPath:i}}function fm(i,r){function e(){if(i.scheme!==W.file)return Py("md5").update(i.toString()).digest("hex");if(!r)return;let n;return ne?n=r.ino:N?n=r.birthtime.getTime():F&&(typeof r.birthtimeMs=="number"?n=Math.floor(r.birthtimeMs):n=r.birthtime.getTime()),Py("md5").update(i.fsPath).update(n?String(n):"").digest("hex")}let t=e();if(typeof t=="string")return{id:t,uri:i}}function yu(){return{id:(Date.now()+Math.round(Math.random()*1e3)).toString()}}var FB,mm=I(()=>{qe();Z();wt();FB=128/4});import{createHash as j2}from"crypto";var fo,yP=I(()=>{sn();qe();Ce();Z();wt();rr();hP();it();Dt();bn();ze();re();vP();Tr();mm();fo=class{constructor(r,e,t,n){this.configurationService=e;this.logService=t;this.stateService=n;this.workspaces=[];this.folders=[];this.emptyWindows=[];this.backupUriComparer=Ge;this.backupPathComparer={isEqual:(r,e)=>Mo(r,e,!ne)};this.backupHome=r.backupHome}static{this.backupWorkspacesMetadataStorageKey="backupWorkspaces"}async initialize(){let r=this.stateService.getItem(fo.backupWorkspacesMetadataStorageKey)??{workspaces:[],folders:[],emptyWindows:[]};this.emptyWindows=await this.validateEmptyWorkspaces(r.emptyWindows),this.workspaces=await this.validateWorkspaces(fP(r)),this.folders=await this.validateFolders(mP(r)),this.storeWorkspacesMetadata()}getWorkspaceBackups(){return this.isHotExitOnExitAndWindowClose()?[]:this.workspaces.slice(0)}getFolderBackups(){return this.isHotExitOnExitAndWindowClose()?[]:this.folders.slice(0)}isHotExitEnabled(){return this.getHotExitConfig()!==jf.OFF}isHotExitOnExitAndWindowClose(){return this.getHotExitConfig()===jf.ON_EXIT_AND_WINDOW_CLOSE}getHotExitConfig(){return this.configurationService.getValue()?.files?.hotExit||jf.ON_EXIT}getEmptyWindowBackups(){return this.emptyWindows.slice(0)}registerWorkspaceBackup(r,e){this.workspaces.some(n=>r.workspace.id===n.workspace.id)||(this.workspaces.push(r),this.storeWorkspacesMetadata());let t=V(this.backupHome,r.workspace.id);return e?this.moveBackupFolder(t,e).then(()=>t):t}async moveBackupFolder(r,e){if(await Q.exists(r)&&await this.convertToEmptyWindowBackup(r),await Q.exists(e))try{await Q.rename(e,r,!1)}catch(t){this.logService.error(`Backup: Could not move backup folder to new location: ${t.toString()}`)}}registerFolderBackup(r){return this.folders.some(e=>this.backupUriComparer.isEqual(r.folderUri,e.folderUri))||(this.folders.push(r),this.storeWorkspacesMetadata()),V(this.backupHome,this.getFolderHash(r))}registerEmptyWindowBackup(r){return this.emptyWindows.some(e=>!!e.backupFolder&&this.backupPathComparer.isEqual(e.backupFolder,r.backupFolder))||(this.emptyWindows.push(r),this.storeWorkspacesMetadata()),V(this.backupHome,r.backupFolder)}async validateWorkspaces(r){if(!Array.isArray(r))return[];let e=new Set,t=[];for(let n of r){let o=n.workspace;if(!ct(o))return[];if(!e.has(o.id)){e.add(o.id);let s=V(this.backupHome,o.id);await this.doHasBackups(s)?o.configPath.scheme!==W.file||await Q.exists(o.configPath.fsPath)?t.push(n):await this.convertToEmptyWindowBackup(s):await this.deleteStaleBackup(s)}}return t}async validateFolders(r){if(!Array.isArray(r))return[];let e=[],t=new Set;for(let n of r){let o=n.folderUri,s=this.backupUriComparer.getComparisonKey(o);if(!t.has(s)){t.add(s);let a=V(this.backupHome,this.getFolderHash(n));await this.doHasBackups(a)?o.scheme!==W.file||await Q.exists(o.fsPath)?e.push(n):await this.convertToEmptyWindowBackup(a):await this.deleteStaleBackup(a)}}return e}async validateEmptyWorkspaces(r){if(!Array.isArray(r))return[];let e=[],t=new Set;for(let n of r){let o=n.backupFolder;if(typeof o!="string")return[];if(!t.has(o)){t.add(o);let s=V(this.backupHome,o);await this.doHasBackups(s)?e.push(n):await this.deleteStaleBackup(s)}}return e}async deleteStaleBackup(r){try{await Q.rm(r,1)}catch(e){this.logService.error(`Backup: Could not delete stale backup: ${e.toString()}`)}}prepareNewEmptyWindowBackup(){let r=yu();for(;this.emptyWindows.some(e=>!!e.backupFolder&&this.backupPathComparer.isEqual(e.backupFolder,r.id));)r=yu();return{backupFolder:r.id}}async convertToEmptyWindowBackup(r){let e=this.prepareNewEmptyWindowBackup(),t=V(this.backupHome,e.backupFolder);try{await Q.rename(r,t,!1)}catch(n){return this.logService.error(`Backup: Could not rename backup folder: ${n.toString()}`),!1}return this.emptyWindows.push(e),!0}async getDirtyWorkspaces(){let r=[];for(let e of this.workspaces)await this.hasBackups(e)&&r.push(e);for(let e of this.folders)await this.hasBackups(e)&&r.push(e);return r}hasBackups(r){let e;return pP(r)?e=V(this.backupHome,r.backupFolder):gP(r)?e=V(this.backupHome,this.getFolderHash(r)):e=V(this.backupHome,r.workspace.id),this.doHasBackups(e)}async doHasBackups(r){try{let e=await Q.readdir(r);for(let t of e)try{if((await Q.readdir(V(r,t))).length>0)return!0}catch{}}catch{}return!1}storeWorkspacesMetadata(){let r={workspaces:this.workspaces.map(({workspace:e,remoteAuthority:t})=>{let n={id:e.id,configURIPath:e.configPath.toString()};return t&&(n.remoteAuthority=t),n}),folders:this.folders.map(({folderUri:e,remoteAuthority:t})=>{let n={folderUri:e.toString()};return t&&(n.remoteAuthority=t),n}),emptyWindows:this.emptyWindows.map(({backupFolder:e,remoteAuthority:t})=>{let n={backupFolder:e};return t&&(n.remoteAuthority=t),n})};this.stateService.setItem(fo.backupWorkspacesMetadataStorageKey,r)}getFolderHash(r){let e=r.folderUri,t;return e.scheme===W.file?t=ne?e.fsPath:e.fsPath.toLowerCase():t=e.toString().toLowerCase(),j2("md5").update(t).digest("hex")}};fo=E([g(0,Te),g(1,fe),g(2,U),g(3,Pt)],fo)});function Iu(i,r,e=G2){let t=i.find((f,m)=>f.length>0&&f[0]!=="-"&&r.hasOwnProperty(f)&&r[f].type==="subcommand"),n={},o=["_"],s=[],a={},l;for(let f in r){let m=r[f];m.type==="subcommand"?f===t&&(l=m):(m.alias&&(n[f]=m.alias),m.type==="string"||m.type==="string[]"?(o.push(f),m.deprecates&&o.push(...m.deprecates)):m.type==="boolean"&&(s.push(f),m.deprecates&&s.push(...m.deprecates)),m.global&&(a[f]=m))}if(l&&t){let f=a;for(let C in l.options)f[C]=l.options[C];let m=i.filter(C=>C!==t),y=e.getSubcommandReporter?e.getSubcommandReporter(t):void 0,v=Iu(m,f,y);return{[t]:v,_:[]}}let c=(0,IP.default)(i,{string:o,boolean:s,alias:n}),d={},u=c;d._=c._.map(f=>String(f)).filter(f=>f.length>0),delete u._;for(let f in r){let m=r[f];if(m.type==="subcommand")continue;m.alias&&delete u[m.alias];let y=u[f];if(m.deprecates)for(let v of m.deprecates)u.hasOwnProperty(v)&&(y||(y=u[v],y&&e.onDeprecatedOption(v,m.deprecationMessage||h(1984,null,f))),delete u[v]);if(typeof y<"u"){if(m.type==="string[]"){if(Array.isArray(y)||(y=[y]),!m.allowEmptyValue){let v=y.filter(C=>C.length>0);v.length!==y.length&&(e.onEmptyValue(f),y=v.length>0?v:void 0)}}else m.type==="string"&&(Array.isArray(y)?(y=y.pop(),e.onMultipleValues(f,y)):!y&&!m.allowEmptyValue&&(e.onEmptyValue(f),y=void 0));d[f]=y,m.deprecationMessage&&e.onDeprecatedOption(f,m.deprecationMessage)}delete u[f]}for(let f in u)e.onUnknownOption(f);return d}var IP,pV,Ey,hm,G2,Cy=I(()=>{IP=Eb(Lg(),1);Z();Ee();pV={o:h(2009,null),e:h(1993,null),t:h(2023,null),m:h(2004,null)},Ey=["tunnel","serve-web","agent-host"],hm={chat:{type:"subcommand",description:"Pass in a prompt to run in a chat session in the current working directory.",options:{_:{type:"string[]",description:h(2013,null)},mode:{type:"string",cat:"o",alias:"m",args:"mode",description:h(1981,null)},"add-file":{type:"string[]",cat:"o",alias:"a",args:"path",description:h(1976,null)},maximize:{type:"boolean",cat:"o",description:h(1980,null)},"reuse-window":{type:"boolean",cat:"o",alias:"r",description:h(2016,null)},"new-window":{type:"boolean",cat:"o",alias:"n",description:h(2007,null)},profile:{type:"string",cat:"o",args:"profileName",description:h(2012,null)},help:{type:"boolean",alias:"h",description:h(1995,null)}}},"serve-web":{type:"subcommand",description:"Run a server that displays the editor UI in browsers.",options:{"cli-data-dir":{type:"string",args:"dir",description:h(1982,null)},"disable-telemetry":{type:"boolean"},"telemetry-level":{type:"string"}}},"agent-host":{type:"subcommand",description:"Run a server that hosts agents.",options:{"cli-data-dir":{type:"string",args:"dir",description:h(1982,null)},"disable-telemetry":{type:"boolean"},"telemetry-level":{type:"string"}}},tunnel:{type:"subcommand",description:"Make the current machine accessible from vscode.dev or other machines through a secure tunnel.",options:{"cli-data-dir":{type:"string",args:"dir",description:h(1982,null)},"disable-telemetry":{type:"boolean"},"telemetry-level":{type:"string"},user:{type:"subcommand",options:{login:{type:"subcommand",options:{provider:{type:"string"},"access-token":{type:"string"}}}}}}},diff:{type:"boolean",cat:"o",alias:"d",args:["file","file"],description:h(1985,null)},merge:{type:"boolean",cat:"o",alias:"m",args:["path1","path2","base","result"],description:h(2005,null)},add:{type:"boolean",cat:"o",alias:"a",args:"folder",description:h(1975,null)},remove:{type:"boolean",cat:"o",args:"folder",description:h(2014,null)},goto:{type:"boolean",cat:"o",alias:"g",args:"file:line[:character]",description:h(1994,null)},"new-window":{type:"boolean",cat:"o",alias:"n",description:h(2006,null)},"reuse-window":{type:"boolean",cat:"o",alias:"r",description:h(2015,null)},agents:{type:"boolean",cat:"o",deprecates:["sessions"],description:h(1978,null)},wait:{type:"boolean",cat:"o",alias:"w",description:h(2033,null)},waitMarkerFilePath:{type:"string"},locale:{type:"string",cat:"o",args:"locale",description:h(2001,null)},"user-data-dir":{type:"string",cat:"o",args:"dir",description:h(2030,null)},profile:{type:"string",cat:"o",args:"profileName",description:h(2012,null)},help:{type:"boolean",cat:"o",alias:"h",description:h(1995,null)},"extensions-dir":{type:"string",deprecates:["extensionHomePath"],cat:"e",args:"dir",description:h(1992,null)},"extensions-download-dir":{type:"string"},"builtin-extensions-dir":{type:"string"},"list-extensions":{type:"boolean",cat:"e",description:h(2000,null)},"agent-plugins-dir":{type:"string"},"show-versions":{type:"boolean",cat:"e",description:h(2017,null)},category:{type:"string",allowEmptyValue:!0,cat:"e",description:h(1979,null),args:"category"},"install-extension":{type:"string[]",cat:"e",args:"ext-id | path",description:h(1999,null)},"pre-release":{type:"boolean",cat:"e",description:h(1998,null)},"uninstall-extension":{type:"string[]",cat:"e",args:"ext-id",description:h(2025,null)},"update-extensions":{type:"boolean",cat:"e",description:h(2028,null)},"enable-proposed-api":{type:"string[]",allowEmptyValue:!0,cat:"e",args:"ext-id",description:h(1991,null)},"add-mcp":{type:"string[]",cat:"m",args:"json",description:h(1977,null)},version:{type:"boolean",cat:"t",alias:"v",description:h(2032,null)},verbose:{type:"boolean",cat:"t",global:!0,description:h(2031,null)},log:{type:"string[]",cat:"t",args:"level",global:!0,description:h(2003,null)},status:{type:"boolean",alias:"s",cat:"t",description:h(2018,null)},"prof-startup":{type:"boolean",cat:"t",description:h(2011,null)},"prof-append-timers":{type:"string"},"prof-duration-markers":{type:"string[]"},"prof-duration-markers-file":{type:"string"},"no-cached-data":{type:"boolean"},"prof-startup-prefix":{type:"string"},"prof-v8-extensions":{type:"boolean"},"disable-extensions":{type:"boolean",deprecates:["disableExtensions"],cat:"t",description:h(1988,null)},"disable-extension":{type:"string[]",cat:"t",args:"ext-id",description:h(1987,null)},sync:{type:"string",cat:"t",description:h(2024,null),args:["on | off"]},"inspect-extensions":{type:"string",allowEmptyValue:!0,deprecates:["debugPluginHost"],args:"port",cat:"t",description:h(1997,null)},"inspect-brk-extensions":{type:"string",allowEmptyValue:!0,deprecates:["debugBrkPluginHost"],args:"port",cat:"t",description:h(1996,null)},"disable-lcd-text":{type:"boolean",cat:"t",description:h(1990,null)},"disable-gpu":{type:"boolean",cat:"t",description:h(1989,null)},"disable-chromium-sandbox":{type:"boolean",cat:"t",description:h(1986,null)},sandbox:{type:"boolean"},"locate-shell-integration-path":{type:"string",cat:"t",args:["shell"],description:h(2002,null)},telemetry:{type:"boolean",cat:"t",description:h(2021,null)},remote:{type:"string",allowEmptyValue:!0},"folder-uri":{type:"string[]",cat:"o",args:"uri"},"file-uri":{type:"string[]",cat:"o",args:"uri"},"locate-extension":{type:"string[]"},extensionDevelopmentPath:{type:"string[]"},extensionDevelopmentKind:{type:"string[]"},extensionTestsPath:{type:"string"},extensionEnvironment:{type:"string"},debugId:{type:"string"},debugRenderer:{type:"boolean"},"inspect-ptyhost":{type:"string",allowEmptyValue:!0},"inspect-brk-ptyhost":{type:"string",allowEmptyValue:!0},"inspect-agenthost":{type:"string",allowEmptyValue:!0},"inspect-brk-agenthost":{type:"string",allowEmptyValue:!0},"inspect-search":{type:"string",deprecates:["debugSearch"],allowEmptyValue:!0},"inspect-brk-search":{type:"string",deprecates:["debugBrkSearch"],allowEmptyValue:!0},"inspect-sharedprocess":{type:"string",allowEmptyValue:!0},"inspect-brk-sharedprocess":{type:"string",allowEmptyValue:!0},"export-default-configuration":{type:"string"},"export-policy-data":{type:"string",allowEmptyValue:!0},"export-default-keybindings":{type:"string",allowEmptyValue:!0},"install-source":{type:"string"},"enable-smoke-test-driver":{type:"boolean"},"skip-sessions-welcome":{type:"boolean"},logExtensionHostCommunication:{type:"boolean"},"skip-release-notes":{type:"boolean"},"skip-welcome":{type:"boolean"},"disable-telemetry":{type:"boolean"},"disable-updates":{type:"boolean"},"share-secrets-with-agents-app":{type:"boolean"},transient:{type:"boolean",cat:"t",description:h(2022,null)},"use-inmemory-secretstorage":{type:"boolean",deprecates:["disable-keytar"]},"password-store":{type:"string"},"disable-workspace-trust":{type:"boolean"},"disable-crash-reporter":{type:"boolean"},"crash-reporter-directory":{type:"string"},"crash-reporter-id":{type:"string"},"skip-add-to-recently-opened":{type:"boolean"},"open-url":{type:"boolean"},"file-write":{type:"boolean"},"file-chmod":{type:"boolean"},"install-builtin-extension":{type:"string[]"},force:{type:"boolean"},"do-not-sync":{type:"boolean"},"do-not-include-pack-dependencies":{type:"boolean"},trace:{type:"boolean"},"trace-memory-infra":{type:"boolean"},"trace-category-filter":{type:"string"},"trace-options":{type:"string"},"preserve-env":{type:"boolean"},"force-user-env":{type:"boolean"},"force-disable-user-env":{type:"boolean"},"open-devtools":{type:"boolean"},"disable-gpu-sandbox":{type:"boolean"},logsPath:{type:"string"},"__enable-file-policy":{type:"boolean"},editSessionId:{type:"string"},continueOn:{type:"string"},"enable-coi":{type:"boolean"},"unresponsive-sample-interval":{type:"string"},"unresponsive-sample-period":{type:"string"},"enable-rdp-display-tracking":{type:"boolean"},"disable-layout-restore":{type:"boolean"},"disable-experiments":{type:"boolean"},"no-proxy-server":{type:"boolean"},"no-sandbox":{type:"boolean",alias:"sandbox"},"proxy-server":{type:"string"},"proxy-bypass-list":{type:"string"},"proxy-pac-url":{type:"string"},"js-flags":{type:"string"},inspect:{type:"string",allowEmptyValue:!0},"inspect-brk":{type:"string",allowEmptyValue:!0},nolazy:{type:"boolean"},"force-device-scale-factor":{type:"string"},"force-renderer-accessibility":{type:"boolean"},"ignore-certificate-errors":{type:"boolean"},"allow-insecure-localhost":{type:"boolean"},"log-net-log":{type:"string"},vmodule:{type:"string"},_urls:{type:"string[]"},"disable-dev-shm-usage":{type:"boolean"},"profile-temp":{type:"boolean"},"ozone-platform":{type:"string"},"enable-tracing":{type:"string"},"trace-startup-format":{type:"string"},"trace-startup-file":{type:"string"},"trace-startup-duration":{type:"string"},"xdg-portal-required-version":{type:"string"},_:{type:"string[]"}},G2={onUnknownOption:()=>{},onMultipleValues:()=>{},onEmptyValue:()=>{},onDeprecatedOption:()=>{}}});var gm,wP=I(()=>{z();$();gm=class extends T{constructor(){super(...arguments);this._onCloseEmitter=this._register(new b);this._onReloadEmitter=this._register(new b);this._onTerminateEmitter=this._register(new b);this._onAttachEmitter=this._register(new b)}static{this.ChannelName="extensionhostdebugservice"}call(e,t,n){switch(t){case"close":return Promise.resolve(this._onCloseEmitter.fire({sessionId:n[0]}));case"reload":return Promise.resolve(this._onReloadEmitter.fire({sessionId:n[0]}));case"terminate":return Promise.resolve(this._onTerminateEmitter.fire({sessionId:n[0]}));case"attach":return Promise.resolve(this._onAttachEmitter.fire({sessionId:n[0],port:n[1],subId:n[2]}))}throw new Error("Method not implemented.")}listen(e,t,n){switch(t){case"close":return this._onCloseEmitter.event;case"reload":return this._onReloadEmitter.event;case"terminate":return this._onTerminateEmitter.event;case"attach":return this._onAttachEmitter.event}throw new Error("Method not implemented.")}}});var vm,bP=I(()=>{ot();$();Jt();Fd();Cy();Vt();wP();vm=class extends gm{constructor(e){super();this.windowsMainService=e}call(e,t,n){return t==="openExtensionDevelopmentHostWindow"?this.openExtensionDevelopmentHostWindow(n[0],n[1]):t==="attachToCurrentWindowRenderer"?this.attachToCurrentWindowRenderer(n[0]):super.call(e,t,n)}async attachToCurrentWindowRenderer(e){let t=this.windowsMainService.getWindowById(e);return t?.win?this.openCdp(t.win,!0):{success:!1}}async openExtensionDevelopmentHostWindow(e,t){let n=Iu(e,hm);n.debugRenderer=t;let o=n.extensionDevelopmentPath;if(!o)return{success:!1};let[s]=await this.windowsMainService.openExtensionDevelopmentHostWindow(o,{context:5,cli:n,forceProfile:n.profile,forceTempProfile:n["profile-temp"]});if(!t)return{success:!0};let a=s.win;return a?this.openCdp(a,!1):{success:!0}}async openCdpServer(e,t){let{createServer:n}=await import("http"),o=n((d,u)=>{if(d.url==="/json/list"||d.url==="/json"){u.setHeader("Content-Type","application/json"),u.end(JSON.stringify([{description:"VS Code Renderer",devtoolsFrontendUrl:"",id:e,title:"VS Code Renderer",type:"page",url:"vscode://renderer",webSocketDebuggerUrl:c}]));return}else if(d.url==="/json/version"){u.setHeader("Content-Type","application/json"),u.end(JSON.stringify({Browser:"VS Code Renderer","Protocol-Version":"1.3",webSocketDebuggerUrl:c}));return}u.statusCode=404,u.end()});await new Promise(d=>o.listen(0,"127.0.0.1",d));let s=o.address(),a=typeof s=="object"&&s?s.port:0,c=`${typeof s=="string"?s:`ws://127.0.0.1:${s?.port}`}/${e}`;return o.on("upgrade",(d,u)=>{if(!d.url?.includes(e)){u.end();return}let f=ux(d,u,{debugLabel:"extension-host-cdp-"+_e(),enableMessageSplitting:!1});f&&t(f)}),{server:o,wsUrl:c,port:a}}async openCdp(e,t){let n=e.webContents.debugger,o=n.isAttached()?1/0:0,s=_e(),a=t?`page-${s}`:void 0,{server:l,wsUrl:c,port:d}=await this.openCdpServer(s,u=>{o++===0&&n.attach();let f=new J;f.add(u);let m=C=>{f.isDisposed||u.write(H.fromString(JSON.stringify(C)))},y=(C,w,_,R)=>m({method:w,params:_,sessionId:R||a}),v=()=>{u.end(),f.dispose()};e.addListener("close",v),f.add(j(()=>e.removeListener("close",v))),n.addListener("message",y),f.add(j(()=>n.removeListener("message",y))),f.add(u.onData(C=>{let w;try{w=JSON.parse(C.toString())}catch(R){console.error("error reading cdp line",R);return}if(t){let R={targetId:s,type:"page",title:"VS Code Renderer",url:"vscode://renderer"};if(w.method==="Target.setDiscoverTargets"){m({id:w.id,sessionId:w.sessionId,result:{}}),m({method:"Target.targetCreated",sessionId:w.sessionId,params:{targetInfo:{...R,attached:!1,canAccessOpener:!1}}});return}if(w.method==="Target.attachToTarget"){m({id:w.id,sessionId:w.sessionId,result:{sessionId:a}}),m({method:"Target.attachedToTarget",params:{sessionId:a,targetInfo:{...R,attached:!0,canAccessOpener:!1},waitingForDebugger:!1}});return}if(w.method==="Target.setAutoAttach"||w.method==="Target.attachToBrowserTarget"){m({id:w.id,sessionId:w.sessionId,result:w.method==="Target.attachToBrowserTarget"?{sessionId:"browser"}:{}});return}if(w.method==="Target.getTargets"){m({id:w.id,sessionId:w.sessionId,result:{targetInfos:[{...R,attached:!0}]}});return}}let _=w.sessionId===a?void 0:w.sessionId;n.sendCommand(w.method,w.params,_).then(R=>m({id:w.id,sessionId:w.sessionId,result:R})).catch(R=>m({id:w.id,sessionId:w.sessionId,error:{code:0,message:R.message}}))})),f.add(u.onClose(()=>{--o===0&&n.detach()}))});return e.on("close",()=>l.close()),{rendererDebugAddr:c,success:!0,port:d}}}});function bu(i){let r=i;return!!r?.hostName&&!!r?.errorMessage}var J2,wu,ym=I(()=>{ee();J2="diagnosticsService",wu=L(J2)});function _y(i,r=!1){let e=0,t=i.length,n="",o=0,s=16,a=0;function l(v){let C=0,w=0;for(;C<v;){let _=i.charCodeAt(e);if(_>=48&&_<=57)w=w*16+_-48;else if(_>=65&&_<=70)w=w*16+_-65+10;else if(_>=97&&_<=102)w=w*16+_-97+10;else break;e++,C++}return C<v&&(w=-1),w}function c(v){e=v,n="",o=0,s=16,a=0}function d(){let v=e;if(i.charCodeAt(e)===48)e++;else for(e++;e<i.length&&yl(i.charCodeAt(e));)e++;if(e<i.length&&i.charCodeAt(e)===46)if(e++,e<i.length&&yl(i.charCodeAt(e)))for(e++;e<i.length&&yl(i.charCodeAt(e));)e++;else return a=3,i.substring(v,e);let C=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&&yl(i.charCodeAt(e))){for(e++;e<i.length&&yl(i.charCodeAt(e));)e++;C=e}else a=3;return i.substring(v,C)}function u(){let v="",C=e;for(;;){if(e>=t){v+=i.substring(C,e),a=2;break}let w=i.charCodeAt(e);if(w===34){v+=i.substring(C,e),e++;break}if(w===92){if(v+=i.substring(C,e),e++,e>=t){a=2;break}switch(i.charCodeAt(e++)){case 34:v+='"';break;case 92:v+="\\";break;case 47:v+="/";break;case 98:v+="\b";break;case 102:v+="\f";break;case 110:v+=`
`;break;case 114:v+="\r";break;case 116:v+="	";break;case 117:{let R=l(4);R>=0?v+=String.fromCharCode(R):a=4;break}default:a=5}C=e;continue}if(w>=0&&w<=31)if(Im(w)){v+=i.substring(C,e),a=2;break}else a=6;e++}return v}function f(){if(n="",a=0,o=e,e>=t)return o=t,s=17;let v=i.charCodeAt(e);if(Ty(v)){do e++,n+=String.fromCharCode(v),v=i.charCodeAt(e);while(Ty(v));return s=15}if(Im(v))return e++,n+=String.fromCharCode(v),v===13&&i.charCodeAt(e)===10&&(e++,n+=`
`),s=14;switch(v){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++,n=u(),s=10;case 47:{let C=e-1;if(i.charCodeAt(e+1)===47){for(e+=2;e<t&&!Im(i.charCodeAt(e));)e++;return n=i.substring(C,e),s=12}if(i.charCodeAt(e+1)===42){e+=2;let w=t-1,_=!1;for(;e<w;){if(i.charCodeAt(e)===42&&i.charCodeAt(e+1)===47){e+=2,_=!0;break}e++}return _||(e++,a=1),n=i.substring(C,e),s=13}return n+=String.fromCharCode(v),e++,s=16}case 45:if(n+=String.fromCharCode(v),e++,e===t||!yl(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 n+=d(),s=11;default:for(;e<t&&m(v);)e++,v=i.charCodeAt(e);if(o!==e){switch(n=i.substring(o,e),n){case"true":return s=8;case"false":return s=9;case"null":return s=7}return s=16}return n+=String.fromCharCode(v),e++,s=16}}function m(v){if(Ty(v)||Im(v))return!1;switch(v){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function y(){let v;do v=f();while(v>=12&&v<=15);return v}return{setPosition:c,getPosition:()=>e,scan:r?y:f,getToken:()=>s,getTokenValue:()=>n,getTokenOffset:()=>o,getTokenLength:()=>e-o,getTokenError:()=>a}}function Ty(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 Im(i){return i===10||i===13||i===8232||i===8233}function yl(i){return i>=48&&i<=57}function Ln(i,r=[],e=wm.DEFAULT){let t=null,n=[],o=[];function s(l){Array.isArray(n)?n.push(l):t!==null&&(n[t]=l)}return Il(i,{onObjectBegin:()=>{let l={};s(l),o.push(n),n=l,t=null},onObjectProperty:l=>{t=l},onObjectEnd:()=>{n=o.pop()},onArrayBegin:()=>{let l=[];s(l),o.push(n),n=l,t=null},onArrayEnd:()=>{n=o.pop()},onLiteralValue:s,onError:(l,c,d)=>{r.push({error:l,offset:c,length:d})}},e),n[0]}function SP(i,r=[],e=wm.DEFAULT){let t={type:"array",offset:-1,length:-1,children:[],parent:void 0};function n(l){t.type==="property"&&(t.length=l-t.offset,t=t.parent)}function o(l){return t.children.push(l),l}Il(i,{onObjectBegin:l=>{t=o({type:"object",offset:l,length:-1,parent:t,children:[]})},onObjectProperty:(l,c,d)=>{t=o({type:"property",offset:c,length:-1,parent:t,children:[]}),t.children.push({type:"string",value:l,offset:c,length:d,parent:t})},onObjectEnd:(l,c)=>{t.length=l+c-t.offset,t=t.parent,n(l+c)},onArrayBegin:(l,c)=>{t=o({type:"array",offset:l,length:-1,parent:t,children:[]})},onArrayEnd:(l,c)=>{t.length=l+c-t.offset,t=t.parent,n(l+c)},onLiteralValue:(l,c,d)=>{o({type:es(l),offset:c,length:d,parent:t,value:l}),n(c+d)},onSeparator:(l,c,d)=>{t.type==="property"&&(l===":"?t.colonOffset=c:l===","&&n(c))},onError:(l,c,d)=>{r.push({error:l,offset:c,length:d})}},e);let a=t.children[0];return a&&delete a.parent,a}function ky(i,r){if(!i)return;let e=i;for(let t of r)if(typeof t=="string"){if(e.type!=="object"||!Array.isArray(e.children))return;let n=!1;for(let o of e.children)if(Array.isArray(o.children)&&o.children[0].value===t){e=o.children[1],n=!0;break}if(!n)return}else{let n=t;if(e.type!=="array"||n<0||!Array.isArray(e.children)||n>=e.children.length)return;e=e.children[n]}return e}function Il(i,r,e=wm.DEFAULT){let t=_y(i,!1);function n(q){return q?()=>q(t.getTokenOffset(),t.getTokenLength()):()=>!0}function o(q){return q?ve=>q(ve,t.getTokenOffset(),t.getTokenLength()):()=>!0}let s=n(r.onObjectBegin),a=o(r.onObjectProperty),l=n(r.onObjectEnd),c=n(r.onArrayBegin),d=n(r.onArrayEnd),u=o(r.onLiteralValue),f=o(r.onSeparator),m=n(r.onComment),y=o(r.onError),v=e&&e.disallowComments,C=e&&e.allowTrailingComma;function w(){for(;;){let q=t.scan();switch(t.getTokenError()){case 4:_(14);break;case 5:_(15);break;case 3:_(13);break;case 1:v||_(11);break;case 2:_(12);break;case 6:_(16);break}switch(q){case 12:case 13:v?_(10):m();break;case 16:_(1);break;case 15:case 14:break;default:return q}}}function _(q,ve=[],vt=[]){if(y(q),ve.length+vt.length>0){let At=t.getToken();for(;At!==17;){if(ve.indexOf(At)!==-1){w();break}else if(vt.indexOf(At)!==-1)break;At=w()}}}function R(q){let ve=t.getTokenValue();return q?u(ve):a(ve),w(),!0}function D(){switch(t.getToken()){case 11:{let q=0;try{q=JSON.parse(t.getTokenValue()),typeof q!="number"&&(_(2),q=0)}catch{_(2)}u(q);break}case 7:u(null);break;case 8:u(!0);break;case 9:u(!1);break;default:return!1}return w(),!0}function M(){return t.getToken()!==10?(_(3,[],[2,5]),!1):(R(!1),t.getToken()===6?(f(":"),w(),G()||_(4,[],[2,5])):_(5,[],[2,5]),!0)}function X(){s(),w();let q=!1;for(;t.getToken()!==2&&t.getToken()!==17;){if(t.getToken()===5){if(q||_(4,[],[]),f(","),w(),t.getToken()===2&&C)break}else q&&_(6,[],[]);M()||_(4,[],[2,5]),q=!0}return l(),t.getToken()!==2?_(7,[2],[]):w(),!0}function B(){c(),w();let q=!1;for(;t.getToken()!==4&&t.getToken()!==17;){if(t.getToken()===5){if(q||_(4,[],[]),f(","),w(),t.getToken()===4&&C)break}else q&&_(6,[],[]);G()||_(4,[],[4,5]),q=!0}return d(),t.getToken()!==4?_(8,[4],[]):w(),!0}function G(){switch(t.getToken()){case 3:return B();case 1:return X();case 10:return R(!0);default:return D()}}return w(),t.getToken()===17?e.allowEmptyContent?!0:(_(4,[],[]),!1):G()?(t.getToken()!==17&&_(9,[],[]),!0):(_(4,[],[]),!1)}function es(i){switch(typeof i){case"boolean":return"boolean";case"number":return"number";case"string":return"string";case"object":{if(i){if(Array.isArray(i))return"array"}else return"null";return"object"}default:return"null"}}var wm,ri=I(()=>{(r=>r.DEFAULT={allowTrailingComma:!0})(wm||={})});var bm,We,Su=I(()=>{ar();bm=(n=>(n[n.Ignore=0]="Ignore",n[n.Info=1]="Info",n[n.Warning=2]="Warning",n[n.Error=3]="Error",n))(bm||{});(a=>{let i="error",r="warning",e="warn",t="info",n="ignore";function o(l){return l?Hr(i,l)?3:Hr(r,l)||Hr(e,l)?2:Hr(t,l)?1:0:0}a.fromValue=o;function s(l){switch(l){case 3:return i;case 2:return r;case 1:return t;default:return n}}a.toString=s})(bm||={});We=bm});function or(i){if(!i||typeof i!="object"||i instanceof RegExp)return i;let r=Array.isArray(i)?[]:{};return Object.entries(i).forEach(([e,t])=>{r[e]=t&&typeof t=="object"?or(t):t}),r}function xP(i){if(!i||typeof i!="object")return i;let r=[i];for(;r.length>0;){let e=r.shift();Object.freeze(e);for(let t in e)if(PP.call(e,t)){let n=e[t];typeof n=="object"&&!Object.isFrozen(n)&&!bS(n)&&r.push(n)}}return i}function EP(i,r){return Dy(i,r,new Set)}function Dy(i,r,e){if(Ut(i))return i;let t=r(i);if(typeof t<"u")return t;if(Array.isArray(i)){let n=[];for(let o of i)n.push(Dy(o,r,e));return n}if(je(i)){if(e.has(i))throw new Error("Cannot clone recursive data-structure");e.add(i);let n={};for(let o in i)PP.call(i,o)&&(n[o]=Dy(i[o],r,e));return e.delete(i),n}return i}function Sm(i,r,e=!0){return je(i)?(je(r)&&Object.keys(r).forEach(t=>{t in i?e&&(je(i[t])&&je(r[t])?Sm(i[t],r[t],e):i[t]=r[t]):i[t]=r[t]}),i):r}function dn(i,r){if(i===r)return!0;if(i==null||r===null||r===void 0||typeof i!=typeof r||typeof i!="object"||Array.isArray(i)!==Array.isArray(r))return!1;let e,t;if(Array.isArray(i)){if(i.length!==r.length)return!1;for(e=0;e<i.length;e++)if(!dn(i[e],r[e]))return!1}else{let n=[];for(t in i)n.push(t);n.sort();let o=[];for(t in r)o.push(t);if(o.sort(),!dn(n,o))return!1;for(e=0;e<n.length;e++)if(!dn(i[n[e]],r[n[e]]))return!1}return!0}function xm(i){let r=new Set;return JSON.stringify(i,(e,t)=>{if(je(t)||Array.isArray(t)){if(r.has(t))return"[Circular]";r.add(t)}return typeof t=="bigint"?`[BigInt ${t.toString()}]`:t})}function Ay(i,r){let e=r.toLowerCase(),t=Object.keys(i).find(n=>n.toLowerCase()===e);return t?i[t]:i[r]}var PP,un=I(()=>{Le();PP=Object.prototype.hasOwnProperty});function Pm(i,r){let e=or(i),t=(e.buttons??[]).map(a=>xd(a).withMnemonic),n=(i.buttons||[]).map((a,l)=>l),o=0,s=e.cancelId??t.length-1;if(t.length>1){let a=typeof s=="number"?t[s]:void 0;if(ne||N){if(typeof a=="string"&&t.length>1&&s!==1){t.splice(s,1),t.splice(1,0,a);let l=n[s];n.splice(s,1),n.splice(1,0,l),s=1}ne&&t.length>1&&(t=t.reverse(),n=n.reverse(),o=t.length-1,typeof a=="string"&&(s=o-1))}else if(F&&typeof a=="string"&&t.length>1&&s!==t.length-1){t.splice(s,1),t.push(a);let l=n[s];n.splice(s,1),n.push(l),s=t.length-1}}return e.buttons=t,e.defaultId=o,e.cancelId=s,e.noLink=!0,e.title=e.title||r.nameLong,{options:e,buttonIndeces:n}}var UV,NV,Ly=I(()=>{wt();Su();Ee();ee();ro();Z();un();UV=L("dialogService"),NV=L("fileDialogService")});import js from"electron";var Sn,wl,Gs=I(()=>{ge();Pi();ro();$();fd();Z();rr();Ee();Ly();ee();re();nr();Tr();Sn=L("dialogMainService"),wl=class{constructor(r,e){this.logService=r;this.productService=e;this.windowFileDialogLocks=new Map;this.windowDialogQueues=new Map;this.noWindowDialogueQueue=new kn}pickFileFolder(r,e){return this.doPick({...r,pickFolders:!0,pickFiles:!0,title:h(1968,null)},e)}pickFolder(r,e){let t={...r,pickFolders:!0,title:h(1970,null)};return F&&(t={...t,buttonLabel:xd(h(1973,null)).withMnemonic}),this.doPick(t,e)}pickFile(r,e){return this.doPick({...r,pickFiles:!0,title:h(1969,null)},e)}pickWorkspace(r,e){let t=h(1972,null),n=xd(h(1971,null)).withMnemonic,o=Jx;return this.doPick({...r,pickFiles:!0,title:t,filters:o,buttonLabel:n},e)}async doPick(r,e){let t={title:r.title,buttonLabel:r.buttonLabel,filters:r.filters,defaultPath:r.defaultPath};(typeof r.pickFiles=="boolean"||typeof r.pickFolders=="boolean")&&(t.properties=void 0,r.pickFiles&&r.pickFolders&&(t.properties=["multiSelections","openDirectory","openFile","createDirectory"])),t.properties||(t.properties=["multiSelections",r.pickFolders?"openDirectory":"openFile","createDirectory"]),N&&t.properties.push("treatPackageAsDirectory");let n=await this.showOpenDialog(t,(e||js.BrowserWindow.getFocusedWindow())??void 0);if(n?.filePaths&&n.filePaths.length>0)return n.filePaths}getWindowDialogQueue(r){if(r){let e=this.windowDialogQueues.get(r.id);return e||(e=new kn,this.windowDialogQueues.set(r.id,e)),e}else return this.noWindowDialogueQueue}showMessageBox(r,e){return this.getWindowDialogQueue(e).queue(async()=>{let{options:t,buttonIndeces:n}=Pm(r,this.productService),o;return e?o=await js.dialog.showMessageBox(e,t):o=await js.dialog.showMessageBox(t),{response:n[o.response],checkboxChecked:o.checkboxChecked}})}async showSaveDialog(r,e){let t=this.acquireFileDialogLock(r,e);if(!t)return this.logService.error("[DialogMainService]: file save dialog is already or will be showing for the window with the same configuration"),{canceled:!0,filePath:""};try{return await this.getWindowDialogQueue(e).queue(async()=>{let n;return e?n=await js.dialog.showSaveDialog(e,r):n=await js.dialog.showSaveDialog(r),n.filePath=this.normalizePath(n.filePath),n})}finally{ut(t)}}normalizePath(r){return r&&N&&(r=bi(r)),r}normalizePaths(r){return r.map(e=>this.normalizePath(e))}async showOpenDialog(r,e){r.defaultPath&&(await Q.exists(r.defaultPath)||(r.defaultPath=void 0));let t=this.acquireFileDialogLock(r,e);if(!t)return this.logService.error("[DialogMainService]: file open dialog is already or will be showing for the window with the same configuration"),{canceled:!0,filePaths:[]};try{return await this.getWindowDialogQueue(e).queue(async()=>{let n;return e?n=await js.dialog.showOpenDialog(e,r):n=await js.dialog.showOpenDialog(r),n.filePaths=this.normalizePaths(n.filePaths),n})}finally{ut(t)}}acquireFileDialogLock(r,e){if(!e)return T.None;this.logService.trace("[DialogMainService]: request to acquire file dialog lock",r);let t=this.windowFileDialogLocks.get(e.id);t||(t=new Set,this.windowFileDialogLocks.set(e.id,t));let n=cr(r);if(!t.has(n))return this.logService.trace("[DialogMainService]: new file dialog lock created",r),t.add(n),j(()=>{this.logService.trace("[DialogMainService]: file dialog lock disposed",r),t?.delete(n),t?.size===0&&this.windowFileDialogLocks.delete(e.id)})}};wl=E([g(0,U),g(1,De)],wl)});async function TP(i,r,e){for(let n of i){let o=n.openedWorkspace;if(ct(o)){let s=await e(o);if(s){if(s.folders.some(a=>Ge.isEqualOrParent(r,a.uri)))return n}else if(Ge.isEqualOrParent(r,o.configPath))return n}}let t=i.filter(n=>Bt(n.openedWorkspace)&&Ge.isEqualOrParent(r,n.openedWorkspace.uri));if(t.length)return t.sort((n,o)=>-(n.openedWorkspace.uri.path.length-o.openedWorkspace.uri.path.length))[0]}function mo(i,r){for(let e of i)if(ct(e.openedWorkspace)&&Ge.isEqual(e.openedWorkspace.configPath,r)||Bt(e.openedWorkspace)&&Ge.isEqual(e.openedWorkspace.uri,r))return e}function _P(i,r){let e=t=>r.some(n=>Ge.isEqual(P.file(n),P.file(t)));for(let t of i)if(t.config?.extensionDevelopmentPath?.some(n=>e(n)))return t}var My=I(()=>{wt();le();Tr()});function kP(i,r,e){let t,n,o,s,a;if(r){for(s=r.offset,a=s+r.length,o=s;o>0&&!xu(i,o-1);)o--;let R=a;for(;R<i.length&&!xu(i,R);)R++;n=i.substring(o,R),t=Q2(n,e)}else n=i,t=0,o=0,s=0,a=i.length;let l=X2(e,i),c=!1,d=0,u;e.insertSpaces?u=Oy(" ",e.tabSize||4):u="	";let f=_y(n,!1),m=!1;function y(){return l+Oy(u,t+d)}function v(){let R=f.scan();for(c=!1;R===15||R===14;)c=c||R===14,R=f.scan();return m=R===16||f.getTokenError()!==0,R}let C=[];function w(R,D,M){!m&&D<a&&M>s&&i.substring(D,M)!==R&&C.push({offset:D,length:M-D,content:R})}let _=v();if(_!==17){let R=f.getTokenOffset()+o,D=Oy(u,t);w(D,o,R)}for(;_!==17;){let R=f.getTokenOffset()+f.getTokenLength()+o,D=v(),M="";for(;!c&&(D===12||D===13);){let B=f.getTokenOffset()+o;w(" ",R,B),R=f.getTokenOffset()+f.getTokenLength()+o,M=D===12?y():"",D=v()}if(D===2)_!==1&&(d--,M=y());else if(D===4)_!==3&&(d--,M=y());else{switch(_){case 3:case 1:d++,M=y();break;case 5:case 12:M=y();break;case 13:c?M=y():M=" ";break;case 6:M=" ";break;case 10:if(D===6){M="";break}case 7:case 8:case 9:case 11:case 2:case 4:D===12||D===13?M=" ":D!==5&&D!==17&&(m=!0);break;case 16:m=!0;break}c&&(D===12||D===13)&&(M=y())}let X=f.getTokenOffset()+o;w(M,R,X),_=D}return C}function Oy(i,r){let e="";for(let t=0;t<r;t++)e+=i;return e}function Q2(i,r){let e=0,t=0,n=r.tabSize||4;for(;e<i.length;){let o=i.charAt(e);if(o===" ")t++;else if(o==="	")t+=n;else break;e++}return Math.floor(t/n)}function X2(i,r){for(let e=0;e<r.length;e++){let t=r.charAt(e);if(t==="\r")return e+1<r.length&&r.charAt(e+1)===`
`?`\r
`:"\r";if(t===`
`)return`
`}return i&&i.eol||`
`}function xu(i,r){return`\r
`.indexOf(i.charAt(r))!==-1}var RP=I(()=>{ri()});function Wy(i,r,e,t,n){let o=r.slice(),a=SP(i,[]),l,c;for(;o.length>0&&(c=o.pop(),l=ky(a,o),l===void 0&&e!==void 0);)typeof c=="string"?e={[c]:e}:e=[e];if(l)if(l.type==="object"&&typeof c=="string"&&Array.isArray(l.children)){let d=ky(l,[c]);if(d!==void 0)if(e===void 0){if(!d.parent)throw new Error("Malformed AST");let u=l.children.indexOf(d.parent),f,m=d.parent.offset+d.parent.length;if(u>0){let y=l.children[u-1];f=y.offset+y.length}else f=l.offset+1,l.children.length>1&&(m=l.children[1].offset);return bl(i,{offset:f,length:m-f,content:""},t)}else return bl(i,{offset:d.offset,length:d.length,content:JSON.stringify(e)},t);else{if(e===void 0)return[];let u=`${JSON.stringify(c)}: ${JSON.stringify(e)}`,f=n?n(l.children.map(y=>y.children[0].value)):l.children.length,m;if(f>0){let y=l.children[f-1];m={offset:y.offset+y.length,length:0,content:","+u}}else l.children.length===0?m={offset:l.offset+1,length:0,content:u}:m={offset:l.offset+1,length:0,content:u+","};return bl(i,m,t)}}else if(l.type==="array"&&typeof c=="number"&&Array.isArray(l.children))if(e!==void 0){let d=`${JSON.stringify(e)}`,u;if(l.children.length===0||c===0)u={offset:l.offset+1,length:0,content:l.children.length===0?d:d+","};else{let f=c===-1||c>l.children.length?l.children.length:c,m=l.children[f-1];u={offset:m.offset+m.length,length:0,content:","+d}}return bl(i,u,t)}else{let d=c,u=l.children[d],f;if(l.children.length===1)f={offset:l.offset+1,length:l.length-2,content:""};else if(l.children.length-1===d){let m=l.children[d-1],y=m.offset+m.length,v=l.offset+l.length;f={offset:y,length:v-2-y,content:""}}else f={offset:u.offset,length:l.children[d+1].offset-u.offset,content:""};return bl(i,f,t)}else throw new Error(`Can not add ${typeof c!="number"?"index":"property"} to parent of type ${l.type}`);else return e===void 0?[]:bl(i,{offset:a?a.offset:0,length:a?a.length:0,content:JSON.stringify(e)},t)}function bl(i,r,e){let t=Fy(i,r),n=r.offset,o=r.offset+r.content.length;if(r.length===0||r.content.length===0){for(;n>0&&!xu(t,n-1);)n--;for(;o<t.length&&!xu(t,o);)o++}let s=kP(t,{offset:n,length:o-n},e);for(let l=s.length-1;l>=0;l--){let c=s[l];t=Fy(t,c),n=Math.min(n,c.offset),o=Math.max(o,c.offset+c.length),o+=c.content.length-c.length}let a=i.length-(t.length-o)-n;return[{offset:n,length:a,content:t.substring(n,o)}]}function Fy(i,r){return i.substring(0,r.offset)+r.content+i.substring(r.offset+r.length)}function Uy(i,r){let e=r.slice(0).sort((n,o)=>{let s=n.offset-o.offset;return s===0?n.length-o.length:s}),t=i.length;for(let n=e.length-1;n>=0;n--){let o=e[n];if(o.offset+o.length<=t)i=Fy(i,o);else throw new Error("Overlapping edit");t=o.offset}return i}var Ny=I(()=>{ri();RP()});function ho(i){return i.scheme===W.vscodeRemote?i.authority:void 0}var Sl=I(()=>{qe()});function Em(i){return i.hasOwnProperty("workspace")}function Pu(i){return i.hasOwnProperty("folderUri")}function AP(i){return i.hasOwnProperty("fileUri")}function LP(i){return MP(i)||OP(i)}function MP(i){let r=i;return typeof r?.path=="string"&&(!r.name||typeof r.name=="string")}function OP(i){let r=i;return typeof r?.uri=="string"&&(!r.name||typeof r.name=="string")}function FP(i,r,e,t,n){if(i.scheme!==t.scheme)return{name:e,uri:i.toString(!0)};let o=r?void 0:n.relativePath(t,i);if(o!==void 0)o.length===0?o=".":F&&(o=DP(o));else if(i.scheme===W.file)o=i.fsPath,F&&(o=DP(o));else if(n.isEqualAuthority(i.authority,t.authority))o=i.path;else return{name:e,uri:i.toString(!0)};return{name:e,path:o}}function DP(i){return i=Sd(i),KS(i)||(i=Ii(i)),i}function WP(i,r,e){let t=[],n=new Set,o=e.dirname(r);for(let s of i){let a;if(MP(s))s.path&&(a=e.resolvePath(o,s.path));else if(OP(s))try{a=P.parse(s.uri),a.path[0]!==de.sep&&(a=a.with({path:de.sep+a.path}))}catch(l){console.warn(l)}if(a){let l=e.getComparisonKey(a);if(!n.has(l)){n.add(l);let c=s.name||e.basenameOrAuthority(a);t.push(new Jf({uri:a,name:c,index:t.length},s))}}}return t}function Z2(i){let r=i;return typeof r?.workspace=="object"&&typeof r.workspace.id=="string"&&typeof r.workspace.configPath=="string"}function eA(i){return typeof i?.folderUri=="string"}function tA(i){return typeof i?.fileUri=="string"}function UP(i,r){let e={workspaces:[],files:[]};if(i){let t=function(o,s){for(let a=0;a<o.length;a++)try{s(o[a],a)}catch(l){r.warn(`Error restoring recent entry ${JSON.stringify(o[a])}: ${l.toString()}. Skip entry.`)}},n=i;Array.isArray(n.entries)&&t(n.entries,o=>{let s=o.label,a=o.remoteAuthority;Z2(o)?e.workspaces.push({label:s,remoteAuthority:a,workspace:{id:o.workspace.id,configPath:P.parse(o.workspace.configPath)}}):eA(o)?e.workspaces.push({label:s,remoteAuthority:a,folderUri:P.parse(o.folderUri)}):tA(o)&&e.files.push({label:s,remoteAuthority:a,fileUri:P.parse(o.fileUri)})})}return e}function NP(i){let r={entries:[]},e=(t,n)=>t&&t!==n.fsPath&&t!==n.path;for(let t of i.workspaces)Pu(t)?r.entries.push({folderUri:t.folderUri.toString(),label:e(t.label,t.folderUri)?t.label:void 0,remoteAuthority:t.remoteAuthority}):r.entries.push({workspace:{id:t.workspace.id,configPath:t.workspace.configPath.toString()},label:e(t.label,t.workspace.configPath)?t.label:void 0,remoteAuthority:t.remoteAuthority});for(let t of i.files)r.entries.push({fileUri:t.fileUri.toString(),label:e(t.label,t.fileUri)?t.label:void 0,remoteAuthority:t.remoteAuthority});return r}var By,Cm=I(()=>{sn();ri();Ny();ro();qe();Ce();Z();wt();le();ee();Sl();Tr();By=L("workspacesService")});import*as Vy from"fs";import rA from"electron";var pn,xl,ts=I(()=>{z();ri();$();qe();Ce();wt();rr();Ee();gl();Gs();Dt();ee();re();Yo();My();Tr();Cm();mm();pn=L("workspacesManagementMainService"),xl=class extends T{constructor(e,t,n,o,s){super();this.environmentMainService=e;this.logService=t;this.userDataProfilesMainService=n;this.backupMainService=o;this.dialogMainService=s;this._onDidDeleteUntitledWorkspace=this._register(new b);this.onDidDeleteUntitledWorkspace=this._onDidDeleteUntitledWorkspace.event;this._onDidEnterWorkspace=this._register(new b);this.onDidEnterWorkspace=this._onDidEnterWorkspace.event;this.untitledWorkspaces=[];this.untitledWorkspacesHome=this.environmentMainService.untitledWorkspacesHome}async initialize(){this.untitledWorkspaces=[];try{let e=(await Q.readdir(this.untitledWorkspacesHome.with({scheme:W.file}).fsPath)).map(t=>he(this.untitledWorkspacesHome,t,cy));for(let t of e){let n=po(t),o=await this.resolveLocalWorkspace(t);o?this.untitledWorkspaces.push({workspace:n,remoteAuthority:o.remoteAuthority}):await this.deleteUntitledWorkspace(n)}}catch(e){e.code!=="ENOENT"&&this.logService.warn(`Unable to read folders in ${this.untitledWorkspacesHome} (${e}).`)}}resolveLocalWorkspace(e){return this.doResolveLocalWorkspace(e,t=>Vy.promises.readFile(t,"utf8"))}doResolveLocalWorkspace(e,t){if(this.isWorkspacePath(e)&&e.scheme===W.file)try{let n=t(e.fsPath);return n instanceof Promise?n.then(o=>this.doResolveWorkspace(e,o),o=>{}):this.doResolveWorkspace(e,n)}catch{return}}isWorkspacePath(e){return dy(e,this.environmentMainService)||Ti(e)}doResolveWorkspace(e,t){try{let n=this.doParseStoredWorkspace(e,t),o=po(e);return{id:o.id,configPath:o.configPath,folders:WP(n.folders,o.configPath,Ge),remoteAuthority:n.remoteAuthority,transient:n.transient}}catch(n){this.logService.warn(n.toString())}}doParseStoredWorkspace(e,t){let n=Ln(t);if(n&&Array.isArray(n.folders))n.folders=n.folders.filter(o=>LP(o));else throw new Error(`${e.toString(!0)} looks like an invalid workspace file.`);return n}async createUntitledWorkspace(e,t){let{workspace:n,storedWorkspace:o}=this.newUntitledWorkspace(e,t),s=n.configPath.fsPath;return await Vy.promises.mkdir(Ae(s),{recursive:!0}),await Q.writeFile(s,JSON.stringify(o,null,"	")),this.untitledWorkspaces.push({workspace:n,remoteAuthority:t}),n}newUntitledWorkspace(e=[],t){let n=(Date.now()+Math.round(Math.random()*1e3)).toString(),o=he(this.untitledWorkspacesHome,n),s=he(o,cy),a=[];for(let l of e)a.push(FP(l.uri,!0,l.name,o,Ge));return{workspace:po(s),storedWorkspace:{folders:a,remoteAuthority:t}}}async getWorkspaceIdentifier(e){return po(e)}isUntitledWorkspace(e){return dy(e.configPath,this.environmentMainService)}async deleteUntitledWorkspace(e){this.isUntitledWorkspace(e)&&(await this.doDeleteUntitledWorkspace(e),this.userDataProfilesMainService.unsetWorkspace(e),this._onDidDeleteUntitledWorkspace.fire(e))}async doDeleteUntitledWorkspace(e){let t=hr(e.configPath);try{await Q.rm(Ae(t));let n=V(this.environmentMainService.workspaceStorageHome.with({scheme:W.file}).fsPath,e.id);await Q.exists(n)&&await Q.writeFile(V(n,"obsolete"),""),this.untitledWorkspaces=this.untitledWorkspaces.filter(o=>o.workspace.id!==e.id)}catch(n){this.logService.warn(`Unable to delete untitled workspace ${t} (${n}).`)}}getUntitledWorkspaces(){return this.untitledWorkspaces}async enterWorkspace(e,t,n){if(!e?.win||!e.isReady||!await this.isValidTargetWorkspacePath(e,t,n))return;let s=await this.doEnterWorkspace(e,po(n));if(s)return this._onDidEnterWorkspace.fire({window:e,workspace:s.workspace}),s}async isValidTargetWorkspacePath(e,t,n){return n?ct(e.openedWorkspace)&&Ge.isEqual(e.openedWorkspace.configPath,n)?!1:mo(t,n)?(await this.dialogMainService.showMessageBox({type:"info",buttons:[h(2837,null)],message:h(2839,null,$r(n)),detail:h(2838,null)},rA.BrowserWindow.getFocusedWindow()??void 0),!1):!0:!0}async doEnterWorkspace(e,t){if(!e.config)return;e.focus();let n;return e.config.extensionDevelopmentPath||(e.config.backupPath?n=await this.backupMainService.registerWorkspaceBackup({workspace:t,remoteAuthority:e.remoteAuthority},e.config.backupPath):n=this.backupMainService.registerWorkspaceBackup({workspace:t,remoteAuthority:e.remoteAuthority})),ct(e.openedWorkspace)&&this.isUntitledWorkspace(e.openedWorkspace)&&await this.deleteUntitledWorkspace(e.openedWorkspace),e.config.workspace=t,e.config.backupPath=n,{workspace:t,backupPath:n}}};xl=E([g(0,Te),g(1,U),g(2,Wr),g(3,Oi),g(4,Sn)],xl)});function BP(i,...r){let e=r.reduce((o,s)=>(o[s]=!0,o),{}),t=[/^ELECTRON_.+$/,/^VSCODE_(?!(PORTABLE|SHELL_LOGIN|ENV_REPLACE|ENV_APPEND|ENV_PREPEND)).+$/,/^SNAP(|_.*)$/,/^GDK_PIXBUF_.+$/];Object.keys(i).filter(o=>!e[o]).forEach(o=>{for(let s=0;s<t.length;s++)if(o.search(t[s])!==-1){delete i[o];break}})}function Tm(i){i&&(delete i.DEBUG,ne&&delete i.LD_PRELOAD)}var Eu=I(()=>{Z()});import{MessageChannelMain as nA,app as VP,utilityProcess as iA}from"electron";import{StringDecoder as HP}from"string_decoder";function oA(i){return typeof i.responseWindowId=="number"}var sr,rs,ns=I(()=>{$();z();re();ge();qe();Vt();Su();ir();Et();Eu();un();Z();Na();sr=class extends T{constructor(e,t,n){super();this.logService=e;this.telemetryService=t;this.lifecycleMainService=n;this.id=String(++sr.ID_COUNTER);this._onStdout=this._register(new b);this.onStdout=this._onStdout.event;this._onStderr=this._register(new b);this.onStderr=this._onStderr.event;this._onMessage=this._register(new b);this.onMessage=this._onMessage.event;this._onSpawn=this._register(new b);this.onSpawn=this._onSpawn.event;this._onExit=this._register(new b);this.onExit=this._onExit.event;this._onCrash=this._register(new b);this.onCrash=this._onCrash.event;this.process=void 0;this.processPid=void 0;this.configuration=void 0}static{this.ID_COUNTER=0}static{this.all=new Map}static getAll(){return Array.from(sr.all.values())}log(e,t){let n;switch(this.configuration?.correlationId?n=`[UtilityProcess id: ${this.configuration?.correlationId}, type: ${this.configuration?.type}, pid: ${this.processPid??"<none>"}]: ${e}`:n=`[UtilityProcess type: ${this.configuration?.type}, pid: ${this.processPid??"<none>"}]: ${e}`,t){case We.Error:this.logService.error(n);break;case We.Warning:this.logService.warn(n);break;case We.Info:this.logService.trace(n);break}}validateCanStart(){return this.process?(this.log("Cannot start utility process because it is already running...",We.Error),!1):!0}start(e){let t=this.doStart(e);return t&&e.payload&&this.postMessage(e.payload)&&this.log("payload sent via postMessage()",We.Info),t}doStart(e){if(!this.validateCanStart())return!1;this.configuration=e;let t=`${this.configuration.type}-${this.id}`,n=st.asFileUri("bootstrap-fork.js").fsPath,o=this.configuration.args??[],s=[...this.configuration.execArgv??[]],a=this.configuration.allowLoadingUnsignedLibraries,l=VP.commandLine.getSwitchValue("js-flags");l&&s.push(`--js-flags=${l}`);let c=this.configuration.respondToAuthRequestsFromMainProcess,d="pipe",u=this.createEnv(e);return this.log("creating new...",We.Info),this.process=iA.fork(n,o,{serviceName:t,env:u,execArgv:s,allowLoadingUnsignedLibraries:a,respondToAuthRequestsFromMainProcess:c,stdio:d}),this.registerListeners(this.process,this.configuration,t),!0}createEnv(e){let t=e.env?{...e.env}:{...or(process.env)};t.VSCODE_ESM_ENTRYPOINT=e.entryPoint,typeof e.parentLifecycleBound=="number"&&(t.VSCODE_PARENT_PID=String(e.parentLifecycleBound)),t.VSCODE_CRASH_REPORTER_PROCESS_TYPE=e.type,F&&(C1()?t.NODE_DISABLE_UNC_ACCESS_CHECKS="1":t.NODE_UNC_HOST_ALLOWLIST=x1().join("\\")),Tm(t);for(let n of Object.keys(t))t[n]=String(t[n]);return t}registerListeners(e,t,n){if(e.stdout){let o=new HP("utf-8");this._register(S.fromNodeEventEmitter(e.stdout,"data")(s=>this._onStdout.fire(typeof s=="string"?s:o.write(s))))}if(e.stderr){let o=new HP("utf-8");this._register(S.fromNodeEventEmitter(e.stderr,"data")(s=>this._onStderr.fire(typeof s=="string"?s:o.write(s))))}this._register(S.fromNodeEventEmitter(e,"message")(o=>this._onMessage.fire(o))),this._register(S.fromNodeEventEmitter(e,"spawn")(()=>{this.processPid=e.pid,typeof e.pid=="number"&&sr.all.set(e.pid,{pid:e.pid,name:oA(t)?`${t.name} [${t.responseWindowId}]`:t.name}),this.log("successfully created",We.Info),this._onSpawn.fire(e.pid)})),this._register(S.fromNodeEventEmitter(e,"exit")(o=>{this.log(`received exit event with code ${o}`,We.Info),this._onExit.fire({pid:this.processPid,code:o,signal:"unknown"}),this.onDidExitOrCrashOrKill()})),this._register(S.fromNodeEventEmitter(VP,"child-process-gone",(o,s)=>({event:o,details:s}))(({details:o})=>{o.type==="Utility"&&o.name===n&&(this.log(`crashed with code ${o.exitCode} and reason '${o.reason}'`,We.Error),this.telemetryService.publicLog2("utilityprocesscrash",{type:t.type,reason:o.reason,code:o.exitCode}),this._onCrash.fire({pid:this.processPid,code:o.exitCode,reason:o.reason}),this.onDidExitOrCrashOrKill())}))}once(e,t){let n=this._register(this._onMessage.event(o=>{o===e&&(n.dispose(),t())}))}postMessage(e,t){return this.process?(this.process.postMessage(e,t),!0):!1}connect(e){let{port1:t,port2:n}=new nA;return this.postMessage(e,[n]),t}enableInspectPort(){if(!this.process||typeof this.processPid!="number")return!1;this.log("enabling inspect port",We.Info);let e=process;return typeof e._debugProcess=="function"?(e._debugProcess(this.processPid),!0):!1}kill(){if(!this.process)return;this.log("attempting to kill the process...",We.Info),this.process.kill()?(this.log("successfully killed the process",We.Info),this.onDidExitOrCrashOrKill()):this.log("unable to kill the process",We.Warning)}onDidExitOrCrashOrKill(){typeof this.processPid=="number"&&sr.all.delete(this.processPid),this.process=void 0}async waitForExit(e){this.process&&(this.log("waiting to exit...",We.Info),await Promise.race([S.toPromise(this.onExit),lt(e)]),this.process&&(this.log(`did not exit within ${e}ms, will kill it now...`,We.Info),this.kill()))}};sr=E([g(0,U),g(1,Je),g(2,ye)],sr);rs=class extends sr{constructor(e,t,n,o){super(e,n,o);this.windowsMainService=t}start(e){let t=this.windowsMainService.getWindowById(e.responseWindowId);if(!t?.win||t.win.isDestroyed()||t.win.webContents.isDestroyed())return this.log("Refusing to start utility process because requesting window cannot be found or is destroyed...",We.Error),!0;if(!super.doStart(e))return!1;this.registerWindowListeners(t.win,e);let o=this.connect(e.payload);return t.win.webContents.postMessage(e.responseChannel,e.responseNonce,[o]),!0}registerWindowListeners(e,t){if(t.windowLifecycleBound){let n=t.windowLifecycleGraceTime,o=n&&n>0?()=>this.waitForExit(n):()=>this.kill();this._register(S.filter(this.lifecycleMainService.onWillLoadWindow,s=>s.window.win===e)(o)),this._register(S.fromNodeEventEmitter(e,"closed")(o))}}};rs=E([g(0,U),g(1,Ke),g(2,Je),g(3,ye)],rs)});import{app as Hy}from"electron";var sA,El,Pl,$y=I(()=>{Rn();It();ee();Vt();Tr();ts();Le();re();ns();sA="diagnosticsMainService",El=L(sA),Pl=class{constructor(r,e,t){this.windowsMainService=r;this.workspacesManagementMainService=e;this.logService=t}async getRemoteDiagnostics(r){let e=this.windowsMainService.getWindows();return(await Promise.all(e.map(async n=>{let o=n.remoteAuthority;if(!o)return;let s=`vscode:getDiagnosticInfoResponse${n.id}`,a={includeProcesses:r.includeProcesses,folders:r.includeWorkspaceMetadata?await this.getFolderURIs(n):void 0};return new Promise(l=>{n.sendWhenReady("vscode:getDiagnosticInfo",xe.None,{replyChannel:s,args:a}),tt.once(s,(c,d)=>{d||l({hostName:o,errorMessage:`Unable to resolve connection to '${o}'.`}),l(d)}),setTimeout(()=>{l({hostName:o,errorMessage:`Connection to '${o}' could not be established`})},5e3)})}))).filter(n=>!!n)}async getMainDiagnostics(){this.logService.trace("Received request for main process info from other instance.");let r=[];for(let o of Ai()){let s=this.windowsMainService.getWindowById(o.id);s?r.push(await this.codeWindowToInfo(s)):r.push(this.browserWindowToInfo(o))}let e=[];for(let{pid:o,name:s}of sr.getAll())e.push({pid:o,name:s});let t=[],n=Hy;return typeof n.getGPULogMessages=="function"&&(t=n.getGPULogMessages()),{mainPID:process.pid,mainArguments:process.argv.slice(1),windows:r,pidToNames:e,screenReader:!!Hy.accessibilitySupportEnabled,gpuFeatureStatus:Hy.getGPUFeatureStatus(),gpuLogMessages:t}}async codeWindowToInfo(r){let e=await this.getFolderURIs(r),t=vi(r.win);return this.browserWindowToInfo(t,e,r.remoteAuthority)}browserWindowToInfo(r,e=[],t){return{id:r.id,pid:r.webContents.getOSProcessId(),title:r.getTitle(),folderURIs:e,remoteAuthority:t}}async getFolderURIs(r){let e=[],t=r.openedWorkspace;if(Bt(t))e.push(t.uri);else if(ct(t)){let n=await this.workspacesManagementMainService.resolveLocalWorkspace(t.configPath);n&&n.folders.forEach(s=>{e.push(s.uri)})}return e}};Pl=E([g(0,Ke),g(1,pn),g(2,U)],Pl)});import{safeStorage as aA,app as lA}from"electron";var is,Cl,$P=I(()=>{Z();Bd();re();is=aA,Cl=class{constructor(r){this.logService=r;lA.commandLine.getSwitchValue("password-store")==="basic"&&(this.logService.trace("[EncryptionMainService] setting usePlainTextEncryption to true..."),is.setUsePlainTextEncryption?.(!0),this.logService.trace("[EncryptionMainService] set usePlainTextEncryption to true"))}async encrypt(r){this.logService.trace("[EncryptionMainService] Encrypting value...");try{let e=JSON.stringify(is.encryptString(r));return this.logService.trace("[EncryptionMainService] Encrypted value."),e}catch(e){throw this.logService.error(e),e}}async decrypt(r){let e;try{if(e=JSON.parse(r),!e.data)throw new Error(`[EncryptionMainService] Invalid encrypted value: ${r}`);let t=Buffer.from(e.data);this.logService.trace("[EncryptionMainService] Decrypting value...");let n=is.decryptString(t);return this.logService.trace("[EncryptionMainService] Decrypted value."),n}catch(t){throw this.logService.error(t),t}}isEncryptionAvailable(){this.logService.trace("[EncryptionMainService] Checking if encryption is available...");let r=is.isEncryptionAvailable();return this.logService.trace("[EncryptionMainService] Encryption is available: ",r),Promise.resolve(r)}getKeyStorageProvider(){if(F)return Promise.resolve("dpapi");if(N)return Promise.resolve("keychain_access");if(is.getSelectedStorageBackend)try{this.logService.trace("[EncryptionMainService] Getting selected storage backend...");let r=is.getSelectedStorageBackend();return this.logService.trace("[EncryptionMainService] Selected storage backend: ",r),Promise.resolve(r)}catch(r){this.logService.error(r)}return Promise.resolve("unknown")}async setUsePlainTextEncryption(){if(F)throw new Error("Setting plain text encryption is not supported on Windows.");if(N)throw new Error("Setting plain text encryption is not supported on macOS.");if(!is.setUsePlainTextEncryption)throw new Error("Setting plain text encryption is not supported.");this.logService.trace("[EncryptionMainService] Setting usePlainTextEncryption to true..."),is.setUsePlainTextEncryption(!0),this.logService.trace("[EncryptionMainService] Set usePlainTextEncryption to true")}};Cl=E([g(0,U)],Cl)});var Ht,Cu,qy,Tu,qP,KP,_u=I(()=>{Ee();Ht="workbench.action.browser",Cu=(X=>(X.Open=`${Ht}.open`,X.NewTab=`${Ht}.newTab`,X.QuickOpen=`${Ht}.quickOpen`,X.CloseAll=`${Ht}.closeAll`,X.CloseAllInGroup=`${Ht}.closeAllInGroup`,X.GoBack=`${Ht}.goBack`,X.GoForward=`${Ht}.goForward`,X.Reload=`${Ht}.reload`,X.HardReload=`${Ht}.hardReload`,X.FocusUrlInput=`${Ht}.focusUrlInput`,X.OpenExternal=`${Ht}.openExternal`,X.OpenSettings=`${Ht}.openSettings`,X.AddElementToChat=`${Ht}.addElementToChat`,X.AddConsoleLogsToChat=`${Ht}.addConsoleLogsToChat`,X.ToggleDevTools=`${Ht}.toggleDevTools`,X.ClearGlobalStorage=`${Ht}.clearGlobalStorage`,X.ClearWorkspaceStorage=`${Ht}.clearWorkspaceStorage`,X.ClearEphemeralStorage=`${Ht}.clearEphemeralStorage`,X.ShowFind=`${Ht}.showFind`,X.HideFind=`${Ht}.hideFind`,X.FindNext=`${Ht}.findNext`,X.FindPrevious=`${Ht}.findPrevious`,X))(Cu||{}),qy="browserView",Tu=[.25,1/3,.5,2/3,.75,.8,.9,1,1.1,1.25,1.5,1.75,2,2.5,3,4,5],qP=Tu.indexOf(1),KP=999});var Ky,zP=I(()=>{Ky="browserViewGroup"});function cA(){let i=new J;return i[Symbol.dispose]=()=>i.dispose(),i}async function jP(i,r){var D=[];try{let e=Cb(D,cA());let t={};e.add(i.onEvent(G=>{if(G.method==="DOM.setChildNodes"){let{nodes:q}=G.params;for(let ve of q){if(t[ve.nodeId]=ve,ve.children)for(let vt of ve.children)t[vt.nodeId]={...vt,parentId:ve.nodeId};if(ve.pseudoElements)for(let vt of ve.pseudoElements)t[vt.nodeId]={...vt,parentId:ve.nodeId}}}}));await i.sendCommand("DOM.getDocument");let{node:n}=await i.sendCommand("DOM.describeNode",r);if(!n)throw new Error("Failed to describe node.");let o=n.nodeId;if(!o){let{nodeIds:G}=await i.sendCommand("DOM.pushNodesByBackendIdsToFrontend",{backendNodeIds:[n.backendNodeId]});if(!G?.length)throw new Error("Failed to get node ID.");o=G[0]}let{model:s}=await i.sendCommand("DOM.getBoxModel",{nodeId:o});if(!s)throw new Error("Failed to get box model.");let a=s.content;let l=s.margin;let c=Math.min(l[0],a[0]);let d=Math.min(l[1],a[1]);let u=Math.max(l[2]-l[0],a[2]-a[0]);let f=Math.max(l[5]-l[1],a[5]-a[1]);let m=await i.sendCommand("CSS.getMatchedStylesForNode",{nodeId:o});if(!m)throw new Error("Failed to get matched css.");let y=dA(m);let{outerHTML:v}=await i.sendCommand("DOM.getOuterHTML",{nodeId:o});if(!v)throw new Error("Failed to get outerHTML.");let C=GP(n.attributes);let w=[];let _=t[o]??n;for(;_;){let G=GP(_.attributes);w.unshift({tagName:_.localName,id:G.id,classNames:G.class?.trim().split(/\s+/).filter(Boolean)}),_=_.parentId?t[_.parentId]:void 0}let R;try{let{computedStyle:G}=await i.sendCommand("CSS.getComputedStyleForNode",{nodeId:o});if(G){R={};for(let q of G)q.name&&typeof q.value=="string"&&(R[q.name]=q.value)}}catch{}return{outerHTML:v,computedStyle:y,bounds:{x:c,y:d,width:u,height:f},ancestors:w,attributes:C,computedStyles:R,dimensions:{top:d,left:c,width:u,height:f}}}catch(M){var X=M,B=!0}finally{Tb(D,X,B)}}function dA(i){let r=[];if(i.inlineStyle?.cssProperties?.length){r.push("/* Inline style */"),r.push("element {");for(let e of i.inlineStyle.cssProperties)e.name&&e.value&&r.push(`  ${e.name}: ${e.value};`);r.push(`}
`)}if(i.matchedCSSRules?.length)for(let e of i.matchedCSSRules){let t=e.rule,n=t.selectorList.selectors.map(o=>o.text).join(", ");r.push(`/* Matched Rule from ${t.origin} */`),r.push(`${n} {`);for(let o of t.style.cssProperties)o.name&&o.value&&r.push(`  ${o.name}: ${o.value};`);r.push(`}
`)}if(i.inherited?.length){let e=1;for(let t of i.inherited){t.inlineStyle&&(r.push(`/* Inherited from ancestor level ${e} (inline) */`),r.push("element {"),r.push(t.inlineStyle.cssText||""),r.push(`}
`));let n=t.matchedCSSRules||[];for(let o of n){let s=o.rule,a=s.selectorList.selectors.map(l=>l.text).join(", ");r.push(`/* Inherited from ancestor level ${e} (${s.origin}) */`),r.push(`${a} {`);for(let l of s.style.cssProperties)l.name&&l.value&&r.push(`  ${l.name}: ${l.value};`);r.push(`}
`)}e++}}return`
`+r.join(`
`)}function GP(i){let r={};for(let e=0;e<i.length;e+=2){let t=i[e],n=i[e+1];r[t]=n}return r}var _m,uA,JP=I(()=>{$();_m=class extends T{constructor(e){super();this.browser=e;this._connectionPromise=e.debugger.attach().then(async t=>{try{if(await t.sendCommand("DOM.enable"),await t.sendCommand("Overlay.enable"),await t.sendCommand("CSS.enable"),this._store.isDisposed)throw t.dispose(),new Error("Inspector disposed before connection was ready");return this._register(t),t}catch(n){throw t.dispose(),n}})}async getElementData(e){let t=await this._connectionPromise,n=new J,o=new Promise((s,a)=>{n.add(e.onCancellationRequested(()=>{s(void 0)})),n.add(t.onEvent(async l=>{if(l.method!=="Overlay.inspectNodeRequested")return;let c=l.params;if(!c?.backendNodeId){a(new Error("Missing backendNodeId in inspectNodeRequested event"));return}try{let d=await jP(t,{backendNodeId:c.backendNodeId});s({...d,url:this.browser.getURL()})}catch(d){a(d)}}))});try{return await t.sendCommand("Overlay.setInspectMode",{mode:"searchForNode",highlightConfig:uA}),await o}finally{try{await t.sendCommand("Overlay.setInspectMode",{mode:"none",highlightConfig:{showInfo:!1,showStyles:!1}}),await t.sendCommand("Overlay.hideHighlight")}catch{}n.dispose()}}async getFocusedElementData(){let e=await this._connectionPromise;await e.sendCommand("Runtime.enable");let{result:t}=await e.sendCommand("Runtime.evaluate",{expression:"document.activeElement",returnByValue:!1});return t?.objectId?{...await jP(e,{objectId:t.objectId}),url:this.browser.getURL()}:void 0}async getVisualViewportScale(){try{let t=await(await this._connectionPromise).sendCommand("Page.getLayoutMetrics");if(typeof t.cssVisualViewport?.scale=="number"){let n=Number(t.cssVisualViewport.scale);if(Number.isFinite(n)&&n>0)return n}}catch{}return 1}};uA={showInfo:!0,showRulers:!1,showStyles:!0,showAccessibilityInfo:!0,showExtensionLines:!1,contrastAlgorithm:"aa",contentColor:{r:173,g:216,b:255,a:.8},paddingColor:{r:150,g:200,b:255,a:.5},borderColor:{r:120,g:180,b:255,a:.7},marginColor:{r:200,g:220,b:255,a:.4},eventTargetColor:{r:130,g:160,b:255,a:.8},shapeColor:{r:130,g:160,b:255,a:.8},shapeMarginColor:{r:130,g:160,b:255,a:.5},gridHighlightConfig:{rowGapColor:{r:140,g:190,b:255,a:.3},rowHatchColor:{r:140,g:190,b:255,a:.7},columnGapColor:{r:140,g:190,b:255,a:.3},columnHatchColor:{r:140,g:190,b:255,a:.7},rowLineColor:{r:120,g:180,b:255},columnLineColor:{r:120,g:180,b:255},rowLineDash:!0,columnLineDash:!0},flexContainerHighlightConfig:{containerBorder:{color:{r:120,g:180,b:255},pattern:"solid"},itemSeparator:{color:{r:140,g:190,b:255},pattern:"solid"},lineSeparator:{color:{r:140,g:190,b:255},pattern:"solid"},mainDistributedSpace:{hatchColor:{r:140,g:190,b:255,a:.7},fillColor:{r:140,g:190,b:255,a:.4}},crossDistributedSpace:{hatchColor:{r:140,g:190,b:255,a:.7},fillColor:{r:140,g:190,b:255,a:.4}},rowGapSpace:{hatchColor:{r:140,g:190,b:255,a:.7},fillColor:{r:140,g:190,b:255,a:.4}},columnGapSpace:{hatchColor:{r:140,g:190,b:255,a:.7},fillColor:{r:140,g:190,b:255,a:.4}}},flexItemHighlightConfig:{baseSizeBox:{hatchColor:{r:130,g:170,b:255,a:.6}},baseSizeBorder:{color:{r:120,g:180,b:255},pattern:"solid"},flexibilityArrow:{color:{r:130,g:190,b:255}}}}});var ni,Tl=I(()=>{ee();ni=L("auxiliaryWindowsMainService")});var ku,zy=I(()=>{qe();le();(n=>{n.scheme=W.vscodeBrowser;function r(o){return P.from({scheme:n.scheme,path:`/${o}`})}n.forId=r;function e(o){if(o.scheme!==n.scheme)return;let s=o.path.startsWith("/")?o.path.substring(1):o.path;if(s)return{id:s}}n.parse=e;function t(o){return e(o)?.id}n.getId=t})(ku||={})});var km,jy,QP=I(()=>{z();$();km=class extends T{constructor(e,t){super();this.view=e;this.logService=t;this._sessions=this._register(new Rt);this._onSessionCreated=this._register(new b);this.onSessionCreated=this._onSessionCreated.event;this._knownTargets=new Map;this._onTargetDiscovered=this._register(new b);this.onTargetDiscovered=this._onTargetDiscovered.event;this._onTargetDestroyed=this._register(new b);this.onTargetDestroyed=this._onTargetDestroyed.event;this._onTargetInfoChanged=this._register(new b);this.onTargetInfoChanged=this._onTargetInfoChanged.event;this._isPaused=!1;this._electronDebugger=e.webContents.debugger,this._messageHandler=(n,o,s,a)=>{this.routeCDPEvent(o,s,a)}}get knownTargets(){return this._knownTargets}get isPaused(){return this._isPaused}async attach(){if(!this._targetId){let e=await this.getTargetInfo();this._targetId=e.targetId}return this.attachToTarget(this._targetId)}async attachToTarget(e){this.ensureAttached();let t=await this._electronDebugger.sendCommand("Target.attachToTarget",{targetId:e,flatten:!0});if(!this._sessions.has(t.sessionId))throw new Error(`Failed to attach to target ${e}`);return this._sessions.get(t.sessionId)}async getTargetInfo(){return this.ensureAttached(),(await this._electronDebugger.sendCommand("Target.getTargetInfo")).targetInfo}sendCommand(e,t,n){if(e==="Emulation.setDeviceMetricsOverride")return Promise.resolve({});this.ensureAttached();let o=this._electronDebugger.sendCommand(e,t,n);return e==="Page.handleJavaScriptDialog"&&this.view.webContents.emit("-cancel-dialogs"),o}ensureAttached(){this._electronDebugger.isAttached()||(this._electronDebugger.on("message",this._messageHandler),this._electronDebugger.attach("1.3"),this._electronDebugger.sendCommand("Target.setAutoAttach",{autoAttach:!0,flatten:!0,waitForDebuggerOnStart:!1}),this._electronDebugger.sendCommand("Target.setDiscoverTargets",{discover:!0}))}detachElectronDebugger(){try{if(this.view.webContents.isDestroyed()||!this._electronDebugger.isAttached())return;this._electronDebugger.removeListener("message",this._messageHandler),this._electronDebugger.detach()}catch{}}routeCDPEvent(e,t,n){if(e==="Target.attachedToTarget"){let s=t;this.registerSession(s.sessionId,s.targetInfo,s.waitingForDebugger,n)}else if(e==="Target.detachedFromTarget"){let s=t;this._sessions.deleteAndDispose(s.sessionId)}else if(e==="Target.targetDestroyed"){let s=t;this.destroyTarget(s.targetId)}else if(e==="Target.targetInfoChanged"&&!n){let s=t;this._knownTargets.has(s.targetInfo.targetId)&&(this._knownTargets.set(s.targetInfo.targetId,s.targetInfo),this._onTargetInfoChanged.fire(s.targetInfo))}else e==="Debugger.paused"?this._isPaused=!0:e==="Debugger.resumed"&&(this._isPaused=!1);let o=n?this._sessions.get(n):void 0;o&&o.emitEvent({method:e,params:t,sessionId:n})}destroyTarget(e){let t=[];for(let[n,o]of this._sessions)o.targetId===e&&t.push(n);for(let n of t)this._sessions.deleteAndDispose(n);this._knownTargets.delete(e)&&this._onTargetDestroyed.fire(e)}registerSession(e,t,n,o){if(!this._knownTargets.has(t.targetId)&&t.targetId!==this._targetId&&(this._knownTargets.set(t.targetId,t),this._onTargetDiscovered.fire(t)),this._sessions.has(e))return this._sessions.get(e);let s=new jy(o,e,t.targetId,this);return this._sessions.set(e,s),s.onClose(()=>this._sessions.deleteAndDispose(e)),this._onSessionCreated.fire({session:s,waitingForDebugger:n}),s}dispose(){this.detachElectronDebugger(),super.dispose()}},jy=class extends T{constructor(e,t,n,o){super();this.parentSessionId=e;this.sessionId=t;this.targetId=n;this._debugger=o;this._onEvent=this._register(new b);this.onEvent=this._onEvent.event;this.emitEvent=e=>this._onEvent.fire(e);this._onClose=this._register(new b);this.onClose=this._onClose.event;this._isDisposed=!1}async sendCommand(e,t){return this._debugger.sendCommand(e,t,this.sessionId)}dispose(){this._isDisposed||(this._isDisposed=!0,this._onClose.fire(),super.dispose())}}});function yA(i){return i===5||i===4||i===6||i===57}var Ru,Rm,Gy,Jy,pA,fA,Xy,mA,hA,gA,XP,Qy,vA,YP=I(()=>{Ru=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(r,e){this._keyCodeToStr[r]=e,this._strToKeyCode[e.toLowerCase()]=r}keyCodeToStr(r){return this._keyCodeToStr[r]}strToKeyCode(r){return this._strToKeyCode[r.toLowerCase()]||0}},Rm=new Ru,Gy=new Ru,Jy=new Ru,pA=new Array(230),fA={},Xy={},mA=[],hA=Object.create(null),gA=Object.create(null),XP=[],Qy=[];for(let i=0;i<=193;i++)XP[i]=-1;for(let i=0;i<=132;i++)Qy[i]=-1;(function(){let r=[[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=[],t=[];for(let n of r){let[o,s,a,l,c,d,u,f,m]=n;if(t[s]||(t[s]=!0,mA[s]=a,hA[a]=s,gA[a.toLowerCase()]=s,o&&(XP[s]=l,l!==0&&l!==3&&!yA(l)&&(Qy[l]=s))),!e[l]){if(e[l]=!0,!c)throw new Error(`String representation missing for key code ${l} around scan code ${a}`);Rm.define(l,c),Gy.define(l,f||c),Jy.define(l,m||f||c)}d&&(pA[d]=l),a&&(Xy[a]=d),u&&(fA[u]=l)}Qy[3]=46})();(s=>{function i(a){return Rm.keyCodeToStr(a)}s.toString=i;function r(a){return Rm.strToKeyCode(a)}s.fromString=r;function e(a){return Gy.keyCodeToStr(a)}s.toUserSettingsUS=e;function t(a){return Jy.keyCodeToStr(a)}s.toUserSettingsGeneral=t;function n(a){return Gy.strToKeyCode(a)||Jy.strToKeyCode(a)}s.fromUserSettings=n;function o(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 Rm.keyCodeToStr(a)}s.toElectronAccelerator=o})(vA||={})});import{WebContentsView as IA,webContents as wA}from"electron";var ii,Yy=I(()=>{$();z();ot();_u();JP();Vt();Tl();zy();QP();re();Le();YP();ii=class extends T{constructor(e,t,n,o,s,a,l,c){super();this.id=e;this.session=t;this.windowsMainService=a;this.auxiliaryWindowsMainService=l;this.logService=c;this._faviconRequestCache=new Map;this._lastScreenshot=void 0;this._lastFavicon=void 0;this._lastError=void 0;this._lastUserGestureTimestamp=-1/0;this._browserZoomIndex=qP;this._isDisposed=!1;this._consoleLogs=[];this._onDidNavigate=this._register(new b);this.onDidNavigate=this._onDidNavigate.event;this._onDidChangeLoadingState=this._register(new b);this.onDidChangeLoadingState=this._onDidChangeLoadingState.event;this._onDidChangeFocus=this._register(new b);this.onDidChangeFocus=this._onDidChangeFocus.event;this._onDidChangeVisibility=this._register(new b);this.onDidChangeVisibility=this._onDidChangeVisibility.event;this._onDidChangeDevToolsState=this._register(new b);this.onDidChangeDevToolsState=this._onDidChangeDevToolsState.event;this._onDidKeyCommand=this._register(new b);this.onDidKeyCommand=this._onDidKeyCommand.event;this._onDidChangeTitle=this._register(new b);this.onDidChangeTitle=this._onDidChangeTitle.event;this._onDidChangeFavicon=this._register(new b);this.onDidChangeFavicon=this._onDidChangeFavicon.event;this._onDidRequestNewPage=this._register(new b);this.onDidRequestNewPage=this._onDidRequestNewPage.event;this._onDidFindInPage=this._register(new b);this.onDidFindInPage=this._onDidFindInPage.event;this._onDidClose=this._register(new b);this.onDidClose=this._onDidClose.event;let d={...s?.webPreferences,nodeIntegration:!1,contextIsolation:!0,sandbox:!0,webviewTag:!1,session:this.session.electronSession,type:"browserView"};this._view=new IA({webPreferences:d,...s?.webContents?{webContents:s.webContents}:{}}),this._view.setBackgroundColor("#FFFFFF"),this._view.webContents.setWindowOpenHandler(u=>{let f=(()=>{switch(u.disposition){case"background-tab":return"background";case"foreground-tab":return"foreground";case"new-window":return"newWindow";default:return}})();return!f||!this.consumePopupPermission(f)?{action:"deny"}:{action:"allow",createWindow:m=>{let y=n(m),v=ku.forId(y.id);return this._onDidRequestNewPage.fire({resource:v,url:u.url,location:f,position:{x:m.x,y:m.y,width:m.width,height:m.height}}),y.webContents},outlivesOpener:!0}}),this._view.webContents.on("context-menu",(u,f)=>{o(this,f)}),this._view.webContents.on("destroyed",()=>{this.dispose()}),this.debugger=new km(this,this.logService),this._inspector=this._register(new _m(this)),this.setupEventListeners()}static{this.MAX_CONSOLE_LOG_ENTRIES=1e3}setupEventListeners(){let e=this._view.webContents;e.on("devtools-opened",()=>{this._onDidChangeDevToolsState.fire({isDevToolsOpen:!0})}),e.on("devtools-closed",()=>{this._onDidChangeDevToolsState.fire({isDevToolsOpen:!1})}),e.on("page-favicon-updated",async(o,s)=>{for(let a of s){this._faviconRequestCache.has(a)||this._faviconRequestCache.set(a,(async()=>{if(a.startsWith("data:image/"))return a;let l=await e.session.fetch(a,{cache:"force-cache"});if(!l.ok)throw new Error(`Failed to fetch favicon: ${l.status} ${l.statusText}`);let c=await l.headers.get("content-type");if(!c?.startsWith("image/"))throw new Error(`Favicon is not an image: ${c}`);let d=await l.arrayBuffer();return`data:${c};base64,${Buffer.from(d).toString("base64")}`})());try{this._lastFavicon=await this._faviconRequestCache.get(a),this._onDidChangeFavicon.fire({favicon:this._lastFavicon});return}catch{}}this._lastFavicon&&(this._lastFavicon=void 0,this._onDidChangeFavicon.fire({favicon:this._lastFavicon}))}),e.on("page-title-updated",(o,s)=>{this._onDidChangeTitle.fire({title:s})});let t=()=>{let o=e.getURL();this._onDidNavigate.fire({url:o,title:e.getTitle(),canGoBack:e.navigationHistory.canGoBack(),canGoForward:e.navigationHistory.canGoForward(),certificateError:this.session.trust.getCertificateError(o)})},n=o=>{this._onDidChangeLoadingState.fire({loading:o,error:this._lastError})};e.on("did-start-loading",()=>{this._lastError=void 0,e.isLoadingMainFrame()&&n(!0)}),e.on("did-stop-loading",()=>n(!1)),e.on("did-fail-load",(o,s,a,l,c)=>{if(c){if(s===-3){n(!1);return}this._lastError={url:l,errorCode:s,errorDescription:a,certificateError:s<=-200&&s>=-220?this.session.trust.getCertificateError(l):void 0},n(!1),this._onDidNavigate.fire({url:l,title:"",canGoBack:e.navigationHistory.canGoBack(),canGoForward:e.navigationHistory.canGoForward(),certificateError:this.session.trust.getCertificateError(l)})}}),e.on("did-finish-load",()=>n(!1)),this.session.trust.installCertErrorHandler(e),e.on("render-process-gone",(o,s)=>{this._lastError={url:e.getURL(),errorCode:s.exitCode,errorDescription:`Render process gone: ${s.reason}`},n(!1)}),e.on("did-navigate",t),e.on("did-navigate-in-page",t),e.on("did-navigate",()=>{this._consoleLogs.length=0,this._view.webContents.setZoomFactor(Tu[this._browserZoomIndex]),this._view.webContents.setVisualZoomLevelLimits(1,3).catch(o=>{this.logService.error("Failed to set visual zoom level limits for browser view webContents.",o)})}),e.on("focus",()=>{this._onDidChangeFocus.fire({focused:!0})}),e.on("blur",()=>{this._onDidChangeFocus.fire({focused:!1})}),e.ipc.on("vscode:browserView:keydown",(o,s)=>{this._onDidKeyCommand.fire(s)}),e.on("before-input-event",(o,s)=>{if(s.type!=="keyDown"||this._view.getVisible()&&!e.isCrashed()&&!this.debugger.isPaused||!(s.control||s.alt||s.meta)&&s.key.length===1)return;o.preventDefault();let l=Xy[s.code]||0;this._onDidKeyCommand.fire({key:s.key,keyCode:l,code:s.code,ctrlKey:s.control,shiftKey:s.shift,altKey:s.alt,metaKey:s.meta,repeat:s.isAutoRepeat})}),e.on("input-event",(o,s)=>{switch(s.type){case"rawKeyDown":case"keyDown":case"mouseDown":case"pointerDown":case"pointerUp":case"touchEnd":this._lastUserGestureTimestamp=Date.now()}}),e.on("will-prevent-unload",o=>{o.preventDefault()}),e.on("found-in-page",(o,s)=>{this._onDidFindInPage.fire({activeMatchOrdinal:s.activeMatchOrdinal,matches:s.matches,selectionArea:s.selectionArea,finalUpdate:s.finalUpdate})}),this._view.webContents.on("console-message",o=>{this._consoleLogs.push(`[${o.level}] ${o.message}`),this._consoleLogs.length>ii.MAX_CONSOLE_LOG_ENTRIES&&this._consoleLogs.splice(0,this._consoleLogs.length-ii.MAX_CONSOLE_LOG_ENTRIES)})}consumePopupPermission(e){switch(e){case"foreground":case"background":return!0;case"newWindow":return this._lastUserGestureTimestamp>Date.now()-1e3?(this._lastUserGestureTimestamp=-1/0,!0):!1}}get webContents(){return this._view.webContents}getState(){let e=this._view.webContents,t=e.getURL();return{url:t,title:e.getTitle(),canGoBack:e.navigationHistory.canGoBack(),canGoForward:e.navigationHistory.canGoForward(),loading:e.isLoading(),focused:e.isFocused(),visible:this._view.getVisible(),isDevToolsOpen:e.isDevToolsOpened(),lastScreenshot:this._lastScreenshot,lastFavicon:this._lastFavicon,lastError:this._lastError,certificateError:this.session.trust.getCertificateError(t),storageScope:this.session.storageScope,browserZoomIndex:this._browserZoomIndex}}toggleDevTools(){this._view.webContents.toggleDevTools()}layout(e){if(this._window?.win?.id!==e.windowId){let t=this._windowById(e.windowId);t&&(this._window?.win?.contentView.removeChildView(this._view),this._window=t,t.win?.contentView.addChildView(this._view))}this._view.setBorderRadius(Math.round(e.cornerRadius*e.zoomFactor)),this._view.setBounds({x:Math.round(e.x*e.zoomFactor),y:Math.round(e.y*e.zoomFactor),width:Math.round(e.width*e.zoomFactor),height:Math.round(e.height*e.zoomFactor)})}setBrowserZoomIndex(e){this._browserZoomIndex=Math.max(0,Math.min(e,Tu.length-1));let t=Tu[this._browserZoomIndex];this._view.webContents.setZoomFactor(t)}setVisible(e){this._view.getVisible()!==e&&(!e&&this._view.webContents.isFocused()&&this._window?.win?.webContents.focus(),this._view.setVisible(e),this._onDidChangeVisibility.fire({visible:e}))}getConsoleLogs(){return this._consoleLogs.join(`
`)}async getElementData(e){return this._inspector.getElementData(e)}async getFocusedElementData(){return this._inspector.getFocusedElementData()}async loadURL(e){await this._view.webContents.loadURL(e)}getURL(){return this._view.webContents.getURL()}goBack(){this._view.webContents.navigationHistory.canGoBack()&&this._view.webContents.navigationHistory.goBack()}goForward(){this._view.webContents.navigationHistory.canGoForward()&&this._view.webContents.navigationHistory.goForward()}reload(e){e?this._view.webContents.reloadIgnoringCache():this._view.webContents.reload()}canGoBack(){return this._view.webContents.navigationHistory.canGoBack()}canGoForward(){return this._view.webContents.navigationHistory.canGoForward()}async captureScreenshot(e){let t=e?.quality??80;if(e?.pageRect){let a=this._view.webContents.getZoomFactor(),l=await this._inspector.getVisualViewportScale();e.screenRect={x:e.pageRect.x*l*a,y:e.pageRect.y*l*a,width:e.pageRect.width*l*a,height:e.pageRect.height*l*a}}let o=(await this._view.webContents.capturePage(e?.screenRect,{stayHidden:!0})).toJPEG(t),s=H.wrap(o);return e?.screenRect||(this._lastScreenshot=s),s}async focus(e){!e&&!this._window?.win?.isFocused()||this._view.webContents.focus()}async findInPage(e,t){this._view.webContents.findInPage(e,{matchCase:t?.matchCase??!1,forward:t?.forward??!0,findNext:t?.recompute??!1})}async stopFindInPage(e){this._view.webContents.stopFindInPage(e?"keepSelection":"clearSelection")}async getSelectedText(){if(this._view.webContents.isLoading())return"";try{return await this._view.webContents.executeJavaScriptInIsolatedWorld(KP,[{code:'window.browserViewAPI?.getSelectedText?.() ?? ""'}])}catch{return""}}async clearStorage(){await this.session.clearData()}async trustCertificate(e,t){await this.session.trust.trustCertificate(e,t),this._view.webContents.reload()}async untrustCertificate(e,t){await this.session.trust.untrustCertificate(e,t),this.dispose()}getWebContentsView(){return this._view}getElectronWindow(){return this._window?.win??void 0}getTopCodeWindow(){return this._window&&nn(this._window,{parentId:!0})?this._codeWindowById(this._window.parentId):void 0}dispose(){this._isDisposed||(this._isDisposed=!0,this.debugger.dispose(),this._window?.win?.contentView.removeChildView(this._view),this._onDidClose.fire(),this._view.webContents.isDestroyed()||this._view.webContents.close({waitForBeforeUnload:!1}),super.dispose())}_windowById(e){return this._codeWindowById(e)??this._auxiliaryWindowById(e)}_codeWindowById(e){if(typeof e=="number")return this.windowsMainService.getWindowById(e)}_auxiliaryWindowById(e){if(typeof e!="number")return;let t=wA.fromId(e);if(t)return this.auxiliaryWindowsMainService.getWindowByWebContents(t)}};ii=E([g(5,Ke),g(6,ni),g(7,U)],ii)});var Dm,bA,Am,ZP=I(()=>{_i();Dm="browserView.sessionTrustData",bA=10080*60*1e3,Am=class{constructor(r){this._session=r;this._trustedCertificates=new Map;this._certErrors=new Map;this._installCertVerifyProc()}_installCertVerifyProc(){this._session.electronSession.setCertificateVerifyProc((r,e)=>{let{hostname:t,errorCode:n,certificate:o,verificationResult:s}=r;return n!==0?this._certErrors.set(t,{certificate:o,error:s}):this._certErrors.delete(t),e(-3)})}installCertErrorHandler(r){r.on("certificate-error",(e,t,n,o,s)=>{e.preventDefault();let a=URL.parse(t)?.hostname;return a&&this.isCertificateTrusted(a,o.fingerprint)?s(!0):s(!1)})}getCertificateError(r){let e=URL.parse(r);if(!e||e.protocol!=="https:")return;let t=e.hostname;if(!t)return;let n=this._certErrors.get(t);if(!n)return;let o=n.certificate;return{host:t,fingerprint:o.fingerprint,error:n.error,url:r,hasTrustedException:this.isCertificateTrusted(t,o.fingerprint),issuerName:o.issuerName,subjectName:o.subjectName,validStart:o.validStart,validExpiry:o.validExpiry}}async trustCertificate(r,e){let t=this._trustedCertificates.get(r);t||(t=new Map,this._trustedCertificates.set(r,t)),t.set(e,Date.now()+bA),this.writeStorage()}async untrustCertificate(r,e){let t=this._trustedCertificates.get(r);if(t&&t.delete(e))t.size===0&&this._trustedCertificates.delete(r);else throw new Error(`Certificate not found: host=${r} fingerprint=${e}`);this.writeStorage(),await this._session.electronSession.closeAllConnections()}isCertificateTrusted(r,e){let t=this._trustedCertificates.get(r)?.get(e);return!(t===void 0||Date.now()>t)}connectStorage(r){this._storage||(this._storage=r,this.readStorage())}async clear(){this._trustedCertificates.clear(),this._certErrors.clear(),this.writeStorage(),await this._session.electronSession.closeAllConnections()}readStorage(){let r=this._storage;if(!r)return;let e=r.get(Dm,-1);if(!e)return;let t=Date.now(),n=!1;try{let s=JSON.parse(e)[this._session.id]?.trustedCerts;if(s)for(let{host:a,fingerprint:l,expiresAt:c}of s)if(c>t){let d=this._trustedCertificates.get(a);d||(d=new Map,this._trustedCertificates.set(a,d)),d.set(l,c)}else n=!0}catch{}n&&this.writeStorage()}writeStorage(){let r=this._storage;if(!r)return;let e={};try{let t=r.get(Dm,-1);t&&(e=JSON.parse(t))}catch{}if(e[this._session.id]||(e[this._session.id]={}),this._trustedCertificates.size===0)delete e[this._session.id].trustedCerts;else{let t=[];for(let[n,o]of this._trustedCertificates)for(let[s,a]of o)t.push({host:n,fingerprint:s,expiresAt:a});e[this._session.id].trustedCerts=t}Object.keys(e[this._session.id]).length===0&&delete e[this._session.id],Object.keys(e).length===0?r.remove(Dm,-1):r.store(Dm,JSON.stringify(e),-1,1)}}});import{session as Zy}from"electron";var e0,oi,eI=I(()=>{wt();_u();ZP();qe();e0=new Set(["pointerLock","notifications","clipboard-sanitized-write"]),oi=class i{constructor(r,e,t){this.id=r;this.electronSession=e;this.storageScope=t;this._trust=new Am(this),this.configure(),i.knownSessions.add(e),i._bySession.set(e,this),i._byId.set(r,new WeakRef(this)),i._finalizer.register(e,r)}static{this._bySession=new WeakMap}static{this._byId=new Map}static{this._finalizer=new FinalizationRegistry(r=>{i._byId.delete(r)})}static{this.knownSessions=new WeakSet}static isBrowserViewWebContents(r){return i.knownSessions.has(r.session)}static get(r){let e=i._byId.get(r);if(!e)return;let t=e.deref();return t||i._byId.delete(r),t}static getBrowserContextIds(){let r=[];for(let[e,t]of i._byId)t.deref()?r.push(e):i._byId.delete(e);return r}static getOrCreateGlobal(){let r=Zy.fromPartition("persist:vscode-browser");return i._bySession.get(r)??new i("global",r,"global")}static getOrCreateWorkspace(r,e){let t=he(e,r,"browserStorage"),n=Zy.fromPath(t.fsPath);return i._bySession.get(n)??new i(`workspace:${r}`,n,"workspace")}static getOrCreateEphemeral(r,e){if(e==="workspace"||e==="ephemeral")throw new Error(`Cannot create session with reserved type '${e}'`);let t=`${e??"ephemeral"}:${r}`,n=Zy.fromPartition(`vscode-browser-${e}${r}`);return i._bySession.get(n)??new i(t,n,"ephemeral")}static getOrCreate(r,e,t,n){switch(e){case"global":return i.getOrCreateGlobal();case"workspace":if(n)return i.getOrCreateWorkspace(n,t);case"ephemeral":default:return i.getOrCreateEphemeral(r)}}get trust(){return this._trust}connectStorage(r){this._trust.connectStorage(r)}configure(){this.electronSession.setPermissionRequestHandler((r,e,t)=>t(e0.has(e))),this.electronSession.setPermissionCheckHandler((r,e,t)=>e0.has(e)),this.electronSession.registerPreloadScript({type:"frame",filePath:st.asFileUri("vs/platform/browserView/electron-browser/preload-browserView.js").fsPath})}async clearData(){await this._trust.clear(),await this.electronSession.clearData()}}});function t0(i,r){i.publicLog2("integratedBrowser.open",{source:r})}var r0=I(()=>{});import{networkInterfaces as SA}from"os";function PA(i){let r=i.replace(/\-/g,":").toLowerCase();return!xA.has(r)}function n0(){let i=SA();for(let r in i){let e=i[r];if(e){for(let{mac:t}of e)if(PA(t))return t}}throw new Error("Unable to retrieve mac address (unexpected format)")}var xA,i0=I(()=>{xA=new Set(["00:00:00:00:00:00","ff:ff:ff:ff:ff:ff","ac:de:48:00:11:22"])});import{networkInterfaces as EA}from"os";async function o0(i){return tI||(tI=(async()=>await CA(i)||_e())()),tI}async function CA(i){try{let r=await import("crypto"),e=n0();return r.createHash("sha256").update(e,"utf8").digest("hex")}catch(r){i(r);return}}async function s0(i){if(F){let r=await import("@vscode/windows-registry");try{return r.GetStringRegKey("HKEY_LOCAL_MACHINE",TA,"MachineId")||""}catch(e){return i(e),""}}return""}async function Lm(i){try{return await(await import("@vscode/deviceid")).getDeviceId()}catch(r){return i(r),_e()}}var Du,tI,TA,Au=I(()=>{Hs();Jt();i0();Z();Du=new class{_isVirtualMachineMacAddress(i){return this._virtualMachineOUIs||(this._virtualMachineOUIs=Kr.forStrings(),this._virtualMachineOUIs.set("00-50-56",!0),this._virtualMachineOUIs.set("00-0C-29",!0),this._virtualMachineOUIs.set("00-05-69",!0),this._virtualMachineOUIs.set("00-03-FF",!0),this._virtualMachineOUIs.set("00-1C-42",!0),this._virtualMachineOUIs.set("00-16-3E",!0),this._virtualMachineOUIs.set("08-00-27",!0),this._virtualMachineOUIs.set("00:50:56",!0),this._virtualMachineOUIs.set("00:0C:29",!0),this._virtualMachineOUIs.set("00:05:69",!0),this._virtualMachineOUIs.set("00:03:FF",!0),this._virtualMachineOUIs.set("00:1C:42",!0),this._virtualMachineOUIs.set("00:16:3E",!0),this._virtualMachineOUIs.set("08:00:27",!0)),!!this._virtualMachineOUIs.findSubstr(i)}value(){if(this._value===void 0){let i=0,r=0,e=EA();for(let t in e){let n=e[t];if(n)for(let{mac:o,internal:s}of n)s||(r+=1,this._isVirtualMachineMacAddress(o.toUpperCase())&&(i+=1))}this._value=r>0?i/r:0}return this._value}};TA="Software\\Microsoft\\SQMClient"});import{spawn as a0}from"child_process";import{statSync as _A}from"fs";function l0(i,r=[],e){if(N){let t=kA(i);if(!t)return;let n=["-n","-g","-b",t];r.length>0&&n.push("--args",...r);let o=a0("open",n,{detached:!0,stdio:"ignore"});return o.on("error",s=>e?.(s)),o.unref(),{child:o}}if(F){let t=RA(i);if(!t)return;let n=a0(t,r,{detached:!0,stdio:"ignore"});return n.on("error",o=>e?.(o)),n.unref(),{child:n}}}function kA(i){return!!process.isEmbeddedApp?i.embedded?.darwinSiblingBundleIdentifier:i.darwinSiblingBundleIdentifier}function RA(i){let e=!!process.isEmbeddedApp?i.embedded?.win32SiblingExeBasename:i.win32SiblingExeBasename;if(!e)return;let t=V(Ae(process.execPath),`${e}.exe`);try{if(_A(t).isFile())return t}catch{}}var c0=I(()=>{Ce();Z()});import*as Mm from"net";function u0(i,r,e,t=1){let n=!1;return new Promise(o=>{let s=setTimeout(()=>{if(!n)return n=!0,o(0)},e);rI(i,r,t,a=>{if(!n)return n=!0,clearTimeout(s),o(a)})})}function rI(i,r,e,t){if(r===0)return t(0);let n=new Mm.Socket;n.once("connect",()=>(d0(n),rI(i+e,r-1,e,t))),n.once("data",()=>{}),n.once("error",o=>(d0(n),o.code!=="ECONNREFUSED"?rI(i+e,r-1,e,t):t(i))),n.connect(i,"127.0.0.1")}function p0(i,r){return iI(i,0,r).then(e=>e!==0)}function iI(i,r,e,t="127.0.0.1"){let n=!1,o,s=1,a=Mm.createServer({pauseOnConnect:!0});function l(c,d){n||(n=!0,a.removeAllListeners(),a.close(),o&&clearTimeout(o),d(c))}return new Promise(c=>{o=setTimeout(()=>{l(0,c)},e),a.on("listening",()=>{l(i,c)}),a.on("error",d=>{d&&(d.code==="EADDRINUSE"||d.code==="EACCES")&&s<r?(i++,s++,a.listen(i,t)):l(0,c)}),a.on("close",()=>{l(0,c)}),a.listen(i,t)})}function d0(i){try{i.removeAllListeners("connect"),i.removeAllListeners("error"),i.end(),i.destroy(),i.unref()}catch(r){console.error(r)}}var nI,oI=I(()=>{nI={1:!0,7:!0,9:!0,11:!0,13:!0,15:!0,17:!0,19:!0,20:!0,21:!0,22:!0,23:!0,25:!0,37:!0,42:!0,43:!0,53:!0,69:!0,77:!0,79:!0,87:!0,95:!0,101:!0,102:!0,103:!0,104:!0,109:!0,110:!0,111:!0,113:!0,115:!0,117:!0,119:!0,123:!0,135:!0,137:!0,139:!0,143:!0,161:!0,179:!0,389:!0,427:!0,465:!0,512:!0,513:!0,514:!0,515:!0,526:!0,530:!0,531:!0,532:!0,540:!0,548:!0,554:!0,556:!0,563:!0,587:!0,601:!0,636:!0,989:!0,990:!0,993:!0,995:!0,1719:!0,1720:!0,1723:!0,2049:!0,3659:!0,4045:!0,5060:!0,5061:!0,6e3:!0,6566:!0,6665:!0,6666:!0,6667:!0,6668:!0,6669:!0,6697:!0,10080:!0}});var AK,sI=I(()=>{ee();AK=L("nativeHostService")});import*as f0 from"fs";import*as m0 from"child_process";async function h0(i=!1){return(aI===void 0||i)&&(aI=DA()),aI}async function DA(){let i=await _f();if(i===0)return!1;if(i>=22e3){let r=AA();if(r)return new Promise(e=>{try{m0.execFile(r,["--status"],t=>e(!t))}catch{e(!1)}})}else{let r=LA();if(r)try{if((await f0.promises.stat(r)).isFile())return!0}catch{}}return!1}function g0(i){let r=process.env.SystemRoot;if(r){let e=process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432");return V(r,e?"Sysnative":"System32",i)}}function AA(){return g0("wsl.exe")}function LA(){return g0("lxss\\LxssManager.dll")}var aI,v0=I(()=>{Ce();Xa()});var _l,y0=I(()=>{ge();re();_l=class{constructor(r,e,t){this._window=r;this._sessionId=e;this._logService=t}async inspect(r){await this._connect();let e=this._window.webContents.debugger;await e.sendCommand("Profiler.start"),this._logService.warn("[perf] profiling STARTED",this._sessionId),await lt(r);let t=await e.sendCommand("Profiler.stop");return this._logService.warn("[perf] profiling DONE",this._sessionId),await this._disconnect(),t.profile}async _connect(){let r=this._window.webContents.debugger;r.attach(),await r.sendCommand("Profiler.enable")}async _disconnect(){let r=this._window.webContents.debugger;await r.sendCommand("Profiler.disable"),r.detach()}};_l=E([g(2,U)],_l)});import{createWriteStream as MA,promises as qK}from"fs";async function I0(i,r){let{ZipFile:e}=await import("yazl");return new Promise((t,n)=>{let o=new e;r.forEach(a=>{a.contents?o.addBuffer(typeof a.contents=="string"?Buffer.from(a.contents,"utf8"):a.contents,a.path):a.localPath&&o.addFile(a.localPath,a.path)}),o.end();let s=MA(i);o.outputStream.pipe(s),o.outputStream.once("error",n),s.once("error",n),s.once("finish",()=>t(i))})}var OA,GK,w0=I(()=>{ge();Ce();Le();rr();Ee();OA="end of central directory record signature not found",GK=new RegExp(OA)});function FA(i){return i.res.statusCode&&i.res.statusCode>=200&&i.res.statusCode<300||i.res.statusCode===1223}function WA(i){return i.res.statusCode===204}async function kl(i){if(!FA(i))throw new Error("Server returned "+i.res.statusCode);if(WA(i))return null;let e=(await Ms(i.stream)).toString();try{return JSON.parse(e)}catch(t){throw t.message+=`:
`+e,t}}function UA(i=!0,r=!0){if(b0===i&&S0===r)return;b0=i,S0=r;let e=xt.as(lr.Configuration),t=lI;lI=[{id:"http",order:15,title:h(2365,null),type:"object",scope:2,properties:{"http.useLocalProxyConfiguration":{type:"boolean",default:r,markdownDescription:h(2380,null),restricted:!0}}},{id:"http",order:15,title:h(2365,null),type:"object",scope:1,properties:{"http.electronFetch":{type:"boolean",default:!1,description:h(2363,null),restricted:!0}}},{id:"http",order:15,title:h(2365,null),type:"object",scope:i?1:2,properties:{"http.proxy":{type:"string",pattern:"^(https?|socks|socks4a?|socks5h?)://([^:]*(:[^@]*)?@)?([^:]+|\\[[:0-9a-fA-F]+\\])(:\\d+)?/?$|^$",markdownDescription:h(2368,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.proxyStrictSSL":{type:"boolean",default:!0,markdownDescription:h(2376,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.proxyKerberosServicePrincipal":{type:"string",markdownDescription:h(2370,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.noProxy":{type:"array",items:{type:"string"},markdownDescription:h(2367,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.proxyAuthorization":{type:["null","string"],default:null,markdownDescription:h(2369,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.proxySupport":{type:"string",enum:["off","on","fallback","override"],enumDescriptions:[h(2373,null),h(2374,null),h(2372,null),h(2375,null)],default:"override",markdownDescription:h(2371,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.systemCertificates":{type:"boolean",default:!0,markdownDescription:h(2377,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.systemCertificatesNode":{type:"boolean",tags:["experimental"],default:dI,markdownDescription:h(2378,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0,experiment:{mode:"auto"}},"http.experimental.systemCertificatesV2":{type:"boolean",tags:["experimental"],default:!1,markdownDescription:h(2379,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.fetchAdditionalSupport":{type:"boolean",default:!0,markdownDescription:h(2364,null,"`#http.useLocalProxyConfiguration#`","`#http.proxySupport#`","`#http.systemCertificates#`"),restricted:!0},"http.webSocketAdditionalSupport":{type:"boolean",default:!0,markdownDescription:h(2381,null,"`#http.useLocalProxyConfiguration#`","`#http.proxySupport#`","`#http.systemCertificates#`"),restricted:!0},"http.experimental.networkInterfaceCheckInterval":{type:"number",default:300,minimum:-1,tags:["experimental"],markdownDescription:h(2366,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0,experiment:{mode:"auto"}}}}],e.updateConfigurations({add:lI,remove:t})}var Mn,cI,Om,dI,lI,b0,S0,os=I(()=>{ot();He();z();$();Ee();eo();ee();Xn();Mn=L("requestService"),cI=class{constructor(r){this.original=r}toJSON(){if(!this.headers){let r=Object.create(null);for(let e in this.original)e.toLowerCase()==="authorization"||e.toLowerCase()==="proxy-authorization"?r[e]="*****":r[e]=this.original[e];this.headers=r}return this.headers}},Om=class extends T{constructor(e){super();this.logService=e;this.counter=0;this._onDidCompleteRequest=this._register(new b);this.onDidCompleteRequest=this._onDidCompleteRequest.event}async logAndRequest(e,t){let n=`#${++this.counter}: ${e.url}`;this.logService.trace(`${n} - begin`,e.type,new cI(e.headers??{}));let o=Date.now();try{let s=await t();return this.logService.trace(`${n} - end`,e.type,s.res.statusCode,s.res.headers),this._onDidCompleteRequest.fire({callSite:e.callSite,latency:Date.now()-o,statusCode:s.res.statusCode}),s}catch(s){throw this.logService.error(`${n} - error`,e.type,mr(s)),s}}};dI=!1,lI=[];UA()});import*as fI from"fs";import{exec as x0}from"child_process";import{app as Lu,BrowserWindow as Fm,clipboard as ss,contentTracing as P0,Menu as Mu,Notification as E0,powerMonitor as xn,powerSaveBlocker as uI,screen as Ou,shell as pI,webContents as BA}from"electron";import{arch as VA,cpus as HA,freemem as $A,loadavg as qA,platform as KA,release as zA,totalmem as jA,type as GA}from"os";import{promisify as C0}from"util";var On,Js,Rl=I(()=>{No();z();$();qe();Ce();Z();le();Au();rr();c0();oI();Ee();Gs();Dt();ee();Et();re();sI();nr();al();Ri();Vt();Tr();ts();ot();v0();y0();Tl();He();w0();it();xy();os();sn();It();On=L("nativeHostMainService"),Js=class extends T{constructor(e,t,n,o,s,a,l,c,d,u,f,m,y){super();this.windowsMainService=e;this.auxiliaryWindowsMainService=t;this.dialogMainService=n;this.lifecycleMainService=o;this.environmentMainService=s;this.logService=a;this.productService=l;this.themeMainService=c;this.workspacesManagementMainService=d;this.configurationService=u;this.requestService=f;this.proxyAuthService=m;this.instantiationService=y;this._onDidChangePassword=this._register(new b);this.onDidChangePassword=this._onDidChangePassword.event;this._isTracing=!1;this.activeToasts=this._register(new Rt);this.onDidOpenMainWindow=S.map(this.windowsMainService.onDidOpenWindow,v=>v.id),this.onDidTriggerWindowSystemContextMenu=S.any(S.map(this.windowsMainService.onDidTriggerSystemContextMenu,({window:v,x:C,y:w})=>({windowId:v.id,x:C,y:w})),S.map(this.auxiliaryWindowsMainService.onDidTriggerSystemContextMenu,({window:v,x:C,y:w})=>({windowId:v.id,x:C,y:w}))),this.onDidMaximizeWindow=S.any(S.map(this.windowsMainService.onDidMaximizeWindow,v=>v.id),S.map(this.auxiliaryWindowsMainService.onDidMaximizeWindow,v=>v.id)),this.onDidUnmaximizeWindow=S.any(S.map(this.windowsMainService.onDidUnmaximizeWindow,v=>v.id),S.map(this.auxiliaryWindowsMainService.onDidUnmaximizeWindow,v=>v.id)),this.onDidChangeWindowFullScreen=S.any(S.map(this.windowsMainService.onDidChangeFullScreen,v=>({windowId:v.window.id,fullscreen:v.fullscreen})),S.map(this.auxiliaryWindowsMainService.onDidChangeFullScreen,v=>({windowId:v.window.id,fullscreen:v.fullscreen}))),this.onDidChangeWindowAlwaysOnTop=S.any(S.None,S.map(this.auxiliaryWindowsMainService.onDidChangeAlwaysOnTop,v=>({windowId:v.window.id,alwaysOnTop:v.alwaysOnTop}))),this.onDidBlurMainWindow=S.filter(S.fromNodeEventEmitter(Lu,"browser-window-blur",(v,C)=>C.id),v=>!!this.windowsMainService.getWindowById(v)),this.onDidFocusMainWindow=S.any(S.map(S.filter(S.map(this.windowsMainService.onDidChangeWindowsCount,()=>this.windowsMainService.getLastActiveWindow()),v=>!!v),v=>v.id),S.filter(S.fromNodeEventEmitter(Lu,"browser-window-focus",(v,C)=>C.id),v=>!!this.windowsMainService.getWindowById(v))),this.onDidBlurMainOrAuxiliaryWindow=S.any(this.onDidBlurMainWindow,S.map(S.filter(S.fromNodeEventEmitter(Lu,"browser-window-blur",(v,C)=>this.auxiliaryWindowsMainService.getWindowByWebContents(C.webContents)),v=>!!v),v=>v.id)),this.onDidFocusMainOrAuxiliaryWindow=S.any(this.onDidFocusMainWindow,S.map(S.filter(S.fromNodeEventEmitter(Lu,"browser-window-focus",(v,C)=>this.auxiliaryWindowsMainService.getWindowByWebContents(C.webContents)),v=>!!v),v=>v.id)),this.onDidSuspendOS=S.fromNodeEventEmitter(xn,"suspend"),this.onDidResumeOS=S.fromNodeEventEmitter(xn,"resume"),this.onDidChangeOnBatteryPower=S.any(S.map(S.fromNodeEventEmitter(xn,"on-ac"),()=>!1),S.map(S.fromNodeEventEmitter(xn,"on-battery"),()=>!0)),this.onDidChangeThermalState=S.map(S.fromNodeEventEmitter(xn,"thermal-state-change"),v=>v.state),this.onDidChangeSpeedLimit=S.map(S.fromNodeEventEmitter(xn,"speed-limit-change"),v=>v.limit),this.onWillShutdownOS=S.fromNodeEventEmitter(xn,"shutdown"),this.onDidLockScreen=S.fromNodeEventEmitter(xn,"lock-screen"),this.onDidUnlockScreen=S.fromNodeEventEmitter(xn,"unlock-screen"),this.onDidChangeColorScheme=this.themeMainService.onDidChangeColorScheme,this.onDidChangeDisplay=S.debounce(S.any(S.filter(S.fromNodeEventEmitter(Ou,"display-metrics-changed",(v,C,w)=>w),v=>!(Array.isArray(v)&&v.length===1&&v[0]==="workArea")),S.fromNodeEventEmitter(Ou,"display-added"),S.fromNodeEventEmitter(Ou,"display-removed")),()=>{},100)}get windowId(){throw new Error("Not implemented in electron-main")}async getWindows(e,t){let n=this.windowsMainService.getWindows().map(s=>({id:s.id,workspace:s.openedWorkspace??Ko(s.backupPath,s.isExtensionDevelopmentHost),title:s.win?.getTitle()??"",filename:s.getRepresentedFilename(),dirty:s.isDocumentEdited()})),o=[];return t.includeAuxiliaryWindows&&o.push(...this.auxiliaryWindowsMainService.getWindows().map(s=>({id:s.id,parentId:s.parentId,title:s.win?.getTitle()??"",filename:s.getRepresentedFilename()}))),[...n,...o]}async getWindowCount(e){return this.windowsMainService.getWindowCount()}async getActiveWindowId(e){let t=this.windowsMainService.getFocusedWindow()||this.windowsMainService.getLastActiveWindow();if(t)return t.id}async getActiveWindowPosition(){let e=this.windowsMainService.getFocusedWindow()||this.windowsMainService.getLastActiveWindow();if(e)return e.getBounds()}async getNativeWindowHandle(e,t){let n=this.windowById(t,e);if(n?.win)return H.wrap(n.win.getNativeWindowHandle())}openWindow(e,t,n){return Array.isArray(t)?this.doOpenWindow(e,t,n):this.doOpenEmptyWindow(e,t)}async doOpenWindow(e,t,n=Object.create(null)){t.length>0&&await this.windowsMainService.open({context:5,contextWindowId:e,urisToOpen:t,cli:this.environmentMainService.args,forceNewWindow:n.forceNewWindow,forceReuseWindow:n.forceReuseWindow,preferNewWindow:n.preferNewWindow,diffMode:n.diffMode,mergeMode:n.mergeMode,addMode:n.addMode,removeMode:n.removeMode,gotoLineMode:n.gotoLineMode,noRecentEntry:n.noRecentEntry,waitMarkerFileURI:n.waitMarkerFileURI,remoteAuthority:n.remoteAuthority||void 0,forceProfile:n.forceProfile,forceTempProfile:n.forceTempProfile})}async doOpenEmptyWindow(e,t){await this.windowsMainService.openEmptyWindow({context:5,contextWindowId:e},t)}async openAgentsWindow(e,t){await this.windowsMainService.openAgentsWindow({context:5,contextWindowId:e,cli:this.environmentMainService.args,forceNewWindow:t?.forceNewWindow})}async launchSiblingApp(e,t){l0(this.productService,t,o=>{this.logService.error("[launchSiblingApp] Failed to spawn sibling app:",o.message)})||this.logService.warn("[launchSiblingApp] Could not resolve sibling app on this platform")}async isFullScreen(e,t){return this.windowById(t?.targetWindowId,e)?.isFullScreen??!1}async toggleFullScreen(e,t){this.windowById(t?.targetWindowId,e)?.toggleFullScreen()}async getCursorScreenPoint(e){let t=Ou.getCursorScreenPoint(),n=Ou.getDisplayNearestPoint(t);return{point:t,display:n.bounds}}async isMaximized(e,t){return this.windowById(t?.targetWindowId,e)?.win?.isMaximized()??!1}async maximizeWindow(e,t){this.windowById(t?.targetWindowId,e)?.win?.maximize()}async unmaximizeWindow(e,t){this.windowById(t?.targetWindowId,e)?.win?.unmaximize()}async minimizeWindow(e,t){this.windowById(t?.targetWindowId,e)?.win?.minimize()}async moveWindowTop(e,t){this.windowById(t?.targetWindowId,e)?.win?.moveTop()}async isWindowAlwaysOnTop(e,t){return this.windowById(t?.targetWindowId,e)?.win?.isAlwaysOnTop()??!1}async toggleWindowAlwaysOnTop(e,t){let n=this.windowById(t?.targetWindowId,e);n?.win?.setAlwaysOnTop(!n.win.isAlwaysOnTop())}async setWindowAlwaysOnTop(e,t,n){this.windowById(n?.targetWindowId,e)?.win?.setAlwaysOnTop(t)}async positionWindow(e,t,n){let o=this.windowById(n?.targetWindowId,e);if(o?.win){if(o.win.isFullScreen()){let s=S.toPromise(S.once(S.fromNodeEventEmitter(o.win,"leave-full-screen")));o.win.setFullScreen(!1),await s}o.win.setBounds(t)}}async updateWindowControls(e,t){this.windowById(t?.targetWindowId,e)?.updateWindowControls(t)}async updateWindowAccentColor(e,t,n){if(!F)return;let o=this.windowById(e);if(!o)return;let s,a;t==="default"?(s=null,a=null):t==="off"?(s=!1,a=!1):(s=t,a=n??t);let l=[o];for(let c of this.auxiliaryWindowsMainService.getWindows())c.parentId===e&&l.push(c);for(let c of l)c.win?.setAccentColor(c.win.isFocused()?s:a)}async focusWindow(e,t){this.windowById(t?.targetWindowId,e)?.focus({mode:t?.mode??0})}async setMinimumSize(e,t,n){let o=this.codeWindowById(e);if(o?.win){let[s,a]=o.win.getSize(),[l,c]=o.win.getMinimumSize(),[d,u]=[t??l,n??c],[f,m]=[Math.max(s,d),Math.max(a,u)];(l!==d||c!==u)&&o.win.setMinimumSize(d,u),(s!==f||a!==m)&&o.win.setSize(f,m)}}async saveWindowSplash(e,t){let n=this.codeWindowById(e);this.themeMainService.saveWindowSplash(e,n?.openedWorkspace,t)}async setBackgroundThrottling(e,t){let n=this.codeWindowById(e);this.logService.trace(`Setting background throttling for window ${e} to '${t}'`),n?.win?.webContents?.setBackgroundThrottling(t)}async installShellCommand(e){let{source:t,target:n}=await this.getShellCommandLink();try{let{symbolicLink:o}=await tr.stat(t);if(o&&!o.dangling){let s=await Q.realpath(t);if(n===s)return}}catch(o){if(o.code!=="ENOENT")throw o}await this.installShellCommandWithPrivileges(e,t,n)}async installShellCommandWithPrivileges(e,t,n){let{response:o}=await this.showMessageBox(e,{type:"info",message:h(2313,null,this.productService.nameShort),buttons:[h(2305,null),h(2301,null)]});if(o===1)throw new St;try{let s=`osascript -e "do shell script \\"mkdir -p /usr/local/bin && ln -sf '${n}' '${t}'\\" with administrator privileges"`;await C0(x0)(s)}catch{throw new Error(h(2302,null,t))}}async uninstallShellCommand(e){let{source:t}=await this.getShellCommandLink();try{await fI.promises.unlink(t)}catch(n){switch(n.code){case"EACCES":{let{response:o}=await this.showMessageBox(e,{type:"info",message:h(2314,null,this.productService.nameShort),buttons:[h(2305,null),h(2301,null)]});if(o===1)throw new St;try{let s=`osascript -e "do shell script \\"rm '${t}'\\" with administrator privileges"`;await C0(x0)(s)}catch{throw new Error(h(2303,null,t))}break}case"ENOENT":break;default:throw n}}}async getShellCommandLink(){let e=Vr(this.environmentMainService.appRoot,"bin","code"),t=`/usr/local/bin/${this.productService.applicationName}`;if(!await Q.exists(e))throw new Error(h(2308,null,e));return{source:t,target:e}}async showMessageBox(e,t){let n=this.windowById(t?.targetWindowId,e);return this.dialogMainService.showMessageBox(t,n?.win??void 0)}async showSaveDialog(e,t){let n=this.windowById(t?.targetWindowId,e);return this.dialogMainService.showSaveDialog(t,n?.win??void 0)}async showOpenDialog(e,t){let n=this.windowById(t?.targetWindowId,e);return this.dialogMainService.showOpenDialog(t,n?.win??void 0)}async pickFileFolderAndOpen(e,t){let n=await this.dialogMainService.pickFileFolder(t);n&&await this.doOpenPicked(await Promise.all(n.map(async o=>await tr.existsDirectory(o)?{folderUri:P.file(o)}:{fileUri:P.file(o)})),t,e)}async pickFolderAndOpen(e,t){let n=await this.dialogMainService.pickFolder(t);n&&await this.doOpenPicked(n.map(o=>({folderUri:P.file(o)})),t,e)}async pickFileAndOpen(e,t){let n=await this.dialogMainService.pickFile(t);n&&await this.doOpenPicked(n.map(o=>({fileUri:P.file(o)})),t,e)}async pickWorkspaceAndOpen(e,t){let n=await this.dialogMainService.pickWorkspace(t);n&&await this.doOpenPicked(n.map(o=>({workspaceUri:P.file(o)})),t,e)}async doOpenPicked(e,t,n){await this.windowsMainService.open({context:3,contextWindowId:n,cli:this.environmentMainService.args,urisToOpen:e,forceNewWindow:t.forceNewWindow})}async showItemInFolder(e,t){pI.showItemInFolder(t)}async setRepresentedFilename(e,t,n){this.windowById(n?.targetWindowId,e)?.setRepresentedFilename(t)}async setDocumentEdited(e,t,n){this.windowById(n?.targetWindowId,e)?.setDocumentEdited(t)}async openExternal(e,t,n){this.environmentMainService.unsetSnapExportedVariables();try{hv(t,W.http,W.https)?this.openExternalBrowser(e,t,n):this.doOpenShellExternal(e,t)}finally{this.environmentMainService.restoreSnapExportedVariables()}return!0}async openExternalBrowser(e,t,n){let o=n??this.configurationService.getValue("workbench.externalBrowser");if(!o)return this.doOpenShellExternal(e,t);if((o.includes(de.sep)||o.includes(dt.sep))&&!await Q.exists(o))return this.logService.error(`Configured external browser path does not exist: ${o}`),this.doOpenShellExternal(e,t);try{let{default:s,apps:a}=await import("open"),l=await s(t,{app:{name:Object.hasOwn(a,o)?a[o]:o}});F||l.stderr?.once("data",c=>(this.logService.error(`Error openening external URL '${t}' using browser '${o}': ${c.toString()}`),this.doOpenShellExternal(e,t)))}catch(s){return this.logService.error(`Unable to open external URL '${t}' using browser '${o}' due to ${s}.`),this.doOpenShellExternal(e,t)}}async doOpenShellExternal(e,t){try{await pI.openExternal(t)}catch(n){let o,s;hv(t,W.http,W.https)?(o=!0,s=h(2306,null)):(o=!1,s=h(2307,null));let{response:a}=await this.dialogMainService.showMessageBox({type:"error",message:s,detail:n.message,buttons:o?[h(2304,null),h(2301,null)]:[h(2305,null)]},this.windowById(e)?.win??void 0);if(a===1)return;this.writeClipboardText(e,t)}}moveItemToTrash(e,t){return pI.trashItem(t)}async isAdmin(){let e;return F?e=(await import("native-is-elevated")).default():e=process.getuid?.()===0,e}async writeElevated(e,t,n,o){let s=await import("@vscode/sudo-prompt"),a=ks(this.environmentMainService.userDataPath,"code-elevated");await Q.writeFile(a,JSON.stringify({source:t.fsPath,target:n.fsPath}));try{await new Promise((l,c)=>{let d=[`"${this.cliPath}"`];o?.unlock&&d.push("--file-chmod"),d.push("--file-write",`"${a}"`);let u={name:this.productService.nameLong.replace("-",""),icns:N&&this.environmentMainService.isBuilt?V(Ae(this.environmentMainService.appRoot),`${this.productService.nameShort}.icns`):void 0};this.logService.trace(`[sudo-prompt] running command: ${d.join(" ")}`),s.exec(d.join(" "),u,(f,m,y)=>{m&&this.logService.trace(`[sudo-prompt] received stdout: ${m}`),y&&this.logService.error(`[sudo-prompt] received stderr: ${y}`),f?c(f):l(void 0)})})}finally{await fI.promises.unlink(a)}}async isRunningUnderARM64Translation(){return ne||F?!1:Lu.runningUnderARM64Translation}get cliPath(){return F?this.environmentMainService.isBuilt?V(Ae(process.execPath),"bin",`${this.productService.applicationName}.cmd`):V(this.environmentMainService.appRoot,"scripts","code-cli.bat"):ne?this.environmentMainService.isBuilt?V(Ae(process.execPath),"bin",`${this.productService.applicationName}`):V(this.environmentMainService.appRoot,"scripts","code-cli.sh"):this.environmentMainService.isBuilt?V(this.environmentMainService.appRoot,"bin","code"):V(this.environmentMainService.appRoot,"scripts","code-cli.sh")}async getOSStatistics(){return{totalmem:jA(),freemem:$A(),loadavg:qA()}}async getOSProperties(){return{arch:VA(),platform:KA(),release:zA(),type:GA(),cpus:HA()}}async getOSVirtualMachineHint(){return Du.value()}async getOSColorScheme(){return this.themeMainService.getColorScheme()}async hasWSLFeatureInstalled(){return F&&h0()}async getScreenshot(e,t,n){let a=(await this.windowById(n?.targetWindowId,e)?.win?.webContents.capturePage(t))?.toJPEG(95);return a&&H.wrap(a)}async getProcessId(e){return this.windowById(void 0,e)?.win?.webContents.getOSProcessId()}async killProcess(e,t,n){process.kill(t,n)}async readClipboardText(e,t){this.logService.trace(`readClipboardText in window ${e} with type:`,t);let n=ss.readText(t);return this.logService.trace("clipboardText.length :",n.length),n}async triggerPaste(e,t){return this.logService.trace(`Triggering paste in window ${e} with options:`,t),this.windowById(t?.targetWindowId,e)?.win?.webContents.paste()??Promise.resolve()}async readImage(){return ss.readImage().toPNG()}async writeClipboardText(e,t,n){return ss.writeText(t,n)}async readClipboardFindText(e){return ss.readFindText()}async writeClipboardFindText(e,t){return ss.writeFindText(t)}async writeClipboardBuffer(e,t,n,o){return ss.writeBuffer(t,Buffer.from(n.buffer),o)}async readClipboardBuffer(e,t){return H.wrap(ss.readBuffer(t))}async hasClipboard(e,t,n){return ss.has(t,n)}async newWindowTab(){await this.windowsMainService.open({context:5,cli:this.environmentMainService.args,forceNewTabbedWindow:!0,forceEmpty:!0,remoteAuthority:this.environmentMainService.args.remote||void 0})}async showPreviousWindowTab(){Mu.sendActionToFirstResponder("selectPreviousTab:")}async showNextWindowTab(){Mu.sendActionToFirstResponder("selectNextTab:")}async moveWindowTabToNewWindow(){Mu.sendActionToFirstResponder("moveTabToNewWindow:")}async mergeAllWindowTabs(){Mu.sendActionToFirstResponder("mergeAllWindows:")}async toggleWindowTabsBar(){Mu.sendActionToFirstResponder("toggleTabBar:")}async updateTouchBar(e,t){this.codeWindowById(e)?.updateTouchBar(t)}async notifyReady(e){this.codeWindowById(e)?.setReady()}async relaunch(e,t){return this.lifecycleMainService.relaunch(t)}async reload(e,t){let n=this.codeWindowById(e);if(n){if(ct(n.openedWorkspace)){let o=n.openedWorkspace.configPath;if(o.scheme===W.file&&(await this.workspacesManagementMainService.resolveLocalWorkspace(o))?.transient)return this.openWindow(n.id,{forceReuseWindow:!0})}return this.lifecycleMainService.reload(n,t?.disableExtensions!==void 0?{_:[],"disable-extensions":t.disableExtensions}:void 0)}}async closeWindow(e,t){return this.windowById(t?.targetWindowId,e)?.win?.close()}async quit(e){let t=this.windowsMainService.getLastActiveWindow();t?.isExtensionDevelopmentHost&&this.windowsMainService.getWindowCount()>1&&t.win?t.win.close():this.lifecycleMainService.quit()}async exit(e,t){await this.lifecycleMainService.kill(t)}async resolveProxy(e,t){return this.codeWindowById(e)?.win?.webContents?.session?.resolveProxy(t)}async lookupAuthorization(e,t){return this.proxyAuthService.lookupAuthorization(t)}async lookupKerberosAuthorization(e,t){return this.requestService.lookupKerberosAuthorization(t)}async loadCertificates(e){return this.requestService.loadCertificates()}isPortFree(e,t){return p0(t,1e3)}findFreePort(e,t,n,o,s=1){return u0(t,n,o,s)}async openDevTools(e,t){this.windowById(t?.targetWindowId,e)?.win?.webContents.openDevTools(t?.mode?{mode:t.mode,activate:t.activate}:void 0)}async toggleDevTools(e,t){this.windowById(t?.targetWindowId,e)?.win?.webContents.toggleDevTools()}async openDevToolsWindow(e,t){let n=this.codeWindowById(e);n&&this.openChildWindow(n.win,t)}openChildWindow(e,t,n={}){let s={...this.instantiationService.invokeFunction(ll,ki(),{forceNativeTitlebar:!0}),parent:e??void 0,...n},a=new Fm(s);return a.setMenuBarVisibility(!1),a.loadURL(t),a.once("ready-to-show",()=>a.show()),a}async openGPUInfoWindow(e){let t=this.codeWindowById(e);if(t){if(typeof this.gpuInfoWindowId!="number"){let n=this.openChildWindow(t.win,"chrome://gpu");n.once("close",()=>this.gpuInfoWindowId=void 0),this.gpuInfoWindowId=n.id}if(typeof this.gpuInfoWindowId=="number"){let n=Fm.fromId(this.gpuInfoWindowId);n?.isMinimized()&&n?.restore(),n?.focus()}}}async openContentTracingWindow(){if(typeof this.contentTracingWindowId!="number"){let e=this.openChildWindow(null,"chrome://tracing",{paintWhenInitiallyHidden:!1,webPreferences:{backgroundThrottling:!1}});e.webContents.once("did-finish-load",async()=>{await e.webContents.executeJavaScript(`
					window.prompt = () => '';
					null
				`),e.show()}),e.once("close",()=>this.contentTracingWindowId=void 0),this.contentTracingWindowId=e.id}if(typeof this.contentTracingWindowId=="number"){let e=Fm.fromId(this.contentTracingWindowId);e?.isMinimized()&&e?.restore(),e?.focus()}}async startTracing(e,t){if(this._isTracing)throw new Error(h(2312,null,"workbench.action.stopTracing"));let n=["record-until-full","enable-sampling"];await P0.startRecording({categoryFilter:t,traceOptions:n.join(",")}),this._isTracing=!0}async stopTracing(e){if(!this._isTracing&&!this.environmentMainService.args.trace)return;this._isTracing=!1;let t=await P0.stopRecording(`${ks(this.environmentMainService.userHome.fsPath,this.productService.applicationName)}.trace.txt`);await this.dialogMainService.showMessageBox({type:"info",message:h(2310,null),detail:h(2309,null,t),buttons:[h(2311,null)]},Fm.getFocusedWindow()??void 0),this.showItemInFolder(void 0,t)}async profileRenderer(e,t,n){let o=this.codeWindowById(e);if(!o?.win)throw new Error;return await new _l(o.win,t,this.logService).inspect(n)}async showToast(e,t){if(!E0.isSupported())return{supported:!1,clicked:!1};let n=new E0({title:t.title,body:t.body,silent:t.silent,actions:t.actions?.map(a=>({type:"button",text:a}))}),o=new J;this.activeToasts.set(t.id,o);let s=new $e;return o.add(j(()=>{this.activeToasts.deleteAndDispose(t.id),n.removeAllListeners(),n.close(),s.dispose(!0)})),new Promise(a=>{let l=c=>{a(c),o.dispose()};o.add(s.token.onCancellationRequested(()=>l({supported:!0,clicked:!1}))),n.on("click",()=>l({supported:!0,clicked:!0})),n.on("action",(c,d)=>l({supported:!0,clicked:!0,actionIndex:d})),n.on("close",()=>l({supported:!0,clicked:!1})),n.on("failed",()=>l({supported:!1,clicked:!1})),n.show()})}async clearToast(e,t){this.activeToasts.deleteAndDispose(t)}async clearToasts(){this.activeToasts.clearAndDisposeAll()}async windowsGetStringRegKey(e,t,n,o){if(!F)return;let s=await import("@vscode/windows-registry");try{return s.GetStringRegKey(t,n,o)}catch{return}}async createZipFile(e,t,n){await I0(t.fsPath,n)}async getSystemIdleState(e,t){return xn.getSystemIdleState(t)}async getSystemIdleTime(e){return xn.getSystemIdleTime()}async getCurrentThermalState(e){return xn.getCurrentThermalState()}async isOnBatteryPower(e){return xn.isOnBatteryPower()}async startPowerSaveBlocker(e,t){return uI.start(t)}async stopPowerSaveBlocker(e,t){return uI.stop(t)}async isPowerSaveBlockerStarted(e,t){return uI.isStarted(t)}windowById(e,t){return this.codeWindowById(e)??this.auxiliaryWindowById(e)??this.codeWindowById(t)}codeWindowById(e){if(typeof e=="number")return this.windowsMainService.getWindowById(e)}auxiliaryWindowById(e){if(typeof e!="number")return;let t=BA.fromId(e);if(t)return this.auxiliaryWindowsMainService.getWindowByWebContents(t)}};E([ce],Js.prototype,"cliPath",1),Js=E([g(0,Ke),g(1,ni),g(2,Sn),g(3,ye),g(4,Te),g(5,U),g(6,De),g(7,Di),g(8,pn),g(9,fe),g(10,Mn),g(11,vu),g(12,Nt)],Js)});import{clipboard as T0,Menu as JA,MenuItem as ur}from"electron";var Fu,Qs,mI=I(()=>{z();$();It();_u();Dt();ee();Yy();Jt();zy();Vt();eI();Mi();r0();ir();Ee();Rl();ar();Fu=L("browserViewMainService"),Qs=class extends T{constructor(e,t,n,o,s,a){super();this.environmentMainService=e;this.instantiationService=t;this.windowsMainService=n;this.telemetryService=o;this.nativeHostMainService=s;this.applicationStorageMainService=a;this.browserViews=this._register(new Rt);this._activeTokens=new Map;this._keybindings=Object.create(null)}static isBrowserViewWebContents(e){return oi.isBrowserViewWebContents(e)}async getOrCreateBrowserView(e,t,n){if(this.browserViews.has(e))return this.browserViews.get(e).getState();let o=oi.getOrCreate(e,t,this.environmentMainService.workspaceStorageHome,n);return this.createBrowserView(e,o).getState()}tryGetBrowserView(e){return this.browserViews.get(e)}async createTarget(e,t,n){let o=t?oi.get(t):void 0;return this.openNew(e,{session:o,windowId:n,editorOptions:{preserveFocus:!0},source:"cdpCreated"})}_getBrowserView(e){let t=this.browserViews.get(e);if(!t)throw new Error(`Browser view ${e} not found`);return t}onDynamicDidNavigate(e){return this._getBrowserView(e).onDidNavigate}onDynamicDidChangeLoadingState(e){return this._getBrowserView(e).onDidChangeLoadingState}onDynamicDidChangeFocus(e){return this._getBrowserView(e).onDidChangeFocus}onDynamicDidChangeVisibility(e){return this._getBrowserView(e).onDidChangeVisibility}onDynamicDidChangeDevToolsState(e){return this._getBrowserView(e).onDidChangeDevToolsState}onDynamicDidKeyCommand(e){return this._getBrowserView(e).onDidKeyCommand}onDynamicDidChangeTitle(e){return this._getBrowserView(e).onDidChangeTitle}onDynamicDidChangeFavicon(e){return this._getBrowserView(e).onDidChangeFavicon}onDynamicDidRequestNewPage(e){return this._getBrowserView(e).onDidRequestNewPage}onDynamicDidFindInPage(e){return this._getBrowserView(e).onDidFindInPage}onDynamicDidClose(e){return this._getBrowserView(e).onDidClose}async getState(e){return this._getBrowserView(e).getState()}async destroyBrowserView(e){return this.browserViews.deleteAndDispose(e)}async layout(e,t){return this._getBrowserView(e).layout(t)}async setVisible(e,t){return this._getBrowserView(e).setVisible(t)}async loadURL(e,t){return this._getBrowserView(e).loadURL(t)}async getURL(e){return this._getBrowserView(e).getURL()}async goBack(e){return this._getBrowserView(e).goBack()}async goForward(e){return this._getBrowserView(e).goForward()}async reload(e,t){return this._getBrowserView(e).reload(t)}async toggleDevTools(e){return this._getBrowserView(e).toggleDevTools()}async canGoBack(e){return this._getBrowserView(e).canGoBack()}async canGoForward(e){return this._getBrowserView(e).canGoForward()}async captureScreenshot(e,t){return this._getBrowserView(e).captureScreenshot(t)}async focus(e,t){return this._getBrowserView(e).focus(t)}async findInPage(e,t,n){return this._getBrowserView(e).findInPage(t,n)}async stopFindInPage(e,t){return this._getBrowserView(e).stopFindInPage(t)}async getSelectedText(e){return this._getBrowserView(e).getSelectedText()}async clearStorage(e){return this._getBrowserView(e).clearStorage()}async setBrowserZoomIndex(e,t){return this._getBrowserView(e).setBrowserZoomIndex(t)}async trustCertificate(e,t,n){return this._getBrowserView(e).trustCertificate(t,n)}async untrustCertificate(e,t,n){return this._getBrowserView(e).untrustCertificate(t,n)}async clearGlobalStorage(){let e=oi.getOrCreateGlobal();e.connectStorage(this.applicationStorageMainService),await e.clearData()}async clearWorkspaceStorage(e){let t=oi.getOrCreateWorkspace(e,this.environmentMainService.workspaceStorageHome);t.connectStorage(this.applicationStorageMainService),await t.clearData()}async getConsoleLogs(e){return this._getBrowserView(e).getConsoleLogs()}async getElementData(e,t){return this._makeCancellable(t,n=>this._getBrowserView(e).getElementData(n))}async getFocusedElementData(e){return this._getBrowserView(e).getFocusedElementData()}async cancel(e){this._activeTokens.get(e)?.cancel()}async updateKeybindings(e){this._keybindings=e}async _makeCancellable(e,t){let n=new $e;this._activeTokens.set(e,n);try{return await t(n.token)}finally{this._activeTokens.delete(e),n.dispose()}}createBrowserView(e,t,n){if(this.browserViews.has(e))throw new Error(`Browser view with id ${e} already exists`);t.connectStorage(this.applicationStorageMainService);let o=this.instantiationService.createInstance(ii,e,t,s=>this.createBrowserView(_e(),t,s),(s,a)=>this.showContextMenu(s,a),n);return this.browserViews.set(e,o),S.once(o.onDidClose)(()=>{this.browserViews.deleteAndDispose(e)}),o}async openNew(e,{session:t,windowId:n,editorOptions:o,source:s}){let a=_e(),l=this.createBrowserView(a,t||oi.getOrCreateEphemeral(a)),c=n!==void 0?this.windowsMainService.getWindowById(n):this.windowsMainService.getFocusedWindow();if(!c)throw new Error(`Window ${n} not found`);return t0(this.telemetryService,s),c.sendWhenReady("vscode:runAction",xe.None,{id:"_workbench.open",args:[ku.forId(a),[void 0,{...o,viewState:{url:e}}],void 0]}),l}showContextMenu(e,t){let n=e.getElectronWindow();if(!n)return;let o=e.webContents;if(o.isDestroyed())return;let s=new JA;t.linkURL&&(s.append(new ur({label:h(1926,null),click:()=>{this.openNew(t.linkURL,{session:e.session,windowId:e.getTopCodeWindow()?.id,editorOptions:{preserveFocus:!0,inactive:!0},source:"browserLinkBackground"})}})),s.append(new ur({label:h(1925,null),click:()=>{this.nativeHostMainService.openExternal(void 0,t.linkURL)}})),s.append(new ur({type:"separator"})),s.append(new ur({label:h(1921,null),click:()=>{T0.write({text:t.linkURL,html:`<a href="${encodeURI(t.linkURL)}">${BS(t.linkText||t.linkURL)}</a>`})}}))),t.hasImageContents&&t.srcURL&&(s.items.length>0&&s.append(new ur({type:"separator"})),s.append(new ur({label:h(1924,null),click:()=>{this.openNew(t.srcURL,{session:e.session,windowId:e.getTopCodeWindow()?.id,editorOptions:{preserveFocus:!0,inactive:!0},source:"browserLinkBackground"})}})),s.append(new ur({label:h(1919,null),click:()=>{e.webContents.copyImageAt(t.x,t.y)}})),s.append(new ur({label:h(1920,null),click:()=>{T0.writeText(t.srcURL)}}))),t.isEditable?(s.append(new ur({role:"cut",enabled:t.editFlags.canCut})),s.append(new ur({role:"copy",enabled:t.editFlags.canCopy})),s.append(new ur({role:"paste",enabled:t.editFlags.canPaste})),s.append(new ur({role:"pasteAndMatchStyle",enabled:t.editFlags.canPaste})),s.append(new ur({role:"selectAll",enabled:t.editFlags.canSelectAll}))):t.selectionText&&s.append(new ur({role:"copy"})),s.items.length===0&&(o.navigationHistory.canGoBack()&&s.append(new ur({label:h(1918,null),accelerator:this._keybindings[Cu.GoBack],click:()=>o.navigationHistory.goBack()})),o.navigationHistory.canGoForward()&&s.append(new ur({label:h(1922,null),accelerator:this._keybindings[Cu.GoForward],click:()=>o.navigationHistory.goForward()})),s.append(new ur({label:h(1927,null),accelerator:this._keybindings[Cu.Reload],click:()=>o.reload()}))),s.append(new ur({type:"separator"})),s.append(new ur({label:h(1923,null),click:()=>o.inspectElement(t.x,t.y)}));let a=e.getWebContentsView().getBounds();s.popup({window:n,x:a.x+t.x,y:a.y+t.y,sourceType:t.menuSourceType})}};Qs=E([g(0,Te),g(1,Nt),g(2,Ke),g(3,Je),g(4,On),g(5,yr)],Qs)});var Uu,as,Wm,Wu,fn,_0=I(()=>{Uu={MethodNotFound:-32601,InvalidParams:-32602,InternalError:-32603,ServerError:-32e3},as=class extends Error{constructor(e,t){super(e);this.code=t;this.name="CDPError"}},Wm=class extends as{constructor(r){super(`Method not found: ${r}`,Uu.MethodNotFound),this.name="CDPMethodNotFoundError"}},Wu=class extends as{constructor(r){super(r,Uu.InvalidParams),this.name="CDPInvalidParamsError"}},fn=class extends as{constructor(r){super(r,Uu.ServerError),this.name="CDPServerError"}}});var Nu,k0=I(()=>{$();z();Jt();_0();Nu=class extends T{constructor(e){super();this.browserTarget=e;this.sessionId=`browser-session-${_e()}`;this._isAttachedToBrowserTarget=!1;this._autoAttach=!1;this._discover=!1;this._sessions=this._register(new Rt);this._targets=this._register(new Rt);this._autoAttachments=new WeakSet;this._handlers=new Map([["Browser.addPrivacySandboxCoordinatorKeyConfig",()=>({})],["Browser.addPrivacySandboxEnrollmentOverride",()=>({})],["Browser.close",()=>({})],["Browser.getVersion",()=>this.browserTarget.getVersion()],["Browser.resetPermissions",()=>({})],["Browser.getWindowForTarget",(e,t)=>this.handleBrowserGetWindowForTarget(e,t)],["Browser.setDownloadBehavior",()=>({})],["Browser.setWindowBounds",()=>({})],["Target.activateTarget",e=>this.handleTargetActivateTarget(e)],["Target.attachToTarget",e=>this.handleTargetAttachToTarget(e)],["Target.closeTarget",e=>this.handleTargetCloseTarget(e)],["Target.createBrowserContext",()=>this.handleTargetCreateBrowserContext()],["Target.createTarget",e=>this.handleTargetCreateTarget(e)],["Target.detachFromTarget",e=>this.handleTargetDetachFromTarget(e)],["Target.disposeBrowserContext",e=>this.handleTargetDisposeBrowserContext(e)],["Target.getBrowserContexts",()=>this.handleTargetGetBrowserContexts()],["Target.getTargets",()=>this.handleTargetGetTargets()],["Target.setAutoAttach",(e,t)=>this.handleTargetSetAutoAttach(e,t)],["Target.setDiscoverTargets",e=>this.handleTargetSetDiscoverTargets(e)],["Target.attachToBrowserTarget",()=>this.handleTargetAttachToBrowserTarget()],["Target.getTargetInfo",e=>this.handleTargetGetTargetInfo(e)]]);this._onEvent=this._register(new b);this.onEvent=this._onEvent.event;this._onClose=this._register(new b);this.onClose=this._onClose.event;this._onMessage=this._register(new b);this.onMessage=this._onMessage.event}get targetId(){return this.browserTarget.targetInfo.targetId}registerTarget(e){let t=e.targetInfo;if(!this._targets.has(t.targetId)){this._targets.set(t.targetId,e),this._discover&&this.sendEvent("Target.targetCreated",{targetInfo:e.targetInfo}),this._autoAttach&&!this._autoAttachments.has(e)&&(this._autoAttachments.add(e),e.attach()),e.onClose(()=>{this._targets.deleteAndDispose(t.targetId),this._discover&&this.sendEvent("Target.targetDestroyed",{targetId:t.targetId})}),e.onTargetInfoChanged(n=>{this._discover&&this.sendEvent("Target.targetInfoChanged",{targetInfo:n})});for(let[,n]of e.sessions)this.registerSession(n,!1);e.onSessionCreated(({session:n,waitingForDebugger:o})=>{this.registerSession(n,o)})}}notifySessionCreated(e,t){if(this._sessions.has(e.sessionId)||!e.parentSessionId||!this._sessions.has(e.parentSessionId))return;let n=this._targets.get(e.targetId);n&&n.notifySessionCreated(e,t)}registerSession(e,t){if(this._sessions.has(e.sessionId))return;this._sessions.set(e.sessionId,e);let n=this._targets.get(e.targetId);if(!n)throw new fn(`Unable to resolve target for session ${e.sessionId}`);this.sendEvent("Target.attachedToTarget",{sessionId:e.sessionId,targetInfo:n.targetInfo,waitingForDebugger:t},e.parentSessionId),e.onEvent(o=>{o.method.startsWith("Target.")||this.sendEvent(o.method,o.params,o.sessionId??e.sessionId)}),e.onClose(()=>{this._sessions.deleteAndDispose(e.sessionId),this.sendEvent("Target.detachedFromTarget",{sessionId:e.sessionId,targetId:e.targetId},e.parentSessionId)})}sendEvent(e,t,n){n||=this._isAttachedToBrowserTarget?this.sessionId:void 0,this._onMessage.fire({method:e,params:t,sessionId:n}),this._onEvent.fire({method:e,params:t,sessionId:n})}async sendCommand(e,t={},n){try{if(!n||n===this.sessionId||e.startsWith("Browser.")||e.startsWith("Target.")){let a=this._handlers.get(e);if(!a)throw new Wm(e);return await a(t,n)}let o=this._sessions.get(n);if(!o)throw new fn(`Session not found: ${n}`);return await o.sendCommand(e,t)??{}}catch(o){throw o instanceof as?o:new fn(o instanceof Error?o.message:"Unknown error")}}async sendMessage({id:e,method:t,params:n,sessionId:o}){return this.sendCommand(t,n,o).then(s=>{this._onMessage.fire({id:e,result:s,sessionId:o})}).catch(s=>{this._onMessage.fire({id:e,error:{code:s instanceof as?s.code:Uu.ServerError,message:s.message||"Unknown error"},sessionId:o})})}handleBrowserGetWindowForTarget({targetId:e},t){let n=(t&&this._sessions.get(t)?.targetId)??e;if(!n)throw new fn("Unable to resolve target");let o=this._targets.get(n);if(!o)throw new fn("Unable to resolve target");return this.browserTarget.getWindowForTarget(o)}handleTargetGetBrowserContexts(){return{browserContextIds:this.browserTarget.getBrowserContexts()}}async handleTargetCreateBrowserContext(){return{browserContextId:await this.browserTarget.createBrowserContext()}}async handleTargetDisposeBrowserContext({browserContextId:e}){return await this.browserTarget.disposeBrowserContext(e),{}}handleTargetAttachToBrowserTarget(){return this.sendEvent("Target.attachedToTarget",{sessionId:this.sessionId,targetInfo:this.browserTarget.targetInfo,waitingForDebugger:!1}),this._isAttachedToBrowserTarget=!0,{sessionId:this.sessionId}}handleTargetActivateTarget({targetId:e}){let t=this._targets.get(e);if(!t)throw new fn("Unable to resolve target");return this.browserTarget.activateTarget(t)}async handleTargetSetAutoAttach(e,t){if(t&&t!==this.sessionId){let n=this._sessions.get(t);if(!n)throw new fn(`Session not found: ${t}`);return n.sendCommand("Target.setAutoAttach",e)}if(!e.flatten)throw new Wu("This implementation only supports auto-attach with flatten=true");return this._autoAttach=e.autoAttach??!1,{}}async handleTargetSetDiscoverTargets({discover:e=!1}){if(e!==this._discover&&(this._discover=e,this._discover))for(let t of this._targets.values())this.sendEvent("Target.targetCreated",{targetInfo:t.targetInfo});return{}}async handleTargetGetTargets(){return{targetInfos:Array.from(this._targets.values()).map(e=>e.targetInfo)}}async handleTargetGetTargetInfo({targetId:e}={}){if(!e)return{targetInfo:this.browserTarget.targetInfo};let t=this._targets.get(e);if(!t)throw new fn("Unable to resolve target");return{targetInfo:t.targetInfo}}async handleTargetAttachToTarget({targetId:e,flatten:t}){if(!t)throw new Wu("This implementation only supports attachToTarget with flatten=true");let n=this._targets.get(e);if(!n)throw new fn("Unable to resolve target");return{sessionId:(await n.attach()).sessionId}}async handleTargetDetachFromTarget({sessionId:e}){let t=this._sessions.get(e);if(!t)throw new fn(`Session not found: ${e}`);return t.dispose(),{}}async handleTargetCreateTarget({url:e,browserContextId:t}){let n=await this.browserTarget.createTarget(e||"about:blank",t);return this.registerTarget(n),this._autoAttach&&!this._autoAttachments.has(n)&&(this._autoAttachments.add(n),await n.attach()),{targetId:n.targetInfo.targetId}}async handleTargetCloseTarget({targetId:e}){try{let t=this._targets.get(e);if(!t)throw new fn("Unable to resolve target");return await this.browserTarget.closeTarget(t),{success:!0}}catch{return{success:!1}}}}});var go,R0=I(()=>{z();$();go=class extends T{constructor(e,t){super();this.view=e;this._targetInfo=t;this._sessions=new Map;this._onSessionCreated=this._register(new b);this.onSessionCreated=this._onSessionCreated.event;this._onClose=this._register(new b);this.onClose=this._onClose.event;this._onTargetInfoChanged=this._register(new b);this.onTargetInfoChanged=this._onTargetInfoChanged.event;this._isDisposed=!1;this._register(this.view.debugger.onTargetInfoChanged(n=>{n.targetId===this._targetInfo.targetId&&(n.title!==this._targetInfo.title||n.url!==this._targetInfo.url)&&(this._targetInfo.title=n.title,this._targetInfo.url=n.url,this._onTargetInfoChanged.fire(this.targetInfo))})),this._register(this.view.debugger.onTargetDestroyed(n=>{n===this._targetInfo.targetId&&this.dispose()}))}get sessions(){return this._sessions}get targetInfo(){return{...this._targetInfo,attached:this._sessions.size>0,browserContextId:this.view.session.id}}async attach(){let e=await this.view.debugger.attachToTarget(this.targetInfo.targetId);return this.notifySessionCreated(e,!1),e}notifySessionCreated(e,t){this._sessions.has(e.sessionId)||(this.sessions.size===0&&this._onTargetInfoChanged.fire(this.targetInfo),this._sessions.set(e.sessionId,e),e.onClose(()=>{this._sessions.delete(e.sessionId),this.sessions.size===0&&this._onTargetInfoChanged.fire(this.targetInfo)}),this._onSessionCreated.fire({session:e,waitingForDebugger:t}))}dispose(){if(!this._isDisposed){this._isDisposed=!0;for(let[,e]of this._sessions)e.dispose();this._sessions.clear(),this._onClose.fire(),super.dispose()}}}});var Dl,D0=I(()=>{$();z();Yy();k0();mI();nr();eI();Jt();R0();Dl=class extends T{constructor(e,t,n,o){super();this.id=e;this.windowId=t;this.browserViewMainService=n;this.productService=o;this.views=new Map;this.viewTargets=this._register(new Rt);this.knownContextIds=new Set;this.ownedContextIds=new Set;this._onDidAddView=this._register(new b);this.onDidAddView=this._onDidAddView.event;this._onDidRemoveView=this._register(new b);this.onDidRemoveView=this._onDidRemoveView.event;this._onDidDestroy=this._register(new b);this.onDidDestroy=this._onDidDestroy.event;this.debugger=this._register(new Nu(this));this._onTargetInfoChanged=this._register(new b);this.onTargetInfoChanged=this._onTargetInfoChanged.event;this.sessions=new Map;this.onSessionCreated=S.None;this.onClose=this._onDidDestroy.event}get onCDPMessage(){return this.debugger.onMessage}sendCDPMessage(e){return this.debugger.sendMessage(e)}async addView(e){if(this.views.has(e))return;let t=this.browserViewMainService.tryGetBrowserView(e);if(!t)throw new Error(`Browser view ${e} not found`);this.views.set(t.id,t),this.knownContextIds.add(t.session.id),this._onDidAddView.fire({viewId:t.id});let n=S.once(t.onDidClose)(()=>{this.removeView(e)}),o=await t.debugger.getTargetInfo();if(this.views.get(e)!==t){n.dispose();return}let s=new go(t,o);this.viewTargets.set(t.id,s);let a=new J;a.add(n),s.onClose(()=>a.dispose()),this.debugger.registerTarget(s);for(let l of t.debugger.knownTargets.values())this.debugger.registerTarget(new go(t,l));a.add(t.debugger.onTargetDiscovered(l=>{this.debugger.registerTarget(new go(t,l))})),a.add(t.debugger.onSessionCreated(({session:l,waitingForDebugger:c})=>{this.debugger.notifySessionCreated(l,c)}))}async removeView(e){let t=this.views.get(e);t&&this.views.delete(e)&&(!this.ownedContextIds.has(t.session.id)&&![...this.views.values()].some(n=>n.session.id===t.session.id)&&this.knownContextIds.delete(t.session.id),this._onDidRemoveView.fire({viewId:t.id}),this.viewTargets.deleteAndDispose(e))}getVersion(){return{protocolVersion:"1.3",product:`${this.productService.nameShort}/${this.productService.version}`,revision:this.productService.commit||"unknown",userAgent:"Electron",jsVersion:process.versions.v8}}getWindowForTarget(e){if(!(e instanceof go))throw new Error("Can only get window for BrowserView targets");let n=e.view.getWebContentsView().getBounds();return{windowId:this.windowId,bounds:{left:n.x,top:n.y,width:n.width,height:n.height,windowState:"normal"}}}async attach(){return new Nu(this)}notifySessionCreated(){}get targetInfo(){return{targetId:this.id,type:"browser",title:this.getVersion().product,url:"",attached:!0,canAccessOpener:!1}}async createTarget(e,t,n=this.windowId){if(t&&!this.knownContextIds.has(t))throw new Error(`Unknown browser context ${t}`);let o=await this.browserViewMainService.createTarget(e,t,n);return o instanceof ii?(await this.addView(o.id),this.viewTargets.get(o.id)):o}async activateTarget(e){if(!(e instanceof go))throw new Error("Can only activate BrowserView targets")}async closeTarget(e){if(!(e instanceof go))throw new Error("Can only close BrowserView targets");return await this.removeView(e.view.id),await this.browserViewMainService.destroyBrowserView(e.view.id),!0}getBrowserContexts(){return[...this.knownContextIds]}async createBrowserContext(){let t=oi.getOrCreateEphemeral(_e(),"cdp-created").id;return this.knownContextIds.add(t),this.ownedContextIds.add(t),t}async disposeBrowserContext(e){if(!this.ownedContextIds.has(e))throw new Error("Can only dispose browser contexts created by this group");let t=[...this.views.entries()].filter(([,n])=>n.session.id===e).map(([n])=>n);for(let n of t)await this.removeView(n),await this.browserViewMainService.destroyBrowserView(n);this.knownContextIds.delete(e),this.ownedContextIds.delete(e)}dispose(){this._onDidDestroy.fire(),super.dispose()}};Dl=E([g(2,Fu),g(3,De)],Dl)});var hI,Al,A0=I(()=>{$();z();ee();Jt();D0();hI=L("browserViewGroupMainService"),Al=class extends T{constructor(e){super();this.instantiationService=e;this.groups=this._register(new Rt)}async createGroup(e){let t=_e(),n=this.instantiationService.createInstance(Dl,t,e);return this.groups.set(t,n),S.once(n.onDidDestroy)(()=>{this.groups.deleteAndLeak(t)}),t}async destroyGroup(e){this.groups.deleteAndDispose(e)}async addViewToGroup(e,t){return this._getGroup(e).addView(t)}async removeViewFromGroup(e,t){return this._getGroup(e).removeView(t)}async sendCDPMessage(e,t){return this._getGroup(e).debugger.sendMessage(t)}onDynamicDidAddView(e){return this._getGroup(e).onDidAddView}onDynamicDidRemoveView(e){return this._getGroup(e).onDidRemoveView}onDynamicDidDestroy(e){return this._getGroup(e).onDidDestroy}onDynamicCDPMessage(e){return this._getGroup(e).debugger.onMessage}_getGroup(e){let t=this.groups.get(e);if(!t)throw new Error(`Browser view group ${e} not found`);return t}};Al=E([g(0,Nt)],Al)});import QA from"assert";function XA(i,r){let e=(l,c)=>{console.warn(h(2037,null,l,c))},t=l=>{console.warn(h(2035,null,l))},n=(l,c)=>{console.warn(h(2034,null,l,c))},o=l=>({onUnknownOption:c=>{Ey.includes(l)||console.warn(h(2039,null,c,l))},onMultipleValues:e,onEmptyValue:t,onDeprecatedOption:n,getSubcommandReporter:Ey.includes(l)?o:void 0}),a=Iu(i,hm,r?{onUnknownOption:l=>{console.warn(h(2038,null,l))},onMultipleValues:e,onEmptyValue:t,onDeprecatedOption:n,getSubcommandReporter:o}:void 0);return a.goto&&a._.forEach(l=>QA(/^(\w:)?[^:]+(:\d*){0,2}:?$/.test(l),h(2036,null))),a}function YA(i){let r=i.findIndex(e=>!/^-/.test(e));if(r>-1)return[...i.slice(0,r),...i.slice(r+1)]}function L0(i){let[,...r]=i;if(F&&r.length>0){let t=Vr(r[0]).toLowerCase(),n=Ae(process.execPath).toLowerCase()+"\\";t.startsWith(n)&&t.endsWith("\\resources\\app\\out\\cli.js")&&r.shift()}process.env.VSCODE_DEV&&(r=YA(r)||[]);let e=!si(process.env);return XA(r,e)}function M0(i,...r){let e=i.indexOf("--");return e===-1?i.push(...r):i.splice(e,0,...r),i}function si(i){return i.VSCODE_CLI==="1"}var Ll=I(()=>{Ce();Z();Ee();Cy()});import*as gI from"os";function tL({useAlternateBitness:i=!1}={}){return i?Bu===0?process.env["ProgramFiles(x86)"]||null:Ml===0&&process.env.ProgramW6432||null:process.env.ProgramFiles||null}async function Um({useAlternateBitness:i=!1,findPreview:r=!1}={}){let e=tL({useAlternateBitness:i});if(!e)return null;let t=V(e,"PowerShell");if(!await tr.existsDirectory(t))return null;let n=-1,o=null;for(let l of await Q.readdir(t)){let c=-1;if(r){let u=l.indexOf("-");if(u<0)continue;let f=l.substring(0,u);if(!O0.test(f)||l.substring(u+1)!=="preview")continue;c=parseInt(f,10)}else{if(!O0.test(l))continue;c=parseInt(l,10)}if(c<=n)continue;let d=V(t,l,"pwsh.exe");await tr.existsFile(d)&&(o=d,n=c)}if(!o)return null;let s=e.includes("x86")?" (x86)":"",a=r?" Preview":"";return new Xs(o,`PowerShell${a}${s}`,!0)}async function F0({findPreview:i}={}){if(!process.env.LOCALAPPDATA)return null;let r=V(process.env.LOCALAPPDATA,"Microsoft","WindowsApps");if(!await tr.existsDirectory(r))return null;let{pwshMsixDirRegex:e,pwshMsixName:t}=i?{pwshMsixDirRegex:eL,pwshMsixName:"PowerShell Preview (Store)"}:{pwshMsixDirRegex:ZA,pwshMsixName:"PowerShell (Store)"};for(let n of await Q.readdir(r))if(e.test(n)){let o=V(r,n,"pwsh.exe");return new Xs(o,t)}return null}function rL(){let i=V(gI.homedir(),".dotnet","tools","pwsh.exe");return new Xs(i,".NET Core PowerShell Global Tool")}function nL(){let i=V(gI.homedir(),"scoop","apps"),r=V(i,"pwsh","current","pwsh.exe");return new Xs(r,"PowerShell (Scoop)")}function iL(){let i=V(process.env.windir,Bu===1&&Ml!==1?"SysNative":"System32","WindowsPowerShell","v1.0","powershell.exe");return new Xs(i,"Windows PowerShell",!0)}async function*oL(){let i=await Um();i&&(yield i),i=await Um({useAlternateBitness:!0}),i&&(yield i),i=await F0(),i&&(yield i),i=rL(),i&&(yield i),i=await Um({findPreview:!0}),i&&(yield i),i=await F0({findPreview:!0}),i&&(yield i),i=await Um({useAlternateBitness:!0,findPreview:!0}),i&&(yield i),i=await nL(),i&&(yield i),i=iL(),i&&(yield i)}async function*vI(){for await(let i of oL())await i.exists()&&(yield i)}async function W0(){for await(let i of vI())return i;return null}var O0,ZA,eL,Bu,Ml,Xs,yI=I(()=>{Ce();rr();O0=/^\d+$/,ZA=/^Microsoft.PowerShell_.*/,eL=/^Microsoft.PowerShellPreview_.*/;switch(process.arch){case"ia32":Bu=1;break;case"arm":case"arm64":Bu=2;break;default:Bu=0;break}process.env.PROCESSOR_ARCHITEW6432?Ml=process.env.PROCESSOR_ARCHITEW6432==="ARM64"?2:0:process.env.PROCESSOR_ARCHITECTURE==="ARM64"?Ml=2:process.env.PROCESSOR_ARCHITECTURE==="X86"?Ml=1:Ml=0;Xs=class{constructor(r,e,t){this.exePath=r;this.displayName=e;this.knownToExist=t}async exists(){return this.knownToExist===void 0&&(this.knownToExist=await tr.existsFile(this.exePath)),this.knownToExist}}});import*as II from"child_process";import{promises as U0}from"fs";function Nm(i=Zt){return i.comspec||"cmd.exe"}function N0(i){let r=[],e=!1,t=function(n){if(e){r.push(n);return}(!i.send(n,s=>{if(s&&console.error(s),e=!1,r.length>0){let a=r.slice(0);r=[],a.forEach(l=>t(l))}})||F)&&(e=!0)};return{send:t}}async function sL(i){if(await Q.exists(i)){let r;try{r=await U0.stat(i)}catch(e){e.message.startsWith("EACCES")&&(r=await U0.lstat(i))}return r?!r.isDirectory():!1}return!1}async function Ys(i,r,e,t=Zt,n=sL){if(ko(i))return await n(i)?i:void 0;if(r===void 0&&(r=Zr()),Ae(i)!=="."){let l=V(r,i);return await n(l)?l:void 0}let s=Ay(t,"PATH");if(e===void 0&&Oe(s)&&(e=s.split(Mp)),e===void 0||e.length===0){let l=V(r,i);return await n(l)?l:void 0}for(let l of e){let c;if(ko(l)?c=V(l,i):c=V(r,l,i),F){let u=(Ay(t,"PATHEXT")||".COM;.EXE;.BAT;.CMD").split(";").map(async f=>{let m=c+f;return await n(m)?m:void 0});for(let f of u){let m=await f;if(m)return m}}if(await n(c))return c}let a=V(r,i);return await n(a)?a:void 0}async function B0(i,r=!1){let e;if(F){let t=process.env.WINDIR||"C:\\Windows",n=V(t,"System32","taskkill.exe"),o=["/T"];r&&o.push("/F"),o.push("/PID",String(i)),e=II.spawn(n,o,{stdio:["ignore","pipe","pipe"]})}else{let t=st.asFileUri("vs/base/node/terminateProcess.sh").fsPath;e=II.spawn("/bin/sh",[t,String(i),r?"9":"15"],{stdio:["ignore","pipe","pipe"]})}return new Promise((t,n)=>{let o=[];e.stdout.on("data",s=>o.push(s)),e.stderr.on("data",s=>o.push(s)),e.on("error",n),e.on("exit",s=>{s===0?t():n(new Error(`taskkill exited with code ${s}: ${Buffer.concat(o).toString()}`))})})}var Zs=I(()=>{un();Ce();Z();Hn();Eu();Le();rr();qe()});import{userInfo as aL}from"os";async function Bm(i,r){return i===1?F?cL():Nm(r):lL(i,r)}function lL(i,r){if(ne&&i===2||N&&i===3)return"/bin/bash";if(!wI){let e;if(F)e="/bin/bash";else{if(e=r.SHELL,!e)try{e=aL().shell}catch{}e||(e="sh"),e==="/bin/false"&&(e="/bin/bash")}wI=e}return wI}async function cL(){return bI||(bI=(await W0()).exePath),bI}var wI,bI,SI=I(()=>{Z();yI();Zs();wI=null;bI=null});function H0(i,r,e){return Math.min(Math.max(i,r),e)}var $0=I(()=>{Ea()});import{spawn as dL}from"child_process";async function Ol(i,r,e,t){return e["force-disable-user-env"]?(r.trace("resolveShellEnv(): skipped (--force-disable-user-env)"),{}):F?(r.trace("resolveShellEnv(): skipped (Windows)"),{}):si(t)&&!e["force-user-env"]?(r.trace("resolveShellEnv(): skipped (VSCODE_CLI is set)"),{}):(si(t)?r.trace("resolveShellEnv(): running (--force-user-env)"):r.trace("resolveShellEnv(): running (macOS/Linux)"),xI||(xI=gt.withAsyncBody(async(n,o)=>{let s=new $e,a=1e4,l=i.getValue("application.shellEnvironmentResolutionTimeout");typeof l=="number"&&(a=H0(l,1,120)*1e3);let c=setTimeout(()=>{s.dispose(!0),o(new Error(h(2384,null)))},a);try{n(await uL(r,s.token))}catch(d){!ed(d)&&!s.token.isCancellationRequested?o(new Error(h(2382,null,Er(d)))):n({})}finally{clearTimeout(c),s.dispose()}})),xI)}async function uL(i,r){let e=process.env.ELECTRON_RUN_AS_NODE;i.trace("getUnixShellEnvironment#runAsNode",e);let t=process.env.ELECTRON_NO_ATTACH_CONSOLE;i.trace("getUnixShellEnvironment#noAttach",t);let n=_e().replace(/-/g,"").substr(0,12),o=new RegExp(n+"({.*})"+n),s={...process.env,ELECTRON_RUN_AS_NODE:"1",ELECTRON_NO_ATTACH_CONSOLE:"1",VSCODE_RESOLVING_ENVIRONMENT:"1"};i.trace("getUnixShellEnvironment#env",s);let a=await Bm(Ot,s);return i.trace("getUnixShellEnvironment#shell",a),new Promise((l,c)=>{if(r.isCancellationRequested)return c(new St);let d=Se(a),u,f,m="";/^(?:pwsh|powershell)(?:-preview)?$/.test(d)?(u=`& '${process.execPath}' ${m} -p '''${n}'' + JSON.stringify(process.env) + ''${n}'''`,f=["-Login","-Command"]):d==="nu"?(u=`^'${process.execPath}' ${m} -p '"${n}" + JSON.stringify(process.env) + "${n}"'`,f=["-i","-l","-c"]):d==="xonsh"?(u=`import os, json; print("${n}", json.dumps(dict(os.environ)), "${n}")`,f=["-i","-l","-c"]):(u=`'${process.execPath}' ${m} -p '"${n}" + JSON.stringify(process.env) + "${n}"'`,d==="tcsh"||d==="csh"?f=["-ic"]:f=["-i","-l","-c"]),i.trace("getUnixShellEnvironment#spawn",JSON.stringify(f),u);let y=dL(a,[...f,u],{detached:!0,stdio:["ignore","pipe","pipe"],env:s});r.onCancellationRequested(()=>(y.kill(),c(new St))),y.on("error",w=>{i.error("getUnixShellEnvironment#errorChildProcess",Er(w)),c(w)});let v=[];y.stdout.on("data",w=>v.push(w));let C=[];y.stderr.on("data",w=>C.push(w)),y.on("close",(w,_)=>{let R=Buffer.concat(v).toString("utf8");i.trace("getUnixShellEnvironment#raw",R);let D=Buffer.concat(C).toString("utf8");if(D.trim()&&i.trace("getUnixShellEnvironment#stderr",D),w||_)return c(new Error(h(2383,null,w,_)));let M=o.exec(R),X=M?M[1]:"{}";try{let B=JSON.parse(X);e?B.ELECTRON_RUN_AS_NODE=e:delete B.ELECTRON_RUN_AS_NODE,t?B.ELECTRON_NO_ATTACH_CONSOLE=t:delete B.ELECTRON_NO_ATTACH_CONSOLE,delete B.VSCODE_RESOLVING_ENVIRONMENT,delete B.XDG_RUNTIME_DIR,i.trace("getUnixShellEnvironment#result",B),l(B)}catch(B){i.error("getUnixShellEnvironment#errorCaught",Er(B)),c(B)}})})}var xI,Vm=I(()=>{Ce();Ee();It();Wo();He();Z();Jt();SI();Ll();ge();$0()});var PI,q0,K0,EI=I(()=>{ee();PI=L("extensionHostStarter"),q0="extensionHostStarter",K0=6e3});var ls,z0=I(()=>{ge();He();z();$();EI();Et();re();ir();ns();Vt();it();ls=class extends T{constructor(e,t,n,o,s){super();this._logService=e;this._lifecycleMainService=t;this._windowsMainService=n;this._telemetryService=o;this._configurationService=s;this._extHosts=new Map;this._shutdown=!1;this._register(this._lifecycleMainService.onWillShutdown(a=>{this._shutdown=!0,a.join("extHostStarter",this._waitForAllExit(6e3))}))}static{this._lastId=0}dispose(){super.dispose()}_getExtHost(e){let t=this._extHosts.get(e);if(!t)throw new Error("Unknown extension host!");return t}onDynamicStdout(e){return this._getExtHost(e).onStdout}onDynamicStderr(e){return this._getExtHost(e).onStderr}onDynamicMessage(e){return this._getExtHost(e).onMessage}onDynamicExit(e){return this._getExtHost(e).onExit}async createExtensionHost(){if(this._shutdown)throw qn();let e=String(++ls._lastId),t=new rs(this._logService,this._windowsMainService,this._telemetryService,this._lifecycleMainService);this._extHosts.set(e,t);let n=t.onExit(({pid:o,code:s,signal:a})=>{n.dispose(),this._logService.info(`Extension host with pid ${o} exited with code: ${s}, signal: ${a}.`),setTimeout(()=>{t.dispose(),this._extHosts.delete(e)}),setTimeout(()=>{try{process.kill(o,0),this._logService.error(`Extension host with pid ${o} still exists, forcefully killing it...`),process.kill(o)}catch{}},1e3)});return{id:e}}async start(e,t){if(this._shutdown)throw qn();let n=this._getExtHost(e),o=["--skipWorkspaceStorageLock"];return this._configurationService.getValue("extensions.supportNodeGlobalNavigator")&&o.push("--supportGlobalNavigator"),n.start({...t,type:"extensionHost",name:"extension-host",entryPoint:"vs/workbench/api/node/extensionHostProcess",args:o,execArgv:t.execArgv,allowLoadingUnsignedLibraries:!0,respondToAuthRequestsFromMainProcess:!0,windowLifecycleBound:!0,windowLifecycleGraceTime:K0,correlationId:e}),{pid:await S.toPromise(n.onSpawn)}}async enableInspectPort(e){if(this._shutdown)throw qn();let t=this._extHosts.get(e);return t?t.enableInspectPort():!1}async kill(e){if(this._shutdown)throw qn();let t=this._extHosts.get(e);t&&t.kill()}async waitForExit(e,t){if(this._shutdown)throw qn();let n=this._extHosts.get(e);n&&await n.waitForExit(t)}async _killAllNow(){for(let[,e]of this._extHosts)e.kill()}async _waitForAllExit(e){let t=[];for(let[,n]of this._extHosts)t.push(n.waitForExit(e));return gt.settled(t).then(()=>{})}};ls=E([g(0,U),g(1,ye),g(2,Ke),g(3,Je),g(4,fe)],ls)});var Vu,j0=I(()=>{ee();Vu=L("externalTerminal")});var DJ,Fl,G0=I(()=>{ee();DJ=L("externalTerminal"),Fl="Terminal.app"});import*as cs from"child_process";function ea(i){let r={...i.env};return BP(r),r}function Q0(i){return i.errno==="ENOENT"&&i.path?new Error(h(2150,null,i.path)):i}function CI(i,r,e,t){let n="";i.on("error",o=>{e(Q0(o))}),i.stderr?.on("data",o=>{n+=o.toString()}),i.on("exit",o=>{if(o===0)r(void 0);else if(n){let s=n.split(`
`,1);e(new Error(s[0]))}else e(new Error(h(2153,null,t,o)))})}function pL(i){let r="";for(let e of i)e.indexOf(" ")>=0?r+='"'+e+'"':r+=e,r+=" ";return r}var J0,Hu,ai,$u,Hm,qu,X0=I(()=>{No();qe();Ce();Z();Eu();rr();Zs();Ee();G0();J0=h(2149,null),Hu=class{async getDefaultTerminalForPlatforms(){return{windows:$u.getDefaultTerminalWindows(),linux:await qu.getDefaultTerminalLinuxReady(),osx:Fl}}},ai=class ai extends Hu{static{this.CMD="cmd.exe"}openTerminal(r,e){return this.spawnTerminal(cs,r,Nm(),e)}spawnTerminal(r,e,t,n){let o=e.windowsExec||ai.getDefaultTerminalWindows();n&&n[1]===":"&&(n=n[0].toUpperCase()+n.substr(1));let s=Se(o,".exe").toLowerCase();if(s==="cmder")return r.spawn(o,n?[n]:void 0),Promise.resolve(void 0);let a=["/c","start","/wait"];return o.indexOf(" ")>=0&&a.push(o),a.push(o),s==="wt"&&a.push("-d ."),new Promise((l,c)=>{let d=ea(process),u=r.spawn(t,a,{cwd:n,env:d,detached:!0});u.on("error",c),u.on("exit",()=>l())})}async runInTerminal(r,e,t,n,o){let s=o.windowsExec||ai.getDefaultTerminalWindows(),a=await ai.getWtExePath();return new Promise((l,c)=>{let d=`"${e} - ${J0}"`,u=`"${t.join('" "')}" & pause`,f=Object.assign({},ea(process),n);Object.keys(f).filter(w=>f[w]===null).forEach(w=>delete f[w]);let m={cwd:e,env:f,windowsVerbatimArguments:!0},y,v;Se(s,".exe")==="wt"?(y=s,v=["-d",".",ai.CMD,"/c",u]):a?(y=a,v=["-d",".",s,"/c",u]):(y=ai.CMD,v=["/c","start",d,"/wait",s,"/c",`"${u}"`]),cs.spawn(y,v,m).on("error",w=>{c(Q0(w))}),l(void 0)})}static getDefaultTerminalWindows(){if(!ai._DEFAULT_TERMINAL_WINDOWS){let r=!!process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432");ai._DEFAULT_TERMINAL_WINDOWS=`${process.env.windir?process.env.windir:"C:\\Windows"}\\${r?"Sysnative":"System32"}\\cmd.exe`}return ai._DEFAULT_TERMINAL_WINDOWS}static async getWtExePath(){try{return await Ys("wt")}catch{return}}};E([ce],ai,"getWtExePath",1);$u=ai,Hm=class i extends Hu{static{this.OSASCRIPT="/usr/bin/osascript"}openTerminal(r,e){return this.spawnTerminal(cs,r,e)}runInTerminal(r,e,t,n,o){let s=o.osxExec||Fl;return new Promise((a,l)=>{if(s===Fl||s==="iTerm.app"){let c=s===Fl?"TerminalHelper":"iTermHelper",u=[st.asFileUri(`vs/workbench/contrib/externalTerminal/node/${c}.scpt`).fsPath,"-t",r||J0,"-w",e];for(let m of t)u.push("-a"),u.push(m);if(n){let m=Object.assign({},ea(process),n);for(let y in m){let v=m[y];v===null?(u.push("-u"),u.push(y)):(u.push("-e"),u.push(`${y}=${v}`))}}let f=cs.spawn(i.OSASCRIPT,u);CI(f,a,l,s)}else if(s==="Ghostty.app"){let c=Object.assign({},ea(process),n),d=["-na","Ghostty.app","--args"];d.push("--working-directory="+e),d.push("--wait-after-command=true"),d.push("-e",...t);let u=cs.spawn("/usr/bin/open",d,{env:c});CI(u,a,l,s)}else l(new Error(h(2151,null,s)))})}spawnTerminal(r,e,t){let n=e.osxExec||Fl;return new Promise((o,s)=>{let a=["-a",n];t&&a.push(t);let l=ea(process),c=r.spawn("/usr/bin/open",a,{cwd:t,env:l});c.on("error",s),c.on("exit",()=>o())})}},qu=class i extends Hu{static{this.WAIT_MESSAGE=h(2152,null)}openTerminal(r,e){return this.spawnTerminal(cs,r,e)}runInTerminal(r,e,t,n,o){let s=o.linuxExec?Promise.resolve(o.linuxExec):i.getDefaultTerminalLinuxReady();return new Promise((a,l)=>{s.then(c=>{if(Se(c).toLowerCase()==="ghostty"){let m=[];e&&m.push(`--working-directory=${e}`),m.push("--wait-after-command=true"),t.length&&m.push("-e",...t),i.spawnTerminalWithEnv(c,m,e,n,a,l);return}let u=[];c.indexOf("gnome-terminal")>=0?u.push("-x"):u.push("-e"),u.push("bash"),u.push("-c");let f=`${pL(t)}; echo; read -p "${i.WAIT_MESSAGE}" -n1;`;u.push(`''${f}''`),i.spawnTerminalWithEnv(c,u,e,n,a,l)})})}static spawnTerminalWithEnv(r,e,t,n,o,s){let a=Object.assign({},ea(process),n);Object.keys(a).filter(c=>a[c]===null).forEach(c=>delete a[c]);let l=cs.spawn(r,e,{cwd:t,env:a});CI(l,o,s,r)}static async getDefaultTerminalLinuxReady(){if(!i._DEFAULT_TERMINAL_LINUX_READY)if(!ne)i._DEFAULT_TERMINAL_LINUX_READY=Promise.resolve("xterm");else{let r=await Q.exists("/etc/debian_version");i._DEFAULT_TERMINAL_LINUX_READY=new Promise(e=>{r?e("x-terminal-emulator"):process.env.DESKTOP_SESSION==="gnome"||process.env.DESKTOP_SESSION==="gnome-classic"?e("gnome-terminal"):process.env.DESKTOP_SESSION==="kde-plasma"?e("konsole"):process.env.COLORTERM?e(process.env.COLORTERM):process.env.TERM?e(process.env.TERM):e("xterm")})}return i._DEFAULT_TERMINAL_LINUX_READY}spawnTerminal(r,e,t){let n=e.linuxExec?Promise.resolve(e.linuxExec):i.getDefaultTerminalLinuxReady();return new Promise((o,s)=>{n.then(a=>{let l=ea(process),d=Se(a).toLowerCase()==="ghostty"&&t?[`--working-directory=${t}`]:[],u=r.spawn(a,d,{cwd:t,env:l});u.on("error",s),u.on("exit",()=>o())})})}}});var TI,Y0=I(()=>{ee();TI=L("sandboxHelper")});var $m,Z0=I(()=>{Z();Zs();$m=class i{static async checkSandboxDependenciesWith(r,e=ne){if(!e)return;let[t,n]=await Promise.all([r("bwrap"),r("socat")]);return{bubblewrapInstalled:!!t,socatInstalled:!!n}}checkSandboxDependencies(){return i.checkSandboxDependenciesWith(Ys)}}});function tE(i,r){switch(i){case 0:return"";case 1:return`${Km}*?`;default:return`(?:${qm}|${Km}+${qm}${r?`|${qm}${Km}+`:""})*?`}}function rE(i,r){if(!i)return[];let e=[],t=!1,n=!1,o="";for(let s of i){switch(s){case r:if(!t&&!n){e.push(o),o="";continue}break;case"{":t=!0;break;case"}":t=!1;break;case"[":n=!0;break;case"]":n=!1;break}o+=s}return o&&e.push(o),e}function aE(i){if(!i)return"";let r="",e=rE(i,eE);if(e.every(t=>t===Wl))r=".*";else{let t=!1;e.forEach((n,o)=>{if(n===Wl){if(t)return;r+=tE(2,o===e.length-1)}else{let s=!1,a="",l=!1,c="";for(let d of n){if(d!=="}"&&s){a+=d;continue}if(l&&(d!=="]"||!c)){let u;d==="-"?u=d:(d==="^"||d==="!")&&!c?u="^":d===eE?u="":u=Do(d),c+=u;continue}switch(d){case"{":s=!0;continue;case"[":l=!0;continue;case"}":{let f=`(?:${rE(a,",").map(m=>aE(m)).join("|")})`;r+=f,s=!1,a="";break}case"]":{r+="["+c+"]",l=!1,c="";break}case"?":r+=Km;continue;case"*":r+=tE(1);continue;default:r+=Do(d)}}o<e.length-1&&(e[o+1]!==Wl||o+2<e.length)&&(r+=qm)}t=n===Wl})}return r}function kI(i,r){if(!i)return Fi;let e;typeof i!="string"?e=i.pattern:e=i,e=e.trim();let t=r.ignoreCase??!1,n={...r,equals:t?Hr:(l,c)=>l===c,endsWith:t?VS:(l,c)=>l.endsWith(c),isEqualOrParent:(l,c)=>Qi(l,c,r.ignoreCase??!ne)},o=`${t?e.toLowerCase():e}_${!!r.trimForExclusions}_${t}`,s=nE.get(o);if(s)return oE(s,i,n);let a;return mL.test(e)?s=wL(e.substring(4),e,n):(a=hL.exec(_I(e,n)))?s=bL(a[1],e,n):(r.trimForExclusions?vL:gL).test(e)?s=SL(e,n):(a=yL.exec(_I(e,n)))?s=sE(a[1].substring(1),e,!0,n):(a=IL.exec(_I(e,n)))?s=sE(a[1],e,!1,n):s=xL(e,n),nE.set(o,s),oE(s,i,n)}function oE(i,r,e){if(typeof r=="string")return i;let t=function(n,o){return e.isEqualOrParent(n,r.base)?i(ov(n.substring(r.base.length),Wt),o):null};return t.allBasenames=i.allBasenames,t.allPaths=i.allPaths,t.basenames=i.basenames,t.patterns=i.patterns,t}function _I(i,r){return r.trimForExclusions&&i.endsWith("/**")?i.substring(0,i.length-2):i}function wL(i,r,e){return function(t,n){return typeof t=="string"&&e.endsWith(t,i)?r:null}}function bL(i,r,e){let t=`/${i}`,n=`\\${i}`,o=function(a,l){return typeof a!="string"?null:l?e.equals(l,i)?r:null:e.equals(a,i)||e.endsWith(a,t)||e.endsWith(a,n)?r:null},s=[i];return o.basenames=s,o.patterns=[r],o.allBasenames=s,o}function SL(i,r){let e=cE(i.slice(1,-1).split(",").map(a=>kI(a,r)).filter(a=>a!==Fi),i),t=e.length;if(!t)return Fi;if(t===1)return e[0];let n=function(a,l){for(let c=0,d=e.length;c<d;c++)if(e[c](a,l))return i;return null},o=e.find(a=>!!a.allBasenames);o&&(n.allBasenames=o.allBasenames);let s=e.reduce((a,l)=>l.allPaths?a.concat(l.allPaths):a,[]);return s.length&&(n.allPaths=s),n}function sE(i,r,e,t){let n=Wt===de.sep,o=n?i:i.replace(fL,Wt),s=Wt+o,a=de.sep+i,l;return e?l=function(c,d){return typeof c=="string"&&(t.equals(c,o)||t.endsWith(c,s)||!n&&(t.equals(c,i)||t.endsWith(c,a)))?r:null}:l=function(c,d){return typeof c=="string"&&(t.equals(c,o)||!n&&t.equals(c,i))?r:null},l.allPaths=[(e?"*/":"./")+i],l}function xL(i,r){try{let e=new RegExp(`^${aE(i)}$`,r.ignoreCase?"i":void 0);return function(t){return e.lastIndex=0,typeof t=="string"&&e.test(t)?i:null}}catch{return Fi}}function lE(i,r={}){if(!i)return iE;if(typeof i=="string"||PL(i)){let e=kI(i,r);if(e===Fi)return iE;let t=function(n,o){return!!e(n,o)};return e.allBasenames&&(t.allBasenames=e.allBasenames),e.allPaths&&(t.allPaths=e.allPaths),t}return EL(i,r)}function PL(i){let r=i;return r?typeof r.base=="string"&&typeof r.pattern=="string":!1}function EL(i,r){let e=cE(Object.getOwnPropertyNames(i).map(a=>CL(a,i[a],r)).filter(a=>a!==Fi)),t=e.length;if(!t)return Fi;if(!e.some(a=>!!a.requiresSiblings)){if(t===1)return e[0];let a=function(d,u){let f;for(let m=0,y=e.length;m<y;m++){let v=e[m](d,u);if(typeof v=="string")return v;af(v)&&(f||(f=[]),f.push(v))}return f?(async()=>{for(let m of f){let y=await m;if(typeof y=="string")return y}return null})():null},l=e.find(d=>!!d.allBasenames);l&&(a.allBasenames=l.allBasenames);let c=e.reduce((d,u)=>u.allPaths?d.concat(u.allPaths):d,[]);return c.length&&(a.allPaths=c),a}let n=function(a,l,c){let d,u;for(let f=0,m=e.length;f<m;f++){let y=e[f];y.requiresSiblings&&c&&(l||(l=Se(a)),d||(d=l.substring(0,l.length-Ia(a).length)));let v=y(a,l,d,c);if(typeof v=="string")return v;af(v)&&(u||(u=[]),u.push(v))}return u?(async()=>{for(let f of u){let m=await f;if(typeof m=="string")return m}return null})():null},o=e.find(a=>!!a.allBasenames);o&&(n.allBasenames=o.allBasenames);let s=e.reduce((a,l)=>l.allPaths?a.concat(l.allPaths):a,[]);return s.length&&(n.allPaths=s),n}function CL(i,r,e){if(r===!1)return Fi;let t=kI(i,e);if(t===Fi)return Fi;if(typeof r=="boolean")return t;if(r){let n=r.when;if(typeof n=="string"){let o=(s,a,l,c)=>{if(!c||!t(s,a))return null;let d=n.replace("$(basename)",()=>l),u=c(d);return af(u)?u.then(f=>f?i:null):u?i:null};return o.requiresSiblings=!0,o}}return t}function cE(i,r){let e=i.filter(a=>!!a.basenames);if(e.length<2)return i;let t=e.reduce((a,l)=>{let c=l.basenames;return c?a.concat(c):a},[]),n;if(r){n=[];for(let a=0,l=t.length;a<l;a++)n.push(r)}else n=e.reduce((a,l)=>{let c=l.patterns;return c?a.concat(c):a},[]);let o=function(a,l){if(typeof a!="string")return null;if(!l){let d;for(d=a.length;d>0;d--){let u=a.charCodeAt(d-1);if(u===47||u===92)break}l=a.substring(d)}let c=t.indexOf(l);return c!==-1?n[c]:null};o.basenames=t,o.patterns=n,o.allBasenames=t;let s=i.filter(a=>!a.basenames);return s.push(o),s}function RI(i,r){return Ro(i,r,(e,t)=>typeof e=="string"&&typeof t=="string"?e===t:typeof e!="string"&&typeof t!="string"?e.base===t.base&&e.pattern===t.pattern:!1)}var Wl,eE,qm,Km,fL,mL,hL,gL,vL,yL,IL,nE,iE,Fi,DI=I(()=>{zt();ge();zn();sn();xr();Ce();Z();ar();Wl="**",eE="/",qm="[/\\\\]",Km="[^/\\\\]",fL=/\//g;mL=/^\*\*\/\*\.[\w\.-]+$/,hL=/^\*\*\/([\w\.-]+)\/?$/,gL=/^{\*\*\/\*?[\w\.-]+\/?(,\*\*\/\*?[\w\.-]+\/?)*}$/,vL=/^{\*\*\/\*?[\w\.-]+(\/(\*\*)?)?(,\*\*\/\*?[\w\.-]+(\/(\*\*)?)?)*}$/,yL=/^\*\*((\/[\w\.-]+)+)\/?$/,IL=/^([\w\.-]+(\/[\w\.-]+)*)\/?$/,nE=new Tn(1e4),iE=function(){return!1},Fi=function(){return null}});function Jm(i){return typeof i.correlationId=="number"}function uE(i){return i.recursive===!0}function Qm(i){return i.map(r=>({type:r.type,resource:P.revive(r.resource),cId:r.cId}))}function pE(i){let r=new AI;for(let e of i)r.processEvent(e);return r.coalesce()}function TL(i,r){return typeof r=="string"&&!r.startsWith(Wl)&&!ko(r)?{base:i,pattern:r}:r}function LI(i,r,e){let t=[];for(let n of r)t.push(lE(TL(i,n),{ignoreCase:e}));return t}function fE(i,r){if(typeof r=="number")switch(i.type){case 1:return(r&4)===0;case 2:return(r&8)===0;case 0:return(r&2)===0}return!1}function mE(i){if(typeof i=="number"){let r=[];return i&4&&r.push("Added"),i&8&&r.push("Deleted"),i&2&&r.push("Updated"),r.length===0?"<all>":`[${r.join(", ")}]`}return"<none>"}var zm,jm,Gm,AI,ta=I(()=>{DI();$();Ce();Z();le();ze();zm=class i extends T{constructor(e,t,n,o){super();this.onFileChanges=e;this.onLogMessage=t;this.verboseLogging=n;this.options=o;this.watcherDisposables=this._register(new jt);this.requests=void 0;this.restartCounter=0}static{this.MAX_RESTARTS=5}init(){let e=new J;this.watcherDisposables.value=e,this.watcher=this.createWatcher(e),this.watcher.setVerboseLogging(this.verboseLogging),e.add(this.watcher.onDidChangeFile(t=>this.onFileChanges(t))),e.add(this.watcher.onDidLogMessage(t=>this.onLogMessage(t))),e.add(this.watcher.onDidError(t=>this.onError(t.error,t.request)))}onError(e,t){this.canRestart(e,t)?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,t){return!(!this.options.restartOnError||t||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()}},jm=class extends zm{constructor(r,e,t){super(r,e,t,{type:"node.js",restartOnError:!1})}},Gm=class extends zm{constructor(r,e,t){super(r,e,t,{type:"universal",restartOnError:!0})}};AI=class{constructor(){this.coalesced=new Set;this.mapPathToChange=new Map}toKey(r){return ne?r.resource.fsPath:r.resource.fsPath.toLowerCase()}processEvent(r){let e=this.mapPathToChange.get(this.toKey(r)),t=!1;if(e){let n=e.type,o=r.type;e.resource.fsPath!==r.resource.fsPath&&(r.type===2||r.type===1)?t=!0:n===1&&o===2?(this.mapPathToChange.delete(this.toKey(r)),this.coalesced.delete(e)):n===2&&o===1?e.type=0:n===1&&o===0||(e.type=o)}else t=!0;t&&(this.coalesced.add(r),this.mapPathToChange.set(this.toKey(r),r))}coalesce(){let r=[],e=[];return Array.from(this.coalesced).filter(t=>t.type!==2?(r.push(t),!1):!0).sort((t,n)=>t.resource.fsPath.length-n.resource.fsPath.length).filter(t=>e.some(n=>jx(t.resource.fsPath,n,!ne))?!1:(e.push(t.resource.fsPath),!0)).concat(r)}}});var OI,hE=I(()=>{ot();Wo();He();z();$();Ls();Jt();ze();ta();OI="localFilesystem"});async function Ym(i,r,e,t,n,o){let s;try{await _L(i,r,e,t,n,o)}catch(a){s=a}finally{s&&n.errorTransformer&&(s=n.errorTransformer(s)),typeof s<"u"&&e.error(s),e.end()}}async function _L(i,r,e,t,n,o){FI(o);let s=await i.open(r,{create:!1});try{FI(o);let a=0,l=0,c=n&&typeof n.length=="number"?n.length:void 0,d=H.alloc(Math.min(n.bufferSize,typeof c=="number"?c:n.bufferSize)),u=n&&typeof n.position=="number"?n.position:0,f=0;do l=await i.read(s,u,d.buffer,f,d.byteLength-f),u+=l,f+=l,a+=l,typeof c=="number"&&(c-=l),f===d.byteLength&&(await e.write(t(d)),d=H.alloc(Math.min(n.bufferSize,typeof c=="number"?c:n.bufferSize)),f=0);while(l>0&&(typeof c!="number"||c>0)&&FI(o)&&kL(a,n));if(f>0){let m=f;typeof c=="number"&&(m=Math.min(f,c)),e.write(t(d.slice(0,m)))}}catch(a){throw co(a)}finally{await i.close(s)}}function FI(i){if(i.isCancellationRequested)throw qn();return!0}function kL(i,r){if(typeof r?.limits?.size=="number"&&i>r.limits.size)throw zr(h(2189,null),"EntryTooLarge");return!0}var WI=I(()=>{ot();He();Ee();ze()});var Zm,gE=I(()=>{zt();ge();He();z();sn();$();Ce();ta();re();Zm=class extends T{constructor(e,t){super();this.logService=e;this.options=t;this._onDidChangeFile=this._register(new b);this.onDidChangeFile=this._onDidChangeFile.event;this._onDidWatchError=this._register(new b);this.onDidWatchError=this._onDidWatchError.event;this.universalWatchRequests=[];this.universalWatchRequestDelayer=this._register(new Pr(this.getRefreshWatchersDelay(this.universalWatchRequests.length)));this.nonRecursiveWatchRequests=[];this.nonRecursiveWatchRequestDelayer=this._register(new Pr(this.getRefreshWatchersDelay(this.nonRecursiveWatchRequests.length)))}watch(e,t){return t.recursive||this.options?.watcher?.forceUniversal?this.watchUniversal(e,t):this.watchNonRecursive(e,t)}getRefreshWatchersDelay(e){return e>200?500:0}watchUniversal(e,t){let n=this.toWatchRequest(e,t),o=zg(this.universalWatchRequests,n);return this.refreshUniversalWatchers(),j(()=>{o(),this.refreshUniversalWatchers()})}toWatchRequest(e,t){let n={path:this.toWatchPath(e),excludes:t.excludes,includes:t.includes,recursive:t.recursive,filter:t.filter,correlationId:t.correlationId};if(uE(n)){let o=this.options?.watcher?.recursive?.usePolling;o===!0?n.pollingInterval=this.options?.watcher?.recursive?.pollingInterval??5e3:Array.isArray(o)&&o.includes(n.path)&&(n.pollingInterval=this.options?.watcher?.recursive?.pollingInterval??5e3)}return n}refreshUniversalWatchers(){this.universalWatchRequestDelayer.trigger(()=>this.doRefreshUniversalWatchers(),this.getRefreshWatchersDelay(this.universalWatchRequests.length)).catch(e=>nt(e))}doRefreshUniversalWatchers(){return this.universalWatcher||(this.universalWatcher=this._register(this.createUniversalWatcher(e=>this._onDidChangeFile.fire(Qm(e)),e=>this.onWatcherLogMessage(e),this.logService.getLevel()===1)),this._register(this.logService.onDidChangeLogLevel(()=>{this.universalWatcher?.setVerboseLogging(this.logService.getLevel()===1)}))),this.universalWatcher.watch(this.universalWatchRequests)}watchNonRecursive(e,t){let n={path:this.toWatchPath(e),excludes:t.excludes,includes:t.includes,recursive:!1,filter:t.filter,correlationId:t.correlationId},o=zg(this.nonRecursiveWatchRequests,n);return this.refreshNonRecursiveWatchers(),j(()=>{o(),this.refreshNonRecursiveWatchers()})}refreshNonRecursiveWatchers(){this.nonRecursiveWatchRequestDelayer.trigger(()=>this.doRefreshNonRecursiveWatchers(),this.getRefreshWatchersDelay(this.nonRecursiveWatchRequests.length)).catch(e=>nt(e))}doRefreshNonRecursiveWatchers(){return this.nonRecursiveWatcher||(this.nonRecursiveWatcher=this._register(this.createNonRecursiveWatcher(e=>this._onDidChangeFile.fire(Qm(e)),e=>this.onWatcherLogMessage(e),this.logService.getLevel()===1)),this._register(this.logService.onDidChangeLogLevel(()=>{this.nonRecursiveWatcher?.setVerboseLogging(this.logService.getLevel()===1)}))),this.nonRecursiveWatcher.watch(this.nonRecursiveWatchRequests)}onWatcherLogMessage(e){e.type==="error"&&this._onDidWatchError.fire(e.message),this.logWatcherMessage(e)}logWatcherMessage(e){this.logService[e.type](e.message)}toFilePath(e){return _t(e.fsPath)}toWatchPath(e){let t=this.toFilePath(e);return cv(t)}}});function vE(i){let r=i;return r&&typeof r.type=="string"&&typeof r.severity=="string"}function RL(i){let r=[],e;try{let t=JSON.parse(i.arguments),n=t[t.length-1];n&&n.__$stack&&(t.pop(),e=n.__$stack),r.push(...t)}catch{r.push("Unable to log remote console arguments",i.arguments)}return{args:r,stack:e}}function DL(i){if(!i)return i;let r=i.indexOf(`
`);return r===-1?i:i.substring(0,r)}function yE(i,r){let{args:e,stack:t}=RL(i),n=typeof e[0]=="string"&&e.length===1,o=DL(t);o&&(o=`(${o.trim()})`);let s=[];if(typeof e[0]=="string"?o&&n?s=[`%c[${r}] %c${e[0]} %c${o}`,Ul("blue"),Ul(""),Ul("grey")]:s=[`%c[${r}] %c${e[0]}`,Ul("blue"),Ul(""),...e.slice(1)]:s=[`%c[${r}]%`,Ul("blue"),...e],o&&!n&&s.push(o),typeof console[i.severity]!="function")throw new Error("Unknown console method");console[i.severity].apply(console,s)}function Ul(i){return`color: ${i}`}var IE=I(()=>{le()});import{fork as AL}from"child_process";var eh,wE=I(()=>{ge();ot();It();IE();He();z();$();un();Zs();Eu();xi();eh=class{constructor(r,e){this.modulePath=r;this.options=e;this.activeRequests=new Set;this.channels=new Map;this._onDidProcessExit=new b;this.onDidProcessExit=this._onDidProcessExit.event;let t=e.timeout||6e4;this.disposeDelayer=new Xi(t),this.child=null,this._client=null}getChannel(r){let e=this;return{call(t,n,o){return e.requestPromise(r,t,n,o)},listen(t,n){return e.requestEvent(r,t,n)}}}requestPromise(r,e,t,n=xe.None){if(!this.disposeDelayer)return Promise.reject(new Error("disposed"));if(n.isCancellationRequested)return Promise.reject(qn());this.disposeDelayer.cancel();let o=this.getCachedChannel(r),s=Jn(c=>o.call(e,t,c)),a=n.onCancellationRequested(()=>s.cancel()),l=j(()=>s.cancel());return this.activeRequests.add(l),s.finally(()=>{a.dispose(),this.activeRequests.delete(l),this.activeRequests.size===0&&this.disposeDelayer&&this.disposeDelayer.trigger(()=>this.disposeClient())}),s}requestEvent(r,e,t){if(!this.disposeDelayer)return S.None;this.disposeDelayer.cancel();let n,o=new b({onWillAddFirstListener:()=>{n=this.getCachedChannel(r).listen(e,t)(o.fire,o),this.activeRequests.add(n)},onDidRemoveLastListener:()=>{this.activeRequests.delete(n),n.dispose(),this.activeRequests.size===0&&this.disposeDelayer&&this.disposeDelayer.trigger(()=>this.disposeClient())}});return o.event}get client(){if(!this._client){let r=this.options.args||[],e=Object.create(null);e.env={...or(process.env),VSCODE_PARENT_PID:String(process.pid)},this.options.env&&(e.env={...e.env,...this.options.env}),this.options.freshExecArgv&&(e.execArgv=[]),typeof this.options.debug=="number"&&(e.execArgv=["--nolazy","--inspect="+this.options.debug]),typeof this.options.debugBrk=="number"&&(e.execArgv=["--nolazy","--inspect-brk="+this.options.debugBrk]),e.execArgv===void 0&&(e.execArgv=process.execArgv.filter(u=>!/^--inspect(-brk)?=/.test(u)).filter(u=>!u.startsWith("--vscode-"))),Tm(e.env),this.child=AL(this.modulePath,r,e);let t=new b,o=S.fromNodeEventEmitter(this.child,"message",u=>u)(u=>{if(vE(u)){yE(u,`IPC Library: ${this.options.serverName}`);return}t.fire(H.wrap(Buffer.from(u,"base64")))}),s=this.options.useQueue?N0(this.child):this.child,a=u=>this.child?.connected&&s.send(u.buffer.toString("base64")),l=t.event,c={send:a,onMessage:l};this._client=new Fs(c);let d=()=>this.disposeClient();process.once("exit",d),this.child.on("error",u=>console.warn('IPC "'+this.options.serverName+'" errored with '+u)),this.child.on("exit",(u,f)=>{process.removeListener("exit",d),o.dispose(),this.activeRequests.forEach(m=>ut(m)),this.activeRequests.clear(),u!==0&&f!=="SIGTERM"&&console.warn('IPC "'+this.options.serverName+'" crashed with exit code '+u+" and signal "+f),this.disposeDelayer?.cancel(),this.disposeClient(),this._onDidProcessExit.fire({code:u,signal:f})})}return this._client}getCachedChannel(r){let e=this.channels.get(r);return e||(e=this.client.getChannel(r),this.channels.set(r,e)),e}disposeClient(){this._client&&(this.child&&(this.child.kill(),this.child=null),this._client=null,this.channels.clear())}dispose(){this._onDidProcessExit.dispose(),this.disposeDelayer?.cancel(),this.disposeDelayer=void 0,this.disposeClient(),this.activeRequests.clear()}}});var th,bE=I(()=>{qe();xi();wE();ta();th=class extends Gm{constructor(r,e,t){super(r,e,t),this.init()}createWatcher(r){let e=r.add(new eh(st.asFileUri("bootstrap-fork").fsPath,{serverName:"File Watcher",args:["--type=fileWatcher"],env:{VSCODE_ESM_ENTRYPOINT:"vs/platform/files/node/watcher/watcherMain",VSCODE_PIPE_LOGGING:"true",VSCODE_VERBOSE_LOGGING:"true"}}));return r.add(e.onDidProcessExit(({code:t,signal:n})=>this.onError(`terminated by itself with code ${t}, signal: ${n} (ETERM)`))),et.toService(sx(e.getChannel("watcher")))}}});import{watchFile as LL,unwatchFile as ML}from"fs";var rh,SE=I(()=>{$();ta();z();ze();le();ge();Pi();He();rh=class extends T{constructor(){super();this._onDidChangeFile=this._register(new b);this.onDidChangeFile=this._onDidChangeFile.event;this._onDidLogMessage=this._register(new b);this.onDidLogMessage=this._onDidLogMessage.event;this._onDidWatchFail=this._register(new b);this.onDidWatchFail=this._onDidWatchFail.event;this.correlatedWatchRequests=new Map;this.nonCorrelatedWatchRequests=new Map;this.suspendedWatchRequests=this._register(new Rt);this.suspendedWatchRequestsWithPolling=new Set;this.updateWatchersDelayer=this._register(new Pr(this.getUpdateWatchersDelay()));this.suspendedWatchRequestPollingInterval=5007;this.joinWatch=new Gt;this.verboseLogging=!1;this._register(this.onDidWatchFail(e=>this.suspendWatchRequest({id:this.computeId(e),correlationId:this.isCorrelated(e)?e.correlationId:void 0,path:e.path})))}isCorrelated(e){return Jm(e)}computeId(e){return this.isCorrelated(e)?e.correlationId:cr(e)}async watch(e){this.joinWatch.isSettled||this.joinWatch.complete(),this.joinWatch=new Gt;try{this.correlatedWatchRequests.clear(),this.nonCorrelatedWatchRequests.clear();for(let t of e)this.isCorrelated(t)?this.correlatedWatchRequests.set(t.correlationId,t):this.nonCorrelatedWatchRequests.set(this.computeId(t),t);for(let[t]of this.suspendedWatchRequests)!this.nonCorrelatedWatchRequests.has(t)&&!this.correlatedWatchRequests.has(t)&&(this.suspendedWatchRequests.deleteAndDispose(t),this.suspendedWatchRequestsWithPolling.delete(t));return await this.updateWatchers(!1)}finally{this.joinWatch.complete()}}updateWatchers(e){let t=[];for(let[n,o]of[...this.nonCorrelatedWatchRequests,...this.correlatedWatchRequests])this.suspendedWatchRequests.has(n)||t.push(o);return this.updateWatchersDelayer.trigger(()=>this.doWatch(t),e?this.getUpdateWatchersDelay():0).catch(n=>nt(n))}getUpdateWatchersDelay(){return 800}isSuspended(e){let t=this.computeId(e);return this.suspendedWatchRequestsWithPolling.has(t)?"polling":this.suspendedWatchRequests.has(t)}async suspendWatchRequest(e){if(this.suspendedWatchRequests.has(e.id))return;let t=new J;this.suspendedWatchRequests.set(e.id,t),await this.joinWatch.p,!t.isDisposed&&(this.monitorSuspendedWatchRequest(e,t),this.updateWatchers(!0))}resumeWatchRequest(e){this.suspendedWatchRequests.deleteAndDispose(e.id),this.suspendedWatchRequestsWithPolling.delete(e.id),this.updateWatchers(!1)}monitorSuspendedWatchRequest(e,t){this.doMonitorWithExistingWatcher(e,t)?(this.trace(`reusing an existing recursive watcher to monitor ${e.path}`),this.suspendedWatchRequestsWithPolling.delete(e.id)):(this.doMonitorWithNodeJS(e,t),this.suspendedWatchRequestsWithPolling.add(e.id))}doMonitorWithExistingWatcher(e,t){let n=this.recursiveWatcher?.subscribe(e.path,(o,s)=>{t.isDisposed||(o?this.monitorSuspendedWatchRequest(e,t):s?.type===1&&this.onMonitoredPathAdded(e))});return n?(t.add(n),!0):!1}doMonitorWithNodeJS(e,t){let n=!1,o=(s,a)=>{if(t.isDisposed)return;let l=this.isPathNotFound(s),c=this.isPathNotFound(a),d=n;n=l,!l&&(c||d)&&this.onMonitoredPathAdded(e)};this.trace(`starting fs.watchFile() on ${e.path} (correlationId: ${e.correlationId})`);try{LL(e.path,{persistent:!1,interval:this.suspendedWatchRequestPollingInterval},o)}catch(s){this.warn(`fs.watchFile() failed with error ${s} on path ${e.path} (correlationId: ${e.correlationId})`)}t.add(j(()=>{this.trace(`stopping fs.watchFile() on ${e.path} (correlationId: ${e.correlationId})`);try{ML(e.path,o)}catch(s){this.warn(`fs.unwatchFile() failed with error ${s} on path ${e.path} (correlationId: ${e.correlationId})`)}}))}onMonitoredPathAdded(e){this.trace(`detected ${e.path} exists again, resuming watcher (correlationId: ${e.correlationId})`);let t={resource:P.file(e.path),type:1,cId:e.correlationId};this._onDidChangeFile.fire([t]),this.traceEvent(t,e),this.resumeWatchRequest(e)}isPathNotFound(e){return e.ctimeMs===0&&e.ino===0}async stop(){this.suspendedWatchRequests.clearAndDisposeAll(),this.suspendedWatchRequestsWithPolling.clear()}traceEvent(e,t){if(this.verboseLogging){let n=` >> normalized ${e.type===1?"[ADDED]":e.type===2?"[DELETED]":"[CHANGED]"} ${e.resource.fsPath}`;this.traceWithCorrelation(n,t)}}traceWithCorrelation(e,t){this.verboseLogging&&this.trace(`${e}${typeof t.correlationId=="number"?` <${t.correlationId}> `:""}`)}requestToString(e){return`${e.path} (excludes: ${e.excludes.length>0?e.excludes:"<none>"}, includes: ${e.includes&&e.includes.length>0?JSON.stringify(e.includes):"<all>"}, filter: ${mE(e.filter)}, correlationId: ${typeof e.correlationId=="number"?e.correlationId:"<none>"})`}async setVerboseLogging(e){this.verboseLogging=e}}});import{watch as OL,promises as FL}from"fs";var nh,xE=I(()=>{ge();It();sn();$();fd();Ce();Z();wt();le();rr();ze();ta();Gi();nh=class i extends T{constructor(e,t,n,o,s,a){super();this.request=e;this.recursiveWatcher=t;this.onDidFilesChange=n;this.onDidWatchFail=o;this.onLogMessage=s;this.verboseLogging=a;this.throttledFileChangesEmitter=this._register(new Ua({maxWorkChunkSize:100,throttleDelay:200,maxBufferedWork:1e4},e=>this.onDidFilesChange(e)));this.fileChangesAggregator=this._register(new of(e=>this.handleFileChanges(e),i.FILE_CHANGES_HANDLER_DELAY));this.cts=new $e;this.realPath=new er(async()=>{let e=this.request.path;try{e=await Q.realpath(this.request.path),this.request.path!==e&&this.trace(`correcting a path to watch that seems to be a symbolic link (original: ${this.request.path}, real: ${e})`)}catch{}return e});this._isReusingRecursiveWatcher=!1;this.didFail=!1;let l=!ne;this.excludes=LI(this.request.path,this.request.excludes,l),this.includes=this.request.includes?LI(this.request.path,this.request.includes,l):void 0,this.filter=Jm(this.request)?this.request.filter:void 0,this.ready=this.watch()}static{this.FILE_DELETE_HANDLER_DELAY=100}static{this.FILE_CHANGES_HANDLER_DELAY=75}get isReusingRecursiveWatcher(){return this._isReusingRecursiveWatcher}get failed(){return this.didFail}async watch(){try{let e=await FL.stat(this.request.path);if(this.cts.token.isCancellationRequested)return;this._register(await this.doWatch(e.isDirectory()))}catch(e){e.code!=="ENOENT"?this.error(e):this.trace(`ignoring a path for watching who's stat info failed to resolve: ${this.request.path} (error: ${e})`),this.notifyWatchFailed()}}notifyWatchFailed(){this.didFail=!0,this.onDidWatchFail?.()}async doWatch(e){let t=new J;return this.doWatchWithExistingWatcher(e,t)?(this.trace(`reusing an existing recursive watcher for ${this.request.path}`),this._isReusingRecursiveWatcher=!0):(this._isReusingRecursiveWatcher=!1,await this.doWatchWithNodeJS(e,t)),t}doWatchWithExistingWatcher(e,t){if(e)return!1;let n=P.file(this.request.path),o=this.recursiveWatcher?.subscribe(this.request.path,async(s,a)=>{t.isDisposed||(s?await CS(this.doWatch(e),t):a&&(typeof a.cId=="number"||typeof this.request.correlationId=="number")&&this.onFileChange({resource:n,type:a.type,cId:this.request.correlationId},!0))});return o?(t.add(o),!0):!1}async doWatchWithNodeJS(e,t){let n=await this.realPath.value;if(this.cts.token.isCancellationRequested)return;if(N&&Qi(n,"/Volumes/",!0)){this.error(`Refusing to watch ${n} for changes using fs.watch() for possibly being a network share where watching is unreliable and unstable.`);return}let o=new $e(this.cts.token);t.add(j(()=>o.dispose(!0)));let s=new J;t.add(s);try{let a=P.file(this.request.path),l=Se(n),c=OL(n);s.add(j(()=>{c.removeAllListeners(),c.close()})),this.trace(`Started watching: '${n}'`);let d=new Set;if(e)try{for(let f of await Q.readdir(n))d.add(f)}catch(f){this.error(f)}if(o.token.isCancellationRequested)return;let u=new Map;s.add(j(()=>{for(let[,f]of u)f.dispose();u.clear()})),c.on("error",(f,m)=>{o.token.isCancellationRequested||(this.error(`Failed to watch ${n} for changes using fs.watch() (${f}, ${m})`),this.notifyWatchFailed())}),c.on("change",(f,m)=>{if(o.token.isCancellationRequested)return;this.verboseLogging&&this.traceWithCorrelation(`[raw] ["${f}"] ${m}`);let y="";if(m&&(y=m.toString(),N&&(y=bi(y))),!(!y||f!=="change"&&f!=="rename"))if(e)if(f==="rename"){u.get(y)?.dispose();let v=setTimeout(async()=>{if(u.delete(y),Mo(y,l,!ne)&&!await Q.exists(n)){this.onWatchedPathDeleted(a);return}if(o.token.isCancellationRequested)return;let C=await this.existsChildStrictCase(V(n,y));if(o.token.isCancellationRequested)return;let w;C?d.has(y)?w=0:(w=1,d.add(y)):(d.delete(y),w=2),this.onFileChange({resource:he(a,y),type:w,cId:this.request.correlationId})},i.FILE_DELETE_HANDLER_DELAY);u.set(y,j(()=>clearTimeout(v)))}else{let v;d.has(y)?v=0:(v=1,d.add(y)),this.onFileChange({resource:he(a,y),type:v,cId:this.request.correlationId})}else if(f==="rename"||!Mo(y,l,!ne)){let v=setTimeout(async()=>{let C=await Q.exists(n);o.token.isCancellationRequested||(C?(this.onFileChange({resource:a,type:0,cId:this.request.correlationId},!0),s.add(await this.doWatch(!1))):this.onWatchedPathDeleted(a))},i.FILE_DELETE_HANDLER_DELAY);s.clear(),s.add(j(()=>clearTimeout(v)))}else this.onFileChange({resource:a,type:0,cId:this.request.correlationId},!0)})}catch(a){if(o.token.isCancellationRequested)return;this.error(`Failed to watch ${n} for changes using fs.watch() (${a.toString()})`),this.notifyWatchFailed()}}onWatchedPathDeleted(e){this.warn("Watcher shutdown because watched path got deleted"),this.onFileChange({resource:e,type:2,cId:this.request.correlationId},!0),this.fileChangesAggregator.flush(),this.notifyWatchFailed()}onFileChange(e,t=!1){this.cts.token.isCancellationRequested||(this.verboseLogging&&this.traceWithCorrelation(`${e.type===1?"[ADDED]":e.type===2?"[DELETED]":"[CHANGED]"} ${e.resource.fsPath}`),!t&&this.excludes.some(n=>n(e.resource.fsPath))?this.verboseLogging&&this.traceWithCorrelation(` >> ignored (excluded) ${e.resource.fsPath}`):!t&&this.includes&&this.includes.length>0&&!this.includes.some(n=>n(e.resource.fsPath))?this.verboseLogging&&this.traceWithCorrelation(` >> ignored (not included) ${e.resource.fsPath}`):this.fileChangesAggregator.work(e))}handleFileChanges(e){let t=pE(e),n=[];for(let s of t){if(fE(s,this.filter)){this.verboseLogging&&this.traceWithCorrelation(` >> ignored (filtered) ${s.resource.fsPath}`);continue}n.push(s)}if(n.length===0)return;if(this.verboseLogging)for(let s of n)this.traceWithCorrelation(` >> normalized ${s.type===1?"[ADDED]":s.type===2?"[DELETED]":"[CHANGED]"} ${s.resource.fsPath}`);this.throttledFileChangesEmitter.work(n)?this.throttledFileChangesEmitter.pending>0&&this.trace(`started throttling events due to large amount of file change events at once (pending: ${this.throttledFileChangesEmitter.pending}, most recent change: ${n[0].resource.fsPath}). Use 'files.watcherExclude' setting to exclude folders with lots of changing files (e.g. compilation output).`):this.warn(`started ignoring events due to too many file change events at once (incoming: ${n.length}, most recent change: ${n[0].resource.fsPath}). Use 'files.watcherExclude' setting to exclude folders with lots of changing files (e.g. compilation output).`)}async existsChildStrictCase(e){if(ne)return Q.exists(e);try{let t=Se(e);return(await Q.readdir(Ae(e))).some(o=>o===t)}catch(t){return this.trace(t),!1}}setVerboseLogging(e){this.verboseLogging=e}error(e){this.cts.token.isCancellationRequested||this.onLogMessage?.({type:"error",message:`[File Watcher (node.js)] ${e}`})}warn(e){this.cts.token.isCancellationRequested||this.onLogMessage?.({type:"warn",message:`[File Watcher (node.js)] ${e}`})}trace(e){!this.cts.token.isCancellationRequested&&this.verboseLogging&&this.onLogMessage?.({type:"trace",message:`[File Watcher (node.js)] ${e}`})}traceWithCorrelation(e){!this.cts.token.isCancellationRequested&&this.verboseLogging&&this.trace(`${e}${typeof this.request.correlationId=="number"?` <${this.request.correlationId}> `:""}`)}dispose(){this.cts.dispose(!0),super.dispose()}}});var ih,PE=I(()=>{z();DI();SE();Z();xE();ge();$();ih=class extends rh{constructor(e){super();this.recursiveWatcher=e;this.onDidError=S.None;this._watchers=new Map;this.worker=this._register(new jt)}get watchers(){return this._watchers.values()}async doWatch(e){e=this.removeDuplicateRequests(e);let t=[],n=new Set(Array.from(this.watchers));for(let o of e){let s=this._watchers.get(this.requestToWatcherKey(o));s&&RI(s.request.excludes,o.excludes)&&RI(s.request.includes,o.includes)?n.delete(s):t.push(o)}t.length&&this.trace(`Request to start watching: ${t.map(o=>this.requestToString(o)).join(",")}`),n.size&&this.trace(`Request to stop watching: ${Array.from(n).map(o=>this.requestToString(o.request)).join(",")}`),this.worker.clear();for(let o of n)this.stopWatching(o);this.createWatchWorker().work(t)}createWatchWorker(){return this.worker.value=new Ua({maxWorkChunkSize:100,throttleDelay:100,maxBufferedWork:Number.MAX_VALUE},e=>{for(let t of e)this.startWatching(t)}),this.worker.value}requestToWatcherKey(e){return typeof e.correlationId=="number"?e.correlationId:this.pathToWatcherKey(e.path)}pathToWatcherKey(e){return ne?e:e.toLowerCase()}startWatching(e){let t=new nh(e,this.recursiveWatcher,o=>this._onDidChangeFile.fire(o),()=>this._onDidWatchFail.fire(e),o=>this._onDidLogMessage.fire(o),this.verboseLogging),n={request:e,instance:t};this._watchers.set(this.requestToWatcherKey(e),n)}async stop(){await super.stop();for(let e of this.watchers)this.stopWatching(e)}stopWatching(e){this.trace("stopping file watcher",e),this._watchers.delete(this.requestToWatcherKey(e.request)),e.instance.dispose()}removeDuplicateRequests(e){let t=new Map;for(let n of e){let o=t.get(n.correlationId);o||(o=new Map,t.set(n.correlationId,o));let s=this.pathToWatcherKey(n.path);o.has(s)&&this.trace(`ignoring a request for watching who's path is already watched: ${this.requestToString(n)}`),o.set(s,n)}return Array.from(t.values()).flatMap(n=>Array.from(n.values()))}async setVerboseLogging(e){super.setVerboseLogging(e);for(let t of this.watchers)t.instance.setVerboseLogging(e)}trace(e,t){this.verboseLogging&&this._onDidLogMessage.fire({type:"trace",message:this.toMessage(e,t)})}warn(e){this._onDidLogMessage.fire({type:"warn",message:this.toMessage(e)})}toMessage(e,t){return t?`[File Watcher (node.js)] ${e} (${this.requestToString(t.request)})`:`[File Watcher (node.js)] ${e}`}}});var oh,EE=I(()=>{ta();PE();oh=class extends jm{constructor(r,e,t){super(r,e,t),this.init()}createWatcher(r){return r.add(new ih(void 0))}}});import{constants as UI,promises as ra}from"fs";var ds,sh=I(()=>{ge();xr();ot();z();sn();$();Ce();Z();wt();Ls();rr();Ee();ze();WI();gE();bE();EE();ds=class i extends Zm{constructor(){super(...arguments);this.onDidChangeCapabilities=S.None;this.resourceLocks=new mt(e=>Ge.getComparisonKey(e));this.mapHandleToPos=new Map;this.mapHandleToLock=new Map;this.writeHandles=new Map}static{this.TRACE_LOG_RESOURCE_LOCKS=!1}get capabilities(){return this._capabilities||(this._capabilities=1040414,ne&&(this._capabilities|=1024)),this._capabilities}async stat(e){try{let{stat:t,symbolicLink:n}=await tr.stat(this.toFilePath(e)),o;return(t.mode&128)===0&&(o=2),(t.mode&UI.S_IXUSR||t.mode&UI.S_IXGRP||t.mode&UI.S_IXOTH)&&(o=(o??0)|4),{type:this.toType(t,n),ctime:t.birthtime.getTime(),mtime:t.mtime.getTime(),size:t.size,permissions:o}}catch(t){throw this.toFileSystemProviderError(t)}}async statIgnoreError(e){try{return await this.stat(e)}catch{return}}async realpath(e){let t=this.toFilePath(e);return Q.realpath(t)}async readdir(e){try{let t=await Q.readdir(this.toFilePath(e),{withFileTypes:!0}),n=[];return await Promise.all(t.map(async o=>{try{let s;o.isSymbolicLink()?s=(await this.stat(he(e,o.name))).type:s=this.toType(o),n.push([o.name,s])}catch(s){this.logService.trace(s)}})),n}catch(t){throw this.toFileSystemProviderError(t)}}toType(e,t){let n;return t?.dangling?n=0:e.isFile()?n=1:e.isDirectory()?n=2:n=0,t&&(n|=64),n}async createResourceLock(e){let t=this.toFilePath(e);this.traceLock(`[Disk FileSystemProvider]: createResourceLock() - request to acquire resource lock (${t})`);let n;for(;n=this.resourceLocks.get(e);)this.traceLock(`[Disk FileSystemProvider]: createResourceLock() - waiting for resource lock to be released (${t})`),await n.wait();let o=new wi;return this.resourceLocks.set(e,o),this.traceLock(`[Disk FileSystemProvider]: createResourceLock() - new resource lock created (${t})`),j(()=>{this.traceLock(`[Disk FileSystemProvider]: createResourceLock() - resource lock dispose() (${t})`),this.resourceLocks.get(e)===o&&(this.traceLock(`[Disk FileSystemProvider]: createResourceLock() - resource lock removed from resource-lock map (${t})`),this.resourceLocks.delete(e)),this.traceLock(`[Disk FileSystemProvider]: createResourceLock() - resource lock barrier open() (${t})`),o.open()})}async readFile(e,t){let n;try{t?.atomic&&(this.traceLock(`[Disk FileSystemProvider]: atomic read operation started (${this.toFilePath(e)})`),n=await this.createResourceLock(e));let o=this.toFilePath(e);return await ra.readFile(o)}catch(o){throw this.toFileSystemProviderError(o)}finally{n?.dispose()}}traceLock(e){i.TRACE_LOG_RESOURCE_LOCKS&&this.logService.trace(e)}readFileStream(e,t,n){let o=Uo(s=>H.concat(s.map(a=>H.wrap(a))).buffer);return Ym(this,e,o,s=>s.buffer,{...t,bufferSize:256*1024},n),o}async writeFile(e,t,n){return n?.atomic!==!1&&n?.atomic?.postfix&&await this.canWriteFileAtomic(e)?this.doWriteFileAtomic(e,he(n1(e),`${$r(e)}${n.atomic.postfix}`),t,n):this.doWriteFile(e,t,n)}async canWriteFileAtomic(e){try{let t=this.toFilePath(e),{symbolicLink:n}=await tr.stat(t);if(n)return!1}catch{}return!0}async doWriteFileAtomic(e,t,n,o){let s=new J;try{s.add(await this.createResourceLock(e)),s.add(await this.createResourceLock(t)),await this.doWriteFile(t,n,{...o,create:!0,overwrite:!0},!0);try{await this.rename(t,e,{overwrite:!0})}catch(a){try{await this.delete(t,{recursive:!1,useTrash:!1,atomic:!1})}catch{}throw a}}finally{s.dispose()}}async doWriteFile(e,t,n,o){let s;try{let a=this.toFilePath(e);if(!n.create||!n.overwrite){if(await Q.exists(a)){if(!n.overwrite)throw zr(h(2194,null),"EntryExists")}else if(!n.create)throw zr(h(2197,null),"EntryNotFound")}s=await this.open(e,{create:!0,append:n.append,unlock:n.unlock},o),await this.write(s,0,t,0,t.byteLength)}catch(a){throw await this.toFileSystemProviderWriteError(e,a)}finally{typeof s=="number"&&await this.close(s)}}static{this.canFlush=!0}static configureFlushOnWrite(e){i.canFlush=e}async open(e,t,n){let o=this.toFilePath(e),s;$s(t)&&!n&&(s=await this.createResourceLock(e));let a;try{if($s(t)&&t.unlock)try{let{stat:l}=await tr.stat(o);l.mode&128||await ra.chmod(o,l.mode|128)}catch(l){l.code!=="ENOENT"&&this.logService.trace(l)}if(F&&$s(t)&&!t.append)try{a=await Q.open(o,"r+"),await Q.ftruncate(a,0)}catch(l){if(l.code!=="ENOENT"&&this.logService.trace(l),typeof a=="number"){try{await Q.close(a)}catch(c){this.logService.trace(c)}a=void 0}}typeof a!="number"&&(a=await Q.open(o,$s(t)?t.append?"a":"w":"r"))}catch(l){throw s?.dispose(),$s(t)?await this.toFileSystemProviderWriteError(e,l):this.toFileSystemProviderError(l)}if(this.mapHandleToPos.set(a,0),$s(t)&&this.writeHandles.set(a,e),s){let l=this.mapHandleToLock.get(a);this.traceLock(`[Disk FileSystemProvider]: open() - storing lock for handle ${a} (${o})`),this.mapHandleToLock.set(a,s),l&&(this.traceLock(`[Disk FileSystemProvider]: open() - disposing a previous lock that was still stored on same handle ${a} (${o})`),l.dispose())}return a}async close(e){let t=this.mapHandleToLock.get(e);try{if(this.mapHandleToPos.delete(e),this.writeHandles.delete(e)&&i.canFlush)try{await Q.fdatasync(e)}catch(n){i.configureFlushOnWrite(!1),this.logService.error(n)}return await Q.close(e)}catch(n){throw this.toFileSystemProviderError(n)}finally{t&&(this.mapHandleToLock.get(e)===t&&(this.traceLock(`[Disk FileSystemProvider]: close() - resource lock removed from handle-lock map ${e}`),this.mapHandleToLock.delete(e)),this.traceLock(`[Disk FileSystemProvider]: close() - disposing lock for handle ${e}`),t.dispose())}}async read(e,t,n,o,s){let a=this.normalizePos(e,t),l=null;try{l=(await Q.read(e,n,o,s,a)).bytesRead}catch(c){throw this.toFileSystemProviderError(c)}finally{this.updatePos(e,a,l)}return l}normalizePos(e,t){return t===this.mapHandleToPos.get(e)?null:t}updatePos(e,t,n){let o=this.mapHandleToPos.get(e);typeof o=="number"&&(typeof t=="number"||(typeof n=="number"?this.mapHandleToPos.set(e,o+n):this.mapHandleToPos.delete(e)))}async write(e,t,n,o,s){return f1(()=>this.doWrite(e,t,n,o,s),100,3)}async doWrite(e,t,n,o,s){let a=this.normalizePos(e,t),l=null;try{l=(await Q.write(e,n,o,s,a)).bytesWritten}catch(c){throw await this.toFileSystemProviderWriteError(this.writeHandles.get(e),c)}finally{this.updatePos(e,a,l)}return l}async mkdir(e){try{await ra.mkdir(this.toFilePath(e))}catch(t){throw this.toFileSystemProviderError(t)}}async delete(e,t){try{let n=this.toFilePath(e);if(t.recursive){let o;t?.atomic!==!1&&t.atomic.postfix&&(o=V(Ae(n),`${Se(n)}${t.atomic.postfix}`)),await Q.rm(n,1,o)}else try{await ra.unlink(n)}catch(o){if(o.code==="EPERM"||o.code==="EISDIR"){let s=!1;try{let{stat:a,symbolicLink:l}=await tr.stat(n);s=a.isDirectory()&&!l}catch{}if(s)await ra.rmdir(n);else throw o}else throw o}}catch(n){throw this.toFileSystemProviderError(n)}}async rename(e,t,n){let o=this.toFilePath(e),s=this.toFilePath(t);if(o!==s)try{await this.validateMoveCopy(e,t,"move",n.overwrite),await Q.rename(o,s)}catch(a){throw(a.code==="EINVAL"||a.code==="EBUSY"||a.code==="ENAMETOOLONG")&&(a=new Error(h(2198,null,Se(o),Se(Ae(s)),a.toString()))),this.toFileSystemProviderError(a)}}async copy(e,t,n){let o=this.toFilePath(e),s=this.toFilePath(t);if(o!==s)try{await this.validateMoveCopy(e,t,"copy",n.overwrite),await Q.copy(o,s,{preserveSymlinks:!0})}catch(a){throw(a.code==="EINVAL"||a.code==="EBUSY"||a.code==="ENAMETOOLONG")&&(a=new Error(h(2192,null,Se(o),Se(Ae(s)),a.toString()))),this.toFileSystemProviderError(a)}}async validateMoveCopy(e,t,n,o){let s=this.toFilePath(e),a=this.toFilePath(t),l=!1;if(this.capabilities&1024||(l=Mo(s,a,!0)),l){if(n==="copy")throw zr(h(2193,null),"EntryExists");if(n==="move")return}let d=await this.statIgnoreError(e);if(!d)throw zr(h(2196,null),"EntryNotFound");let u=await this.statIgnoreError(t);if(u){if(!o)throw zr(h(2195,null),"EntryExists");(d.type&1)!==0&&(u.type&1)!==0||await this.delete(t,{recursive:!0,useTrash:!1,atomic:!1})}}async cloneFile(e,t){return this.doCloneFile(e,t,!1)}async doCloneFile(e,t,n){let o=this.toFilePath(e),s=this.toFilePath(t),a=!!(this.capabilities&1024);if(Mo(o,s,!a))return;let l=new J;try{l.add(await this.createResourceLock(e)),l.add(await this.createResourceLock(t)),n&&await ra.mkdir(Ae(s),{recursive:!0}),await ra.copyFile(o,s)}catch(c){if(c.code==="ENOENT"&&!n)return this.doCloneFile(e,t,!0);throw this.toFileSystemProviderError(c)}finally{l.dispose()}}createUniversalWatcher(e,t,n){return new th(o=>e(o),o=>t(o),n)}createNonRecursiveWatcher(e,t,n){return new oh(o=>e(o),o=>t(o),n)}toFileSystemProviderError(e){if(e instanceof rl)return e;let t=e,n;switch(e.code){case"ENOENT":n="EntryNotFound";break;case"EISDIR":n="EntryIsADirectory";break;case"ENOTDIR":n="EntryNotADirectory";break;case"EEXIST":n="EntryExists";break;case"EPERM":case"EACCES":n="NoPermissions";break;case"ERR_UNC_HOST_NOT_ALLOWED":t=`${e.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`,n="Unknown";break;default:n="Unknown"}return zr(t,n)}async toFileSystemProviderWriteError(e,t){let n=this.toFileSystemProviderError(t);if(e&&n.code==="NoPermissions")try{let{stat:o}=await tr.stat(this.toFilePath(e));o.mode&128||(n=zr(t,"EntryWriteLocked"))}catch(o){this.logService.trace(o)}return n}}});var ah,lh,TE=I(()=>{z();sh();$();ot();Ls();It();ah=class extends T{constructor(e,t){super();this.provider=e;this.logService=t;this.sessionToWatcher=new Map;this.watchRequests=new Map}call(e,t,n){let o=this.getUriTransformer(e);switch(t){case"stat":return this.stat(o,n[0]);case"realpath":return this.realpath(o,n[0]);case"readdir":return this.readdir(o,n[0]);case"open":return this.open(o,n[0],n[1]);case"close":return this.close(n[0]);case"read":return this.read(n[0],n[1],n[2]);case"readFile":return this.readFile(o,n[0],n[1]);case"write":return this.write(n[0],n[1],n[2],n[3],n[4]);case"writeFile":return this.writeFile(o,n[0],n[1],n[2]);case"rename":return this.rename(o,n[0],n[1],n[2]);case"copy":return this.copy(o,n[0],n[1],n[2]);case"cloneFile":return this.cloneFile(o,n[0],n[1]);case"mkdir":return this.mkdir(o,n[0]);case"delete":return this.delete(o,n[0],n[1]);case"watch":return this.watch(o,n[0],n[1],n[2],n[3]);case"unwatch":return this.unwatch(n[0],n[1])}throw new Error(`IPC Command ${t} not found`)}listen(e,t,n){let o=this.getUriTransformer(e);switch(t){case"fileChange":return this.onFileChange(o,n[0]);case"readFileStream":return this.onReadFileStream(o,n[0],n[1])}throw new Error(`Unknown event ${t}`)}stat(e,t){let n=this.transformIncoming(e,t,!0);return this.provider.stat(n)}realpath(e,t){let n=this.transformIncoming(e,t,!0);return this.provider.realpath(n)}readdir(e,t){let n=this.transformIncoming(e,t);return this.provider.readdir(n)}async readFile(e,t,n){let o=this.transformIncoming(e,t,!0),s=await this.provider.readFile(o,n);return H.wrap(s)}onReadFileStream(e,t,n){let o=this.transformIncoming(e,t,!0),s=new $e,a=new b({onDidRemoveLastListener:()=>{s.cancel()}}),l=this.provider.readFileStream(o,n,s.token);return Ha(l,{onData:c=>a.fire(H.wrap(c)),onError:c=>a.fire(c),onEnd:()=>{a.fire("end"),a.dispose(),s.dispose()}}),a.event}writeFile(e,t,n,o){let s=this.transformIncoming(e,t);return this.provider.writeFile(s,n.buffer,o)}open(e,t,n){let o=this.transformIncoming(e,t,!0);return this.provider.open(o,n)}close(e){return this.provider.close(e)}async read(e,t,n){let o=H.alloc(n),a=await this.provider.read(e,t,o.buffer,0,n);return[o,a]}write(e,t,n,o,s){return this.provider.write(e,t,n.buffer,o,s)}mkdir(e,t){let n=this.transformIncoming(e,t);return this.provider.mkdir(n)}delete(e,t,n){let o=this.transformIncoming(e,t);return this.provider.delete(o,n)}rename(e,t,n,o){let s=this.transformIncoming(e,t),a=this.transformIncoming(e,n);return this.provider.rename(s,a,o)}copy(e,t,n,o){let s=this.transformIncoming(e,t),a=this.transformIncoming(e,n);return this.provider.copy(s,a,o)}cloneFile(e,t,n){let o=this.transformIncoming(e,t),s=this.transformIncoming(e,n);return this.provider.cloneFile(o,s)}onFileChange(e,t){let n=new b({onWillAddFirstListener:()=>{this.sessionToWatcher.set(t,this.createSessionFileWatcher(e,n))},onDidRemoveLastListener:()=>{ut(this.sessionToWatcher.get(t)),this.sessionToWatcher.delete(t)}});return n.event}async watch(e,t,n,o,s){let a=this.sessionToWatcher.get(t);if(a){let l=this.transformIncoming(e,o),c=a.watch(n,l,s);this.watchRequests.set(t+n,c)}}async unwatch(e,t){let n=e+t,o=this.watchRequests.get(n);o&&(ut(o),this.watchRequests.delete(n))}dispose(){super.dispose();for(let[,e]of this.watchRequests)e.dispose();this.watchRequests.clear();for(let[,e]of this.sessionToWatcher)e.dispose();this.sessionToWatcher.clear()}},lh=class extends T{constructor(e,t,n,o){super();this.uriTransformer=e;this.environmentService=o;this.watcherRequests=new Map;this.fileWatcher=this._register(new ds(n)),this.registerListeners(t)}registerListeners(e){let t=this._register(new b);this._register(t.event(n=>{e.fire(n.map(o=>({resource:this.uriTransformer.transformOutgoingURI(o.resource),type:o.type,cId:o.cId})))})),this._register(this.fileWatcher.onDidChangeFile(n=>t.fire(n))),this._register(this.fileWatcher.onDidWatchError(n=>e.fire(n)))}getRecursiveWatcherOptions(e){}getExtraExcludes(e){}watch(e,t,n){let o=this.getExtraExcludes(this.environmentService);return Array.isArray(o)&&(n.excludes=[...n.excludes,...o]),this.watcherRequests.set(e,this.fileWatcher.watch(t,n)),j(()=>{ut(this.watcherRequests.get(e)),this.watcherRequests.delete(e)})}dispose(){for(let[,e]of this.watcherRequests)e.dispose();this.watcherRequests.clear(),super.dispose()}}});var _E,kE=I(()=>{ot();Xp();le();_E=new class{transformIncoming(i){return i}transformOutgoing(i){return i}transformOutgoingURI(i){return i}transformOutgoingScheme(i){return i}}});import{shell as UL}from"electron";var ch,NI,RE=I(()=>{Ee();Z();le();ze();Ce();TE();kE();Wo();ch=class extends ah{constructor(e,t,n){super(e,t);this.environmentService=n}getUriTransformer(e){return _E}transformIncoming(e,t){return P.revive(t)}async delete(e,t,n){if(!n.useTrash)return super.delete(e,t,n);let o=this.transformIncoming(e,t),s=_t(o.fsPath);try{await UL.trashItem(s)}catch(a){throw zr(F?h(2190,null,Se(s),Er(a)):h(2191,null,Se(s),Er(a)),"Unknown")}}createSessionFileWatcher(e,t){return new NI(e,t,this.logService,this.environmentService)}},NI=class extends lh{watch(r,e,t){if(t.recursive)throw zr("Recursive file watching is not supported from main process for performance reasons.","Unavailable");return super.watch(r,e,t)}}});var me,Ku=I(()=>{me=class{constructor(r,e=[],t=!1){this.ctor=r,this.staticArguments=e,this.supportsDelayedInstantiation=t}}});var us,dh=I(()=>{us=class{constructor(...r){this._entries=new Map;for(let[e,t]of r)this.set(e,t)}set(r,e){let t=this._entries.get(r);return this._entries.set(r,e),t}has(r){return this._entries.has(r)}get(r){return this._entries.get(r)}}});import{exec as uh}from"child_process";import{totalmem as NL}from"os";function zu(i){return new Promise((r,e)=>{let t,n=new Map,o=NL();function s(l,c,d,u,f){let m=n.get(c);if(l===i||m){let y={name:a(d),cmd:d,pid:l,ppid:c,load:u,mem:F?f:o*(f/100)};n.set(l,y),l===i&&(t=y),m&&(m.children||(m.children=[]),m.children.push(y),m.children.length>1&&(m.children=m.children.sort((v,C)=>v.pid-C.pid)))}}function a(l){let c=/--utility-sub-type=network/i,d=/--crashes-directory/i,u=/conhost\.exe.+--headless/i,f=/--type=([a-zA-Z-]+)/;if(d.exec(l))return"electron-crash-reporter";if(u.exec(l))return"conpty-agent";let m=f.exec(l);if(m&&m.length===2)return m[1]==="renderer"?"window":m[1]==="utility"?c.exec(l)?"utility-network-service":"utility-process":m[1]==="extensionHost"?"extension-host":m[1];if(l.indexOf("node ")<0&&l.indexOf("node.exe")<0){let y="";do m=BL.exec(l),m&&(y+=m+" ");while(m);if(y)return`electron-nodejs (${y.trim()})`}return l}if(process.platform==="win32"){let l=c=>c.indexOf("\\\\?\\")===0||c.indexOf("\\??\\")===0?c.substring(4):c.indexOf('"\\\\?\\')===0||c.indexOf('"\\??\\')===0?'"'+c.substring(5):c;import("@vscode/windows-process-tree").then(c=>{c.getProcessList(i,d=>{if(!d){e(new Error(`Root process ${i} not found`));return}c.getProcessCpuUsage(d,u=>{let f=new Map;u.forEach(m=>{let y=l(m.commandLine||"");f.set(m.pid,{name:a(y),cmd:y,pid:m.pid,ppid:m.ppid,load:m.cpu||0,mem:m.memory||0})}),t=f.get(i),t?(f.forEach(m=>{let y=f.get(m.ppid);y&&(y.children||(y.children=[]),y.children.push(m))}),f.forEach(m=>{m.children&&(m.children=m.children.sort((y,v)=>y.pid-v.pid))}),r(t)):e(new Error(`Root process ${i} not found`))})},c.ProcessDataFlag.CommandLine|c.ProcessDataFlag.Memory)})}else{let l=function(){let c=[t],d=[];for(;c.length;){let f=c.shift();f&&(d.push(f.pid),f.children&&(c=c.concat(f.children)))}let u=JSON.stringify(st.asFileUri("vs/base/node/cpuUsage.sh").fsPath);u+=" "+d.join(" "),uh(u,{},(f,m,y)=>{if(f||y)e(f||new Error(y.toString()));else{let v=m.toString().split(`
`);for(let C=0;C<d.length;C++){let w=n.get(d[C]);w.load=parseFloat(v[C])}if(!t){e(new Error(`Root process ${i} not found`));return}r(t)}})};uh("which ps",{},(c,d,u)=>{if(c||u)if(process.platform!=="linux")e(c||new Error(u.toString()));else{let f=JSON.stringify(st.asFileUri("vs/base/node/ps.sh").fsPath);uh(f,{},(m,y,v)=>{m||v?e(m||new Error(v.toString())):(DE(y,s),l())})}else{let f=d.toString().trim();uh(`${f} -ax -o pid=,ppid=,pcpu=,pmem=,command=`,{maxBuffer:1e3*1024,env:{LC_NUMERIC:"en_US.UTF-8"}},(y,v,C)=>{y||C&&!C.includes("screen size is bogus")?e(y||new Error(C.toString())):(DE(v,s),process.platform==="linux"?l():t?r(t):e(new Error(`Root process ${i} not found`)))})}})}})}function DE(i,r){let e=/^\s*([0-9]+)\s+([0-9]+)\s+([0-9]+\.[0-9]+)\s+([0-9]+\.[0-9]+)\s+(.+)$/,t=i.toString().split(`
`);for(let n of t){let o=e.exec(n.trim());o&&o.length===6&&r(parseInt(o[1]),parseInt(o[2]),o[5],parseFloat(o[3]),parseFloat(o[4]))}}var BL,BI=I(()=>{qe();Z();BL=/[a-zA-Z-]+\.js\b/g});var Nl,AE=I(()=>{BI();Ee();ym();$y();re();ns();Nl=class{constructor(r,e,t){this.logService=r;this.diagnosticsService=e;this.diagnosticsMainService=t}async resolveProcesses(){let r=await this.diagnosticsMainService.getMainDiagnostics(),e=[];for(let n of r.windows)e.push([n.pid,`window [${n.id}] (${n.title})`]);for(let{pid:n,name:o}of sr.getAll())e.push([n,o]);let t=[];try{t.push({name:h(2319,null),rootProcess:await zu(process.pid)}),(await this.diagnosticsMainService.getRemoteDiagnostics({includeProcesses:!0})).forEach(o=>{bu(o)?t.push({name:o.hostName,rootProcess:o}):o.processes&&t.push({name:o.hostName,rootProcess:o.processes})})}catch(n){this.logService.error(`Listing processes failed: ${n}`)}return{pidToNames:e,processes:t}}async getSystemStatus(){let[r,e]=await Promise.all([this.diagnosticsMainService.getMainDiagnostics(),this.diagnosticsMainService.getRemoteDiagnostics({includeProcesses:!1,includeWorkspaceMetadata:!1})]);return this.diagnosticsService.getDiagnostics(r,e)}async getSystemInfo(){let[r,e]=await Promise.all([this.diagnosticsMainService.getMainDiagnostics(),this.diagnosticsMainService.getRemoteDiagnostics({includeProcesses:!1,includeWorkspaceMetadata:!1})]);return await this.diagnosticsService.getSystemInfo(r,e)}async getPerformanceInfo(){try{let[r,e]=await Promise.all([this.diagnosticsMainService.getMainDiagnostics(),this.diagnosticsMainService.getRemoteDiagnostics({includeProcesses:!0,includeWorkspaceMetadata:!0})]);return await this.diagnosticsService.getPerformanceInfo(r,e)}catch(r){throw this.logService.warn("issueService#getPerformanceInfo ",r.message),r}}};Nl=E([g(0,U),g(1,wu),g(2,El)],Nl)});function LE(i){let r=i.getKeyMap(),e=i.getCurrentKeyboardLayout();return{keyboardMapping:r,keyboardLayoutInfo:e}}var VI,Bl,ME=I(()=>{Z();z();$();ee();Et();VI=L("keyboardLayoutMainService"),Bl=class extends T{constructor(e){super();this._onDidChangeKeyboardLayout=this._register(new b);this.onDidChangeKeyboardLayout=this._onDidChangeKeyboardLayout.event;this._initPromise=null,this._keyboardLayoutData=null,e.when(3).then(()=>this._initialize())}_initialize(){return this._initPromise||(this._initPromise=this._doInitialize()),this._initPromise}async _doInitialize(){let e=await import("native-keymap");this._keyboardLayoutData=LE(e),Kb||e.onDidChangeKeyboardLayout(()=>{this._keyboardLayoutData=LE(e),this._onDidChangeKeyboardLayout.fire(this._keyboardLayoutData)})}async getKeyboardLayoutData(){return await this._initialize(),this._keyboardLayoutData}};Bl=E([g(0,ye)],Bl)});var Vl,HI=I(()=>{ee();Vl=L("urlService")});import{app as VL}from"electron";var HL,ph,Hl,OE=I(()=>{zt();z();Z();le();rr();it();Ll();ee();re();HI();Vt();nr();HL="launchMainService",ph=L(HL),Hl=class{constructor(r,e,t,n,o){this.logService=r;this.windowsMainService=e;this.urlService=t;this.configurationService=n;this.productService=o;this._onDidRequestShareSecrets=new b;this.onDidRequestShareSecrets=this._onDidRequestShareSecrets.event}async start(r,e){if(this.logService.trace("Received data from other instance: ",r,e),r["share-secrets-with-agents-app"]){this.logService.info("Received --share-secrets-with-agents-app from second instance"),this._onDidRequestShareSecrets.fire();return}N&&VL.focus({steal:!0});let t=this.parseOpenUrl(r);if(t.length){let n=Promise.resolve();if(this.windowsMainService.getWindowCount()===0){let o=(await this.windowsMainService.openEmptyWindow({context:4})).at(0);o&&(n=o.ready())}n.then(()=>{for(let{uri:o,originalUrl:s}of t)this.urlService.open(o,{originalUrl:s})})}else return this.startOpenWindow(r,e)}parseOpenUrl(r){return r["open-url"]&&r._urls&&r._urls.length>0?at(r._urls.map(e=>{try{return{uri:P.parse(e),originalUrl:e}}catch{return null}})):[]}async startOpenWindow(r,e){let t=si(e)?0:4,n=[],o=r.wait&&r.waitMarkerFilePath?P.file(r.waitMarkerFilePath):void 0,s=r.remote||void 0,a={context:t,cli:r,userEnv:r["preserve-env"]||t===0?e:void 0,waitMarkerFileURI:o,remoteAuthority:s,forceProfile:r.profile,forceTempProfile:r["profile-temp"]};if(r.extensionDevelopmentPath)await this.windowsMainService.openExtensionDevelopmentHostWindow(r.extensionDevelopmentPath,a);else if(r.agents&&this.productService.quality!=="stable")n=await this.windowsMainService.openAgentsWindow(a);else if(!r._.length&&!r["folder-uri"]&&!r["file-uri"]){let l=!1;if(r["new-window"]||a.forceProfile||a.forceTempProfile)l=!0;else if(r["reuse-window"])l=!1;else switch(this.configurationService.getValue("window")?.openWithoutArgumentsInNewWindow||"default"){case"on":l=!0;break;case"off":l=!1;break;default:l=!N}if(l)n=await this.windowsMainService.open({...a,forceNewWindow:!0,forceEmpty:!0});else{let c=this.windowsMainService.getLastActiveWindow();c?(this.windowsMainService.openExistingWindow(c,a),n=[c]):n=await this.windowsMainService.open({...a,forceEmpty:!0})}}else n=await this.windowsMainService.open({...a,forceNewWindow:r["new-window"],preferNewWindow:!r["reuse-window"]&&!r.wait,forceReuseWindow:r["reuse-window"],diffMode:r.diff,mergeMode:r.merge,addMode:r.add,removeMode:r.remove,noRecentEntry:!!r["skip-add-to-recently-opened"],gotoLineMode:r.goto});if(o&&n.length===1&&n[0])return Promise.race([n[0].whenClosedOrLoaded,y1(o.fsPath)]).then(()=>{},()=>{})}async getMainProcessId(){return this.logService.trace("Received request for process ID from other instance."),process.pid}};Hl=E([g(0,U),g(1,Ke),g(2,Vl),g(3,fe),g(4,De)],Hl)});function $I(i){return i.submenu!==void 0}function qI(i){return i.id==="vscode.menubar.separator"}function KI(i){return i.uri!==void 0}function FE(i){return!$I(i)&&!qI(i)&&!KI(i)}var WE=I(()=>{});var se,ps,vo=I(()=>{Le();ee();se={Uninitialized:{type:"uninitialized"},Disabled:i=>({type:"disabled",reason:i}),Idle:(i,r,e)=>({type:"idle",updateType:i,error:r,notAvailable:e}),CheckingForUpdates:i=>({type:"checking for updates",explicit:i}),AvailableForDownload:(i,r)=>({type:"available for download",update:i,canInstall:r}),Downloading:(i,r,e,t,n,o)=>({type:"downloading",update:i,explicit:r,overwrite:e,downloadedBytes:t,totalBytes:n,startTime:o}),Downloaded:(i,r,e)=>({type:"downloaded",update:i,explicit:r,overwrite:e}),Updating:(i,r,e,t)=>({type:"updating",update:i,explicit:r,currentProgress:e,maxProgress:t}),Ready:(i,r,e)=>({type:"ready",update:i,explicit:r,overwrite:e}),Overwriting:(i,r)=>({type:"overwriting",update:i,explicit:r}),Restarting:i=>({type:"restarting",update:i})},ps=L("updateService")});import{app as na}from"electron";var fs,Ir,ju=I(()=>{zt();ge();z();ro();$();qe();Z();wt();le();rr();Ee();ee();Et();re();_i();Mi();Cm();Tr();ts();xr();Gs();Dt();fs=L("workspacesHistoryMainService"),Ir=class extends T{constructor(e,t,n,o,s,a){super();this.logService=e;this.workspacesManagementMainService=t;this.lifecycleMainService=n;this.applicationStorageMainService=o;this.dialogMainService=s;this.environmentMainService=a;this._onDidChangeRecentlyOpened=this._register(new b);this.onDidChangeRecentlyOpened=this._onDidChangeRecentlyOpened.event;this.macOSRecentDocumentsUpdater=this._register(new Pr(800));this.registerListeners()}static{this.MAX_TOTAL_RECENT_ENTRIES=500}static{this.RECENTLY_OPENED_STORAGE_KEY="history.recentlyOpenedPathsList"}registerListeners(){this.lifecycleMainService.when(4).then(()=>this.handleWindowsJumpList()),this._register(this.workspacesManagementMainService.onDidEnterWorkspace(e=>this.addRecentlyOpened([{workspace:e.workspace,remoteAuthority:e.window.remoteAuthority}])))}async addRecentlyOpened(e){let t=[],n=[];for(let s of e)if(Em(s))!this.workspacesManagementMainService.isUntitledWorkspace(s.workspace)&&!this.containsWorkspace(t,s.workspace)&&t.push(s);else if(Pu(s))this.containsFolder(t,s.folderUri)||t.push(s);else{let a=this.containsFile(n,s.fileUri),l=s.fileUri.scheme===W.file&&Ir.COMMON_FILES_FILTER.indexOf($r(s.fileUri))>=0;!a&&!l&&(n.push(s),F&&s.fileUri.scheme===W.file&&!this.environmentMainService.isPortable&&!process.isEmbeddedApp&&na.addRecentDocument(s.fileUri.fsPath))}let o=await this.mergeEntriesFromStorage({workspaces:t,files:n});t=o.workspaces,n=o.files,t.length>Ir.MAX_TOTAL_RECENT_ENTRIES&&(t.length=Ir.MAX_TOTAL_RECENT_ENTRIES),n.length>Ir.MAX_TOTAL_RECENT_ENTRIES&&(n.length=Ir.MAX_TOTAL_RECENT_ENTRIES),await this.saveRecentlyOpened({workspaces:t,files:n}),this._onDidChangeRecentlyOpened.fire(),N&&!this.environmentMainService.isPortable&&this.macOSRecentDocumentsUpdater.trigger(()=>this.updateMacOSRecentDocuments())}async removeRecentlyOpened(e){let t=a=>{let l=this.location(a);for(let c of e)if(Ge.isEqual(c,l))return!1;return!0},n=await this.getRecentlyOpened(),o=n.workspaces.filter(t),s=n.files.filter(t);(o.length!==n.workspaces.length||s.length!==n.files.length)&&(await this.saveRecentlyOpened({files:s,workspaces:o}),this._onDidChangeRecentlyOpened.fire(),N&&!this.environmentMainService.isPortable&&this.macOSRecentDocumentsUpdater.trigger(()=>this.updateMacOSRecentDocuments()))}async clearRecentlyOpened(e){if(e?.confirm){let{response:t}=await this.dialogMainService.showMessageBox({type:"warning",buttons:[h(2828,null),h(2827,null)],message:h(2830,null),detail:h(2829,null),cancelId:1});if(t!==0)return}await this.saveRecentlyOpened({workspaces:[],files:[]}),this.environmentMainService.isPortable||na.clearRecentDocuments(),this._onDidChangeRecentlyOpened.fire()}async getRecentlyOpened(){return this.mergeEntriesFromStorage()}async mergeEntriesFromStorage(e){let t=new mt(s=>Ge.getComparisonKey(s));if(e?.workspaces)for(let s of e.workspaces)t.set(this.location(s),s);let n=new mt(s=>Ge.getComparisonKey(s));if(e?.files)for(let s of e.files)n.set(this.location(s),s);let o=await this.getRecentlyOpenedFromStorage();for(let s of o.workspaces){let a=t.get(this.location(s));a?a.label=a.label??s.label:t.set(this.location(s),s)}for(let s of o.files){let a=n.get(this.location(s));a?a.label=a.label??s.label:n.set(this.location(s),s)}return{workspaces:[...t.values()],files:[...n.values()]}}async getRecentlyOpenedFromStorage(){await this.applicationStorageMainService.whenReady;let e,t=this.applicationStorageMainService.get(Ir.RECENTLY_OPENED_STORAGE_KEY,-1);if(typeof t=="string")try{e=JSON.parse(t)}catch(n){this.logService.error("Unexpected error parsing opened paths list",n)}return UP(e,this.logService)}async saveRecentlyOpened(e){await this.applicationStorageMainService.whenReady,this.applicationStorageMainService.store(Ir.RECENTLY_OPENED_STORAGE_KEY,JSON.stringify(NP(e)),-1,1)}location(e){return Pu(e)?e.folderUri:AP(e)?e.fileUri:e.workspace.configPath}containsWorkspace(e,t){return!!e.find(n=>Em(n)&&n.workspace.id===t.id)}containsFolder(e,t){return!!e.find(n=>Pu(n)&&Ge.isEqual(n.folderUri,t))}containsFile(e,t){return!!e.find(n=>Ge.isEqual(n.fileUri,t))}static{this.MAX_MACOS_DOCK_RECENT_WORKSPACES=7}static{this.MAX_MACOS_DOCK_RECENT_ENTRIES_TOTAL=10}static{this.MAX_WINDOWS_JUMP_LIST_ENTRIES=7}static{this.COMMON_FILES_FILTER=["COMMIT_EDITMSG","MERGE_MSG","git-rebase-todo"]}async handleWindowsJumpList(){F&&(this.environmentMainService.isPortable||process.isEmbeddedApp||(await this.updateWindowsJumpList(),this._register(this.onDidChangeRecentlyOpened(()=>this.updateWindowsJumpList()))))}async updateWindowsJumpList(){if(!F)return;let e=[];if(e.push({type:"tasks",items:[{type:"task",title:h(2831,null),description:h(2832,null),program:process.execPath,args:"-n",iconPath:process.execPath,iconIndex:0}]}),(await this.getRecentlyOpened()).workspaces.length>0){let t=[];for(let s of na.getJumpListSettings().removedItems){let a=s.args;if(a){let l=/^--(folder|file)-uri\s+"([^"]+)"$/.exec(a);l&&t.push(P.parse(l[2]))}}await this.removeRecentlyOpened(t);let n=!1,o=at((await this.getRecentlyOpened()).workspaces.slice(0,Ir.MAX_WINDOWS_JUMP_LIST_ENTRIES).map(s=>{let a=Em(s)?s.workspace:s.folderUri,{title:l,description:c}=this.getWindowsJumpListLabel(a,s.label),d;return P.isUri(a)?d=`--folder-uri "${a.toString()}"`:(n=!0,d=`--file-uri "${a.configPath.toString()}"`),{type:"task",title:l.substr(0,255),description:c.substr(0,255),program:process.execPath,args:d,iconPath:"explorer.exe",iconIndex:0}}));o.length>0&&e.push({type:"custom",name:n?h(2834,null):h(2833,null),items:o})}e.push({type:"recent"});try{let t=na.setJumpList(e);t&&t!=="ok"&&this.logService.warn(`updateWindowsJumpList#setJumpList unexpected result: ${t}`)}catch(t){this.logService.warn("updateWindowsJumpList#setJumpList",t)}}getWindowsJumpListLabel(e,t){if(t)return{title:K1(t).name,description:t};if(P.isUri(e))return{title:$r(e),description:this.renderJumpListPathDescription(e)};if(this.workspacesManagementMainService.isUntitledWorkspace(e))return{title:h(2835,null),description:""};let n=$r(e.configPath);return n.endsWith(iu)&&(n=n.substr(0,n.length-iu.length-1)),{title:h(2836,null,n),description:this.renderJumpListPathDescription(e.configPath)}}renderJumpListPathDescription(e){return e.scheme==="file"?Sd(e.fsPath):e.toString()}async updateMacOSRecentDocuments(){if(!N||process.isEmbeddedApp)return;na.clearRecentDocuments();let e=await this.getRecentlyOpened(),t=[],n=0;for(let s=0;s<e.workspaces.length&&n<Ir.MAX_MACOS_DOCK_RECENT_WORKSPACES;s++){let a=this.location(e.workspaces[s]);if(a.scheme===W.file){let l=hr(a);await Q.exists(l)&&(t.push(l),n++)}}let o=[];for(let s=0;s<e.files.length&&n<Ir.MAX_MACOS_DOCK_RECENT_ENTRIES_TOTAL;s++){let a=this.location(e.files[s]);if(a.scheme===W.file){let l=hr(a);if(Ir.COMMON_FILES_FILTER.includes($r(a))||t.includes(l))continue;await Q.exists(l)&&(o.push(l),n++)}}o.reverse().forEach(s=>na.addRecentDocument(s)),t.reverse().forEach(s=>na.addRecentDocument(s))}};Ir=E([g(0,U),g(1,pn),g(2,ye),g(3,yr),g(4,Sn),g(5,Te)],Ir)});import{app as $L,BrowserWindow as fh,Menu as Xt,MenuItem as Qe}from"electron";function yo(){return new Qe({type:"separator"})}var mh,Io,UE=I(()=>{ge();It();ro();Z();le();Ee();Tl();it();Dt();Et();re();WE();Rl();nr();bn();ir();vo();jo();Vt();ju();$();mh="menu",Io=class extends T{constructor(e,t,n,o,s,a,l,c,d,u,f,m){super();this.updateService=e;this.configurationService=t;this.windowsMainService=n;this.environmentMainService=o;this.telemetryService=s;this.workspacesHistoryMainService=a;this.stateService=l;this.lifecycleMainService=c;this.logService=d;this.nativeHostMainService=u;this.productService=f;this.auxiliaryWindowsMainService=m;this.fallbackMenuHandlers=Object.create(null);this.menuUpdater=this._register(new gr(()=>this.doUpdateMenu(),0)),this.menuGC=this._register(new gr(()=>{this.oldMenus=[]},1e4)),this.menubarMenus=Object.create(null),this.keybindings=Object.create(null),this.showNativeMenu=fy(t),(N||this.showNativeMenu)&&this.restoreCachedMenubarData(),this.addFallbackHandlers(),this.closedLastWindow=!1,this.noActiveMainWindow=!1,this.oldMenus=[],this.install(),this.registerListeners()}static{this.lastKnownMenubarStorageKey="lastKnownMenubarData"}restoreCachedMenubarData(){let e=this.stateService.getItem(Io.lastKnownMenubarStorageKey);e&&(e.menus&&(this.menubarMenus=e.menus),e.keybindings&&(this.keybindings=e.keybindings))}addFallbackHandlers(){this.fallbackMenuHandlers["workbench.action.files.newUntitledFile"]=(a,l,c)=>{this.runActionInRenderer({type:"commandId",commandId:"workbench.action.files.newUntitledFile"})||this.windowsMainService.openEmptyWindow({context:2,contextWindowId:l?.id})},this.fallbackMenuHandlers["workbench.action.newWindow"]=(a,l,c)=>this.windowsMainService.openEmptyWindow({context:2,contextWindowId:l?.id}),this.fallbackMenuHandlers["workbench.action.files.openFileFolder"]=(a,l,c)=>this.nativeHostMainService.pickFileFolderAndOpen(void 0,{forceNewWindow:this.isOptionClick(c),telemetryExtraData:{from:mh}}),this.fallbackMenuHandlers["workbench.action.files.openFolder"]=(a,l,c)=>this.nativeHostMainService.pickFolderAndOpen(void 0,{forceNewWindow:this.isOptionClick(c),telemetryExtraData:{from:mh}}),this.fallbackMenuHandlers["workbench.action.openWorkspace"]=(a,l,c)=>this.nativeHostMainService.pickWorkspaceAndOpen(void 0,{forceNewWindow:this.isOptionClick(c),telemetryExtraData:{from:mh}}),this.fallbackMenuHandlers["workbench.action.clearRecentFiles"]=()=>this.workspacesHistoryMainService.clearRecentlyOpened({confirm:!0});let e=this.productService.youTubeUrl;e&&(this.fallbackMenuHandlers["workbench.action.openYouTubeUrl"]=()=>this.openUrl(e,"openYouTubeUrl"));let t=this.productService.requestFeatureUrl;t&&(this.fallbackMenuHandlers["workbench.action.openRequestFeatureUrl"]=()=>this.openUrl(t,"openUserVoiceUrl"));let n=this.productService.reportIssueUrl;n&&(this.fallbackMenuHandlers["workbench.action.openIssueReporter"]=()=>this.openUrl(n,"openReportIssues"));let o=this.productService.licenseUrl;o&&(this.fallbackMenuHandlers["workbench.action.openLicenseUrl"]=()=>{if(vn){let a=o.indexOf("?")>0?"&":"?";this.openUrl(`${o}${a}lang=${vn}`,"openLicenseUrl")}else this.openUrl(o,"openLicenseUrl")});let s=this.productService.privacyStatementUrl;s&&o&&(this.fallbackMenuHandlers["workbench.action.openPrivacyStatementUrl"]=()=>{this.openUrl(s,"openPrivacyStatement")})}registerListeners(){this._register(this.lifecycleMainService.onWillShutdown(()=>this.willShutdown=!0)),this._register(this.windowsMainService.onDidChangeWindowsCount(e=>this.onDidChangeWindowsCount(e))),this._register(this.nativeHostMainService.onDidBlurMainWindow(()=>this.onDidChangeWindowFocus())),this._register(this.nativeHostMainService.onDidFocusMainWindow(()=>this.onDidChangeWindowFocus()))}get currentEnableMenuBarMnemonics(){let e=this.configurationService.getValue("window.enableMenuBarMnemonics");return typeof e!="boolean"?!0:e}get currentEnableNativeTabs(){if(!N)return!1;let e=this.configurationService.getValue("window.nativeTabs");return typeof e!="boolean"?!1:e}updateMenu(e,t){this.menubarMenus=e.menus,this.keybindings=e.keybindings,this.stateService.setItem(Io.lastKnownMenubarStorageKey,e),this.scheduleUpdateMenu()}scheduleUpdateMenu(){this.menuUpdater.schedule()}doUpdateMenu(){this.willShutdown||setTimeout(()=>{this.willShutdown||this.install()},10)}onDidChangeWindowsCount(e){N&&(e.oldCount===0&&e.newCount>0||e.oldCount>0&&e.newCount===0)&&(this.closedLastWindow=e.newCount===0,this.scheduleUpdateMenu())}onDidChangeWindowFocus(){if(!N)return;let e=fh.getFocusedWindow();this.noActiveMainWindow=!e||!!this.auxiliaryWindowsMainService.getWindowByWebContents(e.webContents),this.scheduleUpdateMenu()}install(){let e=Xt.getApplicationMenu();if(e&&this.oldMenus.push(e),Object.keys(this.menubarMenus).length===0){this.doSetApplicationMenu(N?new Xt:null);return}let t=new Xt,n;if(N){let s=new Xt;n=new Qe({label:this.productService.nameShort,submenu:s}),this.setMacApplicationMenu(s),t.append(n)}if(N&&!this.appMenuInstalled){this.appMenuInstalled=!0;let s=new Xt;s.append(new Qe({label:this.mnemonicLabel(h(2274,null)),click:()=>this.windowsMainService.openEmptyWindow({context:1})})),$L.dock.setMenu(s)}if(this.shouldDrawMenu("File")){let s=new Xt,a=new Qe({label:this.mnemonicLabel(h(2263,null)),submenu:s});this.setMenuById(s,"File"),t.append(a)}if(this.shouldDrawMenu("Edit")){let s=new Xt,a=new Qe({label:this.mnemonicLabel(h(2262,null)),submenu:s});this.setMenuById(s,"Edit"),t.append(a)}if(this.shouldDrawMenu("Selection")){let s=new Xt,a=new Qe({label:this.mnemonicLabel(h(2284,null)),submenu:s});this.setMenuById(s,"Selection"),t.append(a)}if(this.shouldDrawMenu("View")){let s=new Xt,a=new Qe({label:this.mnemonicLabel(h(2290,null)),submenu:s});this.setMenuById(s,"View"),t.append(a)}if(this.shouldDrawMenu("Go")){let s=new Xt,a=new Qe({label:this.mnemonicLabel(h(2264,null)),submenu:s});this.setMenuById(s,"Go"),t.append(a)}if(this.shouldDrawMenu("Run")){let s=new Xt,a=new Qe({label:this.mnemonicLabel(h(2283,null)),submenu:s});this.setMenuById(s,"Run"),t.append(a)}if(this.shouldDrawMenu("Terminal")){let s=new Xt,a=new Qe({label:this.mnemonicLabel(h(2289,null)),submenu:s});this.setMenuById(s,"Terminal"),t.append(a)}let o;if(this.shouldDrawMenu("Window")){let s=new Xt;o=new Qe({label:this.mnemonicLabel(h(2291,null)),submenu:s,role:"window"}),this.setMacWindowMenu(s)}if(o&&t.append(o),this.shouldDrawMenu("Help")){let s=new Xt,a=new Qe({label:this.mnemonicLabel(h(2265,null)),submenu:s,role:"help"});this.setMenuById(s,"Help"),t.append(a)}t.items&&t.items.length>0?this.doSetApplicationMenu(t):this.doSetApplicationMenu(null),this.menuGC.schedule()}doSetApplicationMenu(e){if(Xt.setApplicationMenu(e),e)for(let t of this.auxiliaryWindowsMainService.getWindows())t.win?.setMenu(null)}setMacApplicationMenu(e){let t=this.createMenuItem(h(2260,null,this.productService.nameLong),"workbench.action.showAboutDialog"),n=this.getUpdateMenuItems(),o;if(this.shouldDrawMenu("Preferences")){let m=new Xt;this.setMenuById(m,"Preferences"),o=new Qe({label:this.mnemonicLabel(h(2275,null)),submenu:m})}let s=new Xt,a=new Qe({label:h(2285,null),role:"services",submenu:s}),l=new Qe({label:h(2266,null,this.productService.nameLong),role:"hide",accelerator:"Command+H"}),c=new Qe({label:h(2267,null),role:"hideOthers",accelerator:"Command+Alt+H"}),d=new Qe({label:h(2286,null),role:"unhide"}),u=new Qe(this.likeAction("workbench.action.quit",{label:h(2276,null,this.productService.nameLong),click:async(m,y,v)=>{let C=this.windowsMainService.getLastActiveWindow();(this.windowsMainService.getWindowCount()===0||fh.getFocusedWindow()||C?.win?.isMinimized())&&await this.confirmBeforeQuit(v)&&this.nativeHostMainService.quit(void 0)}})),f=[t];f.push(...n),o&&f.push(yo(),o),f.push(yo(),a,yo(),l,c,d,yo(),u),f.forEach(m=>e.append(m))}async confirmBeforeQuit(e){if(this.windowsMainService.getWindowCount()===0)return!0;let t=this.configurationService.getValue("window.confirmBeforeClose");if(t==="always"||t==="keyboardOnly"&&this.isKeyboardEvent(e)){let{response:n}=await this.nativeHostMainService.showMessageBox(this.windowsMainService.getFocusedWindow()?.id,{type:"question",buttons:[N?h(2293,null):h(2259,null),h(2258,null)],message:N?h(2295,null):h(2294,null)});return n===0}return!0}shouldDrawMenu(e){if(!N&&!this.showNativeMenu)return!1;switch(e){case"File":case"Help":if(N)return this.windowsMainService.getWindowCount()===0&&this.closedLastWindow||this.windowsMainService.getWindowCount()>0&&this.noActiveMainWindow||!!this.menubarMenus&&!!this.menubarMenus[e];case"Window":if(N)return this.windowsMainService.getWindowCount()===0&&this.closedLastWindow||this.windowsMainService.getWindowCount()>0&&this.noActiveMainWindow||!!this.menubarMenus;default:return this.windowsMainService.getWindowCount()>0&&!!this.menubarMenus&&!!this.menubarMenus[e]}}setMenu(e,t){t.forEach(n=>{if(qI(n))e.append(yo());else if($I(n)){let o=new Xt,s=new Qe({label:this.mnemonicLabel(n.label),submenu:o});this.setMenu(o,n.submenu.items),e.append(s)}else KI(n)?e.append(this.createOpenRecentMenuItem(n)):FE(n)&&(n.id==="workbench.action.showAboutDialog"&&this.insertCheckForUpdatesItems(e),N?this.windowsMainService.getWindowCount()===0&&this.closedLastWindow||this.windowsMainService.getWindowCount()>0&&this.noActiveMainWindow?this.fallbackMenuHandlers[n.id]?e.append(new Qe(this.likeAction(n.id,{label:this.mnemonicLabel(n.label),click:this.fallbackMenuHandlers[n.id]}))):e.append(this.createMenuItem(n.label,n.id,!1,n.checked)):e.append(this.createMenuItem(n.label,n.id,n.enabled!==!1,!!n.checked)):e.append(this.createMenuItem(n.label,n.id,n.enabled!==!1,!!n.checked)))})}setMenuById(e,t){this.menubarMenus?.[t]&&this.setMenu(e,this.menubarMenus[t].items)}insertCheckForUpdatesItems(e){let t=this.getUpdateMenuItems();t.length&&(t.forEach(n=>e.append(n)),e.append(yo()))}createOpenRecentMenuItem(e){let t=P.revive(e.uri),n=e.id,o=n==="openRecentFile"?{fileUri:t}:n==="openRecentWorkspace"?{workspaceUri:t}:{folderUri:t};return new Qe(this.likeAction(n,{label:e.label,click:async(s,a,l)=>{let c=this.isOptionClick(l);(await this.windowsMainService.open({context:2,cli:this.environmentMainService.args,urisToOpen:[o],forceNewWindow:c,gotoLineMode:!1,remoteAuthority:e.remoteAuthority})).length>0||await this.workspacesHistoryMainService.removeRecentlyOpened([t])}},!1))}isOptionClick(e){return!!(e&&(!N&&(e.ctrlKey||e.shiftKey)||N&&(e.metaKey||e.altKey)))}isKeyboardEvent(e){return!!(e.triggeredByAccelerator||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)}createRoleMenuItem(e,t,n){let o={label:this.mnemonicLabel(e),role:n,enabled:!0};return new Qe(this.withKeybinding(t,o))}setMacWindowMenu(e){let t=new Qe({label:h(2280,null),role:"minimize",accelerator:"Command+M",enabled:this.windowsMainService.getWindowCount()>0}),n=new Qe({label:h(2292,null),role:"zoom",enabled:this.windowsMainService.getWindowCount()>0}),o=new Qe({label:h(2261,null),role:"front",enabled:this.windowsMainService.getWindowCount()>0}),s=this.createMenuItem(h(2278,null),"workbench.action.switchWindow"),a=[];this.currentEnableNativeTabs&&(a.push(yo()),a.push(this.createMenuItem(h(2282,null),"workbench.action.newWindowTab")),a.push(this.createRoleMenuItem(h(2288,null),"workbench.action.showPreviousWindowTab","selectPreviousTab")),a.push(this.createRoleMenuItem(h(2287,null),"workbench.action.showNextWindowTab","selectNextTab")),a.push(this.createRoleMenuItem(h(2281,null),"workbench.action.moveWindowTabToNewWindow","moveTabToNewWindow")),a.push(this.createRoleMenuItem(h(2279,null),"workbench.action.mergeAllWindowTabs","mergeAllWindows"))),[t,n,yo(),s,...a,yo(),o].forEach(l=>e.append(l))}getUpdateMenuItems(){switch(this.updateService.state.type){case"idle":return[new Qe({label:this.mnemonicLabel(h(2268,null)),click:()=>setTimeout(()=>{this.reportMenuActionTelemetry("CheckForUpdate"),this.updateService.checkForUpdates(!0)},0)})];case"checking for updates":return[new Qe({label:h(2269,null),enabled:!1})];case"available for download":return[new Qe({label:this.mnemonicLabel(h(2271,null)),click:()=>{this.updateService.downloadUpdate(!0)}})];case"downloading":case"overwriting":return[new Qe({label:h(2270,null),enabled:!1})];case"downloaded":return N?[]:[new Qe({label:this.mnemonicLabel(h(2273,null)),click:()=>{this.reportMenuActionTelemetry("InstallUpdate"),this.updateService.applyUpdate()}})];case"updating":return[new Qe({label:h(2272,null),enabled:!1})];case"ready":return[new Qe({label:this.mnemonicLabel(h(2277,null)),click:()=>{this.reportMenuActionTelemetry("RestartToUpdate"),this.updateService.quitAndInstall()}})];default:return[]}}createMenuItem(e,t,n,o){let s=this.mnemonicLabel(e),a=(u,f,m)=>{let y=u?u.userSettingsLabel:null;y&&m.triggeredByAccelerator?this.runActionInRenderer({type:"keybinding",userSettingsLabel:y}):this.runActionInRenderer({type:"commandId",commandId:t})},l=typeof n=="boolean"?n:this.windowsMainService.getWindowCount()>0,c=typeof o=="boolean"?o:!1,d={label:s,click:a,enabled:l};return c&&(d.type="checkbox",d.checked=c),N&&(t==="editor.action.clipboardCutAction"?d.role="cut":t==="editor.action.clipboardCopyAction"?d.role="copy":t==="editor.action.clipboardPasteAction"&&(d.role="paste"),t==="undo"?d.click=this.makeContextAwareClickHandler(a,{inDevTools:u=>u.undo(),inNoWindow:()=>Xt.sendActionToFirstResponder("undo:")}):t==="redo"?d.click=this.makeContextAwareClickHandler(a,{inDevTools:u=>u.redo(),inNoWindow:()=>Xt.sendActionToFirstResponder("redo:")}):t==="editor.action.selectAll"&&(d.click=this.makeContextAwareClickHandler(a,{inDevTools:u=>u.selectAll(),inNoWindow:()=>Xt.sendActionToFirstResponder("selectAll:")}))),new Qe(this.withKeybinding(t,d))}makeContextAwareClickHandler(e,t){return(n,o,s)=>{let a=fh.getFocusedWindow();if(!a)return t.inNoWindow();if(a.webContents.isDevToolsFocused()&&a.webContents.devToolsWebContents)return t.inDevTools(a.webContents.devToolsWebContents);if(!a.webContents.isFocused())return t.inNoWindow();e(n,o||a,s)}}runActionInRenderer(e){let t=fh.getFocusedWindow();if(t){let o=this.auxiliaryWindowsMainService.getWindowByWebContents(t.webContents);o&&(t=this.windowsMainService.getWindowById(o.parentId)?.win??null)}if(!t){let o=this.windowsMainService.getLastActiveWindow();o?.win?.isMinimized()&&(t=o.win)}let n=t?this.windowsMainService.getWindowById(t.id):void 0;if(n){if(this.logService.trace("menubar#runActionInRenderer",e),N&&!this.environmentMainService.isBuilt&&!n.isReady&&(e.type==="commandId"&&e.commandId==="workbench.action.toggleDevTools"||e.type!=="commandId"&&e.userSettingsLabel==="alt+cmd+i"))return!1;if(e.type==="commandId"){let o={id:e.commandId,from:"menu"};n.sendWhenReady("vscode:runAction",xe.None,o)}else{let o={userSettingsLabel:e.userSettingsLabel};n.sendWhenReady("vscode:runKeybinding",xe.None,o)}return!0}else return this.logService.trace("menubar#runActionInRenderer: no active window found",e),!1}withKeybinding(e,t){let n=typeof e=="string"?this.keybindings[e]:void 0;if(n?.label){if(n.isNative!==!1)t.accelerator=n.label,t.userSettingsLabel=n.userSettingsLabel;else if(typeof t.label=="string"){let o=t.label.indexOf("[");o>=0?t.label=`${t.label.substr(0,o)} [${n.label}]`:t.label=`${t.label} [${n.label}]`}}else t.accelerator=void 0;return t}likeAction(e,t,n=!t.accelerator){n&&(t=this.withKeybinding(e,t));let o=t.click;return t.click=(s,a,l)=>{this.reportMenuActionTelemetry(e),o?.(s,a,l)},t}openUrl(e,t){this.nativeHostMainService.openExternal(void 0,e),this.reportMenuActionTelemetry(t)}reportMenuActionTelemetry(e){this.telemetryService.publicLog2("workbenchActionExecuted",{id:e,from:mh})}mnemonicLabel(e){return q1(e,!this.currentEnableMenuBarMnemonics)}};Io=E([g(0,ps),g(1,fe),g(2,Ke),g(3,Te),g(4,Je),g(5,fs),g(6,Pt),g(7,ye),g(8,U),g(9,On),g(10,De),g(11,ni)],Io)});var zI,$l,NE=I(()=>{ee();Et();re();UE();$();zI=L("menubarMainService"),$l=class extends T{constructor(e,t,n){super();this.instantiationService=e;this.lifecycleMainService=t;this.logService=n;this.menubar=this.installMenuBarAfterWindowOpen()}async installMenuBarAfterWindowOpen(){return await this.lifecycleMainService.when(3),this._register(this.instantiationService.createInstance(Io))}async updateMenubar(e,t){this.logService.trace("menubarService#updateMenubar",e),(await this.menubar).updateMenu(t,e)}};$l=E([g(0,Nt),g(1,ye),g(2,U)],$l)});var Gr,jI,gh,ms=I(()=>{z();$();ee();Gr=L("meteredConnectionService"),jI="network.meteredConnection",gh=class extends T{constructor(e,t){super();this._onDidChangeIsConnectionMetered=this._register(new b);this.onDidChangeIsConnectionMetered=this._onDidChangeIsConnectionMetered.event;this._isBrowserConnectionMetered=t,this._meteredConnectionSetting=e.getValue(jI),this._isConnectionMetered=this._meteredConnectionSetting==="on"||this._meteredConnectionSetting!=="off"&&this._isBrowserConnectionMetered,this._register(e.onDidChangeConfiguration(n=>{if(n.affectsConfiguration(jI)){let o=e.getValue(jI);o!==this._meteredConnectionSetting&&(this._meteredConnectionSetting=o,this.onUpdated())}}))}get isConnectionMetered(){return this._isConnectionMetered}get isBrowserConnectionMetered(){return this._isBrowserConnectionMetered}setIsBrowserConnectionMetered(e){e!==this._isBrowserConnectionMetered&&(this._isBrowserConnectionMetered=e,this.onChangeBrowserConnection())}onChangeBrowserConnection(){this.onUpdated()}onUpdated(){let e=this._meteredConnectionSetting==="on"||this._meteredConnectionSetting!=="off"&&this._isBrowserConnectionMetered;e!==this._isConnectionMetered&&(this._isConnectionMetered=e,this.onChangeIsConnectionMetered())}onChangeIsConnectionMetered(){this._onDidChangeIsConnectionMetered.fire(this._isConnectionMetered)}}});var GI,JI=I(()=>{z();$();GI="meteredConnection"});var vh,BE=I(()=>{JI();vh=class{constructor(r){this.service=r}listen(r,e){if(e==="OnDidChangeIsConnectionMetered")return this.service.onDidChangeIsConnectionMetered;throw new Error(`Event not found: ${e}`)}async call(r,e,t){switch(e){case"IsConnectionMetered":return this.service.isConnectionMetered;case"SetIsBrowserConnectionMetered":this.service.setIsBrowserConnectionMetered(t);break;default:throw new Error(`Call not found: ${e}`)}}}});var ql,VE=I(()=>{it();ms();ql=class extends gh{constructor(r){super(r,!1)}setTelemetryService(r){this.telemetryService=r}onChangeBrowserConnection(){let r=this.isBrowserConnectionMetered;r||super.onChangeBrowserConnection(),this.telemetryService?.publicLog2("meteredConnectionStateChange",{connectionState:this.isBrowserConnectionMetered}),r&&super.onChangeBrowserConnection()}};ql=E([g(0,fe)],ql)});var Fn,ia,Kl,li=I(()=>{z();rd();$();ee();Fn=L("policy"),ia=class extends T{constructor(){super(...arguments);this.policyDefinitions={};this.policies=new Map;this._onDidChange=this._register(new b);this.onDidChange=this._onDidChange.event}async updatePolicyDefinitions(e){let t=Object.keys(this.policyDefinitions).length;return this.policyDefinitions={...e,...this.policyDefinitions},t!==Object.keys(this.policyDefinitions).length&&await this._updatePolicyDefinitions(this.policyDefinitions),yi.reduce(this.policies.entries(),(n,[o,s])=>({...n,[o]:s}),{})}getPolicyValue(e){return this.policies.get(e)}serialize(){return yi.reduce(Object.entries(this.policyDefinitions),(e,[t,n])=>({...e,[t]:{definition:n,value:this.policies.get(t)}}),{})}},Kl=class{constructor(){this.onDidChange=S.None;this.policyDefinitions={}}async updatePolicyDefinitions(){return{}}getPolicyValue(){}serialize(){}}});async function qL(i,r,e,t,n){try{let o=await import("@vscode/spdlog");o.setFlushOn(0);let s=await o.createAsyncRotatingLogger(i,r,e,t);return n?s.clearFormatters():s.setPattern("%Y-%m-%d %H:%M:%S.%e [%l] %v"),s}catch(o){console.error(o)}return null}function HE(i,r,e){switch(r){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 ${r}`)}}function $E(i,r){switch(r){case 1:i.setLevel(0);break;case 2:i.setLevel(1);break;case 3:i.setLevel(2);break;case 4:i.setLevel(3);break;case 5:i.setLevel(4);break;case 0:i.setLevel(6);break;default:throw new Error(`Invalid log level ${r}`)}}var yh,qE=I(()=>{ze();re();yh=class extends Vs{constructor(e,t,n,o,s){super();this.buffer=[];this.setLevel(s),this._loggerCreationPromise=this._createSpdLogLogger(e,t,n,o),this._register(this.onDidChangeLogLevel(a=>{this._logger&&$E(this._logger,a)}))}async _createSpdLogLogger(e,t,n,o){let s=n?6:1,a=30/s*Ci.MB,l=await qL(e,t,a,s,o);if(l){this._logger=l,$E(this._logger,this.getLevel());for(let{level:c,message:d}of this.buffer)HE(this._logger,c,d);this.buffer=[]}}log(e,t){this._logger?HE(this._logger,e,t):this.getLevel()<=e&&this.buffer.push({level:e,message:t})}flush(){this._logger?this.flushLogger():this._loggerCreationPromise.then(()=>this.flushLogger())}dispose(){this._logger?this.disposeLogger():this._loggerCreationPromise.then(()=>this.disposeLogger()),super.dispose()}flushLogger(){this._logger&&this._logger.flush()}disposeLogger(){this._logger&&(this._logger.drop(),this._logger=void 0)}}});var Ih,KE=I(()=>{Jt();re();qE();Ih=class extends Yd{doCreateLogger(r,e,t){return new yh(_e(),r.fsPath,!t?.donotRotate,!!t?.donotUseFormatters,e)}}});var ci,wh,zl=I(()=>{xr();z();ee();re();KE();ci=cn,wh=class extends Ih{constructor(){super(...arguments);this.loggerResourcesByWindow=new mt}createLogger(e,t,n){n!==void 0&&this.loggerResourcesByWindow.set(this.toResource(e),n);try{return super.createLogger(e,t)}catch(o){throw this.loggerResourcesByWindow.delete(this.toResource(e)),o}}registerLogger(e,t){t!==void 0&&this.loggerResourcesByWindow.set(e.resource,t),super.registerLogger(e)}deregisterLogger(e){this.loggerResourcesByWindow.delete(e),super.deregisterLogger(e)}getGlobalLoggers(){let e=[];for(let t of super.getRegisteredLoggers())this.loggerResourcesByWindow.has(t.resource)||e.push(t);return e}getOnDidChangeLogLevelEvent(e){return S.filter(this.onDidChangeLogLevel,t=>Zd(t)||this.isInterestedLoggerResource(t[0],e))}getOnDidChangeVisibilityEvent(e){return S.filter(this.onDidChangeVisibility,([t])=>this.isInterestedLoggerResource(t,e))}getOnDidChangeLoggersEvent(e){return S.filter(S.map(this.onDidChangeLoggers,t=>({added:[...t.added].filter(o=>this.isInterestedLoggerResource(o.resource,e)),removed:[...t.removed].filter(o=>this.isInterestedLoggerResource(o.resource,e))})),t=>t.added.length>0||t.removed.length>0)}deregisterLoggers(e){for(let[t,n]of this.loggerResourcesByWindow)n===e&&this.deregisterLogger(t)}isInterestedLoggerResource(e,t){let n=this.loggerResourcesByWindow.get(e);return n===void 0||n===t}dispose(){super.dispose(),this.loggerResourcesByWindow.clear()}}});function KL(i){if(qi===2&&/^penguin(\.|$)/i.test(i))return"chromebook"}function zE(i,r,e,t,n,o,s,a,l,c,d){let u=Object.create(null);u["common.machineId"]=o,u["common.sqmId"]=s,u["common.devDeviceId"]=a,u.sessionID=_e()+Date.now(),u.commitHash=t,u.version=n,u["common.releaseDate"]=c,u["common.platformVersion"]=(i||"").replace(/^(\d+)(\.\d+)?(\.\d+)?(.*)/,"$1$2$3"),u["common.platform"]=Tp(qi),u["common.nodePlatform"]=Rp,u["common.nodeArch"]=e,u["common.product"]=d||"desktop",l&&(u["common.msftInternal"]=l);let f=0,m=Date.now();Object.defineProperties(u,{timestamp:{get:()=>new Date,enumerable:!0},"common.timesincesessionstart":{get:()=>Date.now()-m,enumerable:!0},"common.sequence":{get:()=>f++,enumerable:!0}}),_p&&(u["common.snap"]="true");let y=KL(r);return y&&(u["common.platformDetail"]=y),u}function jE(i){let r=Zt.USERDNSDOMAIN;if(!r)return!1;let e=r.toLowerCase();return i.some(t=>e===t)}var QI=I(()=>{Z();Hn();Jt()});function bh(i,r){return!r.isBuilt&&!r.disableTelemetry?!0:!(r.disableTelemetry||!i.enableTelemetry)}function Gl(i){let r=i.getValue(dl),e=i.getValue(am);if(i.getValue(du)===!1||e===!1)return 0;switch(r??"all"){case"all":return 3;case"error":return 2;case"crash":return 1;case"off":return 0}}function GE(i,r){let e=i.msftInternalDomains||[],t=r.getValue("telemetry.internalTesting");return jE(e)||t}function JE(i){return[i.appRoot,i.extensionsPath,i.userHome.fsPath,i.tmpDir.fsPath,i.userDataPath]}function JL(i,r){if(!i||!i.includes("/")&&!i.includes("\\"))return i;let e=i,t=[];for(let l of r)for(;;){let c=l.exec(i);if(!c)break;t.push([c.index,l.lastIndex])}let n=/(?:^|[\\\/])((node_modules|node_modules\.asar)[\\\/].*)$/,o=/^(.*?)((?:\.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(!t.some(([d,u])=>l.index<u&&d<s.lastIndex)){let d=o.exec(l[0]);if(d)e+=i.substring(a,l.index)+"<REDACTED: user-file-path>/"+d[2];else{let u=n.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}function QL(i){if(!i)return i;let r=[{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,}/}];for(let e of r)if(e.regex.test(i))return`<REDACTED: ${e.label}>`;return i}function QE(i,r){return i?EP(i,e=>{if(e instanceof jl||Object.hasOwnProperty.call(e,"isTrustedTelemetryValue"))return e.value;if(typeof e=="string"){let t=e.replaceAll("%20"," ");t=JL(t,r);for(let n of r)t=t.replace(n,"");return t=QL(t),t}}):{}}var jl,XI,Wi,GL,Tne,wo=I(()=>{un();Le();Ee();Sl();QI();ir();jl=class{constructor(r){this.value=r;this.isTrustedTelemetryValue=!0}},XI=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(){}},Wi=new XI,GL="telemetry",Tne={id:GL,name:h(2405,null)}});var Sh,ZI,ew,XE=I(()=>{Sh={exit:"vscode:electron-main->shared-process=exit",ipcReady:"vscode:shared-process->electron-main=ipc-ready",initDone:"vscode:shared-process->electron-main=init-done"},ZI={request:"vscode:createSharedProcessChannelConnection",response:"vscode:createSharedProcessChannelConnectionResult"},ew={request:"vscode:createSharedProcessRawConnection",response:"vscode:createSharedProcessRawConnectionResult"}});var Jl,YE=I(()=>{Rn();ge();$();Dt();Et();re();ti();li();zl();ns();wo();Hd();Le();XE();z();Jl=class extends T{constructor(e,t,n,o,s,a,l,c,d){super();this.machineId=e;this.sqmId=t;this.devDeviceId=n;this.environmentMainService=o;this.userDataProfilesService=s;this.lifecycleMainService=a;this.logService=l;this.loggerMainService=c;this.policyService=d;this.firstWindowConnectionBarrier=new wi;this.utilityProcess=void 0;this.utilityProcessLogListener=void 0;this._onDidCrash=this._register(new b);this.onDidCrash=this._onDidCrash.event;this._whenReady=void 0;this._whenIpcReady=void 0;this.registerListeners()}registerListeners(){tt.on(ZI.request,(e,t)=>this.onWindowConnection(e,t,ZI.response)),tt.on(ew.request,(e,t)=>this.onWindowConnection(e,t,ew.response)),this._register(this.lifecycleMainService.onWillShutdown(()=>this.onWillShutdown()))}async onWindowConnection(e,t,n){this.logService.trace(`[SharedProcess] onWindowConnection for: ${n}`),this.firstWindowConnectionBarrier.isOpen()||this.firstWindowConnectionBarrier.open(),await this.whenReady();let o=await this.connect(n);if(e.sender.isDestroyed())return o.close();e.sender.postMessage(n,t,[o])}onWillShutdown(){this.logService.trace("[SharedProcess] onWillShutdown"),this.utilityProcess?.postMessage(Sh.exit),this.utilityProcess=void 0}whenReady(){return this._whenReady||(this._whenReady=(async()=>{await this.whenIpcReady;let e=new Gt;this.utilityProcess?.once(Sh.initDone,()=>e.complete()),await e.p,this.utilityProcessLogListener?.dispose(),this.logService.trace("[SharedProcess] Overall ready")})()),this._whenReady}get whenIpcReady(){return this._whenIpcReady||(this._whenIpcReady=(async()=>{await this.firstWindowConnectionBarrier.wait(),this.createUtilityProcess();let e=new Gt;this.utilityProcess?.once(Sh.ipcReady,()=>e.complete()),await e.p,this.logService.trace("[SharedProcess] IPC ready")})()),this._whenIpcReady}createUtilityProcess(){this.utilityProcess=this._register(new sr(this.logService,Wi,this.lifecycleMainService)),this.utilityProcessLogListener=this.utilityProcess.onMessage(n=>{let o=n;typeof o.warning=="string"?this.logService.warn(o.warning):typeof o.error=="string"&&this.logService.error(o.error)});let e=Fx(this.environmentMainService.args,this.environmentMainService.isBuilt),t;e.port&&(t=["--nolazy","--experimental-network-inspection"],e.break?t.push(`--inspect-brk=${e.port}`):t.push(`--inspect=${e.port}`)),this.utilityProcess.start({type:"shared-process",name:"shared-process",entryPoint:"vs/code/electron-utility/sharedProcess/sharedProcessMain",payload:this.createSharedProcessConfiguration(),respondToAuthRequestsFromMainProcess:!0,execArgv:t}),this._register(this.utilityProcess.onCrash(()=>this._onDidCrash.fire()))}createSharedProcessConfiguration(){return{machineId:this.machineId,sqmId:this.sqmId,devDeviceId:this.devDeviceId,codeCachePath:this.environmentMainService.codeCachePath,profiles:{home:this.userDataProfilesService.profilesHome,all:this.userDataProfilesService.profiles},args:this.environmentMainService.args,logLevel:this.loggerMainService.getLogLevel(),loggers:this.loggerMainService.getGlobalLoggers(),policiesData:this.policyService.serialize()}}async connect(e){return await this.whenIpcReady,vi(this.utilityProcess).connect(e)}};Jl=E([g(3,Te),g(4,_r),g(5,ye),g(6,U),g(7,ci),g(8,Fn)],Jl)});var XL,hs,xh=I(()=>{ee();XL="signService",hs=L(XL)});var Ph,ZE=I(()=>{z();$();Cd();Tr();Ph=class i extends T{constructor(e,t){super();this.logService=e;this.storageMainService=t;this.onDidChangeApplicationStorageEmitter=this._register(new b);this.mapProfileToOnDidChangeProfileStorageEmitter=new Map;this.registerStorageChangeListeners(t.applicationStorage,this.onDidChangeApplicationStorageEmitter)}static{this.STORAGE_CHANGE_DEBOUNCE_TIME=100}registerStorageChangeListeners(e,t){this._register(S.debounce(e.onDidChangeStorage,(n,o)=>(n?n.push(o):n=[o],n),i.STORAGE_CHANGE_DEBOUNCE_TIME)(n=>{n.length&&t.fire(this.serializeStorageChangeEvents(n,e))}))}serializeStorageChangeEvents(e,t){let n=new Map,o=new Set;return e.forEach(s=>{let a=t.get(s.key);typeof a=="string"?n.set(s.key,a):o.add(s.key)}),{changed:Array.from(n.entries()),deleted:Array.from(o.values())}}listen(e,t,n){switch(t){case"onDidChangeStorage":{let o=n.profile?Yn(n.profile):void 0;if(!o)return this.onDidChangeApplicationStorageEmitter.event;let s=this.mapProfileToOnDidChangeProfileStorageEmitter.get(o.id);return s||(s=this._register(new b),this.registerStorageChangeListeners(this.storageMainService.profileStorage(o),s),this.mapProfileToOnDidChangeProfileStorageEmitter.set(o.id,s)),s.event}}throw new Error(`Event not found: ${t}`)}async call(e,t,n){let o=n.profile?Yn(n.profile):void 0,s=Gx(n.workspace),a=await this.withStorageInitialized(o,s);switch(t){case"getItems":return Array.from(a.items.entries());case"updateItems":{let l=n;if(l.insert)for(let[c,d]of l.insert)a.set(c,d);l.delete?.forEach(c=>a.delete(c));break}case"optimize":return a.optimize();case"isUsed":{let l=n.payload;return typeof l=="string"?this.storageMainService.isUsed(l):!1}default:throw new Error(`Call not found: ${t}`)}}async withStorageInitialized(e,t){let n;t?n=this.storageMainService.workspaceStorage(t):e?n=this.storageMainService.profileStorage(e):n=this.storageMainService.applicationStorage;try{await n.init()}catch(o){this.logService.error(`StorageIPC#init: Unable to init ${t?"workspace":e?"profile":"application"} storage due to ${o}`)}return n}}});var Eh,eC=I(()=>{Eh=class{constructor(r){this.channel=r}log(r,e){return this.channel.call("log",{eventName:r,data:e}).then(void 0,t=>`Failed to log telemetry: ${console.warn(t)}`),Promise.resolve(null)}flush(){return Promise.resolve()}}});function YL(){let i=h(2402,null,Mr.nameLong),r=Mr.privacyStatementUrl?h(2388,null,"https://aka.ms/vscode-telemetry",Mr.privacyStatementUrl):h(2389,null,"https://aka.ms/vscode-telemetry"),e=Dr?"":h(2394,null),t=h(2387,null),n=h(2392,null),o=h(2403,null),s=h(2401,null),a=`
|       | ${t} | ${n} | ${o} |
|:------|:-------------:|:---------------:|:----------:|
| all   |       \u2713       |        \u2713        |     \u2713      |
| error |       \u2713       |        \u2713        |     -      |
| crash |       \u2713       |        -        |     -      |
| off   |       -       |        -        |     -      |
`,l=h(2397,null);return`
${i} ${r} ${e}

&nbsp;

${s}
${a}

&nbsp;

${l}
`}var bo,ZL,tC=I(()=>{$();un();Z();vd();ar();Ee();it();eo();Id();nr();Xn();ir();wo();bo=class{constructor(r,e,t){this._configurationService=e;this._productService=t;this._experimentProperties={};this._pendingEvents=[];this._isExperimentPropertySet=!1;this._disposables=new J;this._cleanupPatterns=[];this._appenders=r.appenders,this._commonProperties=r.commonProperties??Object.create(null),this.sessionId=this._commonProperties.sessionID,this.machineId=this._commonProperties["common.machineId"],this.sqmId=this._commonProperties["common.sqmId"],this.devDeviceId=this._commonProperties["common.devDeviceId"],this.firstSessionDate=this._commonProperties["common.firstSessionDate"],this.msftInternal=this._commonProperties["common.msftInternal"],this._piiPaths=r.piiPaths||[],this._telemetryLevel=3,this._sendErrorTelemetry=!!r.sendErrorTelemetry,this._meteredConnectionService=r.meteredConnectionService,this._cleanupPatterns=[/(vscode-)?file:\/\/.*?\/resources\/app\//gi];for(let n of this._piiPaths)this._cleanupPatterns.push(new RegExp(Do(n),"gi")),n.indexOf("\\")>=0&&this._cleanupPatterns.push(new RegExp(Do(n.replace(/\\/g,"/")),"gi"));this._updateTelemetryLevel(),this._disposables.add(this._configurationService.onDidChangeConfiguration(n=>{(n.affectsConfiguration(dl)||n.affectsConfiguration(du)||n.affectsConfiguration(am))&&this._updateTelemetryLevel()})),r.waitForExperimentProperties?this._flushTimeout=setTimeout(()=>this._flushPendingEvents(),bo.BUFFER_FLUSH_TIMEOUT):this._isExperimentPropertySet=!0}static{this.IDLE_START_EVENT_NAME="UserIdleStart"}static{this.IDLE_STOP_EVENT_NAME="UserIdleStop"}static{this.BUFFER_FLUSH_TIMEOUT=1e4}static{this.MAX_BUFFER_SIZE=1e3}setExperimentProperty(r,e){this._experimentProperties[r]=new jl(e),this._isExperimentPropertySet||this._flushPendingEvents()}setCommonProperty(r,e){this._commonProperties[r]=e}_flushPendingEvents(){if(!this._isExperimentPropertySet){this._isExperimentPropertySet=!0,this._flushTimeout!==void 0&&(clearTimeout(this._flushTimeout),this._flushTimeout=void 0);for(let r of this._pendingEvents)this._doLog(r.eventName,r.eventLevel,r.data);this._pendingEvents=[]}}_updateTelemetryLevel(){let r=Gl(this._configurationService),e=this._productService.enabledTelemetryLevels;if(e){this._sendErrorTelemetry=this.sendErrorTelemetry?e.error:!1;let t=e.usage?3:e.error?2:0;r=Math.min(r,t)}this._telemetryLevel=r}get sendErrorTelemetry(){return this._sendErrorTelemetry}get telemetryLevel(){return this._telemetryLevel}dispose(){this._flushPendingEvents(),this._disposables.dispose()}_log(r,e,t){if(!(this._telemetryLevel<e)&&!this._meteredConnectionService?.isConnectionMetered){if(!this._isExperimentPropertySet){this._pendingEvents.length<bo.MAX_BUFFER_SIZE&&this._pendingEvents.push({eventName:r,eventLevel:e,data:t});return}this._doLog(r,e,t)}}_doLog(r,e,t){t=Sm(t,this._experimentProperties),t=QE(t,this._cleanupPatterns),t=Sm(t,this._commonProperties),e===2&&(t={...t,isError:!0}),this._appenders.forEach(n=>n.log(r,t??{}))}publicLog(r,e){this._log(r,3,e)}publicLog2(r,e){this.publicLog(r,e)}publicLogError(r,e){this._sendErrorTelemetry&&this._log(r,2,e)}publicLogError2(r,e){this.publicLogError(r,e)}};bo=E([g(1,fe),g(2,De)],bo);ZL=xt.as(lr.Configuration);ZL.registerConfiguration({id:lP,order:1,type:"object",title:h(2404,null),properties:{[dl]:{type:"string",enum:["all","error","crash","off"],enumDescriptions:[h(2396,null),h(2398,null),h(2395,null),h(2399,null)],markdownDescription:YL(),default:"all",restricted:!0,scope:1,tags:["usesOnlineServices","telemetry"],policy:{name:"TelemetryLevel",category:"Telemetry",minimumVersion:"1.99",localization:{description:{key:"telemetry.telemetryLevel.policyDescription",value:h(2400,null)},enumDescriptions:[{key:"telemetry.telemetryLevel.default",value:h(2396,null)},{key:"telemetry.telemetryLevel.error",value:h(2398,null)},{key:"telemetry.telemetryLevel.crash",value:h(2395,null)},{key:"telemetry.telemetryLevel.off",value:h(2399,null)}]}}},"telemetry.feedback.enabled":{type:"boolean",default:!0,description:h(2393,null),policy:{name:"EnableFeedback",category:"Telemetry",minimumVersion:"1.99",localization:{description:{key:"telemetry.feedback.enabled",value:h(2393,null)}}}},[du]:{type:"boolean",markdownDescription:Mr.privacyStatementUrl?h(2391,null,Mr.nameLong,Mr.privacyStatementUrl):h(2390,null,Mr.nameLong),default:!0,restricted:!0,markdownDeprecationMessage:h(2386,null,`\`#${dl}#\``),scope:1,tags:["usesOnlineServices","telemetry"]}}})});var Ch,rC=I(()=>{z();$();vo();Ch=class{constructor(r){this.service=r}listen(r,e){if(e==="onStateChange")return this.service.onStateChange;throw new Error(`Event not found: ${e}`)}call(r,e,t){switch(e){case"checkForUpdates":return this.service.checkForUpdates(t);case"downloadUpdate":return this.service.downloadUpdate(t);case"applyUpdate":return this.service.applyUpdate();case"quitAndInstall":return this.service.quitAndInstall();case"_getInitialState":return Promise.resolve(this.service.state);case"isLatestVersion":return this.service.isLatestVersion();case"_applySpecificUpdate":return this.service._applySpecificUpdate(t);case"setInternalOrg":return this.service.setInternalOrg(t)}throw new Error(`Call not found: ${e}`)}}});var Th,nC=I(()=>{z();$();Th=class extends T{constructor(e,t,n,o){super();this.localUpdateService=e;this.logService=t;this.lifecycleMainService=n;this.crossAppIPCService=o;this.mode="standalone";this._onStateChange=this._register(new b);this.onStateChange=this._onStateChange.event;this.pendingQuitAndInstall=!1;this._state=this.localUpdateService.state,this.registerLocalStateListener(),this._register(this.crossAppIPCService.onDidConnect(s=>{this.handleConnect(s)})),this.crossAppIPCService.connected&&this.handleConnect(this.crossAppIPCService.isServer),this._register(this.crossAppIPCService.onDidReceiveMessage(s=>{this.handleMessage(s)})),this._register(this.crossAppIPCService.onDidDisconnect(s=>{if(this.logService.info(`CrossAppUpdateCoordinator: disconnected (${s}), was ${this.mode}`),this.mode==="client"&&(this.localUpdateService.resume(),this.registerLocalStateListener(),this.updateState(this.localUpdateService.state)),this.mode==="server"&&this.pendingQuitAndInstall){this.logService.info("CrossAppUpdateCoordinator: client disconnected during pending quit, treating as confirmed"),this.pendingQuitAndInstall=!1,this.mode="standalone",this.localUpdateService.quitAndInstall();return}this.mode="standalone"}))}get state(){return this._state}handleConnect(e){this.logService.info(`CrossAppUpdateCoordinator: connected (isServer=${e})`),e?(this.mode="server",this.broadcastState(this.localUpdateService.state)):(this.mode="client",this.localUpdateService.suspend(),this.localStateListener?.dispose(),this.localStateListener=void 0,this.sendMessage({type:"update/requestInitialState"}))}registerLocalStateListener(){this.localStateListener=this.localUpdateService.onStateChange(e=>{this.updateState(e),this.broadcastState(e)})}handleMessage(e){switch(this.logService.trace(`CrossAppUpdateCoordinator: received ${e.type} (mode=${this.mode})`),e.type){case"update/stateChange":case"update/initialState":this.mode==="client"&&this.updateState(e.data);break;case"update/prepareForQuit":this.mode==="client"&&(this.logService.info("CrossAppUpdateCoordinator: server requested quit for update"),this.lifecycleMainService.quit().then(t=>{t?(this.logService.info("CrossAppUpdateCoordinator: client quit was vetoed"),this.sendMessage({type:"update/quitVetoed"})):this.sendMessage({type:"update/quitConfirmed"})}));break;case"update/requestInitialState":this.mode==="server"&&this.sendMessage({type:"update/initialState",data:this.localUpdateService.state});break;case"update/checkForUpdates":this.mode==="server"&&this.localUpdateService.checkForUpdates(typeof e.data=="boolean"?e.data:!0);break;case"update/downloadUpdate":this.mode==="server"&&this.localUpdateService.downloadUpdate(typeof e.data=="boolean"?e.data:!0);break;case"update/applyUpdate":this.mode==="server"&&this.localUpdateService.applyUpdate();break;case"update/quitAndInstall":this.mode==="server"&&this.doCoordinatedQuitAndInstall();break;case"update/quitConfirmed":this.mode==="server"&&(this.logService.info("CrossAppUpdateCoordinator: client confirmed quit, proceeding with quitAndInstall"),this.pendingQuitAndInstall=!1,this.localUpdateService.quitAndInstall());break;case"update/quitVetoed":this.mode==="server"&&(this.logService.info("CrossAppUpdateCoordinator: client vetoed quit, aborting quitAndInstall"),this.pendingQuitAndInstall=!1);break}}updateState(e){this._state=e,this._onStateChange.fire(e)}broadcastState(e){this.mode==="server"&&this.sendMessage({type:"update/stateChange",data:e})}sendMessage(e){this.crossAppIPCService.sendMessage(e)}async checkForUpdates(e){this.mode==="client"?this.sendMessage({type:"update/checkForUpdates",data:e}):await this.localUpdateService.checkForUpdates(e)}async downloadUpdate(e){this.mode==="client"?this.sendMessage({type:"update/downloadUpdate",data:e}):await this.localUpdateService.downloadUpdate(e)}async applyUpdate(){this.mode==="client"?this.sendMessage({type:"update/applyUpdate"}):await this.localUpdateService.applyUpdate()}doCoordinatedQuitAndInstall(){this.crossAppIPCService.connected?(this.pendingQuitAndInstall=!0,this.sendMessage({type:"update/prepareForQuit"})):this.localUpdateService.quitAndInstall()}async quitAndInstall(){this.mode==="client"?this.sendMessage({type:"update/quitAndInstall"}):this.doCoordinatedQuitAndInstall()}async isLatestVersion(){return this.localUpdateService.isLatestVersion()}async _applySpecificUpdate(e){return this.localUpdateService._applySpecificUpdate(e)}async setInternalOrg(e){return this.localUpdateService.setInternalOrg(e)}dispose(){this.localStateListener?.dispose(),super.dispose()}}});function Ju(i){return`${Gu}${i}`}async function tw(i,r,e,t){let n=Ju(i);t?.trace("[secrets] getting secret for key:",n);let o=r(n);if(!o){t?.trace("[secrets] no secret found for key:",n);return}t?.trace("[secrets] decrypting secret for key:",n);let s=await e(o);return t?.trace("[secrets] decrypted secret for key:",n),s}async function rw(i,r,e,t,n){n?.trace("[secrets] encrypting secret for key:",i);let o=await t(r),s=Ju(i);n?.trace("[secrets] storing encrypted secret for key:",s),e(s,o),n?.trace("[secrets] stored encrypted secret for key:",s)}var Gu,kh,$ie,_h,iC=I(()=>{ge();Bd();ee();_i();z();re();$();Gi();Gu="secret://";kh=['{"extensionId":"vscode.github-authentication","key":"github.auth"}'],$ie=L("secretStorageService"),_h=class extends T{constructor(e,t,n,o){super();this._useInMemoryStorage=e;this._storageService=t;this._encryptionService=n;this._logService=o;this.onDidChangeSecretEmitter=this._register(new b);this.onDidChangeSecret=this.onDidChangeSecretEmitter.event;this._sequencer=new tf;this._type="unknown";this._onDidChangeValueDisposable=this._register(new J);this._lazyStorageService=new er(()=>this.initialize())}get type(){return this._type}get resolvedStorageService(){return this._lazyStorageService.value}get(e){return this._sequencer.queue(e,async()=>{let t=await this.resolvedStorageService;try{return await tw(e,n=>t.get(n,-1),this._type==="in-memory"?n=>Promise.resolve(n):n=>this._encryptionService.decrypt(n),this._logService)}catch(n){this._logService.error(n),this.delete(e);return}})}set(e,t){return this._sequencer.queue(e,async()=>{let n=await this.resolvedStorageService;try{await rw(e,t,(o,s)=>n.store(o,s,-1,1),this._type==="in-memory"?o=>Promise.resolve(o):o=>this._encryptionService.encrypt(o),this._logService)}catch(o){throw this._logService.error(o),o}})}delete(e){return this._sequencer.queue(e,async()=>{let t=await this.resolvedStorageService,n=Ju(e);this._logService.trace("[secrets] deleting secret for key:",n),t.remove(n,-1),this._logService.trace("[secrets] deleted secret for key:",n)})}keys(){return this._sequencer.queue("__keys__",async()=>{let e=await this.resolvedStorageService;this._logService.trace("[secrets] fetching keys of all secrets");let t=e.keys(-1,1);return this._logService.trace("[secrets] fetched keys of all secrets"),t.filter(n=>n.startsWith(Gu)).map(n=>n.slice(Gu.length))})}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 Yf)}return this._onDidChangeValueDisposable.clear(),this._onDidChangeValueDisposable.add(e.onDidChangeValue(-1,void 0,this._onDidChangeValueDisposable)(t=>{this.onDidChangeValue(t.key)})),e}reinitialize(){this._lazyStorageService=new er(()=>this.initialize())}onDidChangeValue(e){if(!e.startsWith(Gu))return;let t=e.slice(Gu.length);this._logService.trace(`[SecretStorageService] Notifying change in value for secret: ${t}`),this.onDidChangeSecretEmitter.fire(t)}};_h=E([g(1,Xx),g(2,kx),g(3,U)],_h)});import{execFile as eM}from"child_process";var nw,Rh,oC=I(()=>{Ce();$();iC();Z();nw="crossAppSecretSharing.migrationDone",Rh=class extends T{constructor(e,t,n,o,s,a,l,c){super();this.encryptionMainService=t;this.stateService=n;this.logService=o;this.crossAppIPCService=c;this.hostHandshakeListeners=this._register(new J);this.isEmbeddedApp=!!process.isEmbeddedApp,this.applicationStorage=e.applicationStorage,this.initialize(s,a,l)}initialize(e,t,n){if(this.isEmbeddedApp)this.initializeAsAgentsApp();else if(e.args["share-secrets-with-agents-app"]){let o=e.args._.length>0||e.args["folder-uri"]||e.args["file-uri"];this.initializeAsHostApp(o?void 0:()=>{this.logService.info("[CrossAppSecretSharing] Host app was launched for migration only, quitting"),n.quit()})}else this._register(t.onDidRequestShareSecrets(()=>{this.initializeAsHostApp()}))}async initializeAsAgentsApp(){if(!(!N||!this.isEmbeddedApp)){if(this.isMigrationDone()){this.logService.trace("[CrossAppSecretSharing] Migration already done, skipping");return}if(await this.applicationStorage.whenInit,!this.crossAppIPCService.initialized){this.logService.info("[CrossAppSecretSharing] crossAppIPC not initialized, skipping migration");return}this.logService.info("[CrossAppSecretSharing] Migration needed, starting..."),this._register(this.crossAppIPCService.onDidConnect(e=>{this.logService.info(`[CrossAppSecretSharing] Connected (isServer=${e}), requesting secrets from host app`),this.crossAppIPCService.sendMessage({type:"secrets/request"})})),this._register(this.crossAppIPCService.onDidReceiveMessage(e=>{let t=e;t?.type==="secrets/response"&&this.handleSecretResponse(t.data??{})})),this.crossAppIPCService.connected&&(this.logService.info(`[CrossAppSecretSharing] Already connected (isServer=${this.crossAppIPCService.isServer}), requesting secrets from host app`),this.crossAppIPCService.sendMessage({type:"secrets/request"})),this.spawnHostApp(),setTimeout(()=>{this.isMigrationDone()||this.logService.warn("[CrossAppSecretSharing] Migration timed out")},3e4)}}async initializeAsHostApp(e){if(!N||this.isEmbeddedApp){e?.();return}if(this.isMigrationDone()){this.logService.trace("[CrossAppSecretSharing] Migration already done, skipping"),e?.();return}if(await this.applicationStorage.whenInit,!this.hasAnySharedSecrets()){this.logService.trace("[CrossAppSecretSharing] No shared secrets to share, skipping"),e?.();return}if(!this.crossAppIPCService.initialized){this.logService.info("[CrossAppSecretSharing] crossAppIPC not initialized"),e?.();return}this._onHostMigrationComplete=e,this.logService.info("[CrossAppSecretSharing] Host app responding to secret sharing request"),this.hostHandshakeListeners.clear(),this.hostHandshakeListeners.add(this.crossAppIPCService.onDidReceiveMessage(t=>{let n=t;n?.type==="secrets/request"?this.handleSecretRequest():n?.type==="secrets/ack"&&this.handleSecretAck()})),this.hostHandshakeListeners.add(this.crossAppIPCService.onDidDisconnect(()=>{this._onHostMigrationComplete?.(),this._onHostMigrationComplete=void 0}))}isMigrationDone(){return this.stateService.getItem(nw,!1)}hasAnySharedSecrets(){for(let e of kh)if(this.applicationStorage.get(Ju(e))!==void 0)return!0;return!1}spawnHostApp(){let e=Ae(Ae(Ae(Ae(Ae(Ae(process.execPath))))));this.logService.info("[CrossAppSecretSharing] Spawning host app:",e),eM("open",["-a",e,"-n","-g","--args","--share-secrets-with-agents-app"],n=>{n&&this.logService.error("[CrossAppSecretSharing] Failed to spawn host app:",n.message)}).unref()}async handleSecretRequest(){this.logService.info("[CrossAppSecretSharing] Host app handling secret request");let e={};for(let t of kh)try{let n=await tw(t,o=>this.applicationStorage.get(o),o=>this.encryptionMainService.decrypt(o),this.logService);n!==void 0&&(e[t]=n)}catch(n){this.logService.error("[CrossAppSecretSharing] Failed to read secret for key:",t,n)}this.crossAppIPCService.sendMessage({type:"secrets/response",data:e}),this.logService.info("[CrossAppSecretSharing] Sent secrets response with",Object.keys(e).length,"keys")}async handleSecretResponse(e){this.logService.info("[CrossAppSecretSharing] Agents app received",Object.keys(e).length,"secrets");for(let[t,n]of Object.entries(e)){if(!kh.includes(t)){this.logService.warn("[CrossAppSecretSharing] Ignoring unexpected key:",t);continue}try{await rw(t,n,(o,s)=>this.applicationStorage.set(o,s),o=>this.encryptionMainService.encrypt(o),this.logService)}catch(o){this.logService.error("[CrossAppSecretSharing] Failed to store secret for key:",t,o)}}this.stateService.setItem(nw,!0),this.logService.info("[CrossAppSecretSharing] Migration complete"),this.crossAppIPCService.sendMessage({type:"secrets/ack"})}handleSecretAck(){this.stateService.setItem(nw,!0),this.logService.info("[CrossAppSecretSharing] Host app received ack, migration complete on both sides");let e=this._onHostMigrationComplete;this._onHostMigrationComplete=void 0,e?.()}}});import*as aC from"os";function Ql(i,r,e,t,n){let o=new URL(`${i}/api/update/${r}/${e}/${t}`);return n?.background&&o.searchParams.set("bg","true"),o.searchParams.set("u",n?.internalOrg??"none"),o.toString()}function Xl(i){if(N){let r=aC.release();return{"User-Agent":`Code/${i} Darwin/${r}`}}if(F){let r=gx().match(/^(\d+\.\d+)/);if(r)return{"User-Agent":`Code/${i} Electron/${process.versions.electron} Windows NT ${r[1]}`}}}var sC,Ui,Ah=I(()=>{ge();It();z();Z();Xa();ms();it();Dt();Et();re();nr();os();_i();Mi();ir();vo();sC="abstractUpdateService/lastKnownVersion";Ui=class{constructor(r,e,t,n,o,s,a,l,c,d){this.lifecycleMainService=r;this.configurationService=e;this.environmentMainService=t;this.requestService=n;this.logService=o;this.productService=s;this.telemetryService=a;this.applicationStorageMainService=l;this.meteredConnectionService=c;this.supportsUpdateOverwrite=d;this._state=se.Uninitialized;this._overwrite=!1;this._hasCheckedForOverwriteOnQuit=!1;this.overwriteUpdatesCheckInterval=new rf;this._internalOrg=void 0;this._suspended=!1;this._onStateChange=new b;this.onStateChange=this._onStateChange.event;r.when(3).finally(()=>this.initialize())}get state(){return this._state}setState(r){r.type==="updating"?this.logService.trace("update#setState",r.type):this.logService.info("update#setState",r.type),this._state=r,this._onStateChange.fire(r),r.type==="idle"&&(r.error||r.notAvailable)&&(this._state=se.Idle(r.updateType)),this.supportsUpdateOverwrite&&(r.type==="ready"?this.overwriteUpdatesCheckInterval.cancelAndSet(()=>this.checkForOverwriteUpdates(),300*1e3):this.overwriteUpdatesCheckInterval.cancel())}async initialize(){if(!this.environmentMainService.isBuilt){this.setState(se.Disabled(0));return}if(await this.trackVersionChange(),this.environmentMainService.disableUpdates){this.setState(se.Disabled(1)),this.logService.info("update#ctor - updates are disabled by the environment");return}if(!this.productService.updateUrl||!this.productService.commit){this.setState(se.Disabled(4)),this.logService.info("update#ctor - updates are disabled as there is no update URL");return}let r=this.configurationService.getValue("update.mode"),e=this.configurationService.inspect("update.mode"),t=e.policyValue!==void 0&&!this.getProductQuality(e.policyValue),n=this.getProductQuality(r);if(!n){t?(this.setState(se.Disabled(3)),this.logService.info("update#ctor - updates are disabled by policy")):(this.setState(se.Disabled(2)),this.logService.info("update#ctor - updates are disabled by user preference"));return}if(!this.buildUpdateFeedUrl(n,this.productService.commit)){this.setState(se.Disabled(5)),this.logService.info("update#ctor - updates are disabled as the update URL is badly formed");return}if(this.quality=n,this.setState(se.Idle(this.getUpdateType())),await this.postInitialize(),r==="manual"){this.logService.info("update#ctor - manual checks only; automatic updates are disabled by user preference");return}r==="start"?(this.logService.info("update#ctor - startup checks only; automatic updates are disabled by user preference"),setTimeout(()=>this.checkForUpdates(!1),30*1e3)):this.scheduleCheckForUpdates(30*1e3).then(void 0,o=>this.logService.error(o))}async trackVersionChange(){await this.applicationStorageMainService.whenReady;let r,e=this.applicationStorageMainService.get(sC,-1);if(typeof e=="string")try{r=JSON.parse(e)}catch{}let t={version:this.productService.version,commit:this.productService.commit,timestamp:Date.now()};r?.commit!==t.commit&&(this.applicationStorageMainService.store(sC,JSON.stringify(t),-1,1),r&&this.telemetryService.publicLog2("update:versionChanged",{fromVersion:r.version,fromCommit:r.commit,fromVersionTime:r.timestamp,toVersion:t.version,toCommit:t.commit,timeToUpdateMs:t.timestamp-r.timestamp,updateMode:this.configurationService.getValue("update.mode")}))}getProductQuality(r){return r==="none"?void 0:this.productService.quality}scheduleCheckForUpdates(r=3600*1e3){return lt(r).then(()=>this.checkForUpdates(!1)).then(()=>this.scheduleCheckForUpdates(3600*1e3))}async checkForUpdates(r){if(this.logService.trace("update#checkForUpdates, state = ",this.state.type),this._suspended){this.logService.trace("update#checkForUpdates - suspended, skipping");return}this.state.type==="idle"&&this.doCheckForUpdates(r)}suspend(){this._suspended=!0}resume(){this._suspended=!1}async downloadUpdate(r){if(this.logService.trace("update#downloadUpdate, state = ",this.state.type),this.state.type==="available for download"){if(!r&&this.meteredConnectionService.isConnectionMetered){this.logService.info("update#downloadUpdate - skipping download because connection is metered");return}await this.doDownloadUpdate(this.state)}}async doDownloadUpdate(r){}async applyUpdate(){this.logService.trace("update#applyUpdate, state = ",this.state.type),this.state.type==="downloaded"&&await this.doApplyUpdate()}async doApplyUpdate(){}async quitAndInstall(){if(this.logService.trace("update#quitAndInstall, state = ",this.state.type),this.state.type!=="ready")return;if(this.supportsUpdateOverwrite&&!this._hasCheckedForOverwriteOnQuit&&(this._hasCheckedForOverwriteOnQuit=!0,await this.checkForOverwriteUpdates(!0))){this.logService.info("update#quitAndInstall(): overwrite update detected, postponing quitAndInstall");return}let r=this.state;return this.setState(se.Restarting(this.state.update)),this.logService.trace("update#quitAndInstall(): before lifecycle quit()"),this.lifecycleMainService.quit(!0).then(e=>{if(this.logService.trace(`update#quitAndInstall(): after lifecycle quit() with veto: ${e}`),e){this.logService.info("update#quitAndInstall(): quit was vetoed, restoring Ready state"),this.setState(r);return}this.logService.trace("update#quitAndInstall(): running raw#quitAndInstall()"),this.doQuitAndInstall()}),Promise.resolve(void 0)}async checkForOverwriteUpdates(r=!1){if(this._state.type!=="ready")return!1;let e=this._state.update.version;if(!e||e==="unknown")return!1;let t;try{let n=new $e,o=lt(2e3).then(()=>{n.cancel()});t=await Promise.race([this.isLatestVersion(e,n.token),o]),n.dispose()}catch(n){return this.logService.warn("update#checkForOverwriteUpdates(): failed to check for updates, proceeding with restart"),this.logService.warn(n),!1}if(t===!1&&this._state.type==="ready"){this.logService.info("update#readyStateCheck: newer update available, restarting update machinery");try{await this.cancelPendingUpdate()}catch(n){return this.logService.error("update#checkForOverwriteUpdates(): failed to cancel pending update, aborting overwrite"),this.logService.error(n),!1}return this._overwrite=!0,this.setState(se.Overwriting(this._state.update,r)),this.doCheckForUpdates(r,e),!0}return!1}async isLatestVersion(r,e=xe.None){if(!this.quality||this.configurationService.getValue("update.mode")==="none")return;let n=this.buildUpdateFeedUrl(this.quality,r??this.productService.commit,{internalOrg:this.getInternalOrg()});if(!n)return;let o=Xl(this.productService.version);this.logService.trace("update#isLatestVersion() - checking update server",{url:n,headers:o});try{let a=(await this.requestService.request({url:n,headers:o,callSite:"updateService.isLatestVersion"},e)).res.statusCode;return this.logService.trace("update#isLatestVersion() - response",{statusCode:a}),a===204}catch(s){this.logService.error("update#isLatestVersion(): failed to check for updates"),this.logService.error(s);return}}async _applySpecificUpdate(r){}async setInternalOrg(r){this._internalOrg!==r&&(this.logService.info("update#setInternalOrg",r),this._internalOrg=r)}getInternalOrg(){return this._internalOrg}getUpdateType(){return 1}doQuitAndInstall(){}async postInitialize(){}async cancelPendingUpdate(){}};Ui=E([g(0,ye),g(1,fe),g(2,Te),g(3,Mn),g(4,U),g(5,De),g(6,Je),g(7,yr),g(8,Gr)],Ui)});import*as Ni from"electron";var di,lC=I(()=>{It();No();z();Pi();$();it();Dt();Et();re();nr();os();Mi();ir();vo();ms();Ah();di=class extends Ui{constructor(e,t,n,o,s,a,l,c,d){super(e,t,o,s,a,l,n,c,d,!0);this.disposables=new J;e.setRelaunchHandler(this)}get onRawError(){return S.fromNodeEventEmitter(Ni.autoUpdater,"error",(e,t)=>t)}get onRawCheckingForUpdate(){return S.fromNodeEventEmitter(Ni.autoUpdater,"checking-for-update")}get onRawUpdateNotAvailable(){return S.fromNodeEventEmitter(Ni.autoUpdater,"update-not-available")}get onRawUpdateAvailable(){return S.fromNodeEventEmitter(Ni.autoUpdater,"update-available")}get onRawUpdateDownloaded(){return S.fromNodeEventEmitter(Ni.autoUpdater,"update-downloaded",(e,t,n,o)=>({version:t,productVersion:n,timestamp:o instanceof Date?o.getTime()||void 0:o}))}handleRelaunch(e){return e?.addArgs||e?.removeArgs||this.state.type!=="ready"?!1:(this.logService.trace("update#handleRelaunch(): running raw#quitAndInstall()"),this.doQuitAndInstall(),!0)}async initialize(){await super.initialize(),this.onRawError(this.onError,this,this.disposables),this.onRawCheckingForUpdate(this.onCheckingForUpdate,this,this.disposables),this.onRawUpdateAvailable(this.onUpdateAvailable,this,this.disposables),this.onRawUpdateDownloaded(this.onUpdateDownloaded,this,this.disposables),this.onRawUpdateNotAvailable(this.onUpdateNotAvailable,this,this.disposables)}onCheckingForUpdate(){this.logService.trace("update#onCheckingForUpdate - Electron autoUpdater is checking for updates")}onError(e){this.telemetryService.publicLog2("update:error",{messageHash:String(cr(String(e)))}),this.logService.error("UpdateService error:",e);let t=this.state.type==="checking for updates"&&this.state.explicit?e:void 0;this.setState(se.Idle(1,t))}buildUpdateFeedUrl(e,t,n){let o=this.productService.darwinUniversalAssetId??(process.arch==="x64"?"darwin":"darwin-arm64"),s=Ql(this.productService.updateUrl,o,e,t,n),a=Xl(this.productService.version);try{this.logService.trace("update#buildUpdateFeedUrl - setting feed URL for Electron autoUpdater",{url:s,assetID:o,quality:e,commit:t,headers:a}),Ni.autoUpdater.setFeedURL({url:s,headers:a})}catch(l){this.logService.error("Failed to set update feed URL",l);return}return s}doCheckForUpdates(e,t){if(!this.quality)return;this.setState(se.CheckingForUpdates(e));let n=this.getInternalOrg(),o=!e&&!n,s=this.buildUpdateFeedUrl(this.quality,t??this.productService.commit,{background:o,internalOrg:n});if(!s){this.setState(se.Idle(1));return}if(!e&&this.meteredConnectionService.isConnectionMetered){this.logService.info("update#doCheckForUpdates - checking for update without auto-download because connection is metered"),this.checkForUpdateNoDownload(s);return}this.logService.trace("update#doCheckForUpdates - using Electron autoUpdater",{url:s,explicit:e,background:o}),Ni.autoUpdater.checkForUpdates()}async checkForUpdateNoDownload(e,t){let n=Xl(this.productService.version);this.logService.trace("update#checkForUpdateNoDownload - checking update server",{url:e,headers:n});try{let o=await this.requestService.request({url:e,headers:n,callSite:"updateService.darwin.checkForUpdates"},xe.None),s=o.res.statusCode;this.logService.trace("update#checkForUpdateNoDownload - response",{statusCode:s});let a=await kl(o);if(!a||!a.url||!a.version||!a.productVersion){this.logService.trace("update#checkForUpdateNoDownload - no update available");let l=this.state.type==="checking for updates"&&this.state.explicit;this.setState(se.Idle(1,void 0,l||void 0))}else this.logService.trace("update#checkForUpdateNoDownload - update available",{version:a.version,productVersion:a.productVersion}),this.setState(se.AvailableForDownload(a,t))}catch(o){this.logService.error("update#checkForUpdateNoDownload - failed to check for update",o),this.setState(se.Idle(1))}}onUpdateAvailable(){if(this.logService.trace("update#onUpdateAvailable - Electron autoUpdater reported update available"),this._suspended){this.logService.trace("update#onUpdateAvailable - suspended, ignoring");return}this.state.type!=="checking for updates"&&this.state.type!=="overwriting"||this.setState(se.Downloading(this.state.type==="overwriting"?this.state.update:void 0,this.state.explicit,this._overwrite))}onUpdateDownloaded(e){this._suspended||this.state.type!=="downloading"||(this.setState(se.Downloaded(e,this.state.explicit,this._overwrite)),this.logService.info(`Update downloaded: ${JSON.stringify(e)}`),this.setState(se.Ready(e,this.state.explicit,this._overwrite)))}onUpdateNotAvailable(){if(this.logService.trace("update#onUpdateNotAvailable - Electron autoUpdater reported no update available"),this._suspended){this.logService.trace("update#onUpdateNotAvailable - suspended, ignoring");return}if(this.state.type!=="checking for updates")return;let e=this.state.explicit;this.setState(se.Idle(1,void 0,e||void 0))}async doDownloadUpdate(e){this.buildUpdateFeedUrl(this.quality,e.update.version,{internalOrg:this.getInternalOrg()}),this.setState(se.CheckingForUpdates(!0)),Ni.autoUpdater.checkForUpdates()}doQuitAndInstall(){this.logService.trace("update#quitAndInstall(): running raw#quitAndInstall()"),Ni.autoUpdater.quitAndInstall()}dispose(){this.disposables.dispose()}};E([ce],di.prototype,"onRawError",1),E([ce],di.prototype,"onRawCheckingForUpdate",1),E([ce],di.prototype,"onRawUpdateNotAvailable",1),E([ce],di.prototype,"onRawUpdateAvailable",1),E([ce],di.prototype,"onRawUpdateDownloaded",1),di=E([g(0,ye),g(1,fe),g(2,Je),g(3,Te),g(4,Mn),g(5,U),g(6,De),g(7,yr),g(8,Gr)],di)});var Yl,cC=I(()=>{It();it();Dt();Et();re();ms();Rl();nr();os();Mi();ir();vo();Ah();Yl=class extends Ui{constructor(e,t,n,o,s,a,l,c,d,u){super(e,t,n,o,s,l,c,d,u,!1);this.nativeHostMainService=a}buildUpdateFeedUrl(e,t,n){return Ql(this.productService.updateUrl,`linux-${process.arch}`,e,t,n)}doCheckForUpdates(e,t){if(!this.quality)return;let n=this.getInternalOrg(),o=!e&&!n,s=this.buildUpdateFeedUrl(this.quality,this.productService.commit,{background:o,internalOrg:n});this.setState(se.CheckingForUpdates(e)),this.requestService.request({url:s,callSite:"updateService.linux.checkForUpdates"},xe.None).then(kl).then(a=>{!a||!a.url||!a.version||!a.productVersion?this.setState(se.Idle(1,void 0,e||void 0)):this.setState(se.AvailableForDownload(a))}).then(void 0,a=>{this.logService.error(a);let l=e?a.message||a:void 0;this.setState(se.Idle(1,l))})}async doDownloadUpdate(e){this.productService.downloadUrl&&this.productService.downloadUrl.length>0?this.nativeHostMainService.openExternal(void 0,this.productService.downloadUrl):e.update.url&&this.nativeHostMainService.openExternal(void 0,e.update.url),this.setState(se.Idle(1))}};Yl=E([g(0,ye),g(1,fe),g(2,Te),g(3,Mn),g(4,U),g(5,On),g(6,De),g(7,Je),g(8,yr),g(9,Gr)],Yl)});import{spawn as rM}from"child_process";import{realpath as nM,watch as iM}from"fs";var Qu,Zl,dC=I(()=>{ge();z();Ce();Dt();Et();re();vo();ms();Qu=class{constructor(r,e,t,n){this.lifecycleMainService=r;this.logService=t;this.meteredConnectionService=n;this._state=se.Uninitialized;this._onStateChange=new b;this.onStateChange=this._onStateChange.event;if(e.disableUpdates){this.logService.info("update#ctor - updates are disabled");return}this.setState(se.Idle(this.getUpdateType())),this.scheduleCheckForUpdates(30*1e3).then(void 0,o=>this.logService.error(o))}get state(){return this._state}setState(r){this.logService.info("update#setState",r.type),this._state=r,this._onStateChange.fire(r),r.type==="idle"&&(r.error||r.notAvailable)&&(this._state=se.Idle(r.updateType))}scheduleCheckForUpdates(r=3600*1e3){return lt(r).then(()=>this.checkForUpdates(!1)).then(()=>this.scheduleCheckForUpdates(3600*1e3))}async checkForUpdates(r){this.logService.trace("update#checkForUpdates, state = ",this.state.type),this.state.type==="idle"&&this.doCheckForUpdates(r)}async downloadUpdate(r){if(this.logService.trace("update#downloadUpdate, state = ",this.state.type),this.state.type==="available for download"){if(!r&&this.meteredConnectionService.isConnectionMetered){this.logService.info("update#downloadUpdate - skipping download because connection is metered");return}await this.doDownloadUpdate(this.state)}}doDownloadUpdate(r){return Promise.resolve(void 0)}async applyUpdate(){this.logService.trace("update#applyUpdate, state = ",this.state.type),this.state.type==="downloaded"&&await this.doApplyUpdate()}doApplyUpdate(){return Promise.resolve(void 0)}quitAndInstall(){if(this.logService.trace("update#quitAndInstall, state = ",this.state.type),this.state.type!=="ready")return Promise.resolve(void 0);let r=this.state;return this.setState(se.Restarting(this.state.update)),this.logService.trace("update#quitAndInstall(): before lifecycle quit()"),this.lifecycleMainService.quit(!0).then(e=>{if(this.logService.trace(`update#quitAndInstall(): after lifecycle quit() with veto: ${e}`),e){this.logService.info("update#quitAndInstall(): quit was vetoed, restoring Ready state"),this.setState(r);return}this.logService.trace("update#quitAndInstall(): running raw#quitAndInstall()"),this.doQuitAndInstall()}),Promise.resolve(void 0)}getUpdateType(){return 2}doQuitAndInstall(){}async setInternalOrg(r){}async _applySpecificUpdate(r){}};Qu=E([g(0,ye),g(1,Te),g(2,U),g(3,Gr)],Qu);Zl=class extends Qu{constructor(e,t,n,o,s,a){super(n,o,s,a);this.snap=e;this.snapRevision=t;let l=iM(Ae(this.snap)),c=S.fromNodeEventEmitter(l,"change",(m,y)=>y),d=S.filter(c,m=>m==="current"),f=S.debounce(d,(m,y)=>y,2e3)(()=>this.checkForUpdates(!1));S.once(n.onWillShutdown)(()=>{f.dispose(),l.close()})}doCheckForUpdates(){this.setState(se.CheckingForUpdates(!1)),this.isUpdateAvailable().then(e=>{e?this.setState(se.Ready({version:"something"},!1,!1)):this.setState(se.Idle(2,void 0,void 0))},e=>{this.logService.error(e),this.setState(se.Idle(2,e.message||e))})}doQuitAndInstall(){this.logService.trace("update#quitAndInstall(): running raw#quitAndInstall()"),rM("sleep 3 && "+Se(process.argv[0]),{shell:!0,detached:!0,stdio:"ignore"})}async isUpdateAvailable(){let e=await new Promise((n,o)=>nM(`${Ae(this.snap)}/current`,(s,a)=>s?o(s):n(a))),t=Se(e);return this.snapRevision!==t}isLatestVersion(){return this.isUpdateAvailable().then(void 0,e=>{this.logService.error("update#checkForSnapUpdate(): Could not get realpath of application.")})}};Zl=E([g(2,ye),g(3,Te),g(4,U),g(5,Gr)],Zl)});import*as uC from"crypto";import*as pC from"fs";async function fC(i,r){if(await new Promise((n,o)=>{let s=pC.createReadStream(i),a=uC.createHash("sha256");s.pipe(a);let l=ji((c,d)=>{s.removeAllListeners(),a.removeAllListeners(),s.destroy(),c?o(c):n(d)});s.once("error",l),s.once("end",l),a.once("error",l),a.once("data",c=>l(void 0,c.toString("hex")))})!==r)throw new Error("Hash mismatch")}var mC=I(()=>{Sa()});import{spawn as iw}from"child_process";import{app as hC}from"electron";import{existsSync as oM,unlinkSync as sM}from"fs";import{mkdir as aM,readFile as ow,unlink as lM}from"fs/promises";import{release as cM,tmpdir as dM}from"os";function oa(){return typeof sw>"u"&&(sw=oM(V(Ae(process.execPath),"unins000.exe"))?0:1),sw}var sw,sa,gC=I(()=>{ge();ot();It();No();Pi();Ce();Ce();Ls();le();mC();rr();Zs();Xa();it();Dt();ze();Et();re();ms();Rl();nr();os();Mi();ir();vo();Ah();sa=class extends Ui{constructor(e,t,n,o,s,a,l,c,d,u,f){super(e,t,o,s,a,d,n,u,f,!0);this.fileService=l;this.nativeHostMainService=c;e.setRelaunchHandler(this)}get cachePath(){let e=V(dM(),`vscode-${this.productService.quality}-${this.productService.target}-${process.arch}`);return aM(e,{recursive:!0}).then(()=>e)}handleRelaunch(e){return e?.addArgs||e?.removeArgs||this.state.type!=="ready"||!this.availableUpdate?!1:(this.logService.trace("update#handleRelaunch(): running raw#quitAndInstall()"),this.doQuitAndInstall(),!0)}async initialize(){if(this.productService.win32VersionedUpdate){let n=await this.cachePath;hC.setPath("appUpdate",n),await this.unlink(V(n,"session-ending.flag"))}let e=await hx(),t=cM();if(this.telemetryService.publicLog2("windowsUpdateInit",{osRelease:e,osNodeRelease:t}),this.productService.target==="user"&&await this.nativeHostMainService.isAdmin(void 0)){this.setState(se.Disabled(6)),this.logService.info("update#ctor - updates are disabled due to running as Admin in user setup");return}await super.initialize()}async postInitialize(){if(!this.productService.win32VersionedUpdate)return;let e=hC.getPath("exe"),t=Ae(e),n=V(t,"updating_version");if(await Q.exists(n))try{let o=(await ow(n,"utf8")).trim();this.logService.info(`update#doCheckForUpdates - application was updating to version ${o}`);let s=await this.getUpdatePackagePath(o);await Q.exists(s)&&(await this._applySpecificUpdate(s,o),this.logService.info(`update#doCheckForUpdates - successfully applied update to version ${o}`))}catch(o){this.logService.error(`update#doCheckForUpdates - could not read ${n}`,o)}else if(this.configurationService.getValue("update.enableWindowsBackgroundUpdates")&&this.productService.target==="user"&&this.productService.commit){let s=this.productService.commit.substring(0,10),a=V(t,s,"tools","inno_updater.exe"),l=Se(e),c=this.productService.win32SiblingExeBasename?`${this.productService.win32SiblingExeBasename}.exe`:"";await new Promise(d=>{iw(a,["--gc",e,s,l,c],{stdio:["ignore","ignore","ignore"],windowsHide:!0,timeout:12e4}).once("exit",()=>d())})}}buildUpdateFeedUrl(e,t,n){let o=`win32-${process.arch}`;return oa()===1?o+="-archive":this.productService.target==="user"&&(o+="-user"),Ql(this.productService.updateUrl,o,e,t,n)}doCheckForUpdates(e,t){if(!this.quality)return;let n=this.getInternalOrg(),o=!e&&!n,s=this.buildUpdateFeedUrl(this.quality,t??this.productService.commit,{background:o,internalOrg:n});this.state.type!=="overwriting"&&this.setState(se.CheckingForUpdates(e));let a=Xl(this.productService.version);this.requestService.request({url:s,headers:a,callSite:"updateService.win32.checkForUpdates"},xe.None).then(kl).then(l=>{let c=oa();if(!l||!l.url||!l.version||!l.productVersion)return this.state.type==="overwriting"?(this._overwrite=!1,this.setState(se.Ready(this.state.update,this.state.explicit,!1))):this.setState(se.Idle(c,void 0,e||void 0)),Promise.resolve(null);if(c===1)return this.setState(se.AvailableForDownload(l)),Promise.resolve(null);if(!e&&this.meteredConnectionService.isConnectionMetered)return this.logService.info("update#doCheckForUpdates - update available but skipping download because connection is metered"),this.setState(se.AvailableForDownload(l)),Promise.resolve(null);let d=Date.now();return this.setState(se.Downloading(l,e,this._overwrite,0,void 0,d)),this.cleanup(l.version).then(()=>this.getUpdatePackagePath(l.version).then(u=>Q.exists(u).then(f=>{if(f)return Promise.resolve(u);let m=`${u}.tmp`;return this.requestService.request({url:l.url,callSite:"updateService.win32.downloadUpdate"},xe.None).then(y=>{let v=y.res.headers["content-length"],C=typeof v=="string"?v:void 0,w=C?parseInt(C,10):void 0,_=0,R=new Xi(500),D=$a(y.stream,{data:M=>(_+=M.byteLength,R.trigger(()=>{this.setState(se.Downloading(l,e,this._overwrite,_,w,d))}),M)},M=>H.concat(M));return this.fileService.writeFile(P.file(m),D).finally(()=>R.dispose())}).then(l.sha256hash?()=>fC(m,l.sha256hash):()=>{}).then(()=>Q.rename(m,u,!1)).then(()=>u)})).then(u=>{this.availableUpdate={packagePath:u},this.saveUpdateMetadata(l),this.setState(se.Downloaded(l,e,this._overwrite)),this.configurationService.getValue("update.enableWindowsBackgroundUpdates")&&this.productService.target==="user"?this.doApplyUpdate():this.setState(se.Ready(l,e,this._overwrite))}))}).then(void 0,l=>{this.telemetryService.publicLog2("update:error",{messageHash:String(cr(String(l)))}),this.logService.error(l);let c=e?l.message||l:void 0;this.state.type==="overwriting"?(this._overwrite=!1,this.setState(se.Ready(this.state.update,this.state.explicit,!1))):this.setState(se.Idle(oa(),c))})}async doDownloadUpdate(e){e.update.url&&this.nativeHostMainService.openExternal(void 0,e.update.url),this.setState(se.Idle(oa()))}async getUpdatePackagePath(e){let t=await this.cachePath;return V(t,`CodeSetup-${this.productService.quality}-${e}.exe`)}async cleanup(e=null){let t=e?a=>!new RegExp(`${this.productService.quality}-${e}\\.exe$`).test(a):()=>!0,n=await this.cachePath,s=(await Q.readdir(n)).filter(t).map(a=>this.unlink(V(n,a)));await Promise.all(s)}async doApplyUpdate(){if(this.state.type!=="downloaded"||!this.availableUpdate)return Promise.resolve(void 0);let e=this.state.update,t=this.state.explicit;this.setState(se.Updating(e,t));let n=await this.cachePath,o=V(n,"session-ending.flag"),s=V(n,"cancel.flag");await this.unlink(s);let a=V(n,"update-progress");await this.unlink(a),this.availableUpdate.updateFilePath=V(n,`CodeSetup-${this.productService.quality}-${e.version}.flag`),this.availableUpdate.cancelFilePath=s,await Q.writeFile(this.availableUpdate.updateFilePath,"flag");let l=iw(this.availableUpdate.packagePath,["/verysilent","/log",`/update="${this.availableUpdate.updateFilePath}"`,`/progress="${a}"`,`/sessionend="${o}"`,`/cancel="${s}"`,"/nocloseapplications","/mergetasks=runcode,!desktopicon,!quicklaunchicon"],{detached:!0,stdio:["ignore","ignore","ignore"],windowsVerbatimArguments:!0,env:{...process.env,__COMPAT_LAYER:"RunAsInvoker"}});this.availableUpdate.updateProcess=l,l.once("exit",()=>{this.availableUpdate=void 0,this.setState(se.Idle(oa()))});let d=`${process.isEmbeddedApp?this.productService.win32SetupMutexName:this.productService.win32MutexName}-ready`,u=await import("@vscode/windows-mutex");this.updateCancellationTokenSource?.dispose(!0);let f=this.updateCancellationTokenSource=new $e,m=f.token,y=async()=>{for(;this.state.type==="updating"&&!m.isCancellationRequested;){if(u.isActive(d)){this.setState(se.Ready(e,t,this._overwrite));return}try{let C=await ow(a,"utf8");if(!m.isCancellationRequested){let[w,_]=C.split(","),R=parseInt(w,10),D=parseInt(_,10);!isNaN(R)&&!isNaN(D)&&this.state.type==="updating"&&(this.state.currentProgress!==R||this.state.maxProgress!==D)&&this.setState(se.Updating(e,t,R,D))}}catch{}await lt(500)}},v=new nf(()=>{this.logService.warn("update#doApplyUpdate: polling timed out waiting for update to be ready"),this.setState(se.Idle(oa(),"Update did not complete within expected time"))},3600*1e3);v.schedule(),y().finally(()=>{v.dispose(),this.updateCancellationTokenSource===f&&(this.updateCancellationTokenSource=void 0),f.dispose()})}async cancelPendingUpdate(){if(!this.availableUpdate)return;this.updateCancellationTokenSource?.dispose(!0),this.updateCancellationTokenSource=void 0,this.logService.trace("update#cancelPendingUpdate: cancelling pending update");let{updateProcess:e,updateFilePath:t,cancelFilePath:n}=this.availableUpdate;if(e&&e.exitCode===null){e.removeAllListeners();let o=new Promise(l=>e.once("exit",()=>l(!0)));if(n)try{await Q.writeFile(n,"cancel")}catch(l){this.logService.warn("update#cancelPendingUpdate: failed to write cancel file",l)}let s=e.pid,a=await Promise.race([o,lt(30*1e3).then(()=>!1)]);s&&!a&&(this.logService.trace("update#cancelPendingUpdate: process did not exit gracefully, killing process tree"),await B0(s,!0))}await this.unlink(t),await this.unlink(n),this.availableUpdate=void 0}doQuitAndInstall(){if(!(this.state.type!=="ready"&&this.state.type!=="restarting"||!this.availableUpdate))if(this.logService.trace("update#quitAndInstall(): running raw#quitAndInstall()"),this.availableUpdate.updateFilePath)try{sM(this.availableUpdate.updateFilePath)}catch{}else iw(this.availableUpdate.packagePath,["/silent","/log","/mergetasks=runcode,!desktopicon,!quicklaunchicon"],{detached:!0,stdio:["ignore","ignore","ignore"],env:{...process.env,__COMPAT_LAYER:"RunAsInvoker"}})}async saveUpdateMetadata(e){try{let t=await this.cachePath,n=V(t,"update-metadata.json");await Q.writeFile(n,JSON.stringify(e))}catch(t){this.logService.error("update#saveUpdateMetadata: failed to save",t)}}async loadUpdateMetadata(){try{let e=await this.cachePath,t=V(e,"update-metadata.json");if(await Q.exists(t)){let n=await ow(t,"utf8");return JSON.parse(n)}}catch(e){this.logService.error("update#loadUpdateMetadata: failed to load",e)}}getUpdateType(){return oa()}async _applySpecificUpdate(e,t){if(this.state.type!=="idle")return;let n=this.configurationService.getValue("update.enableWindowsBackgroundUpdates"),o=await this.loadUpdateMetadata()??{version:t??"unknown",productVersion:"unknown"};this.setState(se.Downloading(o,!0,!1)),this.availableUpdate={packagePath:e},this.setState(se.Downloaded(o,!0,!1)),n&&this.productService.target==="user"?this.doApplyUpdate():this.setState(se.Ready(o,!0,!1))}async unlink(e){if(e)try{await lM(e)}catch(t){let n=t;if(n&&n.code==="ENOENT")return;this.logService.warn(`update#unlink: failed to unlink ${Se(e)}`,t)}}};E([ce],sa.prototype,"cachePath",1),sa=E([g(0,ye),g(1,fe),g(2,Je),g(3,Te),g(4,Mn),g(5,U),g(6,Me),g(7,On),g(8,De),g(9,yr),g(10,Gr)],sa)});var Lh,Mh,vC=I(()=>{le();Lh=class{constructor(r){this.channel=r}handleURL(r,e){return this.channel.call("handleURL",[r.toJSON(),e])}},Mh=class{constructor(r,e){this.next=r;this.logService=e}async routeCall(r,e,t,n){if(e!=="handleURL")throw new Error(`Call not found: ${e}`);if(Array.isArray(t)&&t.length>0){let o=P.revive(t[0]);if(this.logService.trace("URLHandlerRouter#routeCall() with URI argument",o.toString(!0)),o.query){let s=/\bwindowId=(\d+)/.exec(o.query);if(s){let a=s[1];this.logService.trace(`URLHandlerRouter#routeCall(): found windowId query parameter with value "${a}"`,o.toString(!0));let l=new RegExp(`window:${a}`),c=r.connections.find(d=>(this.logService.trace("URLHandlerRouter#routeCall(): testing connection",d.ctx),l.test(d.ctx)));if(c)return this.logService.trace("URLHandlerRouter#routeCall(): found a connection to route",o.toString(!0)),c;this.logService.trace("URLHandlerRouter#routeCall(): did not find a connection to route",o.toString(!0))}else this.logService.trace("URLHandlerRouter#routeCall(): did not find windowId query parameter",o.toString(!0))}}else this.logService.trace("URLHandlerRouter#routeCall() without URI argument");return this.next.routeCall(r,e,t,n)}routeEvent(r,e){throw new Error(`Event not found: ${e}`)}}});var aw,ec,yC=I(()=>{ge();$();le();nr();aw=class extends T{constructor(){super(...arguments);this.handlers=new Set}open(e,t){let n=[...this.handlers.values()];return p1(n.map(o=>()=>o.handleURL(e,t)),void 0,!1).then(o=>o||!1)}registerHandler(e){return this.handlers.add(e),j(()=>this.handlers.delete(e))}},ec=class extends aw{constructor(e){super();this.productService=e}create(e){let{authority:t,path:n,query:o,fragment:s}=e||{authority:void 0,path:void 0,query:void 0,fragment:void 0};return t&&n&&n.indexOf("/")!==0&&(n=`/${n}`),P.from({scheme:this.productService.urlProtocol,authority:t,path:n,query:o,fragment:s})}};ec=E([g(0,De)],ec)});import{app as IC}from"electron";var Oh,wC=I(()=>{ge();z();$();Z();le();Oh=class extends T{constructor(e,t,n,o,s,a){super();this.urlService=t;this.logService=a;this.uris=[];this.retryCount=0;if(e&&(a.trace("ElectronURLListener initialUrisToHandle:",e.map(d=>d.originalUrl)),this.uris=e),F&&!o.isPortable&&!process.isEmbeddedApp){let d=o.isBuilt?[]:[`"${o.appRoot}"`];d.push("--open-url","--"),IC.setAsDefaultProtocolClient(s.urlProtocol,process.execPath,d)}let l=S.map(S.fromNodeEventEmitter(IC,"open-url",(d,u)=>({event:d,url:u})),({event:d,url:u})=>(d.preventDefault(),u));this._register(l(d=>{let u=this.uriFromRawUrl(d);u&&this.urlService.open(u,{originalUrl:d})})),n.getWindows().filter(d=>d.isReady).length>0?(a.trace("ElectronURLListener: window is ready to handle URLs"),this.flush()):(a.trace("ElectronURLListener: waiting for window to be ready to handle URLs..."),this._register(S.once(n.onDidSignalReadyWindow)(()=>this.flush())))}uriFromRawUrl(e){try{return P.parse(e)}catch{return}}async flush(){if(this.retryCount++>10){this.logService.trace("ElectronURLListener#flush(): giving up after 10 retries");return}this.logService.trace("ElectronURLListener#flush(): flushing URLs");let e=[];for(let t of this.uris)await this.urlService.open(t.uri,{originalUrl:t.originalUrl})?this.logService.trace("ElectronURLListener#flush(): URL was handled",t.originalUrl):(this.logService.trace("ElectronURLListener#flush(): URL was not yet handled",t.originalUrl),e.push(t));e.length!==0&&(this.uris=e,u1(()=>this.flush(),500,this._store))}}});var lw,bC=I(()=>{ee();lw=L("webviewManagerService")});import{protocol as SC}from"electron";var gs,xC=I(()=>{qe();le();ze();gs=class{constructor(r){this._fileService=r;let e=this.handleWebviewRequest.bind(this);SC.handle(W.vscodeWebview,e)}static{this.validWebviewFilePaths=new Map([["/index.html",{mime:"text/html"}],["/fake.html",{mime:"text/html"}],["/service-worker.js",{mime:"application/javascript"}]])}dispose(){SC.unhandle(W.vscodeWebview)}async handleWebviewRequest(r){try{let e=P.parse(r.url),t=gs.validWebviewFilePaths.get(e.path);if(t){let n=`vs/workbench/contrib/webview/browser/pre${e.path}`,o=st.asFileUri(n),s=await this._fileService.readFile(o);return new Response(s.value.buffer.buffer,{headers:{"Content-Type":t.mime,...Oa.getHeadersFromQuery(r.url),"Cross-Origin-Resource-Policy":"cross-origin"}})}else return new Response(null,{status:403})}catch{}return new Response(null,{status:500})}};gs=E([g(0,Me)],gs)});import{webContents as uM}from"electron";var tc,PC=I(()=>{z();$();xC();Vt();ze();tc=class extends T{constructor(e,t){super();this.windowsMainService=t;this._onFoundInFrame=this._register(new b);this.onFoundInFrame=this._onFoundInFrame.event;this._register(new gs(e))}async setIgnoreMenuShortcuts(e,t){let n;if(typeof e.windowId=="number"){let{windowId:o}=e,s=this.windowsMainService.getWindowById(o);if(!s?.win)throw new Error(`Invalid windowId: ${o}`);n=s.win.webContents}else{let{webContentsId:o}=e;if(n=uM.fromId(o),!n)throw new Error(`Invalid webContentsId: ${o}`)}n.isDestroyed()||n.setIgnoreMenuShortcuts(t)}async findInFrame(e,t,n,o){let a=this.getFrameByName(e,t);if(typeof a.findInFrame=="function"){a.findInFrame(n,{findNext:o.findNext,forward:o.forward});let l=(c,d)=>{d.finalUpdate&&(this._onFoundInFrame.fire(d),a.removeListener("found-in-frame",l))};a.on("found-in-frame",l)}}async stopFindInFrame(e,t,n){let s=this.getFrameByName(e,t);typeof s.stopFindInFrame=="function"&&s.stopFindInFrame(n.keepSelection?"keepSelection":"clearSelection")}getFrameByName(e,t){let n=this.windowsMainService.getWindowById(e.windowId);if(!n?.win)throw new Error(`Invalid windowId: ${e}`);let o=n.win.webContents.mainFrame.framesInSubtree.find(s=>s.name===t);if(!o)throw new Error(`Unknown frame: ${t}`);return o}};tc=E([g(0,Me),g(1,Ke)],tc)});var rc,Fh=I(()=>{ee();rc=L("protocolMainService")});async function EC(i,r,e){let t=e&&e.get("storage.serviceMachineId",-1)||null;if(t)return t;try{let o=(await r.readFile(i.serviceMachineIdResource)).value.toString();t=ax(o)?o:null}catch{t=null}if(!t){t=_e();try{await r.writeFile(i.serviceMachineIdResource,H.fromString(t))}catch{}}return e?.store("storage.serviceMachineId",t,-1,1),t}var CC=I(()=>{ot();Jt();_i()});async function TC(i,r,e,t,n,o,s){let a={"X-Market-Client-Id":`VSCode ${i}`,"User-Agent":`VSCode ${i} (${r.nameShort})`};if(bh(r,e)&&Gl(t)===3){let l=await EC(e,n,o);a["X-Market-User-Id"]=l,a["VSCode-SessionId"]=s.machineId||l}return a}var _C=I(()=>{CC();ir();wo()});function p(i,r){if(Oe(r)){let e=kC[r];if(e===void 0)throw new Error(`${i} references an unknown codicon: ${r}`);r=e}return kC[i]=r,{id:i}}var kC,cw=I(()=>{Le();kC=Object.create(null)});var RC,DC=I(()=>{cw();RC={add:p("add",6e4),plus:p("plus",6e4),gistNew:p("gist-new",6e4),repoCreate:p("repo-create",6e4),lightbulb:p("lightbulb",60001),lightBulb:p("light-bulb",60001),repo:p("repo",60002),repoDelete:p("repo-delete",60002),gistFork:p("gist-fork",60003),repoForked:p("repo-forked",60003),gitPullRequest:p("git-pull-request",60004),gitPullRequestAbandoned:p("git-pull-request-abandoned",60004),recordKeys:p("record-keys",60005),keyboard:p("keyboard",60005),tag:p("tag",60006),gitPullRequestLabel:p("git-pull-request-label",60006),tagAdd:p("tag-add",60006),tagRemove:p("tag-remove",60006),person:p("person",60007),personFollow:p("person-follow",60007),personOutline:p("person-outline",60007),personFilled:p("person-filled",60007),sourceControl:p("source-control",60008),mirror:p("mirror",60009),mirrorPublic:p("mirror-public",60009),star:p("star",60010),starAdd:p("star-add",60010),starDelete:p("star-delete",60010),starEmpty:p("star-empty",60010),comment:p("comment",60011),commentAdd:p("comment-add",60011),alert:p("alert",60012),warning:p("warning",60012),search:p("search",60013),searchSave:p("search-save",60013),logOut:p("log-out",60014),signOut:p("sign-out",60014),logIn:p("log-in",60015),signIn:p("sign-in",60015),eye:p("eye",60016),eyeUnwatch:p("eye-unwatch",60016),eyeWatch:p("eye-watch",60016),circleFilled:p("circle-filled",60017),primitiveDot:p("primitive-dot",60017),closeDirty:p("close-dirty",60017),debugBreakpoint:p("debug-breakpoint",60017),debugBreakpointDisabled:p("debug-breakpoint-disabled",60017),debugHint:p("debug-hint",60017),terminalDecorationSuccess:p("terminal-decoration-success",60017),primitiveSquare:p("primitive-square",60018),edit:p("edit",60019),pencil:p("pencil",60019),info:p("info",60020),issueOpened:p("issue-opened",60020),gistPrivate:p("gist-private",60021),gitForkPrivate:p("git-fork-private",60021),lock:p("lock",60021),mirrorPrivate:p("mirror-private",60021),close:p("close",60022),removeClose:p("remove-close",60022),x:p("x",60022),repoSync:p("repo-sync",60023),sync:p("sync",60023),clone:p("clone",60024),desktopDownload:p("desktop-download",60024),beaker:p("beaker",60025),microscope:p("microscope",60025),vm:p("vm",60026),deviceDesktop:p("device-desktop",60026),file:p("file",60027),more:p("more",60028),ellipsis:p("ellipsis",60028),kebabHorizontal:p("kebab-horizontal",60028),mailReply:p("mail-reply",60029),reply:p("reply",60029),organization:p("organization",60030),organizationFilled:p("organization-filled",60030),organizationOutline:p("organization-outline",60030),newFile:p("new-file",60031),fileAdd:p("file-add",60031),newFolder:p("new-folder",60032),fileDirectoryCreate:p("file-directory-create",60032),trash:p("trash",60033),trashcan:p("trashcan",60033),history:p("history",60034),clock:p("clock",60034),folder:p("folder",60035),fileDirectory:p("file-directory",60035),symbolFolder:p("symbol-folder",60035),logoGithub:p("logo-github",60036),markGithub:p("mark-github",60036),github:p("github",60036),terminal:p("terminal",60037),console:p("console",60037),repl:p("repl",60037),zap:p("zap",60038),symbolEvent:p("symbol-event",60038),error:p("error",60039),stop:p("stop",60039),variable:p("variable",60040),symbolVariable:p("symbol-variable",60040),array:p("array",60042),symbolArray:p("symbol-array",60042),symbolModule:p("symbol-module",60043),symbolPackage:p("symbol-package",60043),symbolNamespace:p("symbol-namespace",60043),symbolObject:p("symbol-object",60043),symbolMethod:p("symbol-method",60044),symbolFunction:p("symbol-function",60044),symbolConstructor:p("symbol-constructor",60044),symbolBoolean:p("symbol-boolean",60047),symbolNull:p("symbol-null",60047),symbolNumeric:p("symbol-numeric",60048),symbolNumber:p("symbol-number",60048),symbolStructure:p("symbol-structure",60049),symbolStruct:p("symbol-struct",60049),symbolParameter:p("symbol-parameter",60050),symbolTypeParameter:p("symbol-type-parameter",60050),symbolKey:p("symbol-key",60051),symbolText:p("symbol-text",60051),symbolReference:p("symbol-reference",60052),goToFile:p("go-to-file",60052),symbolEnum:p("symbol-enum",60053),symbolValue:p("symbol-value",60053),symbolRuler:p("symbol-ruler",60054),symbolUnit:p("symbol-unit",60054),activateBreakpoints:p("activate-breakpoints",60055),archive:p("archive",60056),arrowBoth:p("arrow-both",60057),arrowDown:p("arrow-down",60058),arrowLeft:p("arrow-left",60059),arrowRight:p("arrow-right",60060),arrowSmallDown:p("arrow-small-down",60061),arrowSmallLeft:p("arrow-small-left",60062),arrowSmallRight:p("arrow-small-right",60063),arrowSmallUp:p("arrow-small-up",60064),arrowUp:p("arrow-up",60065),bell:p("bell",60066),bold:p("bold",60067),book:p("book",60068),bookmark:p("bookmark",60069),debugBreakpointConditionalUnverified:p("debug-breakpoint-conditional-unverified",60070),debugBreakpointConditional:p("debug-breakpoint-conditional",60071),debugBreakpointConditionalDisabled:p("debug-breakpoint-conditional-disabled",60071),debugBreakpointDataUnverified:p("debug-breakpoint-data-unverified",60072),debugBreakpointData:p("debug-breakpoint-data",60073),debugBreakpointDataDisabled:p("debug-breakpoint-data-disabled",60073),debugBreakpointLogUnverified:p("debug-breakpoint-log-unverified",60074),debugBreakpointLog:p("debug-breakpoint-log",60075),debugBreakpointLogDisabled:p("debug-breakpoint-log-disabled",60075),briefcase:p("briefcase",60076),broadcast:p("broadcast",60077),browser:p("browser",60078),bug:p("bug",60079),calendar:p("calendar",60080),caseSensitive:p("case-sensitive",60081),check:p("check",60082),checklist:p("checklist",60083),chevronDown:p("chevron-down",60084),chevronLeft:p("chevron-left",60085),chevronRight:p("chevron-right",60086),chevronUp:p("chevron-up",60087),chromeClose:p("chrome-close",60088),chromeMaximize:p("chrome-maximize",60089),chromeMinimize:p("chrome-minimize",60090),chromeRestore:p("chrome-restore",60091),circleOutline:p("circle-outline",60092),circle:p("circle",60092),debugBreakpointUnverified:p("debug-breakpoint-unverified",60092),terminalDecorationIncomplete:p("terminal-decoration-incomplete",60092),circleSlash:p("circle-slash",60093),circuitBoard:p("circuit-board",60094),clearAll:p("clear-all",60095),clippy:p("clippy",60096),closeAll:p("close-all",60097),cloudDownload:p("cloud-download",60098),cloudUpload:p("cloud-upload",60099),code:p("code",60100),collapseAll:p("collapse-all",60101),colorMode:p("color-mode",60102),commentDiscussion:p("comment-discussion",60103),creditCard:p("credit-card",60105),dash:p("dash",60108),dashboard:p("dashboard",60109),database:p("database",60110),debugContinue:p("debug-continue",60111),debugDisconnect:p("debug-disconnect",60112),debugPause:p("debug-pause",60113),debugRestart:p("debug-restart",60114),debugStart:p("debug-start",60115),debugStepInto:p("debug-step-into",60116),debugStepOut:p("debug-step-out",60117),debugStepOver:p("debug-step-over",60118),debugStop:p("debug-stop",60119),debug:p("debug",60120),deviceCameraVideo:p("device-camera-video",60121),deviceCamera:p("device-camera",60122),deviceMobile:p("device-mobile",60123),diffAdded:p("diff-added",60124),diffIgnored:p("diff-ignored",60125),diffModified:p("diff-modified",60126),diffRemoved:p("diff-removed",60127),diffRenamed:p("diff-renamed",60128),diff:p("diff",60129),diffSidebyside:p("diff-sidebyside",60129),discard:p("discard",60130),editorLayout:p("editor-layout",60131),emptyWindow:p("empty-window",60132),exclude:p("exclude",60133),extensions:p("extensions",60134),eyeClosed:p("eye-closed",60135),fileBinary:p("file-binary",60136),fileCode:p("file-code",60137),fileMedia:p("file-media",60138),filePdf:p("file-pdf",60139),fileSubmodule:p("file-submodule",60140),fileSymlinkDirectory:p("file-symlink-directory",60141),fileSymlinkFile:p("file-symlink-file",60142),fileZip:p("file-zip",60143),files:p("files",60144),filter:p("filter",60145),flame:p("flame",60146),foldDown:p("fold-down",60147),foldUp:p("fold-up",60148),fold:p("fold",60149),folderActive:p("folder-active",60150),folderOpened:p("folder-opened",60151),gear:p("gear",60152),gift:p("gift",60153),gistSecret:p("gist-secret",60154),gist:p("gist",60155),gitCommit:p("git-commit",60156),gitCompare:p("git-compare",60157),compareChanges:p("compare-changes",60157),gitMerge:p("git-merge",60158),githubAction:p("github-action",60159),githubAlt:p("github-alt",60160),globe:p("globe",60161),grabber:p("grabber",60162),graph:p("graph",60163),gripper:p("gripper",60164),heart:p("heart",60165),home:p("home",60166),horizontalRule:p("horizontal-rule",60167),hubot:p("hubot",60168),inbox:p("inbox",60169),issueReopened:p("issue-reopened",60171),issues:p("issues",60172),italic:p("italic",60173),jersey:p("jersey",60174),json:p("json",60175),bracket:p("bracket",60175),kebabVertical:p("kebab-vertical",60176),key:p("key",60177),law:p("law",60178),lightbulbAutofix:p("lightbulb-autofix",60179),linkExternal:p("link-external",60180),link:p("link",60181),listOrdered:p("list-ordered",60182),listUnordered:p("list-unordered",60183),liveShare:p("live-share",60184),loading:p("loading",60185),location:p("location",60186),mailRead:p("mail-read",60187),mail:p("mail",60188),markdown:p("markdown",60189),megaphone:p("megaphone",60190),mention:p("mention",60191),milestone:p("milestone",60192),gitPullRequestMilestone:p("git-pull-request-milestone",60192),mortarBoard:p("mortar-board",60193),move:p("move",60194),multipleWindows:p("multiple-windows",60195),mute:p("mute",60196),noNewline:p("no-newline",60197),note:p("note",60198),octoface:p("octoface",60199),openPreview:p("open-preview",60200),package:p("package",60201),paintcan:p("paintcan",60202),pin:p("pin",60203),play:p("play",60204),run:p("run",60204),plug:p("plug",60205),preserveCase:p("preserve-case",60206),preview:p("preview",60207),project:p("project",60208),pulse:p("pulse",60209),question:p("question",60210),quote:p("quote",60211),radioTower:p("radio-tower",60212),reactions:p("reactions",60213),references:p("references",60214),refresh:p("refresh",60215),regex:p("regex",60216),remoteExplorer:p("remote-explorer",60217),remote:p("remote",60218),remove:p("remove",60219),replaceAll:p("replace-all",60220),replace:p("replace",60221),repoClone:p("repo-clone",60222),repoForcePush:p("repo-force-push",60223),repoPull:p("repo-pull",60224),repoPush:p("repo-push",60225),report:p("report",60226),requestChanges:p("request-changes",60227),rocket:p("rocket",60228),rootFolderOpened:p("root-folder-opened",60229),rootFolder:p("root-folder",60230),rss:p("rss",60231),ruby:p("ruby",60232),saveAll:p("save-all",60233),saveAs:p("save-as",60234),save:p("save",60235),screenFull:p("screen-full",60236),screenNormal:p("screen-normal",60237),searchStop:p("search-stop",60238),server:p("server",60240),settingsGear:p("settings-gear",60241),settings:p("settings",60242),shield:p("shield",60243),smiley:p("smiley",60244),sortPrecedence:p("sort-precedence",60245),splitHorizontal:p("split-horizontal",60246),splitVertical:p("split-vertical",60247),squirrel:p("squirrel",60248),starFull:p("star-full",60249),starHalf:p("star-half",60250),symbolClass:p("symbol-class",60251),symbolColor:p("symbol-color",60252),symbolConstant:p("symbol-constant",60253),symbolEnumMember:p("symbol-enum-member",60254),symbolField:p("symbol-field",60255),symbolFile:p("symbol-file",60256),symbolInterface:p("symbol-interface",60257),symbolKeyword:p("symbol-keyword",60258),symbolMisc:p("symbol-misc",60259),symbolOperator:p("symbol-operator",60260),symbolProperty:p("symbol-property",60261),wrench:p("wrench",60261),wrenchSubaction:p("wrench-subaction",60261),symbolSnippet:p("symbol-snippet",60262),tasklist:p("tasklist",60263),telescope:p("telescope",60264),textSize:p("text-size",60265),threeBars:p("three-bars",60266),thumbsdown:p("thumbsdown",60267),thumbsup:p("thumbsup",60268),tools:p("tools",60269),triangleDown:p("triangle-down",60270),triangleLeft:p("triangle-left",60271),triangleRight:p("triangle-right",60272),triangleUp:p("triangle-up",60273),twitter:p("twitter",60274),unfold:p("unfold",60275),unlock:p("unlock",60276),unmute:p("unmute",60277),unverified:p("unverified",60278),verified:p("verified",60279),versions:p("versions",60280),vmActive:p("vm-active",60281),vmOutline:p("vm-outline",60282),vmRunning:p("vm-running",60283),watch:p("watch",60284),whitespace:p("whitespace",60285),wholeWord:p("whole-word",60286),window:p("window",60287),wordWrap:p("word-wrap",60288),zoomIn:p("zoom-in",60289),zoomOut:p("zoom-out",60290),listFilter:p("list-filter",60291),listFlat:p("list-flat",60292),listSelection:p("list-selection",60293),selection:p("selection",60293),listTree:p("list-tree",60294),debugBreakpointFunctionUnverified:p("debug-breakpoint-function-unverified",60295),debugBreakpointFunction:p("debug-breakpoint-function",60296),debugBreakpointFunctionDisabled:p("debug-breakpoint-function-disabled",60296),debugStackframeActive:p("debug-stackframe-active",60297),circleSmallFilled:p("circle-small-filled",60298),debugStackframeDot:p("debug-stackframe-dot",60298),terminalDecorationMark:p("terminal-decoration-mark",60298),debugStackframe:p("debug-stackframe",60299),debugStackframeFocused:p("debug-stackframe-focused",60299),debugBreakpointUnsupported:p("debug-breakpoint-unsupported",60300),symbolString:p("symbol-string",60301),debugReverseContinue:p("debug-reverse-continue",60302),debugStepBack:p("debug-step-back",60303),debugRestartFrame:p("debug-restart-frame",60304),debugAlt:p("debug-alt",60305),callIncoming:p("call-incoming",60306),callOutgoing:p("call-outgoing",60307),menu:p("menu",60308),expandAll:p("expand-all",60309),feedback:p("feedback",60310),gitPullRequestReviewer:p("git-pull-request-reviewer",60310),groupByRefType:p("group-by-ref-type",60311),ungroupByRefType:p("ungroup-by-ref-type",60312),account:p("account",60313),gitPullRequestAssignee:p("git-pull-request-assignee",60313),bellDot:p("bell-dot",60314),debugConsole:p("debug-console",60315),library:p("library",60316),output:p("output",60317),runAll:p("run-all",60318),syncIgnored:p("sync-ignored",60319),pinned:p("pinned",60320),githubInverted:p("github-inverted",60321),serverProcess:p("server-process",60322),serverEnvironment:p("server-environment",60323),pass:p("pass",60324),issueClosed:p("issue-closed",60324),stopCircle:p("stop-circle",60325),playCircle:p("play-circle",60326),record:p("record",60327),debugAltSmall:p("debug-alt-small",60328),vmConnect:p("vm-connect",60329),cloud:p("cloud",60330),merge:p("merge",60331),export:p("export",60332),graphLeft:p("graph-left",60333),magnet:p("magnet",60334),notebook:p("notebook",60335),redo:p("redo",60336),checkAll:p("check-all",60337),pinnedDirty:p("pinned-dirty",60338),passFilled:p("pass-filled",60339),circleLargeFilled:p("circle-large-filled",60340),circleLarge:p("circle-large",60341),circleLargeOutline:p("circle-large-outline",60341),combine:p("combine",60342),gather:p("gather",60342),table:p("table",60343),variableGroup:p("variable-group",60344),typeHierarchy:p("type-hierarchy",60345),typeHierarchySub:p("type-hierarchy-sub",60346),typeHierarchySuper:p("type-hierarchy-super",60347),gitPullRequestCreate:p("git-pull-request-create",60348),runAbove:p("run-above",60349),runBelow:p("run-below",60350),notebookTemplate:p("notebook-template",60351),debugRerun:p("debug-rerun",60352),workspaceTrusted:p("workspace-trusted",60353),workspaceUntrusted:p("workspace-untrusted",60354),workspaceUnknown:p("workspace-unknown",60355),terminalCmd:p("terminal-cmd",60356),terminalDebian:p("terminal-debian",60357),terminalLinux:p("terminal-linux",60358),terminalPowershell:p("terminal-powershell",60359),terminalTmux:p("terminal-tmux",60360),terminalUbuntu:p("terminal-ubuntu",60361),terminalBash:p("terminal-bash",60362),arrowSwap:p("arrow-swap",60363),copy:p("copy",60364),personAdd:p("person-add",60365),filterFilled:p("filter-filled",60366),wand:p("wand",60367),debugLineByLine:p("debug-line-by-line",60368),inspect:p("inspect",60369),layers:p("layers",60370),layersDot:p("layers-dot",60371),layersActive:p("layers-active",60372),compass:p("compass",60373),compassDot:p("compass-dot",60374),compassActive:p("compass-active",60375),azure:p("azure",60376),issueDraft:p("issue-draft",60377),gitPullRequestClosed:p("git-pull-request-closed",60378),gitPullRequestDraft:p("git-pull-request-draft",60379),debugAll:p("debug-all",60380),debugCoverage:p("debug-coverage",60381),runErrors:p("run-errors",60382),folderLibrary:p("folder-library",60383),debugContinueSmall:p("debug-continue-small",60384),beakerStop:p("beaker-stop",60385),graphLine:p("graph-line",60386),graphScatter:p("graph-scatter",60387),pieChart:p("pie-chart",60388),bracketDot:p("bracket-dot",60389),bracketError:p("bracket-error",60390),lockSmall:p("lock-small",60391),azureDevops:p("azure-devops",60392),verifiedFilled:p("verified-filled",60393),newline:p("newline",60394),layout:p("layout",60395),layoutActivitybarLeft:p("layout-activitybar-left",60396),layoutActivitybarRight:p("layout-activitybar-right",60397),layoutPanelLeft:p("layout-panel-left",60398),layoutPanelCenter:p("layout-panel-center",60399),layoutPanelJustify:p("layout-panel-justify",60400),layoutPanelRight:p("layout-panel-right",60401),layoutPanel:p("layout-panel",60402),layoutSidebarLeft:p("layout-sidebar-left",60403),layoutSidebarRight:p("layout-sidebar-right",60404),layoutStatusbar:p("layout-statusbar",60405),layoutMenubar:p("layout-menubar",60406),layoutCentered:p("layout-centered",60407),target:p("target",60408),indent:p("indent",60409),recordSmall:p("record-small",60410),errorSmall:p("error-small",60411),terminalDecorationError:p("terminal-decoration-error",60411),arrowCircleDown:p("arrow-circle-down",60412),arrowCircleLeft:p("arrow-circle-left",60413),arrowCircleRight:p("arrow-circle-right",60414),arrowCircleUp:p("arrow-circle-up",60415),layoutSidebarRightOff:p("layout-sidebar-right-off",60416),layoutPanelOff:p("layout-panel-off",60417),layoutSidebarLeftOff:p("layout-sidebar-left-off",60418),blank:p("blank",60419),heartFilled:p("heart-filled",60420),map:p("map",60421),mapHorizontal:p("map-horizontal",60421),foldHorizontal:p("fold-horizontal",60421),mapFilled:p("map-filled",60422),mapHorizontalFilled:p("map-horizontal-filled",60422),foldHorizontalFilled:p("fold-horizontal-filled",60422),circleSmall:p("circle-small",60423),bellSlash:p("bell-slash",60424),bellSlashDot:p("bell-slash-dot",60425),commentUnresolved:p("comment-unresolved",60426),gitPullRequestGoToChanges:p("git-pull-request-go-to-changes",60427),gitPullRequestNewChanges:p("git-pull-request-new-changes",60428),searchFuzzy:p("search-fuzzy",60429),commentDraft:p("comment-draft",60430),send:p("send",60431),sparkle:p("sparkle",60432),insert:p("insert",60433),mic:p("mic",60434),thumbsdownFilled:p("thumbsdown-filled",60435),thumbsupFilled:p("thumbsup-filled",60436),coffee:p("coffee",60437),snake:p("snake",60438),game:p("game",60439),vr:p("vr",60440),chip:p("chip",60441),piano:p("piano",60442),music:p("music",60443),micFilled:p("mic-filled",60444),repoFetch:p("repo-fetch",60445),copilot:p("copilot",60446),lightbulbSparkle:p("lightbulb-sparkle",60447),robot:p("robot",60448),sparkleFilled:p("sparkle-filled",60449),diffSingle:p("diff-single",60450),diffMultiple:p("diff-multiple",60451),surroundWith:p("surround-with",60452),share:p("share",60453),gitStash:p("git-stash",60454),gitStashApply:p("git-stash-apply",60455),gitStashPop:p("git-stash-pop",60456),vscode:p("vscode",60457),vscodeInsiders:p("vscode-insiders",60458),codeOss:p("code-oss",60459),runCoverage:p("run-coverage",60460),runAllCoverage:p("run-all-coverage",60461),coverage:p("coverage",60462),githubProject:p("github-project",60463),mapVertical:p("map-vertical",60464),foldVertical:p("fold-vertical",60464),mapVerticalFilled:p("map-vertical-filled",60465),foldVerticalFilled:p("fold-vertical-filled",60465),goToSearch:p("go-to-search",60466),percentage:p("percentage",60467),sortPercentage:p("sort-percentage",60467),attach:p("attach",60468),goToEditingSession:p("go-to-editing-session",60469),editSession:p("edit-session",60470),codeReview:p("code-review",60471),copilotWarning:p("copilot-warning",60472),python:p("python",60473),copilotLarge:p("copilot-large",60474),copilotWarningLarge:p("copilot-warning-large",60475),keyboardTab:p("keyboard-tab",60476),copilotBlocked:p("copilot-blocked",60477),copilotNotConnected:p("copilot-not-connected",60478),flag:p("flag",60479),lightbulbEmpty:p("lightbulb-empty",60480),symbolMethodArrow:p("symbol-method-arrow",60481),copilotUnavailable:p("copilot-unavailable",60482),repoPinned:p("repo-pinned",60483),keyboardTabAbove:p("keyboard-tab-above",60484),keyboardTabBelow:p("keyboard-tab-below",60485),gitPullRequestDone:p("git-pull-request-done",60486),mcp:p("mcp",60487),extensionsLarge:p("extensions-large",60488),layoutPanelDock:p("layout-panel-dock",60489),layoutSidebarLeftDock:p("layout-sidebar-left-dock",60490),layoutSidebarRightDock:p("layout-sidebar-right-dock",60491),copilotInProgress:p("copilot-in-progress",60492),copilotError:p("copilot-error",60493),copilotSuccess:p("copilot-success",60494),chatSparkle:p("chat-sparkle",60495),searchSparkle:p("search-sparkle",60496),editSparkle:p("edit-sparkle",60497),copilotSnooze:p("copilot-snooze",60498),sendToRemoteAgent:p("send-to-remote-agent",60499),commentDiscussionSparkle:p("comment-discussion-sparkle",60500),chatSparkleWarning:p("chat-sparkle-warning",60501),chatSparkleError:p("chat-sparkle-error",60502),collection:p("collection",60503),newCollection:p("new-collection",60504),thinking:p("thinking",60505),build:p("build",60506),commentDiscussionQuote:p("comment-discussion-quote",60507),cursor:p("cursor",60508),eraser:p("eraser",60509),fileText:p("file-text",60510),quotes:p("quotes",60512),rename:p("rename",60513),runWithDeps:p("run-with-deps",60514),debugConnected:p("debug-connected",60515),strikethrough:p("strikethrough",60516),openInProduct:p("open-in-product",60517),indexZero:p("index-zero",60518),agent:p("agent",60519),editCode:p("edit-code",60520),repoSelected:p("repo-selected",60521),skip:p("skip",60522),mergeInto:p("merge-into",60523),gitBranchChanges:p("git-branch-changes",60524),gitBranchStagedChanges:p("git-branch-staged-changes",60525),gitBranchConflicts:p("git-branch-conflicts",60526),gitBranch:p("git-branch",60527),gitBranchCreate:p("git-branch-create",60527),gitBranchDelete:p("git-branch-delete",60527),searchLarge:p("search-large",60528),terminalGitBash:p("terminal-git-bash",60529),windowActive:p("window-active",60530),forward:p("forward",60531),download:p("download",60532),clockface:p("clockface",60533),unarchive:p("unarchive",60534),sessionInProgress:p("session-in-progress",60535),collectionSmall:p("collection-small",60536),vmSmall:p("vm-small",60537),cloudSmall:p("cloud-small",60538),addSmall:p("add-small",60539),removeSmall:p("remove-small",60540),worktreeSmall:p("worktree-small",60541),worktree:p("worktree",60542),screenCut:p("screen-cut",60543),ask:p("ask",60544),openai:p("openai",60545),claude:p("claude",60546),openInWindow:p("open-in-window",60547),newSession:p("new-session",60548),terminalSecure:p("terminal-secure",60549)}});function dw(){return Object.values(pt)}var pM,pt,Xu=I(()=>{cw();DC();pM={dialogError:p("dialog-error","error"),dialogWarning:p("dialog-warning","warning"),dialogInfo:p("dialog-info","info"),dialogClose:p("dialog-close","close"),treeItemExpanded:p("tree-item-expanded","chevron-down"),treeFilterOnTypeOn:p("tree-filter-on-type-on","list-filter"),treeFilterOnTypeOff:p("tree-filter-on-type-off","list-selection"),treeFilterClear:p("tree-filter-clear","close"),treeItemLoading:p("tree-item-loading","loading"),menuSelection:p("menu-selection","check"),menuSubmenu:p("menu-submenu","chevron-right"),menuBarMore:p("menubar-more","more"),scrollbarButtonLeft:p("scrollbar-button-left","triangle-left"),scrollbarButtonRight:p("scrollbar-button-right","triangle-right"),scrollbarButtonUp:p("scrollbar-button-up","triangle-up"),scrollbarButtonDown:p("scrollbar-button-down","triangle-down"),toolBarMore:p("toolbar-more","more"),quickInputBack:p("quick-input-back","arrow-left"),dropDownButton:p("drop-down-button",60084),symbolCustomColor:p("symbol-customcolor",60252),exportIcon:p("export",60332),workspaceUnspecified:p("workspace-unspecified",60355),newLine:p("newline",60394),thumbsDownFilled:p("thumbsdown-filled",60435),thumbsUpFilled:p("thumbsup-filled",60436),gitFetch:p("git-fetch",60445),lightbulbSparkleAutofix:p("lightbulb-sparkle-autofix",60447),debugBreakpointPending:p("debug-breakpoint-pending",60377),chatImport:p("chat-import",60550),chatExport:p("chat-export",60551)},pt={...RC,...pM}});var AC,nc,uw=I(()=>{Xu();(r=>{function i(e){return!!e&&typeof e=="object"&&typeof e.id=="string"}r.isThemeColor=i})(AC||={});(w=>{w.iconNameSegment="[A-Za-z0-9]+",w.iconNameExpression="[A-Za-z0-9-]+",w.iconModifierExpression="~[A-Za-z]+",w.iconNameCharacter="[A-Za-z0-9~-]";let n=new RegExp(`^(${w.iconNameExpression})(${w.iconModifierExpression})?$`);function o(_){let R=n.exec(_.id);if(!R)return o(pt.error);let[,D,M]=R,X=["codicon","codicon-"+D];return M&&X.push("codicon-modifier-"+M.substring(1)),X}w.asClassNameArray=o;function s(_){return o(_).join(" ")}w.asClassName=s;function a(_){return"."+o(_).join(".")}w.asCSSSelector=a;function l(_){return!!_&&typeof _=="object"&&typeof _.id=="string"&&(typeof _.color>"u"||AC.isThemeColor(_.color))}w.isThemeIcon=l;let c=new RegExp(`^\\$\\((${w.iconNameExpression}(?:${w.iconModifierExpression})?)\\)$`);function d(_){let R=c.exec(_);if(!R)return;let[,D]=R;return{id:D}}w.fromString=d;function u(_){return{id:_}}w.fromId=u;function f(_,R){let D=_.id,M=D.lastIndexOf("~");return M!==-1&&(D=D.substring(0,M)),R&&(D=`${D}~${R}`),{id:D}}w.modify=f;function m(_){let R=_.id.lastIndexOf("~");if(R!==-1)return _.id.substring(R+1)}w.getModifier=m;function y(_,R){return _.id===R.id&&_.color?.id===R.color?.id}w.isEqual=y;function v(_){return _?.id===pt.file.id}w.isFile=v;function C(_){return _?.id===pt.folder.id}w.isFolder=C})(nc||={})});import mn,{screen as mM}from"electron";import{release as LC}from"os";var pw,Yu,aa,fw,mw=I(()=>{ge();It();Wo();z();$();qe();mi();Z();le();Ee();gl();it();Gs();Dt();Ll();ze();Et();re();nr();Fh();_C();Mi();ir();uw();al();jo();Vt();Tr();ts();Ri();li();bn();Yo();zl();ee();ot();He();sI();hy();pw=class i{constructor(){this.windows=new Set}static{this.INSTANCE=new i}acquireBadge(r){return this.windows.add(r.id),mn.app.setBadgeCount(ne?1:void 0),{dispose:()=>{this.windows.delete(r.id),this.windows.size===0&&mn.app.setBadgeCount(0)}}}},Yu=class i extends T{constructor(e,t,n,o){super();this.configurationService=e;this.stateService=t;this.environmentMainService=n;this.logService=o;this._onDidClose=this._register(new b);this.onDidClose=this._onDidClose.event;this._onDidMaximize=this._register(new b);this.onDidMaximize=this._onDidMaximize.event;this._onDidUnmaximize=this._register(new b);this.onDidUnmaximize=this._onDidUnmaximize.event;this._onDidTriggerSystemContextMenu=this._register(new b);this.onDidTriggerSystemContextMenu=this._onDidTriggerSystemContextMenu.event;this._onDidEnterFullScreen=this._register(new b);this.onDidEnterFullScreen=this._onDidEnterFullScreen.event;this._onDidLeaveFullScreen=this._register(new b);this.onDidLeaveFullScreen=this._onDidLeaveFullScreen.event;this._onDidChangeAlwaysOnTop=this._register(new b);this.onDidChangeAlwaysOnTop=this._onDidChangeAlwaysOnTop.event;this._lastFocusTime=Date.now();this._win=null;this.notifyFocusDisposable=this._register(new jt);this.windowControlsDimmed=!1;this.transientIsNativeFullScreen=void 0;this.joinNativeFullScreenTransition=void 0}get lastFocusTime(){return this._lastFocusTime}get win(){return this._win}setWin(e,t){this._win=e,this._register(S.fromNodeEventEmitter(e,"maximize")(()=>{if(F&&this.environmentMainService.enableRDPDisplayTracking&&this._win){let[o,s]=this._win.getPosition(),[a,l]=this._win.getSize();this.maximizedWindowState={mode:0,width:a,height:l,x:o,y:s},this.logService.debug(`Saved maximized window ${this.id} display state:`,this.maximizedWindowState)}this._onDidMaximize.fire()})),this._register(S.fromNodeEventEmitter(e,"unmaximize")(()=>{F&&this.environmentMainService.enableRDPDisplayTracking&&this.maximizedWindowState&&(this.maximizedWindowState=void 0,this.logService.debug(`Cleared maximized window ${this.id} state`)),this._onDidUnmaximize.fire()})),this._register(S.fromNodeEventEmitter(e,"closed")(()=>{this._onDidClose.fire(),this.dispose()})),this._register(S.fromNodeEventEmitter(e,"focus")(()=>{this.clearNotifyFocus(),this._lastFocusTime=Date.now()})),this._register(S.fromNodeEventEmitter(this._win,"enter-full-screen")(()=>this._onDidEnterFullScreen.fire())),this._register(S.fromNodeEventEmitter(this._win,"leave-full-screen")(()=>this._onDidLeaveFullScreen.fire())),this._register(S.fromNodeEventEmitter(this._win,"always-on-top-changed",(o,s)=>s)(o=>this._onDidChangeAlwaysOnTop.fire(o)));let n=!zo(this.configurationService,t?.titleBarStyle==="hidden"?"custom":void 0);if(N&&n&&e.setSheetOffset(Vg(LC())?32:28),n&&lu(this.configurationService)){let o=this.stateService.getItem(i.windowControlHeightStateStorageKey);o?this.updateWindowControls({height:o}):this.updateWindowControls({height:eP})}(F||ne)&&n&&this._register(S.fromNodeEventEmitter(e,"system-context-menu",(o,s)=>({event:o,point:s}))(o=>{let[s,a]=e.getPosition(),l=mn.screen.screenToDipPoint(o.point),c=Math.floor(l.x)-s,d=Math.floor(l.y)-a;ne&&c>35&&(o.event.preventDefault(),this._onDidTriggerSystemContextMenu.fire({x:c,y:d}))})),this.environmentMainService.args["open-devtools"]===!0&&e.webContents.openDevTools(),N&&(this._register(this.onDidEnterFullScreen(()=>{this.joinNativeFullScreenTransition?.complete(!0)})),this._register(this.onDidLeaveFullScreen(()=>{this.joinNativeFullScreenTransition?.complete(!0)}))),F&&this.environmentMainService.enableRDPDisplayTracking&&this._register(S.fromNodeEventEmitter(mM,"display-added",(o,s)=>({event:o,display:s}))(o=>{this.onDisplayAdded(o.display)}))}onDisplayAdded(e){let t=this.maximizedWindowState;t&&this._win&&cl.validateWindowStateOnDisplay(t,e)&&(this.logService.debug(`Setting maximized window ${this.id} bounds to match newly added display`,t),this._win.setBounds(t))}applyState(e,t=mn.screen.getAllDisplays().length>0){let n=this.configurationService.getValue("window"),o=N&&n?.nativeTabs===!0;(N||F)&&t&&(!o||Ai().length===1)&&[e.width,e.height,e.x,e.y].every(s=>typeof s=="number")&&this._win?.setBounds({width:e.width,height:e.height,x:e.x,y:e.y}),(e.mode===0||e.mode===3)&&(this._win?.maximize(),e.mode===3&&this.setFullScreen(!0,!0),this._win?.show())}setRepresentedFilename(e){N?this.win?.setRepresentedFilename(e):this.representedFilename=e}getRepresentedFilename(){return N?this.win?.getRepresentedFilename():this.representedFilename}setDocumentEdited(e){N&&this.win?.setDocumentEdited(e),this.documentEdited=e}isDocumentEdited(){return N?!!this.win?.isDocumentEdited():!!this.documentEdited}focus(e){switch(e?.mode??0){case 0:this.doFocusWindow();break;case 1:this.showNotifyFocus();break;case 2:N&&mn.app.focus({steal:!0}),this.doFocusWindow();break}}showNotifyFocus(){let e=new J;this.notifyFocusDisposable.value=e,e.add(pw.INSTANCE.acquireBadge(this)),F||ne?(this.win?.flashFrame(!0),e.add(j(()=>this.win?.flashFrame(!1)))):N&&mn.app.dock?.bounce("informational")}clearNotifyFocus(){this.notifyFocusDisposable.clear()}doFocusWindow(){let e=this.win;e&&(e.isMinimized()&&e.restore(),e.focus(),e.webContents.focus())}static{this.windowControlHeightStateStorageKey="windowControlHeight"}updateWindowControls(e){let t=this.win;if(t){if(e.height&&this.stateService.setItem(aa.windowControlHeightStateStorageKey,e.height),!N&&lu(this.configurationService)){e.dimmed!==void 0&&(this.windowControlsDimmed=e.dimmed);let n=e.backgroundColor??this.lastWindowControlColors?.backgroundColor,o=e.foregroundColor??this.lastWindowControlColors?.foregroundColor;(e.backgroundColor!==void 0||e.foregroundColor!==void 0)&&(this.lastWindowControlColors={backgroundColor:n,foregroundColor:o});let s=this.windowControlsDimmed&&n?this.dimColor(n):n,a=this.windowControlsDimmed&&o?this.dimColor(o):o;t.setTitleBarOverlay({color:s?.trim()===""?void 0:s,symbolColor:a?.trim()===""?void 0:a,height:e.height?e.height-1:void 0})}else if(N&&e.height!==void 0){let n=Vg(LC())?14:16,o=Math.floor((e.height-n)/2);o?t.setWindowButtonPosition({x:o+1,y:o}):t.setWindowButtonPosition(null)}}}dimColor(e){let t=Qo.Format.CSS.parse(e);if(!t)return e;let n=.7,o=Math.round(t.rgba.r*n),s=Math.round(t.rgba.g*n),a=Math.round(t.rgba.b*n);return`rgb(${o}, ${s}, ${a})`}toggleFullScreen(){this.setFullScreen(!this.isFullScreen,!1)}setFullScreen(e,t){rm(this.configurationService)?this.setNativeFullScreen(e,t):this.setSimpleFullScreen(e)}get isFullScreen(){if(N&&typeof this.transientIsNativeFullScreen=="boolean")return this.transientIsNativeFullScreen;let e=this.win,t=e?.isFullScreen(),n=e?.isSimpleFullScreen();return!!(t||n)}setNativeFullScreen(e,t){let n=this.win;n?.isSimpleFullScreen()&&n?.setSimpleFullScreen(!1),this.doSetNativeFullScreen(e,t)}doSetNativeFullScreen(e,t){if(N){this.transientIsNativeFullScreen=e;let o=this.joinNativeFullScreenTransition=new Gt;(async()=>{let s=await Promise.race([o.p,lt(1e4).then(()=>!1)]);this.joinNativeFullScreenTransition===o&&(this.transientIsNativeFullScreen=void 0,this.joinNativeFullScreenTransition=void 0,!s&&e&&t&&this.win&&!this.win.isFullScreen()&&(this.logService.warn("window: native macOS fullscreen transition did not happen within 10s from restoring"),this._onDidLeaveFullScreen.fire()))})()}this.win?.setFullScreen(e)}setSimpleFullScreen(e){let t=this.win;t?.isFullScreen()&&this.doSetNativeFullScreen(!1,!1),t?.setSimpleFullScreen(e),t?.webContents.focus()}dispose(){super.dispose(),this._win=null}},aa=class extends Yu{constructor(e,t,n,o,s,a,l,c,d,u,f,m,y,v,C,w,_,R,D,M,X){super(u,M,o,t);this.loggerMainService=n;this.policyService=s;this.userDataProfilesService=a;this.fileService=l;this.applicationStorageMainService=c;this.storageMainService=d;this.themeMainService=f;this.workspacesManagementMainService=m;this.backupMainService=y;this.telemetryService=v;this.dialogMainService=C;this.lifecycleMainService=w;this.productService=_;this.windowsMainService=D;this._onWillLoad=this._register(new b);this.onWillLoad=this._onWillLoad.event;this._onDidSignalReady=this._register(new b);this.onDidSignalReady=this._onDidSignalReady.event;this._onDidDestroy=this._register(new b);this.onDidDestroy=this._onDidDestroy.event;this.whenReadyCallbacks=[];this.touchBarGroups=[];this.currentHttpProxy=void 0;this.currentNoProxy=void 0;this.customZoomLevel=void 0;this.wasLoaded=!1;this.readyState=0;this.swipeListenerDisposable=this._register(new jt);{this.configObjectUrl=this._register(R.createIPCObjectUrl());let[q,ve]=this.restoreWindowState(e.state);this.windowState=q,this.logService.trace("window#ctor: using window state",q);let vt={preload:st.asFileUri("vs/base/parts/sandbox/electron-browser/preload.js").fsPath,additionalArguments:[`--vscode-window-config=${this.configObjectUrl.resource.toString()}`],v8CacheOptions:this.environmentMainService.useCodeCache?"bypassHeatCheck":"none"};process.isEmbeddedApp&&(vt.backgroundThrottling=!1);let At=X.invokeFunction(ll,this.windowState,void 0,vt);Be("code/willCreateCodeBrowserWindow"),this._win=new mn.BrowserWindow(At),Be("code/didCreateCodeBrowserWindow"),this._id=this._win.id,this.setWin(this._win,At),this.applyState(this.windowState,ve),this._lastFocusTime=Date.now()}let B=parseInt(this.environmentMainService.args["unresponsive-sample-interval"]||"1000"),G=parseInt(this.environmentMainService.args["unresponsive-sample-period"]||"15000");(B<=0||G<=0||B>G)&&(this.logService.warn(`Invalid unresponsive sample interval (${B}ms) or period (${G}ms), using defaults.`),B=1e3,G=15e3),this.jsCallStackMap=new Map,this.jsCallStackEffectiveSampleCount=Math.round(G/B),this.jsCallStackCollector=this._register(new Xi(B)),this.jsCallStackCollectorStopScheduler=this._register(new gr(()=>{this.stopCollectingJScallStacks()},G)),this.onConfigurationUpdated(),this.createTouchBar(),this.registerListeners()}get id(){return this._id}get backupPath(){return this._config?.backupPath}get openedWorkspace(){return this._config?.workspace}get profile(){if(!this.config)return;let e=this.userDataProfilesService.profiles.find(t=>t.id===this.config?.profiles.profile.id);return this.isExtensionDevelopmentHost&&e?e:this.userDataProfilesService.getProfileForWorkspace(this.config.workspace??Ko(this.backupPath,this.isExtensionDevelopmentHost))??this.userDataProfilesService.defaultProfile}get remoteAuthority(){return this._config?.remoteAuthority}get config(){return this._config}get isExtensionDevelopmentHost(){return!!this._config?.extensionDevelopmentPath}get isExtensionTestHost(){return!!this._config?.extensionTestsPath}get isExtensionDevelopmentTestFromCli(){return this.isExtensionDevelopmentHost&&this.isExtensionTestHost&&!this._config?.debugId}setReady(){for(this.logService.trace(`window#load: window reported ready (id: ${this._id})`),this.readyState=2;this.whenReadyCallbacks.length;)this.whenReadyCallbacks.pop()(this);this._onDidSignalReady.fire()}ready(){return new Promise(e=>{if(this.isReady)return e(this);this.whenReadyCallbacks.push(e)})}get isReady(){return this.readyState===2}get whenClosedOrLoaded(){return new Promise(e=>{function t(){n.dispose(),o.dispose(),e()}let n=this.onDidClose(()=>t()),o=this.onWillLoad(()=>t())})}registerListeners(){this._register(S.fromNodeEventEmitter(this._win,"unresponsive")(()=>this.onWindowError(1))),this._register(S.fromNodeEventEmitter(this._win,"responsive")(()=>this.onWindowError(4))),this._register(S.fromNodeEventEmitter(this._win.webContents,"render-process-gone",(t,n)=>n)(t=>this.onWindowError(2,{...t}))),this._register(S.fromNodeEventEmitter(this._win.webContents,"did-fail-load",(t,n,o)=>({exitCode:n,reason:o}))(({exitCode:t,reason:n})=>this.onWindowError(3,{reason:n,exitCode:t}))),this._register(S.fromNodeEventEmitter(this._win.webContents,"will-prevent-unload")(t=>t.preventDefault())),this._register(S.fromNodeEventEmitter(this._win.webContents,"did-finish-load")(()=>{this.pendingLoadConfig&&(this._config=this.pendingLoadConfig,this.pendingLoadConfig=void 0)})),this._register(this.onDidMaximize(()=>{this._config&&(this._config.maximized=!0)})),this._register(this.onDidUnmaximize(()=>{this._config&&(this._config.maximized=!1)})),this._register(this.onDidEnterFullScreen(()=>{this.sendWhenReady("vscode:enterFullScreen",xe.None)})),this._register(this.onDidLeaveFullScreen(()=>{this.sendWhenReady("vscode:leaveFullScreen",xe.None)})),this._register(this.configurationService.onDidChangeConfiguration(t=>this.onConfigurationUpdated(t))),this._register(this.workspacesManagementMainService.onDidDeleteUntitledWorkspace(t=>this.onDidDeleteUntitledWorkspace(t)));let e=["https://*.vsassets.io/*"];if(this.productService.extensionsGallery?.serviceUrl){let t=P.parse(this.productService.extensionsGallery.serviceUrl);e.push(`${t.scheme}://${t.authority}/*`)}this._win.webContents.session.webRequest.onBeforeSendHeaders({urls:e},async(t,n)=>{let o=await this.getMarketplaceHeaders();n({cancel:!1,requestHeaders:Object.assign(t.requestHeaders,o)})})}getMarketplaceHeaders(){return this.marketplaceHeadersPromise||(this.marketplaceHeadersPromise=TC(this.productService.version,this.productService,this.environmentMainService,this.configurationService,this.fileService,this.applicationStorageMainService,this.telemetryService)),this.marketplaceHeadersPromise}async onWindowError(e,t){switch(e){case 2:this.logService.error(`CodeWindow: renderer process gone (reason: ${t?.reason||"<unknown>"}, code: ${t?.exitCode||"<unknown>"})`);break;case 1:this.logService.error("CodeWindow: detected unresponsive");break;case 4:this.logService.error("CodeWindow: recovered from unresponsive");break;case 3:this.logService.error(`CodeWindow: failed to load (reason: ${t?.reason||"<unknown>"}, code: ${t?.exitCode||"<unknown>"})`);break}switch(this.telemetryService.publicLog2("windowerror",{type:e,reason:t?.reason,code:t?.exitCode}),e){case 1:case 2:if(this.isExtensionDevelopmentTestFromCli){this.lifecycleMainService.kill(1);return}if(this.environmentMainService.args["enable-smoke-test-driver"]){await this.destroyWindow(!1,!1),this.lifecycleMainService.quit();return}if(e===1){if(this.isExtensionDevelopmentHost||this.isExtensionTestHost||this._win?.webContents?.isDevToolsOpened())return;this.jsCallStackCollector.trigger(()=>this.startCollectingJScallStacks()),this.jsCallStackCollectorStopScheduler.schedule();let{response:n,checkboxChecked:o}=await this.dialogMainService.showMessageBox({type:"warning",buttons:[h(2813,null),h(2809,null),h(2814,null)],message:h(2807,null),detail:h(2808,null),checkboxLabel:this._config?.workspace?h(2810,null):void 0},this._win);if(n!==2){let s=n===0;this.stopCollectingJScallStacks(),await this.destroyWindow(s,o)}}else if(e===2){let n;t?n=h(2805,null,t.reason,t.exitCode??"<unknown>"):n=h(2803,null);let{response:o,checkboxChecked:s}=await this.dialogMainService.showMessageBox({type:"warning",buttons:[this._config?.workspace?h(2813,null):h(2812,null),h(2809,null)],message:n,detail:this._config?.workspace?h(2806,null):h(2804,null),checkboxLabel:this._config?.workspace?h(2810,null):void 0},this._win),a=o===0;await this.destroyWindow(a,s)}break;case 4:this.stopCollectingJScallStacks();break}}async destroyWindow(e,t){let n=this._config?.workspace;if(t&&n)try{let o=this.storageMainService.workspaceStorage(n);await o.init(),o.delete("memento/workbench.parts.editor"),await o.close()}catch(o){this.logService.error(o)}this._onDidDestroy.fire();try{if(e&&this._config){let o,s;Bt(n)?o={folderUri:n.uri}:ct(n)?o={workspaceUri:n.configPath}:s=!0,(await this.windowsMainService.open({context:5,userEnv:this._config.userEnv,cli:{...this.environmentMainService.args,_:[]},urisToOpen:o?[o]:void 0,forceEmpty:s,forceNewWindow:!0,remoteAuthority:this.remoteAuthority})).at(0)?.focus()}}finally{this._win?.destroy()}}onDidDeleteUntitledWorkspace(e){this._config?.workspace?.id===e.id&&(this._config.workspace=void 0)}onConfigurationUpdated(e){if(N&&(!e||e.affectsConfiguration("workbench.editor.swipeToNavigate"))&&(this.configurationService.getValue("workbench.editor.swipeToNavigate")?this.registerSwipeListener():this.swipeListenerDisposable.clear()),!e||e.affectsConfiguration("window.menuBarVisibility")){let t=this.getMenuBarVisibility();t!==this.currentMenuBarVisibility&&(this.currentMenuBarVisibility=t,this.setMenuBarVisibility(t))}if(!e||e.affectsConfiguration("http.proxy")||e.affectsConfiguration("http.noProxy")){let n=(this.configurationService.inspect("http.proxy").userLocalValue||"").trim()||(process.env.https_proxy||process.env.HTTPS_PROXY||process.env.http_proxy||process.env.HTTP_PROXY||"").trim()||void 0;if(n?.indexOf("@")!==-1){let s=P.parse(n),a=s.authority.indexOf("@");a!==-1&&(n=s.with({authority:s.authority.substring(a+1)}).toString())}n?.endsWith("/")&&(n=n.substr(0,n.length-1));let o=(this.configurationService.getValue("http.noProxy")||[]).map(s=>s.trim()).join(",")||(process.env.no_proxy||process.env.NO_PROXY||"").trim()||void 0;if((n||"").indexOf("@")===-1&&(n!==this.currentHttpProxy||o!==this.currentNoProxy)){this.currentHttpProxy=n,this.currentNoProxy=o;let s=n||"",a=o?`${o},<local>`:"<local>";this.logService.trace(`Setting proxy to '${s}', bypassing '${a}'`),this._win.webContents.session.setProxy({proxyRules:s,proxyBypassRules:a,pacScript:""}),mn.app.setProxy({proxyRules:s,proxyBypassRules:a,pacScript:""})}}}registerSwipeListener(){this.swipeListenerDisposable.value=S.fromNodeEventEmitter(this._win,"swipe",(e,t)=>t)(e=>{this.isReady&&(e==="left"?this.send("vscode:runAction",{id:"workbench.action.openPreviousRecentlyUsedEditor",from:"mouse"}):e==="right"&&this.send("vscode:runAction",{id:"workbench.action.openNextRecentlyUsedEditor",from:"mouse"}))})}addTabbedWindow(e){N&&e.win&&this._win.addTabbedWindow(e.win)}load(e,t=Object.create(null)){this.logService.trace(`window#load: attempt to load window (id: ${this._id})`),this.isDocumentEdited()&&(!t.isReload||!this.backupMainService.isHotExitEnabled())&&this.setDocumentEdited(!1),t.isReload||(this.getRepresentedFilename()&&this.setRepresentedFilename(""),this._win.setTitle(this.productService.nameLong)),this.updateConfiguration(e,t),this.readyState===0?this._config=e:this.pendingLoadConfig=e,this.readyState=1;let n;process.env.VSCODE_DEV&&process.env.VSCODE_DEV_SERVER_URL?n=process.env.VSCODE_DEV_SERVER_URL:e.isSessionsWindow?n=st.asBrowserUri(`vs/sessions/electron-browser/sessions${this.environmentMainService.isBuilt?"":"-dev"}.html`).toString(!0):n=st.asBrowserUri(`vs/code/electron-browser/workbench/workbench${this.environmentMainService.isBuilt?"":"-dev"}.html`).toString(!0),this._win.loadURL(n);let o=this.wasLoaded;this.wasLoaded=!0,!this.environmentMainService.isBuilt&&!this.environmentMainService.extensionTestsLocationURI&&this._register(new gr(()=>{this._win&&!this._win.isVisible()&&!this._win.isMinimized()&&(this._win.show(),this.focus({mode:2}),this._win.webContents.openDevTools())},1e4)).schedule(),this._onWillLoad.fire({workspace:e.workspace,reason:t.isReload?3:o?2:1})}updateConfiguration(e,t){let n=(this._config??this.pendingLoadConfig)?.userEnv;if(n){let o=si(n)&&!si(e.userEnv),s=this.isExtensionDevelopmentHost;(o||s)&&(e.userEnv={...n,...e.userEnv})}process.env.CHROME_CRASHPAD_PIPE_NAME&&Object.assign(e.userEnv,{CHROME_CRASHPAD_PIPE_NAME:process.env.CHROME_CRASHPAD_PIPE_NAME}),t.disableExtensions!==void 0&&(e["disable-extensions"]=t.disableExtensions);try{e.handle=H.wrap(this._win.getNativeWindowHandle())}catch(o){this.logService.error(`Error getting native window handle: ${o}`)}e.fullscreen=this.isFullScreen,e.maximized=this._win.isMaximized(),e.partsSplash=this.themeMainService.getWindowSplash(e.workspace),e.zoomLevel=this.getZoomLevel(),e.isCustomZoomLevel=typeof this.customZoomLevel=="number",e.isCustomZoomLevel&&e.partsSplash&&(e.partsSplash.zoomLevel=e.zoomLevel),Be("code/willOpenNewWindow"),e.perfMarks=Ip(),this.configObjectUrl.update(e)}async reload(e){let t=Object.assign({},this._config);t.workspace=await this.validateWorkspaceBeforeReload(t),delete t.filesToOpenOrCreate,delete t.filesToDiff,delete t.filesToMerge,delete t.filesToWait,this.isExtensionDevelopmentHost&&e&&(t.verbose=e.verbose,t.debugId=e.debugId,t.extensionEnvironment=e.extensionEnvironment,t["inspect-extensions"]=e["inspect-extensions"],t["inspect-brk-extensions"]=e["inspect-brk-extensions"],t["extensions-dir"]=e["extensions-dir"]),t.accessibilitySupport=mn.app.isAccessibilitySupportEnabled(),t.isInitialStartup=!1,t.policiesData=this.policyService.serialize(),t.continueOn=this.environmentMainService.continueOn,t.profiles={all:this.userDataProfilesService.profiles,profile:this.profile||this.userDataProfilesService.defaultProfile,home:this.userDataProfilesService.profilesHome},t.logLevel=this.loggerMainService.getLogLevel(),t.loggers=this.loggerMainService.getGlobalLoggers(),this.load(t,{isReload:!0,disableExtensions:e?.["disable-extensions"]})}async validateWorkspaceBeforeReload(e){if(ct(e.workspace)){let t=e.workspace.configPath;if(t.scheme===W.file&&!await this.fileService.exists(t))return}else if(Bt(e.workspace)){let t=e.workspace.uri;if(t.scheme===W.file&&!await this.fileService.exists(t))return}return e.workspace}serializeWindowState(){if(!this._win)return ki();if(this.isFullScreen){let n;try{n=mn.screen.getDisplayMatching(this.getBounds())}catch{}let o=ki();return{mode:3,display:n?n.id:void 0,width:this.windowState.width||o.width,height:this.windowState.height||o.height,x:this.windowState.x||0,y:this.windowState.y||0,zoomLevel:this.customZoomLevel}}let e=Object.create(null),t;if(!N&&this._win.isMaximized()?t=0:t=1,t===0?e.mode=0:e.mode=1,t===1||t===0){let n;t===1?n=this.getBounds():n=this._win.getNormalBounds(),e.x=n.x,e.y=n.y,e.width=n.width,e.height=n.height}return e.zoomLevel=this.customZoomLevel,e}restoreWindowState(e){Be("code/willRestoreCodeWindowState");let t=!1;if(e){this.customZoomLevel=e.zoomLevel;try{let n=mn.screen.getAllDisplays();t=n.length>1,e=cl.validateWindowState(this.logService,e,n)}catch(n){this.logService.warn(`Unexpected error validating window state: ${n}
${n.stack}`)}}return Be("code/didRestoreCodeWindowState"),[e||ki(),t]}getBounds(){let[e,t]=this._win.getPosition(),[n,o]=this._win.getSize();return{x:e,y:t,width:n,height:o}}setFullScreen(e,t){super.setFullScreen(e,t),this.sendWhenReady(e?"vscode:enterFullScreen":"vscode:leaveFullScreen",xe.None),this.currentMenuBarVisibility&&this.setMenuBarVisibility(this.currentMenuBarVisibility,!1)}getMenuBarVisibility(){let e=Yx(this.configurationService);return["visible","toggle","hidden"].indexOf(e)<0&&(e="classic"),e}setMenuBarVisibility(e,t=!0){N||(e==="toggle"&&t&&this.send("vscode:showInfoMessage",h(2811,null)),e==="hidden"?setTimeout(()=>{this.doSetMenuBarVisibility(e)}):this.doSetMenuBarVisibility(e))}doSetMenuBarVisibility(e){let t=this.isFullScreen;switch(e){case"classic":this._win.setMenuBarVisibility(!t),this._win.autoHideMenuBar=t;break;case"visible":this._win.setMenuBarVisibility(!0),this._win.autoHideMenuBar=!1;break;case"toggle":this._win.setMenuBarVisibility(!1),this._win.autoHideMenuBar=!0;break;case"hidden":this._win.setMenuBarVisibility(!1),this._win.autoHideMenuBar=!1;break}}notifyZoomLevel(e){this.customZoomLevel=e}getZoomLevel(){return typeof this.customZoomLevel=="number"?this.customZoomLevel:this.configurationService.getValue("window")?.zoomLevel}close(){this._win?.close()}sendWhenReady(e,t,...n){this.isReady?this.send(e,...n):this.ready().then(()=>{t.isCancellationRequested||this.send(e,...n)})}send(e,...t){if(this._win){if(this._win.isDestroyed()||this._win.webContents.isDestroyed()){this.logService.warn(`Sending IPC message to channel '${e}' for window that is destroyed`);return}try{this._win.webContents.send(e,...t)}catch(n){this.logService.warn(`Error sending IPC message to channel '${e}' of window ${this._id}: ${Er(n)}`)}}}updateTouchBar(e){N&&this.touchBarGroups.forEach((t,n)=>{let o=e[n];t.segments=this.createTouchBarGroupSegments(o)})}createTouchBar(){if(N){for(let e=0;e<10;e++){let t=this.createTouchBarGroup();this.touchBarGroups.push(t)}this._win.setTouchBar(new mn.TouchBar({items:this.touchBarGroups}))}}createTouchBarGroup(e=[]){let t=this.createTouchBarGroupSegments(e),n=new mn.TouchBar.TouchBarSegmentedControl({segments:t,mode:"buttons",segmentStyle:"automatic",change:o=>{this.sendWhenReady("vscode:runAction",xe.None,{id:n.segments[o].id,from:"touchbar"})}});return n}createTouchBarGroupSegments(e=[]){return e.map(n=>{let o;n.icon&&!nc.isThemeIcon(n.icon)&&n.icon?.dark?.scheme===W.file&&(o=mn.nativeImage.createFromPath(P.revive(n.icon.dark).fsPath),o.isEmpty()&&(o=void 0));let s;return typeof n.title=="string"?s=n.title:s=n.title.value,{id:n.id,label:o?void 0:s,icon:o}})}async startCollectingJScallStacks(){if(!this.jsCallStackCollector.isTriggered()){let e=await this._win?.webContents.mainFrame.collectJavaScriptCallStack();if(e){let t=this.jsCallStackMap.get(e)||0;this.jsCallStackMap.set(e,t+1)}this.jsCallStackCollector.trigger(()=>this.startCollectingJScallStacks())}}stopCollectingJScallStacks(){if(this.jsCallStackCollectorStopScheduler.cancel(),this.jsCallStackCollector.cancel(),this.jsCallStackMap.size){let e=`CodeWindow unresponsive samples:
`,t=0,n=Array.from(this.jsCallStackMap.entries()).sort((o,s)=>s[1]-o[1]);for(let[o,s]of n){if(t+=s,Math.round(s*100/this.jsCallStackEffectiveSampleCount)>20){let a=new fw(o,this.id,this._win?.webContents.getOSProcessId());ba.onUnexpectedError(a)}e+=`<${s}> ${o}
`}e+=`Total Samples: ${t}
`,e+="For full overview of the unresponsive period, capture cpu profile via https://aka.ms/vscode-tracing-cpu-profile",this.logService.error(e)}this.jsCallStackMap.clear()}matches(e){return this._win?.webContents.id===e.id}dispose(){super.dispose(),this.loggerMainService.deregisterLoggers(this.id)}};aa=E([g(1,U),g(2,ci),g(3,Te),g(4,Fn),g(5,Wr),g(6,Me),g(7,yr),g(8,Zo),g(9,fe),g(10,Di),g(11,pn),g(12,Oi),g(13,Je),g(14,Sn),g(15,ye),g(16,De),g(17,rc),g(18,Ke),g(19,Pt),g(20,Nt)],aa);fw=class extends Error{constructor(r,e,t=0){let n=Error.stackTraceLimit;Error.stackTraceLimit=0,super(`UnresponsiveSampleError: from window with ID ${e} belonging to process with pid ${t}`),Error.stackTraceLimit=n,this.name="UnresponsiveSampleError",this.stack=r}}});import ic from"electron";function hM(i){let r={openedWindows:[]},e=i||{openedWindows:[]};return e.lastActiveWindow&&(r.lastActiveWindow=hw(e.lastActiveWindow)),e.lastPluginDevelopmentHostWindow&&(r.lastPluginDevelopmentHostWindow=hw(e.lastPluginDevelopmentHostWindow)),Array.isArray(e.openedWindows)&&(r.openedWindows=e.openedWindows.map(t=>hw(t))),r}function hw(i){let r={uiState:i.uiState};return i.backupPath&&(r.backupPath=i.backupPath),i.remoteAuthority&&(r.remoteAuthority=i.remoteAuthority),i.folder&&(r.folderUri=P.parse(i.folder)),i.workspaceIdentifier&&(r.workspace={id:i.workspaceIdentifier.id,configPath:P.parse(i.workspaceIdentifier.configURIPath)}),r}function gM(i){return{lastActiveWindow:i.lastActiveWindow&&gw(i.lastActiveWindow),lastPluginDevelopmentHostWindow:i.lastPluginDevelopmentHostWindow&&gw(i.lastPluginDevelopmentHostWindow),openedWindows:i.openedWindows.map(r=>gw(r))}}function gw(i){return{workspaceIdentifier:i.workspace&&{id:i.workspace.id,configURIPath:i.workspace.configPath.toString()},folder:i.folderUri?.toString(),backupPath:i.backupPath,remoteAuthority:i.remoteAuthority,uiState:i.uiState}}var So,MC=I(()=>{$();Z();wt();le();it();Et();re();bn();Vt();Ri();Tr();So=class extends T{constructor(e,t,n,o,s){super();this.windowsMainService=e;this.stateService=t;this.lifecycleMainService=n;this.logService=o;this.configurationService=s;this.lastClosedState=void 0;this.shuttingDown=!1;this._state=hM(this.stateService.getItem(So.windowsStateStorageKey)),this.registerListeners()}static{this.windowsStateStorageKey="windowsState"}get state(){return this._state}registerListeners(){ic.app.on("browser-window-blur",()=>{this.shuttingDown||this.saveWindowsState()}),this._register(this.lifecycleMainService.onBeforeCloseWindow(e=>this.onBeforeCloseWindow(e))),this._register(this.lifecycleMainService.onBeforeShutdown(()=>this.onBeforeShutdown())),this._register(this.windowsMainService.onDidChangeWindowsCount(e=>{e.newCount-e.oldCount>0&&(this.lastClosedState=void 0)})),this._register(this.windowsMainService.onDidDestroyWindow(e=>this.onBeforeCloseWindow(e)))}onBeforeShutdown(){this.shuttingDown=!0,this.saveWindowsState()}saveWindowsState(){let e=new Set,t={openedWindows:[],lastPluginDevelopmentHostWindow:this._state.lastPluginDevelopmentHostWindow,lastActiveWindow:this.lastClosedState};if(!t.lastActiveWindow){let s=this.windowsMainService.getLastActiveWindow();(!s||s.isExtensionDevelopmentHost)&&(s=this.windowsMainService.getWindows().find(a=>!a.isExtensionDevelopmentHost)),s&&(t.lastActiveWindow=this.toWindowState(s),t.lastActiveWindow.uiState.mode===3&&e.add(t.lastActiveWindow.uiState.display))}let n=this.windowsMainService.getWindows().find(s=>s.isExtensionDevelopmentHost&&!s.isExtensionTestHost);n&&(t.lastPluginDevelopmentHostWindow=this.toWindowState(n),t.lastPluginDevelopmentHostWindow.uiState.mode===3&&(e.has(t.lastPluginDevelopmentHostWindow.uiState.display)?N&&!n.win?.isSimpleFullScreen()&&(t.lastPluginDevelopmentHostWindow.uiState.mode=1):e.add(t.lastPluginDevelopmentHostWindow.uiState.display))),this.windowsMainService.getWindowCount()>1&&(t.openedWindows=this.windowsMainService.getWindows().filter(s=>!s.isExtensionDevelopmentHost).map(s=>{let a=this.toWindowState(s);return a.uiState.mode===3&&(e.has(a.uiState.display)?N&&a.windowId!==t.lastActiveWindow?.windowId&&!s.win?.isSimpleFullScreen()&&(a.uiState.mode=1):e.add(a.uiState.display)),a}));let o=gM(t);this.stateService.setItem(So.windowsStateStorageKey,o),this.shuttingDown&&this.logService.trace("[WindowsStateHandler] onBeforeShutdown",o)}onBeforeCloseWindow(e){if(this.lifecycleMainService.quitRequested)return;let t=this.toWindowState(e);e.isExtensionDevelopmentHost&&!e.isExtensionTestHost?this._state.lastPluginDevelopmentHostWindow=t:!e.isExtensionDevelopmentHost&&e.openedWorkspace&&this._state.openedWindows.forEach(n=>{let o=ct(e.openedWorkspace)&&n.workspace?.id===e.openedWorkspace.id,s=Bt(e.openedWorkspace)&&n.folderUri&&Ge.isEqual(n.folderUri,e.openedWorkspace.uri);(o||s)&&(n.uiState=t.uiState)}),this.windowsMainService.getWindowCount()===1&&(this.lastClosedState=t)}toWindowState(e){return{windowId:e.id,workspace:ct(e.openedWorkspace)?e.openedWorkspace:void 0,folderUri:Bt(e.openedWorkspace)?e.openedWorkspace.uri:void 0,backupPath:e.backupPath,remoteAuthority:e.remoteAuthority,uiState:e.serializeWindowState()}}getNewWindowState(e){let t=this.doGetNewWindowState(e),n=this.configurationService.getValue("window");if(t.mode===3){let o;t.hasDefaultState?o=!!(n?.newWindowDimensions&&["fullscreen","inherit","offset"].indexOf(n.newWindowDimensions)>=0):o=!!(this.lifecycleMainService.wasRestarted||n?.restoreFullscreen),o||(t.mode=1)}return t}doGetNewWindowState(e){let t=this.windowsMainService.getLastActiveWindow();if(!e.extensionTestsPath){if(e.extensionDevelopmentPath&&this.state.lastPluginDevelopmentHostWindow)return this.state.lastPluginDevelopmentHostWindow.uiState;let c=e.workspace;if(ct(c)){let u=this.state.openedWindows.filter(f=>f.workspace&&f.workspace.id===c.id).map(f=>f.uiState);if(u.length)return u[0]}if(Bt(c)){let u=this.state.openedWindows.filter(f=>f.folderUri&&Ge.isEqual(f.folderUri,c.uri)).map(f=>f.uiState);if(u.length)return u[0]}else if(e.backupPath){let u=this.state.openedWindows.filter(f=>f.backupPath===e.backupPath).map(f=>f.uiState);if(u.length)return u[0]}let d=this.lastClosedState||this.state.lastActiveWindow;if(!t&&d)return d.uiState}let n,o=ic.screen.getAllDisplays();if(o.length===1)n=o[0];else{if(N){let c=ic.screen.getCursorScreenPoint();n=ic.screen.getDisplayNearestPoint(c)}!n&&t&&(n=ic.screen.getDisplayMatching(t.getBounds())),n||(n=ic.screen.getPrimaryDisplay()||o[0])}let s=ki(void 0,ct(e.workspace)||Bt(e.workspace));s.x=Math.round(n.bounds.x+n.bounds.width/2-s.width/2),s.y=Math.round(n.bounds.y+n.bounds.height/2-s.height/2);let a=this.configurationService.getValue("window"),l=!0;if(a?.newWindowDimensions){if(a.newWindowDimensions==="maximized")s.mode=0,l=!1;else if(a.newWindowDimensions==="fullscreen")s.mode=3,l=!1;else if((a.newWindowDimensions==="inherit"||a.newWindowDimensions==="offset")&&t){let c=t.serializeWindowState();c.mode===3?s.mode=3:s={...c,zoomLevel:void 0},l=s.mode!==3&&a.newWindowDimensions==="offset"}}return l&&(s=this.ensureNoOverlap(s)),s.hasDefaultState=!0,s}ensureNoOverlap(e){if(this.windowsMainService.getWindows().length===0)return e;e.x=typeof e.x=="number"?e.x:0,e.y=typeof e.y=="number"?e.y:0;let t=this.windowsMainService.getWindows().map(n=>n.getBounds());for(;t.some(n=>n.x===e.x||n.y===e.y);)e.x+=30,e.y+=30;return e}};So=E([g(0,Ke),g(1,Pt),g(2,ye),g(3,U),g(4,fe)],So)});import{spawn as vM}from"child_process";var Wh,oc,vw=I(()=>{Ce();qe();Cs();ln();ee();re();Wh=L("ICSSDevelopmentService"),oc=class{constructor(r,e){this.envService=r;this.logService=e}get isEnabled(){return!this.envService.isBuilt}getCssModules(){return this._cssModules??=this.computeCssModules(),this._cssModules}async computeCssModules(){if(!this.isEnabled)return[];let r=await import("@vscode/ripgrep");return await new Promise(e=>{let t=on.create(),n=[],o=st.asFileUri("").fsPath,s=vM(r.rgPath,["-g","**/*.css","--files","--no-ignore",o],{});s.stdout.on("data",a=>{n.push(a)}),s.on("error",a=>{this.logService.error("[CSS_DEV] FAILED to compute CSS data",a),e([])}),s.on("close",()=>{let a=Buffer.concat(n).toString("utf8"),l=a.split(`
`).filter(Boolean).map(c=>Lp(o,c).replace(/\\/g,"/")).filter(Boolean).sort();l.some(c=>c.indexOf("vs/")!==0)&&this.logService.error(`[CSS_DEV] Detected invalid paths in css modules, raw output: ${a}`),e(l),this.logService.info(`[CSS_DEV] DONE, ${l.length} css modules (${Math.round(t.elapsed())}ms)`)})})}};oc=E([g(0,qr),g(1,U)],oc)});import*as OC from"fs";import{app as yM,BrowserWindow as Uh,shell as IM}from"electron";import{hostname as wM,release as bM,arch as SM}from"os";function Zu(i){return ct(i?.workspace)}function sc(i){return Bt(i?.workspace)}var yw,ac,FC=I(()=>{Na();zt();It();zn();z();sn();ro();$();qe();Ce();mi();Z();Hn();wt();Le();le();Ee();gl();it();Gs();Dt();ze();ee();Et();re();Id();Fh();Sl();bn();jo();mw();Vt();My();MC();Tr();mm();ju();ts();Ri();al();li();Yo();zl();Tl();vw();xr();ot();yw=Object.create(null);ac=class extends T{constructor(e,t,n,o,s,a,l,c,d,u,f,m,y,v,C,w,_,R,D,M,X,B){super();this.machineId=e;this.sqmId=t;this.devDeviceId=n;this.initialUserEnv=o;this.logService=s;this.loggerService=a;this.policyService=c;this.environmentMainService=d;this.userDataProfilesMainService=u;this.lifecycleMainService=f;this.backupMainService=m;this.configurationService=y;this.workspacesHistoryMainService=v;this.workspacesManagementMainService=C;this.instantiationService=w;this.dialogMainService=_;this.fileService=R;this.protocolMainService=D;this.themeMainService=M;this.auxiliaryWindowsMainService=X;this.cssDevelopmentService=B;this._onDidOpenWindow=this._register(new b);this.onDidOpenWindow=this._onDidOpenWindow.event;this._onDidSignalReadyWindow=this._register(new b);this.onDidSignalReadyWindow=this._onDidSignalReadyWindow.event;this._onDidDestroyWindow=this._register(new b);this.onDidDestroyWindow=this._onDidDestroyWindow.event;this._onDidChangeWindowsCount=this._register(new b);this.onDidChangeWindowsCount=this._onDidChangeWindowsCount.event;this._onDidMaximizeWindow=this._register(new b);this.onDidMaximizeWindow=this._onDidMaximizeWindow.event;this._onDidUnmaximizeWindow=this._register(new b);this.onDidUnmaximizeWindow=this._onDidUnmaximizeWindow.event;this._onDidChangeFullScreen=this._register(new b);this.onDidChangeFullScreen=this._onDidChangeFullScreen.event;this._onDidTriggerSystemContextMenu=this._register(new b);this.onDidTriggerSystemContextMenu=this._onDidTriggerSystemContextMenu.event;this.windows=new Map;this.windowsStateHandler=this._register(new So(this,l,this.lifecycleMainService,this.logService,this.configurationService)),this.registerListeners()}registerListeners(){this._register(this.workspacesManagementMainService.onDidEnterWorkspace(e=>this._onDidSignalReadyWindow.fire(e.window))),this._register(this.onDidSignalReadyWindow(e=>{if(e.config?.extensionDevelopmentPath||e.config?.extensionTestsPath){let t=new J;if(t.add(S.any(e.onDidClose,e.onDidDestroy)(()=>t.dispose())),e.config.extensionDevelopmentPath)for(let n of e.config.extensionDevelopmentPath)t.add(this.protocolMainService.addValidFileRoot(n));e.config.extensionTestsPath&&t.add(this.protocolMainService.addValidFileRoot(e.config.extensionTestsPath))}}))}openEmptyWindow(e,t){let n=this.environmentMainService.args,o=t?.remoteAuthority||void 0,s=!0,a=t?.forceReuseWindow,l=!a;return this.open({...e,cli:n,forceEmpty:s,forceNewWindow:l,forceReuseWindow:a,remoteAuthority:o,forceTempProfile:t?.forceTempProfile,forceProfile:t?.forceProfile})}openExistingWindow(e,t){e.focus(),this.handleWaitMarkerFile(t,[e]),this.handleChatRequest(t,[e])}async openAgentsWindow(e){return this.logService.trace("windowsManager#openAgentsWindow"),this.open(await this.ensureAgentsWindow(e))}async ensureAgentsWindow(e){let t=this.environmentMainService.agentSessionsWorkspace;if(!t)throw new Error("Agents workspace is not configured");if(!await this.fileService.exists(t)){let o=JSON.stringify({folders:[]},null,"	");await this.fileService.writeFile(t,H.fromString(o))}return{urisToOpen:[{workspaceUri:t}],userEnv:e.userEnv,cli:e.cli,noRecentEntry:!0,context:e.context,contextWindowId:e.contextWindowId,initialStartup:e.initialStartup,forceNewWindow:e.forceNewWindow}}async open(e){this.logService.trace("windowsManager#open");let t=process.isEmbeddedApp;t&&(e=await this.ensureAgentsWindow(e)),(e.addMode||e.removeMode)&&(e.initialStartup||!this.getLastActiveWindow())&&(e.addMode=!1,e.removeMode=!1);let n=[],o=[],s=[],a=[],l=[],c=[],d,u=!1,f=await this.getPathsToOpen(e);this.logService.trace("windowsManager#open pathsToOpen",f);for(let w of f)sc(w)?e.addMode?n.push(w):e.removeMode?o.push(w):s.push(w):Zu(w)?a.push(w):w.fileUri?(d||(d={filesToOpenOrCreate:[],filesToDiff:[],filesToMerge:[],remoteAuthority:w.remoteAuthority}),d.filesToOpenOrCreate.push(w)):w.backupPath?c.push({backupFolder:Se(w.backupPath),remoteAuthority:w.remoteAuthority}):u=!0;e.diffMode&&d&&d.filesToOpenOrCreate.length>=2&&(d.filesToDiff=d.filesToOpenOrCreate.slice(0,2),d.filesToOpenOrCreate=[]),e.mergeMode&&d&&d.filesToOpenOrCreate.length===4&&(d.filesToMerge=d.filesToOpenOrCreate.slice(0,4),d.filesToOpenOrCreate=[],d.filesToDiff=[]),d&&e.waitMarkerFileURI&&(d.filesToWait={paths:at([...d.filesToDiff,d.filesToMerge[3],...d.filesToOpenOrCreate]),waitMarkerFileUri:e.waitMarkerFileURI}),e.initialStartup&&!t?(l.push(...this.workspacesManagementMainService.getUntitledWorkspaces()),a.push(...l),c.push(...this.backupMainService.getEmptyWindowBackups())):c.length=0;let{windows:m,filesOpenedInWindow:y}=await this.doOpen(e,a,s,c,u,d,n,o);if(this.logService.trace(`windowsManager#open used window count ${m.length} (workspacesToOpen: ${a.length}, foldersToOpen: ${s.length}, emptyToRestore: ${c.length}, maybeOpenEmptyWindow: ${u})`),m.length>1)if(y)y.focus();else{let w=this.windowsStateHandler.state.lastActiveWindow&&!e.forceEmpty&&!e.cli._.length&&!e.cli["file-uri"]&&!e.cli["folder-uri"]&&!e.urisToOpen?.length,_=!0,R=!0;if(w){let D=m.filter(M=>this.windowsStateHandler.state.lastActiveWindow&&M.backupPath===this.windowsStateHandler.state.lastActiveWindow.backupPath);D.length&&(D[0].focus(),_=!1,R=!1)}if(_)for(let D=m.length-1;D>=0;D--){let M=m[D];if(!(M.openedWorkspace&&l.some(X=>M.openedWorkspace&&X.workspace.id===M.openedWorkspace.id)||M.backupPath&&c.some(X=>M.backupPath&&X.backupFolder===Se(M.backupPath)))){M.focus(),R=!1;break}}R&&m[m.length-1].focus()}let v=d&&d.filesToDiff.length>0,C=d&&d.filesToMerge.length>0;if(!m.some(w=>w.isExtensionDevelopmentHost)&&!v&&!C&&!e.noRecentEntry){let w=[];for(let _ of f)Zu(_)&&!_.transient?w.push({label:_.label,workspace:_.workspace,remoteAuthority:_.remoteAuthority}):sc(_)?w.push({label:_.label,folderUri:_.workspace.uri,remoteAuthority:_.remoteAuthority}):_.fileUri&&w.push({label:_.label,fileUri:_.fileUri,remoteAuthority:_.remoteAuthority});this.workspacesHistoryMainService.addRecentlyOpened(w)}return this.handleWaitMarkerFile(e,m),this.handleChatRequest(e,m),m}handleWaitMarkerFile(e,t){let n=e.waitMarkerFileURI;e.context===0&&n&&t.length===1&&t[0]&&(async()=>{await t[0].whenClosedOrLoaded;try{await this.fileService.del(n)}catch{}})()}handleChatRequest(e,t){if(e.context!==0||!e.cli.chat||t.length===0)return;let n;if(t.length===1)n=t[0];else{let o=e.cli._[0];o&&(n=mo(t,P.file(o)))}n&&(n.sendWhenReady("vscode:handleChatRequest",xe.None,e.cli.chat),n.focus())}async doOpen(e,t,n,o,s,a,l,c){let d=[],u;function f(R,D){d.push(R),D&&(u=R,a=void 0)}let{openFolderInNewWindow:m,openFilesInNewWindow:y}=this.shouldOpenNewWindow(e);if(!e.initialStartup&&(l.length>0||c.length>0)){let R=l.at(0)?.remoteAuthority??c.at(0)?.remoteAuthority,D=this.getLastActiveWindowForAuthority(R);D&&f(this.doAddRemoveFoldersInExistingWindow(D,l.map(M=>M.workspace.uri),c.map(M=>M.workspace.uri)))}let v=n.length+t.length+o.length;if(a&&v===0){let R=a.filesToOpenOrCreate[0]||a.filesToDiff[0]||a.filesToMerge[3],D=this.getWindows().filter(X=>a&&Lr(X.remoteAuthority,a.remoteAuthority)),M;R?.fileUri&&!y&&((e.context===4||e.context===0||e.context===1||e.context===6)&&(M=await TP(D,R.fileUri,async X=>X.configPath.scheme===W.file?this.workspacesManagementMainService.resolveLocalWorkspace(X.configPath):void 0)),M||(M=this.doGetLastActiveWindow(D))),M?ct(M.openedWorkspace)?t.push({workspace:M.openedWorkspace,remoteAuthority:M.remoteAuthority}):Bt(M.openedWorkspace)?n.push({workspace:M.openedWorkspace,remoteAuthority:M.remoteAuthority}):f(this.doOpenFilesInExistingWindow(e,M,a),!0):f(await this.openInBrowserWindow({userEnv:e.userEnv,cli:e.cli,initialStartup:e.initialStartup,filesToOpen:a,forceNewWindow:!0,remoteAuthority:a.remoteAuthority,forceNewTabbedWindow:e.forceNewTabbedWindow,forceProfile:e.forceProfile,forceTempProfile:e.forceTempProfile}),!0)}let C=Ar(t,R=>R.workspace.id);if(C.length>0){let R=at(C.map(D=>mo(this.getWindows(),D.workspace.configPath)));if(R.length>0){let D=R[0],M=Lr(a?.remoteAuthority,D.remoteAuthority)?a:void 0;f(this.doOpenFilesInExistingWindow(e,D,M),!!M),m=!0}for(let D of C){if(R.some(B=>B.openedWorkspace&&B.openedWorkspace.id===D.workspace.id))continue;let M=D.remoteAuthority,X=Lr(a?.remoteAuthority,M)?a:void 0;f(await this.doOpenFolderOrWorkspace(e,D,m,X),!!X),m=!0}}let w=Ar(n,R=>Ge.getComparisonKey(R.workspace.uri));if(w.length>0){let R=at(w.map(D=>mo(this.getWindows(),D.workspace.uri)));if(R.length>0){let D=R[0],M=Lr(a?.remoteAuthority,D.remoteAuthority)?a:void 0;f(this.doOpenFilesInExistingWindow(e,D,M),!!M),m=!0}for(let D of w){if(R.some(B=>Bt(B.openedWorkspace)&&Ge.isEqual(B.openedWorkspace.uri,D.workspace.uri)))continue;let M=D.remoteAuthority,X=Lr(a?.remoteAuthority,M)?a:void 0;f(await this.doOpenFolderOrWorkspace(e,D,m,X),!!X),m=!0}}let _=Ar(o,R=>R.backupFolder);if(_.length>0)for(let R of _){let D=R.remoteAuthority,M=Lr(a?.remoteAuthority,D)?a:void 0;f(await this.doOpenEmpty(e,!0,D,M,R),!!M),m=!0}if(a||s&&(e.forceEmpty||d.length===0)){let R=a?a.remoteAuthority:e.remoteAuthority;f(await this.doOpenEmpty(e,m,R,a),!!a)}return{windows:Ar(d),filesOpenedInWindow:u}}doOpenFilesInExistingWindow(e,t,n){this.logService.trace("windowsManager#doOpenFilesInExistingWindow",{filesToOpen:n}),this.focusMainOrChildWindow(t);let o={filesToOpenOrCreate:n?.filesToOpenOrCreate,filesToDiff:n?.filesToDiff,filesToMerge:n?.filesToMerge,filesToWait:n?.filesToWait,termProgram:e?.userEnv?.TERM_PROGRAM};return t.sendWhenReady("vscode:openFiles",xe.None,o),t}focusMainOrChildWindow(e){let t=e,n=Uh.getFocusedWindow();if(n&&n.id!==e.id){let o=this.auxiliaryWindowsMainService.getWindowByWebContents(n.webContents);o&&o.parentId===e.id&&(t=o)}t.focus()}doAddRemoveFoldersInExistingWindow(e,t,n){this.logService.trace("windowsManager#doAddRemoveFoldersToExistingWindow",{foldersToAdd:t,foldersToRemove:n}),e.focus();let o={foldersToAdd:t,foldersToRemove:n};return e.sendWhenReady("vscode:addRemoveFolders",xe.None,o),e}doOpenEmpty(e,t,n,o,s){this.logService.trace("windowsManager#doOpenEmpty",{restore:!!s,remoteAuthority:n,filesToOpen:o,forceNewWindow:t});let a;return!t&&typeof e.contextWindowId=="number"&&(a=this.getWindowById(e.contextWindowId)),this.openInBrowserWindow({userEnv:e.userEnv,cli:e.cli,initialStartup:e.initialStartup,remoteAuthority:n,forceNewWindow:t,forceNewTabbedWindow:e.forceNewTabbedWindow,filesToOpen:o,windowToUse:a,emptyWindowBackupInfo:s,forceProfile:e.forceProfile,forceTempProfile:e.forceTempProfile})}doOpenFolderOrWorkspace(e,t,n,o,s){return this.logService.trace("windowsManager#doOpenFolderOrWorkspace",{folderOrWorkspace:t,filesToOpen:o}),!n&&!s&&typeof e.contextWindowId=="number"&&(s=this.getWindowById(e.contextWindowId)),this.openInBrowserWindow({workspace:t.workspace,userEnv:e.userEnv,cli:e.cli,initialStartup:e.initialStartup,remoteAuthority:t.remoteAuthority,forceNewWindow:n,forceNewTabbedWindow:e.forceNewTabbedWindow,filesToOpen:o,windowToUse:s,forceProfile:e.forceProfile,forceTempProfile:e.forceTempProfile})}async getPathsToOpen(e){let t,n=!1,o=!1;if(e.urisToOpen&&e.urisToOpen.length>0?(t=await this.doExtractPathsFromAPI(e),n=!0):e.forceEmpty?t=[yw]:e.cli._.length||e.cli["folder-uri"]||e.cli["file-uri"]?(t=await this.doExtractPathsFromCLI(e.cli),t.length===0&&t.push(yw),n=!0):(t=await this.doGetPathsFromLastSession(),t.length===0&&t.push(yw),o=!0),!e.addMode&&!e.removeMode&&n){let s=t.filter(a=>sc(a));if(s.length>1){let a=s[0].remoteAuthority;if(s.every(l=>Lr(l.remoteAuthority,a))){let l,c=await this.doGetWorkspaceMatchingFoldersFromLastSession(a,s);c?l=c:l=await this.workspacesManagementMainService.createUntitledWorkspace(s.map(d=>({uri:d.workspace.uri}))),t.push({workspace:l,remoteAuthority:a}),t=t.filter(d=>!sc(d))}}}if(e.initialStartup&&!o&&this.configurationService.getValue("window")?.restoreWindows==="preserve"){let s=await this.doGetPathsFromLastSession();t.unshift(...s.filter(a=>Zu(a)||sc(a)||a.backupPath))}return t}async doExtractPathsFromAPI(e){let t={gotoLineMode:e.gotoLineMode,remoteAuthority:e.remoteAuthority},n=await Promise.all(at(e.urisToOpen||[]).map(async o=>{let s=await this.resolveOpenable(o,t);if(s)return s.label=o.label,s;let a=this.resourceFromOpenable(o);this.dialogMainService.showMessageBox({type:"info",buttons:[h(2821,null)],message:a.scheme===W.file?h(2823,null):h(2825,null),detail:a.scheme===W.file?h(2822,null,to(a,{os:Ot,tildify:this.environmentMainService})):h(2824,null,a.toString(!0))},Uh.getFocusedWindow()??void 0)}));return at(n)}async doExtractPathsFromCLI(e){let t=[],n={ignoreFileNotFound:!0,gotoLineMode:e.goto,remoteAuthority:e.remote||void 0,forceOpenWorkspaceAsFile:e.diff&&e._.length===2||e.merge&&e._.length===4},o=e["folder-uri"];if(o){let l=await Promise.all(o.map(c=>{let d=this.cliArgToUri(c);if(d)return this.resolveOpenable({folderUri:d},n)}));t.push(...at(l))}let s=e["file-uri"];if(s){let l=await Promise.all(s.map(c=>{let d=this.cliArgToUri(c);if(d)return this.resolveOpenable(Ti(c)?{workspaceUri:d}:{fileUri:d},n)}));t.push(...at(l))}let a=await Promise.all(e._.map(l=>n.remoteAuthority?this.doResolveRemotePath(l,n):this.doResolveFilePath(l,n)));return t.push(...at(a)),t}cliArgToUri(e){try{let t=P.parse(e);if(!t.scheme){this.logService.error(`Invalid URI input string, scheme missing: ${e}`);return}return t.path?t:t.with({path:"/"})}catch(t){this.logService.error(`Invalid URI input string: ${e}, ${t.message}`)}}async doGetPathsFromLastSession(){let e=this.getRestoreWindowsSetting();switch(e){case"none":return[];case"one":case"all":case"preserve":case"folders":{let t=[];e!=="one"&&t.push(...this.windowsStateHandler.state.openedWindows),this.windowsStateHandler.state.lastActiveWindow&&t.push(this.windowsStateHandler.state.lastActiveWindow);let n=await Promise.all(t.map(async o=>{if(o.workspace){let s=await this.resolveOpenable({workspaceUri:o.workspace.configPath},{remoteAuthority:o.remoteAuthority,rejectTransientWorkspaces:!0});if(Zu(s))return s}else if(o.folderUri){let s=await this.resolveOpenable({folderUri:o.folderUri},{remoteAuthority:o.remoteAuthority});if(sc(s))return s}else if(e!=="folders"&&o.backupPath)return{backupPath:o.backupPath,remoteAuthority:o.remoteAuthority}}));return at(n)}}}getRestoreWindowsSetting(){let e;return this.lifecycleMainService.wasRestarted?e="all":(e=this.configurationService.getValue("window")?.restoreWindows||"all",["preserve","all","folders","one","none"].includes(e)||(e="all")),e}async doGetWorkspaceMatchingFoldersFromLastSession(e,t){let n=(await this.doGetPathsFromLastSession()).filter(s=>Zu(s)),o=t.map(s=>s.workspace.uri);for(let{workspace:s}of n){let a=await this.workspacesManagementMainService.resolveLocalWorkspace(s.configPath);if(!a||a.remoteAuthority!==e||a.transient||a.folders.length!==t.length)continue;let l=new xa(o,c=>Ge.getComparisonKey(c));if(a.folders.every(c=>l.has(c.uri)))return a}}async resolveOpenable(e,t=Object.create(null)){let n=this.resourceFromOpenable(e);return n.scheme===W.file?(py(e)&&(t={...t,forceOpenWorkspaceAsFile:!0}),this.doResolveFilePath(n.fsPath,t)):this.doResolveRemoteOpenable(e,t)}doResolveRemoteOpenable(e,t){let n=this.resourceFromOpenable(e),o=ho(n)||t.remoteAuthority;if(n=o1(Zp(n)),py(e)){if(t.gotoLineMode){let{path:s,line:a,column:l}=La(n.path);return{fileUri:n.with({path:s}),options:{selection:a?{startLineNumber:a,startColumn:l||1}:void 0},remoteAuthority:o}}return{fileUri:n,remoteAuthority:o}}else if(au(e))return{workspace:po(n),remoteAuthority:o};return{workspace:fm(n),remoteAuthority:o}}resourceFromOpenable(e){return au(e)?e.workspaceUri:tm(e)?e.folderUri:e.fileUri}async doResolveFilePath(e,t,n){let o,s;t.gotoLineMode&&({path:e,line:o,column:s}=La(e)),e=Qp(_t(e),Zr());try{let a=await OC.promises.stat(e);if(a.isFile()){if(!t.forceOpenWorkspaceAsFile){let l=await this.workspacesManagementMainService.resolveLocalWorkspace(P.file(e));if(l)return l.transient&&t.rejectTransientWorkspaces?void 0:{workspace:{id:l.id,configPath:l.configPath},type:1,exists:!0,remoteAuthority:l.remoteAuthority,transient:l.transient}}return{fileUri:P.file(e),type:1,exists:!0,options:{selection:o?{startLineNumber:o,startColumn:s||1}:void 0}}}else{if(a.isDirectory())return{workspace:fm(P.file(e),a),type:2,exists:!0};if(!F&&e==="/dev/null")return{fileUri:P.file(e),type:1,exists:!0}}}catch(a){if(a.code==="ERR_UNC_HOST_NOT_ALLOWED"&&!n)return this.onUNCHostNotAllowed(e,t);let l=P.file(e);if(this.workspacesHistoryMainService.removeRecentlyOpened([l]),t.ignoreFileNotFound&&a.code==="ENOENT")return{fileUri:l,type:1,exists:!1};this.logService.error(`Invalid path provided: ${e}, ${a.message}`)}}async onUNCHostNotAllowed(e,t){let n=P.file(e),{response:o,checkboxChecked:s}=await this.dialogMainService.showMessageBox({type:"warning",buttons:[h(2815,null),h(2816,null),h(2820,null)],message:h(2818,null,n.authority),detail:h(2817,null,to(n,{os:Ot,tildify:this.environmentMainService})),checkboxLabel:h(2819,null,n.authority),cancelId:1});if(o===0){if(Zi(n.authority),s){let a={channel:"vscode:configureAllowedUNCHost",args:n.authority};this.sendToFocused(a.channel,a.args),this.sendToOpeningWindow(a.channel,a.args)}return this.doResolveFilePath(e,t,!0)}if(o===2)return IM.openExternal("https://aka.ms/vscode-windows-unc"),this.onUNCHostNotAllowed(e,t)}doResolveRemotePath(e,t){let n=e.charCodeAt(0),o=t.remoteAuthority,s,a;t.gotoLineMode&&({path:e,line:s,column:a}=La(e)),n!==47&&(Jp(n)&&e.charCodeAt(e.charCodeAt(1))===58&&(e=Ii(e)),e=`/${e}`);let l=P.from({scheme:W.vscodeRemote,authority:o,path:e});if(e.charCodeAt(e.length-1)!==47){if(Ti(e))return t.forceOpenWorkspaceAsFile?{fileUri:l,options:{selection:s?{startLineNumber:s,startColumn:a||1}:void 0},remoteAuthority:t.remoteAuthority}:{workspace:po(l),remoteAuthority:o};if(t.gotoLineMode||de.basename(e).indexOf(".")!==-1)return{fileUri:l,options:{selection:s?{startLineNumber:s,startColumn:a||1}:void 0},remoteAuthority:o}}return{workspace:fm(l),remoteAuthority:o}}shouldOpenNewWindow(e){let t=this.configurationService.getValue("window"),n=t?.openFoldersInNewWindow||"default",o=t?.openFilesInNewWindow||"off",s=(e.preferNewWindow||e.forceNewWindow)&&!e.forceReuseWindow;!e.forceNewWindow&&!e.forceReuseWindow&&(n==="on"||n==="off")&&(s=n==="on");let a=!1;return e.forceNewWindow||e.forceReuseWindow?a=!!e.forceNewWindow&&!e.forceReuseWindow:(N?e.context===1&&(a=!0):e.context!==3&&e.context!==2&&!(e.userEnv&&e.userEnv.TERM_PROGRAM==="vscode")&&(a=!0),!e.cli.extensionDevelopmentPath&&(o==="on"||o==="off")&&(a=o==="on")),{openFolderInNewWindow:!!s,openFilesInNewWindow:a}}async openExtensionDevelopmentHostWindow(e,t){let n=_P(this.getWindows(),e);if(n)return this.lifecycleMainService.reload(n,t.cli),n.focus(),[n];let o=t.cli["folder-uri"]||[],s=t.cli["file-uri"]||[],a=t.cli._;if(!a.length&&!o.length&&!s.length&&!t.cli.extensionTestsPath){let d=this.windowsStateHandler.state.lastPluginDevelopmentHostWindow,u=d?.workspace??d?.folderUri;u&&(P.isUri(u)?u.scheme===W.file?a=[u.fsPath]:o=[u.toString()]:u.configPath.scheme===W.file?a=[hr(u.configPath)]:s=[u.configPath.toString()])}let l=t.remoteAuthority;for(let d of e)if(d.match(/^[a-zA-Z][a-zA-Z0-9\+\-\.]+:/)){let u=P.parse(d),f=ho(u);f&&(l?Lr(f,l)||this.logService.error("more than one extension development path authority"):l=f)}a=a.filter(d=>{let u=P.file(d);return mo(this.getWindows(),u)?!1:Lr(ho(u),l)}),o=o.filter(d=>{let u=this.cliArgToUri(d);return u&&mo(this.getWindows(),u)?!1:u?Lr(ho(u),l):!1}),s=s.filter(d=>{let u=this.cliArgToUri(d);return u&&mo(this.getWindows(),u)?!1:u?Lr(ho(u),l):!1}),t.cli._=a,t.cli["folder-uri"]=o,t.cli["file-uri"]=s;let c={context:t.context,cli:t.cli,forceNewWindow:!0,forceEmpty:!a.length&&!o.length&&!s.length,userEnv:t.userEnv,noRecentEntry:!0,waitMarkerFileURI:t.waitMarkerFileURI,remoteAuthority:l,forceProfile:t.forceProfile,forceTempProfile:t.forceTempProfile};return this.open(c)}async openInBrowserWindow(e){let t=this.configurationService.getValue("window"),n=this.getLastActiveWindow(),s=(t?.newWindowProfile?this.userDataProfilesMainService.profiles.find(c=>c.name===t.newWindowProfile):void 0)??n?.profile??this.userDataProfilesMainService.defaultProfile,a;!e.forceNewWindow&&!e.forceNewTabbedWindow&&(a=e.windowToUse||n,a&&a.focus());let l={...this.environmentMainService.args,...e.cli,machineId:this.machineId,sqmId:this.sqmId,devDeviceId:this.devDeviceId,isPortable:this.environmentMainService.isPortable,windowId:-1,mainPid:process.pid,appRoot:this.environmentMainService.appRoot,execPath:process.execPath,codeCachePath:this.environmentMainService.codeCachePath,backupPath:e.emptyWindowBackupInfo?V(this.environmentMainService.backupHome,e.emptyWindowBackupInfo.backupFolder):void 0,profiles:{home:this.userDataProfilesMainService.profilesHome,all:this.userDataProfilesMainService.profiles,profile:s},homeDir:this.environmentMainService.userHome.with({scheme:W.file}).fsPath,tmpDir:this.environmentMainService.tmpDir.with({scheme:W.file}).fsPath,userDataDir:this.environmentMainService.userDataPath,remoteAuthority:e.remoteAuthority,workspace:e.workspace,userEnv:{...this.initialUserEnv,...e.userEnv},nls:{messages:Fg(),language:Qc()},filesToOpenOrCreate:e.filesToOpen?.filesToOpenOrCreate,filesToDiff:e.filesToOpen?.filesToDiff,filesToMerge:e.filesToOpen?.filesToMerge,filesToWait:e.filesToOpen?.filesToWait,logLevel:this.loggerService.getLogLevel(),loggers:this.loggerService.getGlobalLoggers(),logsPath:this.environmentMainService.logsHome.with({scheme:W.file}).fsPath,product:Mr,isInitialStartup:e.initialStartup,perfMarks:Ip(),os:{release:bM(),hostname:wM(),arch:SM()},autoDetectHighContrast:t?.autoDetectHighContrast??!0,autoDetectColorScheme:t?.autoDetectColorScheme??!1,accessibilitySupport:yM.accessibilitySupportEnabled,colorScheme:this.themeMainService.getColorScheme(),policiesData:this.policyService.serialize(),continueOn:this.environmentMainService.continueOn,cssModules:this.cssDevelopmentService.isEnabled?await this.cssDevelopmentService.getCssModules():void 0,isSessionsWindow:ct(e.workspace)&&cd(e.workspace.configPath,this.environmentMainService.agentSessionsWorkspace)};if(a){let c=a.config;!l.extensionDevelopmentPath&&c?.extensionDevelopmentPath&&(l.extensionDevelopmentPath=c.extensionDevelopmentPath,l.extensionDevelopmentKind=c.extensionDevelopmentKind,l["enable-proposed-api"]=c["enable-proposed-api"],l.verbose=c.verbose,l["inspect-extensions"]=c["inspect-extensions"],l["inspect-brk-extensions"]=c["inspect-brk-extensions"],l.debugId=c.debugId,l.extensionEnvironment=c.extensionEnvironment,l["extensions-dir"]=c["extensions-dir"],l["disable-extensions"]=c["disable-extensions"],l["disable-extension"]=c["disable-extension"])}else{let c=this.windowsStateHandler.getNewWindowState(l);Be("code/willCreateCodeWindow");let d=a=this.instantiationService.createInstance(aa,{state:c,extensionDevelopmentPath:l.extensionDevelopmentPath,isExtensionTestHost:!!l.extensionTestsPath});Be("code/didCreateCodeWindow"),e.forceNewTabbedWindow&&this.getLastActiveWindow()?.addTabbedWindow(d),this.windows.set(d.id,d),this._onDidOpenWindow.fire(d),this._onDidChangeWindowsCount.fire({oldCount:this.getWindowCount()-1,newCount:this.getWindowCount()});let u=new J;u.add(d.onDidSignalReady(()=>this._onDidSignalReadyWindow.fire(d))),u.add(S.once(d.onDidClose)(()=>this.onWindowClosed(d,u))),u.add(S.once(d.onDidDestroy)(()=>this.onWindowDestroyed(d))),u.add(d.onDidMaximize(()=>this._onDidMaximizeWindow.fire(d))),u.add(d.onDidUnmaximize(()=>this._onDidUnmaximizeWindow.fire(d))),u.add(d.onDidEnterFullScreen(()=>this._onDidChangeFullScreen.fire({window:d,fullscreen:!0}))),u.add(d.onDidLeaveFullScreen(()=>this._onDidChangeFullScreen.fire({window:d,fullscreen:!1}))),u.add(d.onDidTriggerSystemContextMenu(({x:m,y})=>this._onDidTriggerSystemContextMenu.fire({window:d,x:m,y})));let f=vi(d.win?.webContents);f.removeAllListeners("devtools-reload-page"),u.add(S.fromNodeEventEmitter(f,"devtools-reload-page")(()=>this.lifecycleMainService.reload(d))),this.lifecycleMainService.registerWindow(d)}return l.windowId=a.id,a.isReady?this.lifecycleMainService.unload(a,4).then(async c=>{c||await this.doOpenInBrowserWindow(a,l,e,s)}):await this.doOpenInBrowserWindow(a,l,e,s),a}async doOpenInBrowserWindow(e,t,n,o){t.extensionDevelopmentPath||(ct(t.workspace)?t.backupPath=this.backupMainService.registerWorkspaceBackup({workspace:t.workspace,remoteAuthority:t.remoteAuthority}):Bt(t.workspace)?t.backupPath=this.backupMainService.registerFolderBackup({folderUri:t.workspace.uri,remoteAuthority:t.remoteAuthority}):t.backupPath=this.backupMainService.registerEmptyWindowBackup({backupFolder:n.emptyWindowBackupInfo?.backupFolder??yu().id,remoteAuthority:t.remoteAuthority}));let s=t.workspace??Ko(t.backupPath,!1),a=this.resolveProfileForBrowserWindow(n,s,o),l=a instanceof Promise?await a:a;t.profiles.profile=l,t.extensionDevelopmentPath||await this.userDataProfilesMainService.setProfileForWorkspace(s,l),e.load(t)}resolveProfileForBrowserWindow(e,t,n){return e.forceProfile?this.userDataProfilesMainService.profiles.find(o=>o.name===e.forceProfile)??this.userDataProfilesMainService.createNamedProfile(e.forceProfile):e.forceTempProfile?this.userDataProfilesMainService.createTransientProfile():this.userDataProfilesMainService.getProfileForWorkspace(t)??n}onWindowClosed(e,t){this.windows.delete(e.id),this._onDidChangeWindowsCount.fire({oldCount:this.getWindowCount()+1,newCount:this.getWindowCount()}),t.dispose()}onWindowDestroyed(e){this.windows.delete(e.id),this._onDidDestroyWindow.fire(e)}getFocusedWindow(){let e=Uh.getFocusedWindow();if(e)return this.getWindowById(e.id)}getLastActiveWindow(){return this.doGetLastActiveWindow(this.getWindows())}getLastActiveWindowForAuthority(e){return this.doGetLastActiveWindow(this.getWindows().filter(t=>Lr(t.remoteAuthority,e)))}doGetLastActiveWindow(e){return im(e)}sendToFocused(e,...t){(this.getFocusedWindow()||this.getLastActiveWindow())?.sendWhenReady(e,xe.None,...t)}sendToOpeningWindow(e,...t){this._register(S.once(this.onDidSignalReadyWindow)(n=>{n.sendWhenReady(e,xe.None,...t)}))}sendToAll(e,t,n){for(let o of this.getWindows())n&&n.indexOf(o.id)>=0||o.sendWhenReady(e,xe.None,t)}getWindows(){return Array.from(this.windows.values())}getWindowCount(){return this.windows.size}getWindowById(e){return this.windows.get(e)}getWindowByWebContents(e){let t=Uh.fromWebContents(e);if(!t)return;let n=this.getWindowById(t.id);return n?.matches(e)?n:void 0}};ac=E([g(4,U),g(5,ci),g(6,Pt),g(7,Fn),g(8,Te),g(9,Wr),g(10,ye),g(11,Oi),g(12,fe),g(13,fs),g(14,pn),g(15,Nt),g(16,Sn),g(17,Me),g(18,rc),g(19,Di),g(20,ni),g(21,Wh)],ac)});var Nh,WC=I(()=>{ge();z();$();Nh=class extends T{constructor({onDidOpenMainWindow:e,onDidFocusMainWindow:t,getActiveWindowId:n}){super();this.disposables=this._register(new J);S.latch(S.any(e,t))(this.setActiveWindow,this,this.disposables),this.firstActiveWindowIdPromise=Jn(()=>n()),(async()=>{try{let s=await this.firstActiveWindowIdPromise;this.activeWindowId=typeof this.activeWindowId=="number"?this.activeWindowId:s}catch{}finally{this.firstActiveWindowIdPromise=void 0}})()}setActiveWindow(e){this.firstActiveWindowIdPromise&&(this.firstActiveWindowIdPromise.cancel(),this.firstActiveWindowIdPromise=void 0),this.activeWindowId=e}async getActiveClientId(){return`window:${this.firstActiveWindowIdPromise?await this.firstActiveWindowIdPromise:this.activeWindowId}`}}});var lc,UC=I(()=>{gl();Vt();ju();ts();lc=class{constructor(r,e,t,n){this.workspacesManagementMainService=r;this.windowsMainService=e;this.workspacesHistoryMainService=t;this.backupMainService=n;this.onDidChangeRecentlyOpened=this.workspacesHistoryMainService.onDidChangeRecentlyOpened}async enterWorkspace(r,e){let t=this.windowsMainService.getWindowById(r);if(t)return this.workspacesManagementMainService.enterWorkspace(t,this.windowsMainService.getWindows(),e)}createUntitledWorkspace(r,e,t){return this.workspacesManagementMainService.createUntitledWorkspace(e,t)}deleteUntitledWorkspace(r,e){return this.workspacesManagementMainService.deleteUntitledWorkspace(e)}getWorkspaceIdentifier(r,e){return this.workspacesManagementMainService.getWorkspaceIdentifier(e)}getRecentlyOpened(r){return this.workspacesHistoryMainService.getRecentlyOpened()}addRecentlyOpened(r,e){return this.workspacesHistoryMainService.addRecentlyOpened(e)}removeRecentlyOpened(r,e){return this.workspacesHistoryMainService.removeRecentlyOpened(e)}clearRecentlyOpened(r){return this.workspacesHistoryMainService.clearRecentlyOpened()}async getDirtyWorkspaces(){return this.backupMainService.getDirtyWorkspaces()}};lc=E([g(0,pn),g(1,Ke),g(2,fs),g(3,Oi)],lc)});var Bh,NC=I(()=>{z();$();li();Bh=class{constructor(r){this.service=r;this.disposables=new J}listen(r,e){if(e==="onDidChange")return S.map(this.service.onDidChange,t=>t.reduce((n,o)=>({...n,[o]:this.service.getPolicyValue(o)??null}),{}),this.disposables);throw new Error(`Event not found: ${e}`)}call(r,e,t){if(e==="updatePolicyDefinitions")return this.service.updatePolicyDefinitions(t);throw new Error(`Call not found: ${e}`)}dispose(){this.disposables.dispose()}}});function HC(i){return i.map(r=>{let[e,t]=r.split("@");return{proposalName:e,version:t?parseInt(t):void 0}})}function $C(i){return i.map(r=>r.split("@")[0])}var BC,VC,Hh,xo,Vh,Rue,ep=I(()=>{ar();ee();Sl();BC="extensions.user.cache",VC="extensions.builtin.cache",Hh="undefined_publisher",xo=class{constructor(r){this.value=r,this._lower=r.toLowerCase()}static equals(r,e){if(typeof r>"u"||r===null)return typeof e>"u"||e===null;if(typeof e>"u"||e===null)return!1;if(typeof r=="string"||typeof e=="string"){let t=typeof r=="string"?r:r.value,n=typeof e=="string"?e:e.value;return Hr(t,n)}return r._lower===e._lower}static toKey(r){return typeof r=="string"?r.toLowerCase():r._lower}},Vh=class{constructor(){this._map=new Map}clear(){this._map.clear()}delete(r){this._map.delete(xo.toKey(r))}get(r){return this._map.get(xo.toKey(r))}has(r){return this._map.has(xo.toKey(r))}set(r,e){this._map.set(xo.toKey(r),e)}values(){return this._map.values()}forEach(r){this._map.forEach(r)}[Symbol.iterator](){return this._map[Symbol.iterator]()}};Rue=L("IBuiltinExtensionsScannerService")});function KC(i,r){switch(i){case 3:return r==="x64"?"win32-x64":r==="arm64"?"win32-arm64":"unknown";case 2:return r==="x64"?"linux-x64":r==="arm64"?"linux-arm64":r==="arm"?"linux-armhf":"unknown";case"alpine":return r==="x64"?"alpine-x64":r==="arm64"?"alpine-arm64":"unknown";case 1:return r==="x64"?"darwin-x64":r==="arm64"?"darwin-arm64":"unknown";case 0:return"web"}}function zC(i){let r=i;return!!r&&typeof r=="object"&&typeof r.id=="string"&&(!r.uuid||typeof r.uuid=="string")}var xM,jue,Gue,Jue,Que,Xue,Yue,Zue,epe,PM,Iw=I(()=>{Z();vd();Ee();eo();ep();ze();ee();Xn();xM="^([a-z0-9A-Z][a-z0-9-A-Z]*)\\.([a-z0-9A-Z][a-z0-9-A-Z]*)$",jue=new RegExp(xM);Gue=L("extensionGalleryService"),Jue=L("extensionManagementService"),Que=L("IGlobalExtensionEnablementService"),Xue=L("IExtensionTipsService"),Yue=L("IAllowedExtensionsService"),Zue=Wg(2061,"Extensions"),epe=Wg(2078,"Preferences"),PM="extensions.allowed";xt.as(lr.Configuration).registerConfiguration({id:"extensions",order:30,title:h(2077,null),type:"object",properties:{[PM]:{type:"object",markdownDescription:h(2067,null),default:"*",defaultSnippets:[{body:{},description:h(2072,null)},{body:{"*":!0},description:h(2068,null)}],scope:1,policy:{name:"AllowedExtensions",category:"Extensions",minimumVersion:"1.96",localization:{description:{key:"extensions.allowed.policy",value:h(2073,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:h(2065,null),enumDescriptions:[h(2071,null),h(2069,null),h(2070,null)]},{type:"array",items:{type:"string"},description:h(2066,null)}]},"([a-z0-9A-Z][a-z0-9-A-Z]*)$":{type:["boolean","string"],enum:[!0,!1,"stable"],description:h(2060,null),enumDescriptions:[h(2076,null),h(2074,null),h(2075,null)]},"\\*":{type:"boolean",enum:[!0,!1],description:h(2062,null),enumDescriptions:[h(2064,null),h(2063,null)]}}}}})});function la(i,r){return i.uuid&&r.uuid?i.uuid===r.uuid:i.id===r.id?!0:ad(i.id,r.id)===0}function jC(i,r){return`${i}.${r}`}function EM(i){return i.toLowerCase()}function GC(i,r){return EM(jC(i??Hh,r))}async function CM(i,r){if(!ne)return!1;let e;try{e=(await i.readFile(P.file("/etc/os-release"))).value.toString()}catch{try{e=(await i.readFile(P.file("/usr/lib/os-release"))).value.toString()}catch(n){r.debug("Error while getting the os-release file.",mr(n))}}return!!e&&(e.match(/^ID=([^\u001b\r\n]*)/m)||[])[1]==="alpine"}async function JC(i,r){let e=await CM(i,r),t=KC(e?"alpine":qi,Qb);return r.debug("ComputeTargetPlatform:",t),t}var gpe,ww=I(()=>{ar();Iw();ep();Z();le();He();Hn();wo();Le();gpe=new xo("pprice.better-merge")});function QC(i){let r=i;return je(r)&&zC(r.identifier)&&(TM(r.location)||Oe(r.location)&&!!r.location)&&(_n(r.relativeLocation)||Oe(r.relativeLocation))&&!!r.version&&Oe(r.version)}function TM(i){if(!i)return!1;let r=i;return typeof r?.path=="string"&&typeof r?.scheme=="string"}var ca,vs,cc,tp=I(()=>{ge();ot();$();z();xr();le();Iw();ww();ze();ee();re();ti();ei();Le();He();ca=class extends Error{constructor(e,t){super(e);this.code=t}},vs=L("IExtensionsProfileScannerService"),cc=class extends T{constructor(e,t,n,o,s){super();this.extensionsLocation=e;this.fileService=t;this.userDataProfilesService=n;this.uriIdentityService=o;this.logService=s;this._onAddExtensions=this._register(new b);this.onAddExtensions=this._onAddExtensions.event;this._onDidAddExtensions=this._register(new b);this.onDidAddExtensions=this._onDidAddExtensions.event;this._onRemoveExtensions=this._register(new b);this.onRemoveExtensions=this._onRemoveExtensions.event;this._onDidRemoveExtensions=this._register(new b);this.onDidRemoveExtensions=this._onDidRemoveExtensions.event;this.resourcesAccessQueueMap=new mt}scanProfileExtensions(e,t){return this.withProfileExtensions(e,void 0,t)}async addExtensionsToProfile(e,t,n){let o=[],s=[];try{return await this.withProfileExtensions(t,a=>{let l=[];if(n)l.push(...a);else for(let c of a)e.some(([d])=>la(d.identifier,c.identifier)&&d.manifest.version!==c.version)?o.push(c):l.push(c);for(let[c,d]of e){let u=l.findIndex(m=>la(m.identifier,c.identifier)&&m.version===c.manifest.version),f={identifier:c.identifier,version:c.manifest.version,location:c.location,metadata:d};u===-1?(s.push(f),l.push(f)):l.splice(u,1,f)}return s.length&&this._onAddExtensions.fire({extensions:s,profileLocation:t}),o.length&&this._onRemoveExtensions.fire({extensions:o,profileLocation:t}),l}),s.length&&this._onDidAddExtensions.fire({extensions:s,profileLocation:t}),o.length&&this._onDidRemoveExtensions.fire({extensions:o,profileLocation:t}),s}catch(a){throw s.length&&this._onDidAddExtensions.fire({extensions:s,error:a,profileLocation:t}),o.length&&this._onDidRemoveExtensions.fire({extensions:o,error:a,profileLocation:t}),a}}async updateMetadata(e,t){let n=[];return await this.withProfileExtensions(t,o=>{let s=[];for(let a of o){let l=e.find(([c])=>la({id:c.identifier.id},{id:a.identifier.id})&&c.manifest.version===a.version);l&&(a.metadata={...a.metadata,...l[1]},n.push(a)),s.push(a)}return s}),n}async removeExtensionsFromProfile(e,t){let n=[];try{await this.withProfileExtensions(t,o=>{let s=[];for(let a of o)e.some(l=>la(a.identifier,l))?n.push(a):s.push(a);return n.length&&this._onRemoveExtensions.fire({extensions:n,profileLocation:t}),s}),n.length&&this._onDidRemoveExtensions.fire({extensions:n,profileLocation:t})}catch(o){throw n.length&&this._onDidRemoveExtensions.fire({extensions:n,error:o,profileLocation:t}),o}}async withProfileExtensions(e,t,n){return this.getResourceAccessQueue(e).queue(async()=>{let o=[],s;try{let a=await this.fileService.readFile(e);s=JSON.parse(a.value.toString().trim()||"[]")}catch(a){if(jr(a)!==1)throw a;if(this.uriIdentityService.extUri.isEqual(e,this.userDataProfilesService.defaultProfile.extensionsResource)&&(s=await this.migrateFromOldDefaultProfileExtensionsLocation()),!s&&n?.bailOutWhenFileNotFound)throw new ca(mr(a),"ERROR_PROFILE_NOT_FOUND")}if(s){Array.isArray(s)||this.throwInvalidConentError(e);let a=!1;for(let l of s){QC(l)||this.throwInvalidConentError(e);let c;if(Oe(l.relativeLocation)&&l.relativeLocation)c=this.resolveExtensionLocation(l.relativeLocation);else if(Oe(l.location)){this.logService.warn(`Extensions profile: Ignoring extension with invalid location: ${l.location}`);continue}else{c=P.revive(l.location);let u=this.toRelativePath(c);u&&(a=!0,l.relativeLocation=u)}_n(l.metadata?.hasPreReleaseVersion)&&l.metadata?.preRelease&&(a=!0,l.metadata.hasPreReleaseVersion=!0);let d=l.metadata?.id??l.identifier.uuid;o.push({identifier:d?{id:l.identifier.id,uuid:d}:{id:l.identifier.id},location:c,version:l.version,metadata:l.metadata})}a&&await this.fileService.writeFile(e,H.fromString(JSON.stringify(s)))}if(t){o=t(o);let a=o.map(l=>({identifier:l.identifier,version:l.version,location:l.location.toJSON(),relativeLocation:this.toRelativePath(l.location),metadata:l.metadata}));await this.fileService.writeFile(e,H.fromString(JSON.stringify(a)))}return o})}throwInvalidConentError(e){throw new ca(`Invalid extensions content in ${e.toString()}`,"ERROR_INVALID_CONTENT")}toRelativePath(e){return this.uriIdentityService.extUri.isEqual(this.uriIdentityService.extUri.dirname(e),this.extensionsLocation)?this.uriIdentityService.extUri.basename(e):void 0}resolveExtensionLocation(e){return this.uriIdentityService.extUri.joinPath(this.extensionsLocation,e)}async migrateFromOldDefaultProfileExtensionsLocation(){return this._migrationPromise||(this._migrationPromise=(async()=>{let e=this.uriIdentityService.extUri.joinPath(this.userDataProfilesService.defaultProfile.location,"extensions.json"),t=this.uriIdentityService.extUri.joinPath(this.extensionsLocation,".init-default-profile-extensions"),n;try{n=(await this.fileService.readFile(e)).value.toString()}catch(s){if(jr(s)===1)return;throw s}this.logService.info("Migrating extensions from old default profile location",e.toString());let o;try{let s=JSON.parse(n);Array.isArray(s)&&s.every(a=>QC(a))?o=s:this.logService.warn("Skipping migrating from old default profile locaiton: Found invalid data",s)}catch(s){this.logService.error(s)}if(o)try{await this.fileService.createFile(this.userDataProfilesService.defaultProfile.extensionsResource,H.fromString(JSON.stringify(o)),{overwrite:!1}),this.logService.info("Migrated extensions from old default profile location to new location",e.toString(),this.userDataProfilesService.defaultProfile.extensionsResource.toString())}catch(s){if(jr(s)===3)this.logService.info("Migration from old default profile location to new location is done by another window",e.toString(),this.userDataProfilesService.defaultProfile.extensionsResource.toString());else throw s}try{await this.fileService.del(e)}catch(s){jr(s)!==1&&this.logService.error(s)}try{await this.fileService.del(t)}catch(s){jr(s)!==1&&this.logService.error(s)}return o})()),this._migrationPromise}getResourceAccessQueue(e){let t=this.resourcesAccessQueueMap.get(e);return t||(t=new kn,this.resourcesAccessQueueMap.set(e,t)),t}};cc=E([g(1,Me),g(2,_r),g(3,kt),g(4,U)],cc)});function $h(i){switch(i){case 1:return h(123,null);case 2:return h(122,null);case 3:return h(124,null);case 4:return h(125,null);case 5:return h(119,null);case 6:return h(120,null);case 7:return h(117,null);case 8:return h(118,null);case 9:return h(121,null);default:return""}}var XC=I(()=>{Ee();ri()});var qh,Ue,$pe,qpe,YC,Kpe,zpe,jpe,Gpe,Jpe,Qpe,Xpe,ZC,Ype,Zpe,efe,eT,tfe,rfe,nfe,ife,ofe,sfe,afe,lfe,cfe,dfe,ufe,pfe,ffe,mfe,hfe,gfe,vfe,yfe,Ife,wfe,bfe,Sfe,bw=I(()=>{qh={},Ue={exports:qh};(function(i,r){if(typeof qh=="object"&&typeof Ue=="object")Ue.exports=r();else if(typeof define=="function"&&define.amd)define([],r);else{var e=r();for(var t in e)(typeof qh=="object"?qh:i)[t]=e[t]}})(typeof self<"u"?self:void 0,(function(){return(function(i){var r={};function e(t){if(r[t])return r[t].exports;var n=r[t]={i:t,l:!1,exports:{}};return i[t].call(n.exports,n,n.exports,e),n.l=!0,n.exports}return e.m=i,e.c=r,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:o})},e.r=function(t){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n||4&n&&typeof t=="object"&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&n&&typeof t!="string")for(var s in t)e.d(o,s,function(a){return t[a]}.bind(null,s));return o},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=0)})([function(i,r,e){(function(t){var n;r=i.exports=Ye,n=typeof t=="object"&&t.env&&t.env.NODE_DEBUG&&/\bsemver\b/i.test(t.env.NODE_DEBUG)?function(){var x=Array.prototype.slice.call(arguments,0);x.unshift("SEMVER"),console.log.apply(console,x)}:function(){},r.SEMVER_SPEC_VERSION="2.0.0";var o=256,s=Number.MAX_SAFE_INTEGER||9007199254740991,a=r.re=[],l=r.src=[],c=0,d=c++;l[d]="0|[1-9]\\d*";var u=c++;l[u]="[0-9]+";var f=c++;l[f]="\\d*[a-zA-Z-][a-zA-Z0-9-]*";var m=c++;l[m]="("+l[d]+")\\.("+l[d]+")\\.("+l[d]+")";var y=c++;l[y]="("+l[u]+")\\.("+l[u]+")\\.("+l[u]+")";var v=c++;l[v]="(?:"+l[d]+"|"+l[f]+")";var C=c++;l[C]="(?:"+l[u]+"|"+l[f]+")";var w=c++;l[w]="(?:-("+l[v]+"(?:\\."+l[v]+")*))";var _=c++;l[_]="(?:-?("+l[C]+"(?:\\."+l[C]+")*))";var R=c++;l[R]="[0-9A-Za-z-]+";var D=c++;l[D]="(?:\\+("+l[R]+"(?:\\."+l[R]+")*))";var M=c++,X="v?"+l[m]+l[w]+"?"+l[D]+"?";l[M]="^"+X+"$";var B="[v=\\s]*"+l[y]+l[_]+"?"+l[D]+"?",G=c++;l[G]="^"+B+"$";var q=c++;l[q]="((?:<|>)?=?)";var ve=c++;l[ve]=l[u]+"|x|X|\\*";var vt=c++;l[vt]=l[d]+"|x|X|\\*";var At=c++;l[At]="[v=\\s]*("+l[vt]+")(?:\\.("+l[vt]+")(?:\\.("+l[vt]+")(?:"+l[w]+")?"+l[D]+"?)?)?";var ui=c++;l[ui]="[v=\\s]*("+l[ve]+")(?:\\.("+l[ve]+")(?:\\.("+l[ve]+")(?:"+l[_]+")?"+l[D]+"?)?)?";var gn=c++;l[gn]="^"+l[q]+"\\s*"+l[At]+"$";var ie=c++;l[ie]="^"+l[q]+"\\s*"+l[ui]+"$";var K=c++;l[K]="(?:^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])";var Y=c++;l[Y]="(?:~>?)";var te=c++;l[te]="(\\s*)"+l[Y]+"\\s+",a[te]=new RegExp(l[te],"g");var oe=c++;l[oe]="^"+l[Y]+l[At]+"$";var ue=c++;l[ue]="^"+l[Y]+l[ui]+"$";var Ie=c++;l[Ie]="(?:\\^)";var bt=c++;l[bt]="(\\s*)"+l[Ie]+"\\s+",a[bt]=new RegExp(l[bt],"g");var Xe=c++;l[Xe]="^"+l[Ie]+l[At]+"$";var Lt=c++;l[Lt]="^"+l[Ie]+l[ui]+"$";var ke=c++;l[ke]="^"+l[q]+"\\s*("+B+")$|^$";var Yt=c++;l[Yt]="^"+l[q]+"\\s*("+X+")$|^$";var Nr=c++;l[Nr]="(\\s*)"+l[q]+"\\s*("+B+"|"+l[At]+")",a[Nr]=new RegExp(l[Nr],"g");var pi=c++;l[pi]="^\\s*("+l[At]+")\\s+-\\s+("+l[At]+")\\s*$";var $c=c++;l[$c]="^\\s*("+l[ui]+")\\s+-\\s+("+l[ui]+")\\s*$";var qc=c++;l[qc]="(<|>)?=?\\s*\\*";for(var To=0;To<35;To++)n(To,l[To]),a[To]||(a[To]=new RegExp(l[To]));function pe(x,A){if(x instanceof Ye)return x;if(typeof x!="string"||x.length>o||!(A?a[G]:a[M]).test(x))return null;try{return new Ye(x,A)}catch{return null}}function Ye(x,A){if(x instanceof Ye){if(x.loose===A)return x;x=x.version}else if(typeof x!="string")throw new TypeError("Invalid Version: "+x);if(x.length>o)throw new TypeError("version is longer than "+o+" characters");if(!(this instanceof Ye))return new Ye(x,A);n("SemVer",x,A),this.loose=A;var O=x.trim().match(A?a[G]:a[M]);if(!O)throw new TypeError("Invalid Version: "+x);if(this.raw=x,this.major=+O[1],this.minor=+O[2],this.patch=+O[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");O[4]?this.prerelease=O[4].split(".").map((function(ae){if(/^[0-9]+$/.test(ae)){var be=+ae;if(be>=0&&be<s)return be}return ae})):this.prerelease=[],this.build=O[5]?O[5].split("."):[],this.format()}r.parse=pe,r.valid=function(x,A){var O=pe(x,A);return O?O.version:null},r.clean=function(x,A){var O=pe(x.trim().replace(/^[=v]+/,""),A);return O?O.version:null},r.SemVer=Ye,Ye.prototype.format=function(){return this.version=this.major+"."+this.minor+"."+this.patch,this.prerelease.length&&(this.version+="-"+this.prerelease.join(".")),this.version},Ye.prototype.toString=function(){return this.version},Ye.prototype.compare=function(x){return n("SemVer.compare",this.version,this.loose,x),x instanceof Ye||(x=new Ye(x,this.loose)),this.compareMain(x)||this.comparePre(x)},Ye.prototype.compareMain=function(x){return x instanceof Ye||(x=new Ye(x,this.loose)),ga(this.major,x.major)||ga(this.minor,x.minor)||ga(this.patch,x.patch)},Ye.prototype.comparePre=function(x){if(x instanceof Ye||(x=new Ye(x,this.loose)),this.prerelease.length&&!x.prerelease.length)return-1;if(!this.prerelease.length&&x.prerelease.length)return 1;if(!this.prerelease.length&&!x.prerelease.length)return 0;var A=0;do{var O=this.prerelease[A],ae=x.prerelease[A];if(n("prerelease compare",A,O,ae),O===void 0&&ae===void 0)return 0;if(ae===void 0)return 1;if(O===void 0)return-1;if(O!==ae)return ga(O,ae)}while(++A)},Ye.prototype.inc=function(x,A){switch(x){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",A);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",A);break;case"prepatch":this.prerelease.length=0,this.inc("patch",A),this.inc("pre",A);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",A),this.inc("pre",A);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 O=this.prerelease.length;--O>=0;)typeof this.prerelease[O]=="number"&&(this.prerelease[O]++,O=-2);O===-1&&this.prerelease.push(0)}A&&(this.prerelease[0]===A?isNaN(this.prerelease[1])&&(this.prerelease=[A,0]):this.prerelease=[A,0]);break;default:throw new Error("invalid increment argument: "+x)}return this.format(),this.raw=this.version,this},r.inc=function(x,A,O,ae){typeof O=="string"&&(ae=O,O=void 0);try{return new Ye(x,O).inc(A,ae).version}catch{return null}},r.diff=function(x,A){if(xg(x,A))return null;var O=pe(x),ae=pe(A);if(O.prerelease.length||ae.prerelease.length){for(var be in O)if((be==="major"||be==="minor"||be==="patch")&&O[be]!==ae[be])return"pre"+be;return"prerelease"}for(var be in O)if((be==="major"||be==="minor"||be==="patch")&&O[be]!==ae[be])return be},r.compareIdentifiers=ga;var Ib=/^[0-9]+$/;function ga(x,A){var O=Ib.test(x),ae=Ib.test(A);return O&&ae&&(x=+x,A=+A),O&&!ae?-1:ae&&!O?1:x<A?-1:x>A?1:0}function Vi(x,A,O){return new Ye(x,O).compare(new Ye(A,O))}function hp(x,A,O){return Vi(x,A,O)>0}function gp(x,A,O){return Vi(x,A,O)<0}function xg(x,A,O){return Vi(x,A,O)===0}function wb(x,A,O){return Vi(x,A,O)!==0}function Pg(x,A,O){return Vi(x,A,O)>=0}function Eg(x,A,O){return Vi(x,A,O)<=0}function vp(x,A,O,ae){var be;switch(A){case"===":typeof x=="object"&&(x=x.version),typeof O=="object"&&(O=O.version),be=x===O;break;case"!==":typeof x=="object"&&(x=x.version),typeof O=="object"&&(O=O.version),be=x!==O;break;case"":case"=":case"==":be=xg(x,O,ae);break;case"!=":be=wb(x,O,ae);break;case">":be=hp(x,O,ae);break;case">=":be=Pg(x,O,ae);break;case"<":be=gp(x,O,ae);break;case"<=":be=Eg(x,O,ae);break;default:throw new TypeError("Invalid operator: "+A)}return be}function Cn(x,A){if(x instanceof Cn){if(x.loose===A)return x;x=x.value}if(!(this instanceof Cn))return new Cn(x,A);n("comparator",x,A),this.loose=A,this.parse(x),this.semver===Kc?this.value="":this.value=this.operator+this.semver.version,n("comp",this)}r.rcompareIdentifiers=function(x,A){return ga(A,x)},r.major=function(x,A){return new Ye(x,A).major},r.minor=function(x,A){return new Ye(x,A).minor},r.patch=function(x,A){return new Ye(x,A).patch},r.compare=Vi,r.compareLoose=function(x,A){return Vi(x,A,!0)},r.rcompare=function(x,A,O){return Vi(A,x,O)},r.sort=function(x,A){return x.sort((function(O,ae){return r.compare(O,ae,A)}))},r.rsort=function(x,A){return x.sort((function(O,ae){return r.rcompare(O,ae,A)}))},r.gt=hp,r.lt=gp,r.eq=xg,r.neq=wb,r.gte=Pg,r.lte=Eg,r.cmp=vp,r.Comparator=Cn;var Kc={};function Mt(x,A){if(x instanceof Mt)return x.loose===A?x:new Mt(x.raw,A);if(x instanceof Cn)return new Mt(x.value,A);if(!(this instanceof Mt))return new Mt(x,A);if(this.loose=A,this.raw=x,this.set=x.split(/\s*\|\|\s*/).map((function(O){return this.parseRange(O.trim())}),this).filter((function(O){return O.length})),!this.set.length)throw new TypeError("Invalid SemVer Range: "+x);this.format()}function Br(x){return!x||x.toLowerCase()==="x"||x==="*"}function Ok(x,A,O,ae,be,pr,Ze,Qr,qt,kr,fi,Kt,wr){return((A=Br(O)?"":Br(ae)?">="+O+".0.0":Br(be)?">="+O+"."+ae+".0":">="+A)+" "+(Qr=Br(qt)?"":Br(kr)?"<"+(+qt+1)+".0.0":Br(fi)?"<"+qt+"."+(+kr+1)+".0":Kt?"<="+qt+"."+kr+"."+fi+"-"+Kt:"<="+Qr)).trim()}function Fk(x,A){for(var O=0;O<x.length;O++)if(!x[O].test(A))return!1;if(A.prerelease.length){for(O=0;O<x.length;O++)if(n(x[O].semver),x[O].semver!==Kc&&x[O].semver.prerelease.length>0){var ae=x[O].semver;if(ae.major===A.major&&ae.minor===A.minor&&ae.patch===A.patch)return!0}return!1}return!0}function yp(x,A,O){try{A=new Mt(A,O)}catch{return!1}return A.test(x)}function Cg(x,A,O,ae){var be,pr,Ze,Qr,qt;switch(x=new Ye(x,ae),A=new Mt(A,ae),O){case">":be=hp,pr=Eg,Ze=gp,Qr=">",qt=">=";break;case"<":be=gp,pr=Pg,Ze=hp,Qr="<",qt="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(yp(x,A,ae))return!1;for(var kr=0;kr<A.set.length;++kr){var fi=A.set[kr],Kt=null,wr=null;if(fi.forEach((function(Xr){Xr.semver===Kc&&(Xr=new Cn(">=0.0.0")),Kt=Kt||Xr,wr=wr||Xr,be(Xr.semver,Kt.semver,ae)?Kt=Xr:Ze(Xr.semver,wr.semver,ae)&&(wr=Xr)})),Kt.operator===Qr||Kt.operator===qt||(!wr.operator||wr.operator===Qr)&&pr(x,wr.semver)||wr.operator===qt&&Ze(x,wr.semver))return!1}return!0}Cn.prototype.parse=function(x){var A=this.loose?a[ke]:a[Yt],O=x.match(A);if(!O)throw new TypeError("Invalid comparator: "+x);this.operator=O[1],this.operator==="="&&(this.operator=""),O[2]?this.semver=new Ye(O[2],this.loose):this.semver=Kc},Cn.prototype.toString=function(){return this.value},Cn.prototype.test=function(x){return n("Comparator.test",x,this.loose),this.semver===Kc||(typeof x=="string"&&(x=new Ye(x,this.loose)),vp(x,this.operator,this.semver,this.loose))},Cn.prototype.intersects=function(x,A){if(!(x instanceof Cn))throw new TypeError("a Comparator is required");var O;if(this.operator==="")return O=new Mt(x.value,A),yp(this.value,O,A);if(x.operator==="")return O=new Mt(this.value,A),yp(x.semver,O,A);var ae=!(this.operator!==">="&&this.operator!==">"||x.operator!==">="&&x.operator!==">"),be=!(this.operator!=="<="&&this.operator!=="<"||x.operator!=="<="&&x.operator!=="<"),pr=this.semver.version===x.semver.version,Ze=!(this.operator!==">="&&this.operator!=="<="||x.operator!==">="&&x.operator!=="<="),Qr=vp(this.semver,"<",x.semver,A)&&(this.operator===">="||this.operator===">")&&(x.operator==="<="||x.operator==="<"),qt=vp(this.semver,">",x.semver,A)&&(this.operator==="<="||this.operator==="<")&&(x.operator===">="||x.operator===">");return ae||be||pr&&Ze||Qr||qt},r.Range=Mt,Mt.prototype.format=function(){return this.range=this.set.map((function(x){return x.join(" ").trim()})).join("||").trim(),this.range},Mt.prototype.toString=function(){return this.range},Mt.prototype.parseRange=function(x){var A=this.loose;x=x.trim(),n("range",x,A);var O=A?a[$c]:a[pi];x=x.replace(O,Ok),n("hyphen replace",x),x=x.replace(a[Nr],"$1$2$3"),n("comparator trim",x,a[Nr]),x=(x=(x=x.replace(a[te],"$1~")).replace(a[bt],"$1^")).split(/\s+/).join(" ");var ae=A?a[ke]:a[Yt],be=x.split(" ").map((function(pr){return(function(Ze,Qr){return n("comp",Ze),Ze=(function(qt,kr){return qt.trim().split(/\s+/).map((function(fi){return(function(Kt,wr){n("caret",Kt,wr);var Xr=wr?a[Lt]:a[Xe];return Kt.replace(Xr,(function(Bn,Pe,Ne,ft,Tt){var br;return n("caret",Kt,Bn,Pe,Ne,ft,Tt),Br(Pe)?br="":Br(Ne)?br=">="+Pe+".0.0 <"+(+Pe+1)+".0.0":Br(ft)?br=Pe==="0"?">="+Pe+"."+Ne+".0 <"+Pe+"."+(+Ne+1)+".0":">="+Pe+"."+Ne+".0 <"+(+Pe+1)+".0.0":Tt?(n("replaceCaret pr",Tt),Tt.charAt(0)!=="-"&&(Tt="-"+Tt),br=Pe==="0"?Ne==="0"?">="+Pe+"."+Ne+"."+ft+Tt+" <"+Pe+"."+Ne+"."+(+ft+1):">="+Pe+"."+Ne+"."+ft+Tt+" <"+Pe+"."+(+Ne+1)+".0":">="+Pe+"."+Ne+"."+ft+Tt+" <"+(+Pe+1)+".0.0"):(n("no pr"),br=Pe==="0"?Ne==="0"?">="+Pe+"."+Ne+"."+ft+" <"+Pe+"."+Ne+"."+(+ft+1):">="+Pe+"."+Ne+"."+ft+" <"+Pe+"."+(+Ne+1)+".0":">="+Pe+"."+Ne+"."+ft+" <"+(+Pe+1)+".0.0"),n("caret return",br),br}))})(fi,kr)})).join(" ")})(Ze,Qr),n("caret",Ze),Ze=(function(qt,kr){return qt.trim().split(/\s+/).map((function(fi){return(function(Kt,wr){var Xr=wr?a[ue]:a[oe];return Kt.replace(Xr,(function(Bn,Pe,Ne,ft,Tt){var br;return n("tilde",Kt,Bn,Pe,Ne,ft,Tt),Br(Pe)?br="":Br(Ne)?br=">="+Pe+".0.0 <"+(+Pe+1)+".0.0":Br(ft)?br=">="+Pe+"."+Ne+".0 <"+Pe+"."+(+Ne+1)+".0":Tt?(n("replaceTilde pr",Tt),Tt.charAt(0)!=="-"&&(Tt="-"+Tt),br=">="+Pe+"."+Ne+"."+ft+Tt+" <"+Pe+"."+(+Ne+1)+".0"):br=">="+Pe+"."+Ne+"."+ft+" <"+Pe+"."+(+Ne+1)+".0",n("tilde return",br),br}))})(fi,kr)})).join(" ")})(Ze,Qr),n("tildes",Ze),Ze=(function(qt,kr){return n("replaceXRanges",qt,kr),qt.split(/\s+/).map((function(fi){return(function(Kt,wr){Kt=Kt.trim();var Xr=wr?a[ie]:a[gn];return Kt.replace(Xr,(function(Bn,Pe,Ne,ft,Tt,br){n("xRange",Kt,Bn,Pe,Ne,ft,Tt,br);var bb=Br(Ne),zc=bb||Br(ft),jc=zc||Br(Tt);return Pe==="="&&jc&&(Pe=""),bb?Bn=Pe===">"||Pe==="<"?"<0.0.0":"*":Pe&&jc?(zc&&(ft=0),jc&&(Tt=0),Pe===">"?(Pe=">=",zc?(Ne=+Ne+1,ft=0,Tt=0):jc&&(ft=+ft+1,Tt=0)):Pe==="<="&&(Pe="<",zc?Ne=+Ne+1:ft=+ft+1),Bn=Pe+Ne+"."+ft+"."+Tt):zc?Bn=">="+Ne+".0.0 <"+(+Ne+1)+".0.0":jc&&(Bn=">="+Ne+"."+ft+".0 <"+Ne+"."+(+ft+1)+".0"),n("xRange return",Bn),Bn}))})(fi,kr)})).join(" ")})(Ze,Qr),n("xrange",Ze),Ze=(function(qt,kr){return n("replaceStars",qt,kr),qt.trim().replace(a[qc],"")})(Ze,Qr),n("stars",Ze),Ze})(pr,A)})).join(" ").split(/\s+/);return this.loose&&(be=be.filter((function(pr){return!!pr.match(ae)}))),be=be.map((function(pr){return new Cn(pr,A)}))},Mt.prototype.intersects=function(x,A){if(!(x instanceof Mt))throw new TypeError("a Range is required");return this.set.some((function(O){return O.every((function(ae){return x.set.some((function(be){return be.every((function(pr){return ae.intersects(pr,A)}))}))}))}))},r.toComparators=function(x,A){return new Mt(x,A).set.map((function(O){return O.map((function(ae){return ae.value})).join(" ").trim().split(" ")}))},Mt.prototype.test=function(x){if(!x)return!1;typeof x=="string"&&(x=new Ye(x,this.loose));for(var A=0;A<this.set.length;A++)if(Fk(this.set[A],x))return!0;return!1},r.satisfies=yp,r.maxSatisfying=function(x,A,O){var ae=null,be=null;try{var pr=new Mt(A,O)}catch{return null}return x.forEach((function(Ze){pr.test(Ze)&&(ae&&be.compare(Ze)!==-1||(be=new Ye(ae=Ze,O)))})),ae},r.minSatisfying=function(x,A,O){var ae=null,be=null;try{var pr=new Mt(A,O)}catch{return null}return x.forEach((function(Ze){pr.test(Ze)&&(ae&&be.compare(Ze)!==1||(be=new Ye(ae=Ze,O)))})),ae},r.validRange=function(x,A){try{return new Mt(x,A).range||"*"}catch{return null}},r.ltr=function(x,A,O){return Cg(x,A,"<",O)},r.gtr=function(x,A,O){return Cg(x,A,">",O)},r.outside=Cg,r.prerelease=function(x,A){var O=pe(x,A);return O&&O.prerelease.length?O.prerelease:null},r.intersects=function(x,A,O){return x=new Mt(x,O),A=new Mt(A,O),x.intersects(A)},r.coerce=function(x){if(x instanceof Ye)return x;if(typeof x!="string")return null;var A=x.match(a[K]);return A==null?null:pe((A[1]||"0")+"."+(A[2]||"0")+"."+(A[3]||"0"))}}).call(this,e(1))},function(i,r){var e,t,n=i.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function a(C){if(e===setTimeout)return setTimeout(C,0);if((e===o||!e)&&setTimeout)return e=setTimeout,setTimeout(C,0);try{return e(C,0)}catch{try{return e.call(null,C,0)}catch{return e.call(this,C,0)}}}(function(){try{e=typeof setTimeout=="function"?setTimeout:o}catch{e=o}try{t=typeof clearTimeout=="function"?clearTimeout:s}catch{t=s}})();var l,c=[],d=!1,u=-1;function f(){d&&l&&(d=!1,l.length?c=l.concat(c):u=-1,c.length&&m())}function m(){if(!d){var C=a(f);d=!0;for(var w=c.length;w;){for(l=c,c=[];++u<w;)l&&l[u].run();u=-1,w=c.length}l=null,d=!1,(function(_){if(t===clearTimeout)return clearTimeout(_);if((t===s||!t)&&clearTimeout)return t=clearTimeout,clearTimeout(_);try{t(_)}catch{try{return t.call(null,_)}catch{return t.call(this,_)}}})(C)}}function y(C,w){this.fun=C,this.array=w}function v(){}n.nextTick=function(C){var w=new Array(arguments.length-1);if(arguments.length>1)for(var _=1;_<arguments.length;_++)w[_-1]=arguments[_];c.push(new y(C,w)),c.length!==1||d||a(m)},y.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={},n.on=v,n.addListener=v,n.once=v,n.off=v,n.removeListener=v,n.removeAllListeners=v,n.emit=v,n.prependListener=v,n.prependOnceListener=v,n.listeners=function(C){return[]},n.binding=function(C){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(C){throw new Error("process.chdir is not supported")},n.umask=function(){return 0}}])}));$pe=Ue.exports.SEMVER_SPEC_VERSION,qpe=Ue.exports.parse,YC=Ue.exports.valid,Kpe=Ue.exports.coerce,zpe=Ue.exports.clean,jpe=Ue.exports.inc,Gpe=Ue.exports.major,Jpe=Ue.exports.minor,Qpe=Ue.exports.patch,Xpe=Ue.exports.prerelease,ZC=Ue.exports.gt,Ype=Ue.exports.gte,Zpe=Ue.exports.lt,efe=Ue.exports.lte,eT=Ue.exports.eq,tfe=Ue.exports.neq,rfe=Ue.exports.cmp,nfe=Ue.exports.compare,ife=Ue.exports.rcompare,ofe=Ue.exports.compareIdentifiers,sfe=Ue.exports.rcompareIdentifiers,afe=Ue.exports.compareBuild,lfe=Ue.exports.sort,cfe=Ue.exports.rsort,dfe=Ue.exports.diff,ufe=Ue.exports.validRange,pfe=Ue.exports.satisfies,ffe=Ue.exports.maxSatisfying,mfe=Ue.exports.minSatisfying,hfe=Ue.exports.minVersion,gfe=Ue.exports.gtr,vfe=Ue.exports.ltr,yfe=Ue.exports.outside,Ife=Ue.exports.intersects,wfe=Ue.exports.SemVer,bfe=Ue.exports.Comparator,Sfe=Ue.exports.Range});var _M,rT,nT=I(()=>{_M={activeComment:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.activeComment.d.ts"},agentSessionsWorkspace:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.agentSessionsWorkspace.d.ts"},aiRelatedInformation:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.aiRelatedInformation.d.ts"},aiSettingsSearch:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.aiSettingsSearch.d.ts"},aiTextSearchProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.aiTextSearchProvider.d.ts",version:2},authIssuers:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authIssuers.d.ts"},authLearnMore:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authLearnMore.d.ts"},authProviderSpecific:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authProviderSpecific.d.ts"},authSession:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authSession.d.ts"},authenticationChallenges:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authenticationChallenges.d.ts"},browser:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.browser.d.ts"},canonicalUriProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.canonicalUriProvider.d.ts"},chatContextProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatContextProvider.d.ts"},chatDebug:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatDebug.d.ts",version:4},chatHooks:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatHooks.d.ts",version:6},chatOutputRenderer:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatOutputRenderer.d.ts"},chatParticipantAdditions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts",version:3},chatParticipantPrivate:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts",version:15},chatPromptFiles:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatPromptFiles.d.ts",version:2},chatProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatProvider.d.ts",version:4},chatReferenceBinaryData:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatReferenceBinaryData.d.ts"},chatReferenceDiagnostic:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatReferenceDiagnostic.d.ts"},chatSessionCustomizationProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatSessionCustomizationProvider.d.ts"},chatSessionsProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatSessionsProvider.d.ts",version:3},chatStatusItem:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatStatusItem.d.ts"},chatTab:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatTab.d.ts"},codeActionAI:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.codeActionAI.d.ts"},codeActionRanges:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.codeActionRanges.d.ts"},codiconDecoration:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.codiconDecoration.d.ts"},commentReactor:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentReactor.d.ts"},commentReveal:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentReveal.d.ts"},commentThreadApplicability:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts"},commentingRangeHint:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentingRangeHint.d.ts"},commentsDraftState:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentsDraftState.d.ts"},contribAccessibilityHelpContent:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribAccessibilityHelpContent.d.ts"},contribChatEditorInlineGutterMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribChatEditorInlineGutterMenu.d.ts"},contribCommentEditorActionsMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribCommentEditorActionsMenu.d.ts"},contribCommentPeekContext:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribCommentPeekContext.d.ts"},contribCommentThreadAdditionalMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribCommentThreadAdditionalMenu.d.ts"},contribCommentsViewThreadMenus:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribCommentsViewThreadMenus.d.ts"},contribDebugCreateConfiguration:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribDebugCreateConfiguration.d.ts"},contribDiffEditorGutterToolBarMenus:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribDiffEditorGutterToolBarMenus.d.ts"},contribEditSessions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribEditSessions.d.ts"},contribEditorContentMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribEditorContentMenu.d.ts"},contribLabelFormatterWorkspaceTooltip:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribLabelFormatterWorkspaceTooltip.d.ts"},contribLanguageModelToolSets:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribLanguageModelToolSets.d.ts"},contribMenuBarHome:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribMenuBarHome.d.ts"},contribMergeEditorMenus:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribMergeEditorMenus.d.ts"},contribMultiDiffEditorMenus:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribMultiDiffEditorMenus.d.ts"},contribNotebookStaticPreloads:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribNotebookStaticPreloads.d.ts"},contribRemoteHelp:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribRemoteHelp.d.ts"},contribShareMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribShareMenu.d.ts"},contribSourceControlArtifactGroupMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlArtifactGroupMenu.d.ts"},contribSourceControlArtifactMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlArtifactMenu.d.ts"},contribSourceControlHistoryItemMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlHistoryItemMenu.d.ts"},contribSourceControlHistoryTitleMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlHistoryTitleMenu.d.ts"},contribSourceControlInputBoxMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlInputBoxMenu.d.ts"},contribSourceControlTitleMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlTitleMenu.d.ts"},contribStatusBarItems:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribStatusBarItems.d.ts"},contribViewContainerTitle:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribViewContainerTitle.d.ts"},contribViewsRemote:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribViewsRemote.d.ts"},contribViewsWelcome:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribViewsWelcome.d.ts"},css:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.css.d.ts"},customEditorMove:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.customEditorMove.d.ts"},dataChannels:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.dataChannels.d.ts"},debugVisualization:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.debugVisualization.d.ts"},defaultChatParticipant:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts",version:4},devDeviceId:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.devDeviceId.d.ts"},diffCommand:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.diffCommand.d.ts"},diffContentOptions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.diffContentOptions.d.ts"},documentFiltersExclusive:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.documentFiltersExclusive.d.ts"},editSessionIdentityProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.editSessionIdentityProvider.d.ts"},editorHoverVerbosityLevel:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.editorHoverVerbosityLevel.d.ts"},editorInsets:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.editorInsets.d.ts"},embeddings:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.embeddings.d.ts"},envIsConnectionMetered:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.envIsConnectionMetered.d.ts"},environmentPower:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.environmentPower.d.ts"},extensionAffinity:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.extensionAffinity.d.ts"},extensionRuntime:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.extensionRuntime.d.ts"},extensionsAny:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.extensionsAny.d.ts"},externalUriOpener:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.externalUriOpener.d.ts"},fileSearchProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.fileSearchProvider.d.ts"},fileSearchProvider2:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.fileSearchProvider2.d.ts"},findFiles2:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.findFiles2.d.ts",version:2},findTextInFiles:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.findTextInFiles.d.ts"},findTextInFiles2:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.findTextInFiles2.d.ts"},fsChunks:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.fsChunks.d.ts"},inlineCompletionsAdditions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts"},interactive:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.interactive.d.ts"},interactiveWindow:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.interactiveWindow.d.ts"},ipc:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.ipc.d.ts"},languageModelCapabilities:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelCapabilities.d.ts"},languageModelProxy:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelProxy.d.ts"},languageModelSystem:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelSystem.d.ts"},languageModelThinkingPart:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelThinkingPart.d.ts",version:1},languageModelToolResultAudience:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelToolResultAudience.d.ts"},languageModelToolSupportsModel:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelToolSupportsModel.d.ts",version:1},languageStatusText:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageStatusText.d.ts"},mappedEditsProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts"},markdownAlertSyntax:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.markdownAlertSyntax.d.ts"},mcpServerDefinitions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.mcpServerDefinitions.d.ts",version:1},mcpToolDefinitions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.mcpToolDefinitions.d.ts"},multiDocumentHighlightProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.multiDocumentHighlightProvider.d.ts"},nativeWindowHandle:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.nativeWindowHandle.d.ts"},newSymbolNamesProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.newSymbolNamesProvider.d.ts"},notebookCellExecution:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookCellExecution.d.ts"},notebookControllerAffinityHidden:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookControllerAffinityHidden.d.ts"},notebookDeprecated:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookDeprecated.d.ts"},notebookExecution:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookExecution.d.ts"},notebookKernelSource:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookKernelSource.d.ts"},notebookLiveShare:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookLiveShare.d.ts"},notebookMessaging:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookMessaging.d.ts"},notebookMime:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookMime.d.ts"},notebookReplDocument:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookReplDocument.d.ts"},notebookVariableProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts"},portsAttributes:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.portsAttributes.d.ts"},profileContentHandlers:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.profileContentHandlers.d.ts"},quickDiffProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.quickDiffProvider.d.ts"},quickPickItemTooltip:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.quickPickItemTooltip.d.ts"},quickPickSortByLabel:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.quickPickSortByLabel.d.ts"},remoteCodingAgents:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.remoteCodingAgents.d.ts"},resolvers:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.resolvers.d.ts"},scmActionButton:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmActionButton.d.ts"},scmArtifactProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmArtifactProvider.d.ts"},scmHistoryProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts"},scmMultiDiffEditor:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmMultiDiffEditor.d.ts"},scmProviderOptions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmProviderOptions.d.ts"},scmSelectedProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmSelectedProvider.d.ts"},scmTextDocument:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmTextDocument.d.ts"},scmValidation:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmValidation.d.ts"},shareProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.shareProvider.d.ts"},speech:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.speech.d.ts"},statusBarItemTooltip:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.statusBarItemTooltip.d.ts"},tabInputMultiDiff:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tabInputMultiDiff.d.ts"},tabInputTextMerge:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tabInputTextMerge.d.ts"},taskExecutionTerminal:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.taskExecutionTerminal.d.ts"},taskPresentationGroup:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.taskPresentationGroup.d.ts"},taskProblemMatcherStatus:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.taskProblemMatcherStatus.d.ts"},taskRunOptions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.taskRunOptions.d.ts"},telemetry:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.telemetry.d.ts"},terminalCompletionProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalCompletionProvider.d.ts"},terminalDataWriteEvent:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalDataWriteEvent.d.ts"},terminalDimensions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalDimensions.d.ts"},terminalExecuteCommandEvent:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalExecuteCommandEvent.d.ts"},terminalQuickFixProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalQuickFixProvider.d.ts"},terminalSelection:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalSelection.d.ts"},terminalShellEnv:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalShellEnv.d.ts"},terminalTitle:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalTitle.d.ts"},testObserver:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.testObserver.d.ts"},testRelatedCode:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.testRelatedCode.d.ts"},textDocumentChangeReason:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textDocumentChangeReason.d.ts"},textEditorDiffInformation:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textEditorDiffInformation.d.ts"},textSearchComplete2:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textSearchComplete2.d.ts"},textSearchProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textSearchProvider.d.ts"},textSearchProvider2:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textSearchProvider2.d.ts"},timeline:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.timeline.d.ts"},tokenInformation:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tokenInformation.d.ts"},toolInvocationApproveCombination:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.toolInvocationApproveCombination.d.ts"},toolProgress:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.toolProgress.d.ts"},treeItemMarkdownLabel:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.treeItemMarkdownLabel.d.ts"},treeViewActiveItem:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.treeViewActiveItem.d.ts"},treeViewMarkdownMessage:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.treeViewMarkdownMessage.d.ts"},treeViewReveal:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.treeViewReveal.d.ts"},tunnelFactory:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tunnelFactory.d.ts"},tunnels:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tunnels.d.ts"},valueSelectionInQuickPick:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.valueSelectionInQuickPick.d.ts"},workspaceTrust:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.workspaceTrust.d.ts"}},rT=Object.freeze(_M)});function RM(i){return i=i.trim(),i==="*"||iT.test(i)}function xw(i){if(!RM(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 r=i.match(iT);return r?{hasCaret:r[1]==="^",hasGreaterEquals:r[1]===">=",majorBase:r[2]==="x"?0:parseInt(r[2],10),majorMustEqual:r[2]!=="x",minorBase:r[4]==="x"?0:parseInt(r[4],10),minorMustEqual:r[4]!=="x",patchBase:r[6]==="x"?0:parseInt(r[6],10),patchMustEqual:r[6]!=="x",preRelease:r[8]||null}:null}function Pw(i){if(!i)return null;let r=i.majorBase,e=i.majorMustEqual,t=i.minorBase,n=i.minorMustEqual,o=i.patchBase,s=i.patchMustEqual;i.hasCaret&&(r===0||(n=!1),s=!1);let a=0;if(i.preRelease){let l=kM.exec(i.preRelease);if(l){let[,c,d,u,f,m]=l;a=Date.UTC(Number(c),Number(d)-1,Number(u),Number(f)||0,Number(m)||0)}}return{majorBase:r,majorMustEqual:e,minorBase:t,minorMustEqual:n,patchBase:o,patchMustEqual:s,isMinimum:i.hasGreaterEquals,notBefore:a}}function DM(i,r,e){let t;typeof i=="string"?t=Pw(xw(i)):t=i;let n;r instanceof Date?n=r.getTime():typeof r=="string"&&(n=new Date(r).getTime());let o;if(typeof e=="string"?o=Pw(xw(e)):o=e,!t||!o)return!1;let s=t.majorBase,a=t.minorBase,l=t.patchBase,c=o.majorBase,d=o.minorBase,u=o.patchBase,f=o.notBefore,m=o.majorMustEqual,y=o.minorMustEqual,v=o.patchMustEqual;return o.isMinimum?s>c?!0:s<c?!1:a>d?!0:a<d||n&&n<f?!1:l>=u:(s===1&&c===0&&(!m||!y||!v)&&(c=1,d=0,u=0,m=!0,y=!1,v=!1),s<c?!1:s>c?!m:a<d?!1:a>d?!y:l<u?!1:l>u?!v:!(n&&n<f))}function oT(i,r,e,t,n,o){let s=[];if(typeof t.publisher<"u"&&typeof t.publisher!="string")return s.push([We.Error,h(2142,null)]),s;if(typeof t.name!="string")return s.push([We.Error,h(2141,null,"name")]),s;if(typeof t.version!="string")return s.push([We.Error,h(2143,null,"version")]),s;if(!t.engines)return s.push([We.Error,h(2134,null,"engines")]),s;if(typeof t.engines.vscode!="string")return s.push([We.Error,h(2135,null,"engines.vscode")]),s;if(typeof t.extensionDependencies<"u"&&!Sw(t.extensionDependencies))return s.push([We.Error,h(2137,null,"extensionDependencies")]),s;if(typeof t.extensionAffinity<"u"&&!Sw(t.extensionAffinity))return s.push([We.Error,h(2136,null,"extensionAffinity")]),s;if(typeof t.activationEvents<"u"){if(!Sw(t.activationEvents))return s.push([We.Error,h(2130,null,"activationEvents")]),s;if(typeof t.main>"u"&&typeof t.browser>"u")return s.push([We.Error,h(2131,null,"activationEvents","main","browser")]),s}if(typeof t.extensionKind<"u"&&typeof t.main>"u"&&s.push([We.Warning,h(2138,null,"extensionKind")]),typeof t.main<"u"){if(typeof t.main!="string")return s.push([We.Error,h(2139,null,"main")]),s;{let c=he(e,t.main);vv(c,e)||s.push([We.Warning,h(2140,null,c.path,e.path)])}}if(typeof t.browser<"u"){if(typeof t.browser!="string")return s.push([We.Error,h(2132,null,"browser")]),s;{let c=he(e,t.browser);vv(c,e)||s.push([We.Warning,h(2133,null,c.path,e.path)])}}if(!YC(t.version))return s.push([We.Error,h(2144,null)]),s;let a=[];if(!AM(i,r,t,n,a))for(let c of a)s.push([We.Error,c]);if(o&&t.enabledApiProposals?.length){let c=[];if(!LM([...t.enabledApiProposals],c))for(let d of c)s.push([We.Error,d])}return s}function AM(i,r,e,t,n){return t||typeof e.main>"u"&&typeof e.browser>"u"?!0:MM(i,r,e.engines.vscode,n)}function LM(i,r){if(i.length===0)return!0;let e=Array.isArray(r)?r:void 0,t=(Array.isArray(r)?void 0:r)??rT,n=[],o=HC(i);for(let{proposalName:s,version:a}of o){if(!a)continue;t[s]?.version!==a&&n.push(s)}return n.length?(e&&(n.length===1?e.push(h(2128,null,n[0])):e.push(h(2129,null,n.slice(0,n.length-1).map(s=>`'${s}'`).join(", "),n[n.length-1]))),!1):!0}function MM(i,r,e,t=[]){let n=Pw(xw(e));if(!n)return t.push(h(2148,null,e)),!1;if(n.majorBase===0){if(!n.majorMustEqual||!n.minorMustEqual)return t.push(h(2146,null,e)),!1}else if(!n.majorMustEqual)return t.push(h(2147,null,e)),!1;return DM(i,r,n)?!0:(t.push(h(2145,null,i,e)),!1)}function Sw(i){if(!Array.isArray(i))return!1;for(let r=0,e=i.length;r<e;r++)if(typeof i[r]!="string")return!1;return!0}var iT,kM,sT=I(()=>{wt();Su();Ee();bw();ep();nT();iT=/^(\^|>=)?((\d+)|x)\.((\d+)|x)\.((\d+)|x)(\-.*)?$/,kM=/^-(\d{4})(\d{2})(\d{2})(\d{2})?(\d{2})?$/});function aT(i,r,e,t){try{OM(i,r,e,t)}catch(n){i.error(n?.message??n)}return r}function OM(i,r,e,t){let n=(o,s,a)=>{let l=o[s];if(Oe(l)){let c=l,d=c.length;if(d>1&&c[0]==="%"&&c[d-1]==="%"){let u=c.substr(1,d-2),f=e[u];f===void 0&&t&&(f=t[u]);let m=typeof f=="string"?f:f?.message,y=t?.[u],v=typeof y=="string"?y:y?.message;if(!m){v||i.warn(`[${r.name}]: ${h(2111,null,u)}`);return}if(a&&(s==="title"||s==="category")&&v&&v!==m){let C={value:m,original:v};o[s]=C}else o[s]=m}}else if(je(l))for(let c in l)l.hasOwnProperty(c)&&(c==="commands"?n(l,c,!0):n(l,c,a));else if(Array.isArray(l))for(let c=0;c<l.length;c++)n(l,c,a)};for(let o in r)r.hasOwnProperty(o)&&n(r,o)}var lT=I(()=>{Le();Ee()});function dT(i,r){let e=new Set;for(let t of i.builtInExtensionsEnabledWithAutoUpdates){let n=t.toLowerCase();r.skipBuiltinExtensions?.some(o=>o.toLowerCase()===n)||e.add(n)}return e}var cT,uT,rp,da,dc,uc,Kh,Ew=I(()=>{zt();ge();un();ot();He();ri();XC();$();qe();Ce();Z();wt();bw();Su();le();Ee();ln();ww();ep();sT();ze();ee();re();nr();z();Cd();tp();ti();ei();lT();(r=>{function i(e,t){if(e===t)return!0;let n=Object.keys(e),o=new Set;for(let s of Object.keys(t))o.add(s);if(n.length!==o.size)return!1;for(let s of n){if(e[s]!==t[s])return!1;o.delete(s)}return o.size===0}r.equals=i})(cT||={});uT=L("IExtensionsScannerService"),rp=class extends T{constructor(e,t,n,o,s,a,l,c,d,u,f,m){super();this.systemExtensionsLocation=e;this.userExtensionsLocation=t;this.extensionsControlLocation=n;this.userDataProfilesService=s;this.extensionsProfileScannerService=a;this.fileService=l;this.logService=c;this.environmentService=d;this.productService=u;this.uriIdentityService=f;this.instantiationService=m;this._onDidChangeCache=this._register(new b);this.onDidChangeCache=this._onDidChangeCache.event;this.initializeDefaultProfileExtensionsPromise=void 0;this.systemExtensionsCachedScanner=this._register(this.instantiationService.createInstance(uc,o)),this.userExtensionsCachedScanner=this._register(this.instantiationService.createInstance(uc,o)),this.extensionsScanner=this._register(this.instantiationService.createInstance(dc)),this._register(this.systemExtensionsCachedScanner.onDidChangeCache(()=>this._onDidChangeCache.fire(0))),this._register(this.userExtensionsCachedScanner.onDidChangeCache(()=>this._onDidChangeCache.fire(1)))}getTargetPlatform(){return this._targetPlatformPromise||(this._targetPlatformPromise=JC(this.fileService,this.logService)),this._targetPlatformPromise}async scanAllExtensions(e,t){let[n,o]=await Promise.all([this.scanSystemExtensions(e),this.scanUserExtensions(t)]);return this.dedupExtensions(n,o,[],await this.getTargetPlatform(),!0)}async scanSystemExtensions(e){let t=[];t.push(this.scanDefaultSystemExtensions(e.language)),t.push(this.scanDevSystemExtensions(e.language,!!e.checkControlFile));let[n,o]=await Promise.all(t),s=[...n,...o];if(this.environmentService.skipBuiltinExtensions?.length){let a=new Set(this.environmentService.skipBuiltinExtensions.map(l=>l.toLowerCase()));s=s.filter(l=>!a.has(l.identifier.id.toLowerCase()))}return this.applyScanOptions(s,0,{pickLatest:!1})}async scanUserExtensions(e){this.logService.trace("Started scanning user extensions",e.profileLocation);let t=this.uriIdentityService.extUri.isEqual(e.profileLocation,this.userDataProfilesService.defaultProfile.extensionsResource)?{bailOutWhenFileNotFound:!0}:void 0,n=await this.createExtensionScannerInput(e.profileLocation,!0,1,e.language,!0,t,e.productVersion??this.getProductVersion()),o=e.useCache&&!n.devMode?this.userExtensionsCachedScanner:this.extensionsScanner,s;try{s=await o.scanExtensions(n)}catch(a){if(a instanceof ca&&a.code==="ERROR_PROFILE_NOT_FOUND")await this.doInitializeDefaultProfileExtensions(),s=await o.scanExtensions(n);else throw a}return s=await this.applyScanOptions(s,1,{includeInvalid:e.includeInvalid,pickLatest:!0}),this.logService.trace("Scanned user extensions:",s.length),s}async scanAllUserExtensions(e={includeInvalid:!0,includeAllVersions:!0}){let t=await this.createExtensionScannerInput(this.userExtensionsLocation,!1,1,void 0,!0,void 0,this.getProductVersion()),n=await this.extensionsScanner.scanExtensions(t);return this.applyScanOptions(n,1,{includeAllVersions:e.includeAllVersions,includeInvalid:e.includeInvalid})}async scanExtensionsUnderDevelopment(e,t){if(this.environmentService.isExtensionDevelopment&&this.environmentService.extensionDevelopmentLocationURI){let n=(await Promise.all(this.environmentService.extensionDevelopmentLocationURI.filter(o=>o.scheme===W.file).map(async o=>{let s=await this.createExtensionScannerInput(o,!1,1,t.language,!1,void 0,this.getProductVersion());return(await this.extensionsScanner.scanOneOrMultipleExtensions(s)).map(l=>(l.type=e.find(c=>la(c.identifier,l.identifier))?.type??l.type,this.extensionsScanner.validate(l,s)))}))).flat();return this.applyScanOptions(n,"development",{includeInvalid:t.includeInvalid,pickLatest:!0})}return[]}async scanExistingExtension(e,t,n){let o=await this.createExtensionScannerInput(e,!1,t,n.language,!0,void 0,this.getProductVersion()),s=await this.extensionsScanner.scanExtension(o);return!s||!n.includeInvalid&&!s.isValid?null:s}async scanOneOrMultipleExtensions(e,t,n){let o=await this.createExtensionScannerInput(e,!1,t,n.language,!0,void 0,this.getProductVersion()),s=await this.extensionsScanner.scanOneOrMultipleExtensions(o);return this.applyScanOptions(s,t,{includeInvalid:n.includeInvalid,pickLatest:!0})}async scanMultipleExtensions(e,t,n){let o=[];return await Promise.all(e.map(async s=>{let a=await this.scanOneOrMultipleExtensions(s,t,n);o.push(...a)})),this.applyScanOptions(o,t,{includeInvalid:n.includeInvalid,pickLatest:!0})}async updateManifestMetadata(e,t){let n=he(e,"package.json"),o=(await this.fileService.readFile(n)).value.toString(),s=JSON.parse(o);s.__metadata={...s.__metadata,...t},await this.fileService.writeFile(he(e,"package.json"),H.fromString(JSON.stringify(s,null,"	")))}async initializeDefaultProfileExtensions(){try{await this.extensionsProfileScannerService.scanProfileExtensions(this.userDataProfilesService.defaultProfile.extensionsResource,{bailOutWhenFileNotFound:!0})}catch(e){if(e instanceof ca&&e.code==="ERROR_PROFILE_NOT_FOUND")await this.doInitializeDefaultProfileExtensions();else throw e}}async doInitializeDefaultProfileExtensions(){return this.initializeDefaultProfileExtensionsPromise||(this.initializeDefaultProfileExtensionsPromise=(async()=>{try{this.logService.info("Started initializing default profile extensions in extensions installation folder.",this.userExtensionsLocation.toString());let e=await this.scanAllUserExtensions({includeInvalid:!0});if(e.length)await this.extensionsProfileScannerService.addExtensionsToProfile(e.map(t=>[t,t.metadata]),this.userDataProfilesService.defaultProfile.extensionsResource);else try{await this.fileService.createFile(this.userDataProfilesService.defaultProfile.extensionsResource,H.fromString(JSON.stringify([])))}catch(t){jr(t)!==1&&this.logService.warn("Failed to create default profile extensions manifest in extensions installation folder.",this.userExtensionsLocation.toString(),mr(t))}this.logService.info("Completed initializing default profile extensions in extensions installation folder.",this.userExtensionsLocation.toString())}catch(e){this.logService.error(e)}finally{this.initializeDefaultProfileExtensionsPromise=void 0}})()),this.initializeDefaultProfileExtensionsPromise}async applyScanOptions(e,t,n={}){return n.includeAllVersions||(e=this.dedupExtensions(t===0?e:void 0,t===1?e:void 0,t==="development"?e:void 0,await this.getTargetPlatform(),!!n.pickLatest)),n.includeInvalid||(e=e.filter(o=>o.isValid)),e.sort((o,s)=>{let a=Se(o.location.fsPath),l=Se(s.location.fsPath);return a<l?-1:a>l?1:0})}dedupExtensions(e,t,n,o,s){let a=(d,u,f)=>{if(!f&&!(d.isBuiltin||u.isBuiltin)){if(d.metadata?.isApplicationScoped&&!u.metadata?.isApplicationScoped)return!1;if(!d.metadata?.isApplicationScoped&&u.metadata?.isApplicationScoped)return!0}if(d.isValid&&!u.isValid)return!1;if(d.isValid===u.isValid){if(s&&ZC(d.manifest.version,u.manifest.version))return this.logService.debug(`Skipping extension ${u.location.path} with lower version ${u.manifest.version} in favour of ${d.location.path} with version ${d.manifest.version}`),!1;if(eT(d.manifest.version,u.manifest.version)){if(d.type===0)return this.logService.debug(`Skipping extension ${u.location.path} in favour of system extension ${d.location.path} with same version`),!1;if(d.targetPlatform===o)return this.logService.debug(`Skipping extension ${u.location.path} from different target platform ${u.targetPlatform}`),!1}}return f?this.logService.warn(`Overwriting user extension ${d.location.path} with ${u.location.path}.`):this.logService.debug(`Overwriting user extension ${d.location.path} with ${u.location.path}.`),!0},l=new Vh;e?.forEach(d=>{let u=l.get(d.identifier.id);(!u||a(u,d,!1))&&l.set(d.identifier.id,d)});let c=dT(this.productService,this.environmentService);return t?.forEach(d=>{let u=l.get(d.identifier.id);if(!u&&e&&d.type===0){this.logService.debug(`Skipping obsolete system extension ${d.location.path}.`);return}if(c.has(d.identifier.id.toLowerCase())&&!d.forceAutoUpdate){this.logService.info(`Skipping user installed builtin extension ${d.identifier.id} with version ${d.manifest.version} because it is not allowed to in the current product quality ${this.productService.quality}`);return}(!u||a(u,d,!1))&&l.set(d.identifier.id,d)}),n?.forEach(d=>{let u=l.get(d.identifier.id);(!u||a(u,d,!0))&&l.set(d.identifier.id,d),l.set(d.identifier.id,d)}),[...l.values()]}async scanDefaultSystemExtensions(e){this.logService.trace("Started scanning system extensions");let t=await this.createExtensionScannerInput(this.systemExtensionsLocation,!1,0,e,!0,void 0,this.getProductVersion()),o=await(t.devMode?this.extensionsScanner:this.systemExtensionsCachedScanner).scanExtensions(t);return this.logService.trace("Scanned system extensions:",o.length),o}async scanDevSystemExtensions(e,t){let n=this.environmentService.isBuilt?[]:this.productService.builtInExtensions;if(!n?.length)return[];this.logService.trace("Started scanning dev system extensions");let o=t?await this.getBuiltInExtensionControl():{},s=[],a=P.file(_t(V(st.asFileUri("").fsPath,"..",".build","builtInExtensions")));for(let c of n){let d=o[c.name]||"marketplace";switch(d){case"disabled":break;case"marketplace":s.push(he(a,c.name));break;default:s.push(P.file(d));break}}let l=await Promise.all(s.map(async c=>this.extensionsScanner.scanExtension(await this.createExtensionScannerInput(c,!1,0,e,!0,void 0,this.getProductVersion()))));return this.logService.trace("Scanned dev system extensions:",l.length),at(l)}async getBuiltInExtensionControl(){try{let e=await this.fileService.readFile(this.extensionsControlLocation);return JSON.parse(e.value.toString())}catch{return{}}}async createExtensionScannerInput(e,t,n,o,s,a,l){let c=await this.getTranslations(o??vn),d=await this.getMtime(e),u=t&&!this.uriIdentityService.extUri.isEqual(e,this.userDataProfilesService.defaultProfile.extensionsResource)?this.userDataProfilesService.defaultProfile.extensionsResource:void 0,f=u?await this.getMtime(u):void 0;return new da(e,d,u,f,t,a,n,s,l.version,l.date,this.productService.commit,!this.environmentService.isBuilt,o,c)}async getMtime(e){try{let t=await this.fileService.stat(e);if(typeof t.mtime=="number")return t.mtime}catch{}}getProductVersion(){return{version:this.productService.version,date:this.productService.date}}};rp=E([g(4,_r),g(5,vs),g(6,Me),g(7,U),g(8,qr),g(9,De),g(10,kt),g(11,Nt)],rp);da=class{constructor(r,e,t,n,o,s,a,l,c,d,u,f,m,y){this.location=r;this.mtime=e;this.applicationExtensionslocation=t;this.applicationExtensionslocationMtime=n;this.profile=o;this.profileScanOptions=s;this.type=a;this.validate=l;this.productVersion=c;this.productDate=d;this.productCommit=u;this.devMode=f;this.language=m;this.translations=y}static createNlsConfiguration(r){return{language:r.language,pseudo:r.language==="pseudo",devMode:r.devMode,translations:r.translations}}static equals(r,e){return cd(r.location,e.location)&&r.mtime===e.mtime&&cd(r.applicationExtensionslocation,e.applicationExtensionslocation)&&r.applicationExtensionslocationMtime===e.applicationExtensionslocationMtime&&r.profile===e.profile&&dn(r.profileScanOptions,e.profileScanOptions)&&r.type===e.type&&r.validate===e.validate&&r.productVersion===e.productVersion&&r.productDate===e.productDate&&r.productCommit===e.productCommit&&r.devMode===e.devMode&&r.language===e.language&&cT.equals(r.translations,e.translations)}},dc=class extends T{constructor(e,t,n,o,s,a){super();this.extensionsProfileScannerService=e;this.uriIdentityService=t;this.fileService=n;this.environmentService=s;this.logService=a;this.extensionsEnabledWithApiProposalVersion=o.extensionsEnabledWithApiProposalVersion?.map(l=>l.toLowerCase())??[],this.productQuality=o.quality,this.productBuiltInExtensionsEnabledWithAutoUpdates=dT(o,s)}async scanExtensions(e){return e.profile?this.scanExtensionsFromProfile(e):this.scanExtensionsFromLocation(e)}async scanExtensionsFromLocation(e){let t=await this.fileService.resolve(e.location);if(!t.children?.length)return[];let n=await Promise.all(t.children.map(async o=>{if(!o.isDirectory||e.type===1&&$r(o.resource).indexOf(".")===0)return null;let s=new da(o.resource,e.mtime,e.applicationExtensionslocation,e.applicationExtensionslocationMtime,e.profile,e.profileScanOptions,e.type,e.validate,e.productVersion,e.productDate,e.productCommit,e.devMode,e.language,e.translations);return this.scanExtension(s)}));return at(n).sort((o,s)=>o.location.path<s.location.path?-1:1)}async scanExtensionsFromProfile(e){let t=await this.scanExtensionsFromProfileResource(e.location,()=>!0,e);if(e.applicationExtensionslocation&&!this.uriIdentityService.extUri.isEqual(e.location,e.applicationExtensionslocation)){t=t.filter(o=>!o.metadata?.isApplicationScoped);let n=await this.scanExtensionsFromProfileResource(e.applicationExtensionslocation,o=>!!o.metadata?.isBuiltin||!!o.metadata?.isApplicationScoped,e);t.push(...n)}return t}async scanExtensionsFromProfileResource(e,t,n){let o=await this.extensionsProfileScannerService.scanProfileExtensions(e,n.profileScanOptions);if(!o.length)return[];let s=await Promise.all(o.map(async a=>{if(t(a)){let l=new da(a.location,n.mtime,n.applicationExtensionslocation,n.applicationExtensionslocationMtime,n.profile,n.profileScanOptions,n.type,n.validate,n.productVersion,n.productDate,n.productCommit,n.devMode,n.language,n.translations);return this.scanExtension(l,a)}return null}));return at(s)}async scanOneOrMultipleExtensions(e){try{if(await this.fileService.exists(he(e.location,"package.json"))){let t=await this.scanExtension(e);return t?[t]:[]}else return await this.scanExtensions(e)}catch(t){return this.logService.error(`Error scanning extensions at ${e.location.path}:`,mr(t)),[]}}async scanExtension(e,t){let n=[],o=!0,s;try{s=await this.scanExtensionManifest(e.location)}catch(m){if(t){n.push([We.Error,mr(m)]),o=!1;let[y,v]=t.identifier.id.split(".");s={name:v,publisher:y,version:t.version,engines:{vscode:""}}}else return e.type!==0&&this.logService.error(m),null}s.publisher||(s.publisher=Hh);let a;t?a={...t.metadata,size:s.__metadata?.size}:s.__metadata&&(a={installedTimestamp:s.__metadata.installedTimestamp,size:s.__metadata.size,targetPlatform:s.__metadata.targetPlatform}),delete s.__metadata;let l=GC(s.publisher,s.name),c=a?.id?{id:l,uuid:a.id}:{id:l},d=a?.isSystem?0:e.type,u=d===0||!!a?.isBuiltin;try{s=await this.translateManifest(e.location,s,da.createNlsConfiguration(e))}catch(m){this.logService.warn("Failed to translate manifest",mr(m))}let f={type:d,identifier:c,manifest:s,location:e.location,isBuiltin:u,targetPlatform:a?.targetPlatform??"undefined",publisherDisplayName:a?.publisherDisplayName,metadata:a,isValid:o,validations:n,preRelease:!!a?.preRelease,forceAutoUpdate:this.productBuiltInExtensionsEnabledWithAutoUpdates.has(l.toLowerCase())&&this.productQuality==="stable"};return e.validate&&(f=this.validate(f,e)),s.enabledApiProposals&&(!this.environmentService.isBuilt||this.extensionsEnabledWithApiProposalVersion.includes(l.toLowerCase()))&&(s.originalEnabledApiProposals=s.enabledApiProposals,s.enabledApiProposals=$C([...s.enabledApiProposals])),f}validate(e,t){let n=e.isValid,o=this.environmentService.isBuilt&&this.extensionsEnabledWithApiProposalVersion.includes(e.identifier.id.toLowerCase()),s=oT(t.productVersion,t.productDate,t.location,e.manifest,e.isBuiltin,o);for(let[a,l]of s)a===We.Error&&(n=!1,this.logService.error(this.formatMessage(t.location,l)));return e.isValid=n,e.validations=[...e.validations,...s],e}async scanExtensionManifest(e){let t=he(e,"package.json"),n;try{n=(await this.fileService.readFile(t)).value.toString()}catch(s){throw jr(s)!==1&&this.logService.error(this.formatMessage(e,h(2112,null,t.path,s.message))),s}let o;try{o=JSON.parse(n)}catch(s){let a=[];Ln(n,a);for(let l of a)this.logService.error(this.formatMessage(e,h(2114,null,t.path,l.offset,l.length,$h(l.error))));throw s}if(es(o)!=="object"){let s=this.formatMessage(e,h(2115,null,t.path));throw this.logService.error(s),new Error(s)}return o}async translateManifest(e,t,n){let o=await this.getLocalizedMessages(e,t,n);if(o)try{let s=[],a=await this.resolveOriginalMessageBundle(o.default,s);if(s.length>0)return s.forEach(c=>{this.logService.error(this.formatMessage(e,h(2116,null,o.default?.path,$h(c.error))))}),t;if(es(o)!=="object")return this.logService.error(this.formatMessage(e,h(2113,null,o.default?.path))),t;let l=o.values||Object.create(null);return aT(this.logService,t,l,a)}catch{}return t}async getLocalizedMessages(e,t,n){let o=he(e,"package.nls.json"),s=(d,u)=>{u.forEach(f=>{this.logService.error(this.formatMessage(e,h(2116,null,d?.path,$h(f.error))))})},a=d=>{this.logService.error(this.formatMessage(e,h(2113,null,d?.path)))},l=`${t.publisher}.${t.name}`,c=n.translations[l];if(c)try{let d=P.file(c),u=(await this.fileService.readFile(d)).value.toString(),f=[],m=Ln(u,f);return f.length>0?(s(d,f),{values:void 0,default:o}):es(m)!=="object"?(a(d),{values:void 0,default:o}):{values:m.contents?m.contents.package:void 0,default:o}}catch{return{values:void 0,default:o}}else{if(!await this.fileService.exists(o))return;let u;try{u=await this.findMessageBundles(e,n)}catch{return}if(!u.localized)return{values:void 0,default:u.original};try{let f=(await this.fileService.readFile(u.localized)).value.toString(),m=[],y=Ln(f,m);return m.length>0?(s(u.localized,m),{values:void 0,default:u.original}):es(y)!=="object"?(a(u.localized),{values:void 0,default:u.original}):{values:y,default:u.original}}catch{return{values:void 0,default:u.original}}}}async resolveOriginalMessageBundle(e,t){if(e)try{let n=(await this.fileService.readFile(e)).value.toString();return Ln(n,t)}catch{}}findMessageBundles(e,t){return new Promise((n,o)=>{let s=a=>{let l=he(e,`package.nls.${a}.json`);this.fileService.exists(l).then(c=>{c&&n({localized:l,original:he(e,"package.nls.json")});let d=a.lastIndexOf("-");d===-1?n({localized:he(e,"package.nls.json"),original:null}):(a=a.substring(0,d),s(a))})};if(t.devMode||t.pseudo||!t.language)return n({localized:he(e,"package.nls.json"),original:null});s(t.language)})}formatMessage(e,t){return`[${e.path}]: ${t}`}};dc=E([g(0,vs),g(1,kt),g(2,Me),g(3,De),g(4,qr),g(5,U)],dc);uc=class extends dc{constructor(e,t,n,o,s,a,l,c){super(n,o,s,a,l,c);this.currentProfile=e;this.userDataProfilesService=t;this.cacheValidatorThrottler=this._register(new Pr(3e3));this._onDidChangeCache=this._register(new b);this.onDidChangeCache=this._onDidChangeCache.event}async scanExtensions(e){let t=this.getCacheFile(e),n=await this.readExtensionCache(t);if(this.input=e,n&&n.input&&da.equals(n.input,this.input))return this.logService.debug("Using cached extensions scan result",e.type===0?"system":"user",e.location.toString()),this.cacheValidatorThrottler.trigger(()=>this.validateCache()),n.result.map(s=>(s.location=P.revive(s.location),s));let o=await super.scanExtensions(e);return await this.writeExtensionCache(t,{input:e,result:o}),o}async readExtensionCache(e){try{let t=await this.fileService.readFile(e),n=JSON.parse(t.value.toString());return{result:n.result,input:Yn(n.input)}}catch(t){jr(t)!==1&&this.logService.debug("Error while reading the extension cache file:",e.path,mr(t))}return null}async writeExtensionCache(e,t){try{await this.fileService.writeFile(e,H.fromString(JSON.stringify(t)))}catch(n){this.logService.debug("Error while writing the extension cache file:",e.path,mr(n))}}async validateCache(){if(!this.input)return;let e=this.getCacheFile(this.input),t=await this.readExtensionCache(e);if(!t)return;let n=t.result,o=JSON.parse(JSON.stringify(await super.scanExtensions(this.input)));if(!dn(o,n))try{this.logService.info("Invalidating Cache",n,o),await this.fileService.del(e),this._onDidChangeCache.fire()}catch(s){this.logService.error(s)}}getCacheFile(e){let t=this.getProfile(e);return this.uriIdentityService.extUri.joinPath(t.cacheHome,e.type===0?VC:BC)}getProfile(e){return e.type===0?this.userDataProfilesService.defaultProfile:e.profile?this.uriIdentityService.extUri.isEqual(e.location,this.currentProfile.extensionsResource)?this.currentProfile:this.userDataProfilesService.profiles.find(t=>this.uriIdentityService.extUri.isEqual(e.location,t.extensionsResource))??this.currentProfile:this.userDataProfilesService.defaultProfile}};uc=E([g(1,_r),g(2,vs),g(3,kt),g(4,Me),g(5,De),g(6,qr),g(7,U)],uc);Kh=class extends rp{constructor(r,e,t,n,o,s,a,l,c,d,u,f){super(r,e,he(t,".vscode-oss-dev","extensions","control.json"),n,o,s,a,l,c,d,u,f),this.translationsPromise=(async()=>{if(Ng)try{let m=await this.fileService.readFile(P.file(Ng));return JSON.parse(m.value.toString())}catch{}return Object.create(null)})()}getTranslations(r){return this.translationsPromise}}});var pc,pT=I(()=>{le();ln();tp();Ew();ze();ee();re();nr();ei();ti();pc=class extends Kh{constructor(r,e,t,n,o,s,a,l){super(P.file(o.builtinExtensionsPath),P.file(o.extensionsPath),o.userHome,r.defaultProfile,r,e,t,n,o,s,a,l)}};pc=E([g(0,_r),g(1,vs),g(2,Me),g(3,U),g(4,Or),g(5,De),g(6,kt),g(7,Nt)],pc)});var fc,fT=I(()=>{$();Et();Ri();Yo();Tr();ge();Vt();fc=class extends T{constructor(e,t,n){super();this.userDataProfilesService=t;this.windowsMainService=n;this._register(e.onWillLoadWindow(o=>{o.reason===2&&this.unsetProfileForWorkspace(o.window)})),this._register(e.onBeforeCloseWindow(o=>this.unsetProfileForWorkspace(o))),this._register(new gr(()=>this.cleanUpEmptyWindowAssociations(),30*1e3)).schedule()}async unsetProfileForWorkspace(e){let t=this.getWorkspace(e),n=this.userDataProfilesService.getProfileForWorkspace(t);n?.isTransient&&(this.userDataProfilesService.unsetWorkspace(t,n.isTransient),n.isTransient&&await this.userDataProfilesService.cleanUpTransientProfiles())}getWorkspace(e){return e.openedWorkspace??Ko(e.backupPath,e.isExtensionDevelopmentHost)}cleanUpEmptyWindowAssociations(){let e=this.userDataProfilesService.getAssociatedEmptyWindows();if(e.length===0)return;let t=this.windowsMainService.getWindows().map(n=>this.getWorkspace(n));for(let n of e)t.some(o=>o.id===n.id)||this.userDataProfilesService.unsetWorkspace(n,!1)}};fc=E([g(0,ye),g(1,Wr),g(2,Ke)],fc)});var zh,mT=I(()=>{z();$();_i();zh=class extends T{constructor(e,t,n){super();this.storageMainService=e;this.userDataProfilesService=t;this.logService=n;let o=this._register(new jt);this._onDidChange=this._register(new b({onWillAddFirstListener:()=>o.value=this.registerStorageChangeListeners(),onDidRemoveLastListener:()=>o.value=void 0}))}registerStorageChangeListeners(){this.logService.debug("ProfileStorageChangesListenerChannel#registerStorageChangeListeners");let e=new J;return e.add(S.debounce(this.storageMainService.applicationStorage.onDidChangeStorage,(t,n)=>(t?t.push(n.key):t=[n.key],t),100)(t=>this.onDidChangeApplicationStorage(t))),e.add(S.debounce(this.storageMainService.onDidChangeProfileStorage,(t,n)=>{t||(t=new Map);let o=t.get(n.profile.id);return o||t.set(n.profile.id,o={profile:n.profile,keys:[],storage:n.storage}),o.keys.push(n.key),t},100)(t=>this.onDidChangeProfileStorage(t))),e}onDidChangeApplicationStorage(e){let t=e.includes(uo)?[this.userDataProfilesService.defaultProfile]:[],n=[];if(e=e.filter(o=>o!==uo),e.length){let o=Zf(this.storageMainService.applicationStorage.storage);n.push({profile:this.userDataProfilesService.defaultProfile,changes:e.map(s=>({key:s,scope:0,target:o[s]}))})}this.triggerEvents(t,n)}onDidChangeProfileStorage(e){let t=[],n=new Map;for(let[o,s]of e.entries()){s.keys.includes(uo)&&t.push(s.profile);let a=s.keys.filter(l=>l!==uo);if(a.length){let l=Zf(s.storage.storage);n.set(o,{profile:s.profile,changes:a.map(c=>({key:c,scope:0,target:l[c]}))})}}this.triggerEvents(t,[...n.values()])}triggerEvents(e,t){(e.length||t.length)&&this._onDidChange.fire({valueChanges:t,targetChanges:e})}listen(e,t,n){if(t==="onDidChange")return this._onDidChange.event;throw new Error(`[ProfileStorageChangesListenerChannel] Event not found: ${t}`)}async call(e,t){throw new Error(`Call not found: ${t}`)}}});async function hT(i,r){let e=i.getItem(om);return(typeof e!="string"||N&&e==="6c9d2bc8f91b89624add29c0abeae7fb42bf539fa1cdb2e3e57cd668fa9bcead")&&(e=await o0(r.error.bind(r))),e}async function gT(i,r){let e=i.getItem(sm);return typeof e!="string"&&(e=await s0(r.error.bind(r))),e}async function Cw(i,r){let e=i.getItem(cu);return typeof e!="string"&&(e=await Lm(r.error.bind(r))),e}var vT=I(()=>{Z();Au();ir()});async function yT(i,r){r.trace("Resolving machine identifier...");let e=await hT(i,r);return i.setItem(om,e),r.trace(`Resolved machine identifier: ${e}`),e}async function IT(i,r){r.trace("Resolving SQM identifier...");let e=await gT(i,r);return i.setItem(sm,e),r.trace(`Resolved SQM identifier: ${e}`),e}async function wT(i,r){r.trace("Resolving devDevice identifier...");let e=await Cw(i,r);return i.setItem(cu,e),r.trace(`Resolved devDevice identifier: ${e}`),e}async function bT(i,r){let e=await Lm(r.error.bind(r)),t=await Cw(i,r);e!==t&&i.setItem(cu,e)}var ST=I(()=>{Au();ir();vT()});var mc,xT=I(()=>{re();ti();ei();tp();ze();ln();le();mc=class extends cc{constructor(r,e,t,n,o){super(P.file(r.extensionsPath),e,t,n,o)}};mc=E([g(0,Or),g(1,Me),g(2,_r),g(3,kt),g(4,U)],mc)});var jh,PT=I(()=>{xr();le();re();jh=class{constructor(r){this.loggerService=r;this.loggers=new mt}listen(r,e,t){switch(e){case"onDidChangeLoggers":return t?this.loggerService.getOnDidChangeLoggersEvent(t):this.loggerService.onDidChangeLoggers;case"onDidChangeLogLevel":return t?this.loggerService.getOnDidChangeLogLevelEvent(t):this.loggerService.onDidChangeLogLevel;case"onDidChangeVisibility":return t?this.loggerService.getOnDidChangeVisibilityEvent(t):this.loggerService.onDidChangeVisibility}throw new Error(`Event not found: ${e}`)}async call(r,e,t){switch(e){case"createLogger":this.createLogger(P.revive(t[0]),t[1],t[2]);return;case"log":return this.log(P.revive(t[0]),t[1]);case"consoleLog":return this.consoleLog(t[0],t[1]);case"setLogLevel":return Zd(t[0])?this.loggerService.setLogLevel(t[0]):this.loggerService.setLogLevel(P.revive(t[0]),t[1]);case"setVisibility":return this.loggerService.setVisibility(P.revive(t[0]),t[1]);case"registerLogger":return this.loggerService.registerLogger({...t[0],resource:P.revive(t[0].resource)},t[1]);case"deregisterLogger":return this.loggerService.deregisterLogger(P.revive(t[0]))}throw new Error(`Call not found: ${e}`)}createLogger(r,e,t){this.loggers.set(r,this.loggerService.createLogger(r,e,t))}consoleLog(r,e){let t=console.log;switch(r){case 5:t=console.error;break;case 4:t=console.warn;break;case 3:t=console.info;break}t.call(console,...e)}log(r,e){let t=this.loggers.get(r);if(!t)throw new Error("Create the logger before logging");for(let[n,o]of e)tu(t,n,o)}}});var Tw,hc,np,ET=I(()=>{$();ee();re();Vt();ns();ir();Pi();z();ge();Et();Tw=L("utilityProcessWorker"),hc=class extends T{constructor(e,t,n,o){super();this.logService=e;this.windowsMainService=t;this.telemetryService=n;this.lifecycleMainService=o;this.workers=new Map}async createWorker(e){let t=`window: ${e.reply.windowId}, moduleId: ${e.process.moduleId}`;this.logService.trace(`[UtilityProcessWorker]: createWorker(${t})`);let n=this.hash(e);this.workers.has(n)&&(this.logService.warn(`[UtilityProcessWorker]: createWorker() found an existing worker that will be terminated (${t})`),this.disposeWorker(e));let o=new np(this.logService,this.windowsMainService,this.telemetryService,this.lifecycleMainService,e);if(!o.spawn())return{reason:{code:1,signal:"EINVALID"}};this.workers.set(n,o);let s=new Gt;return S.once(o.onDidTerminate)(a=>{a.code===0?this.logService.trace(`[UtilityProcessWorker]: terminated normally with code ${a.code}, signal: ${a.signal}`):this.logService.error(`[UtilityProcessWorker]: terminated unexpectedly with code ${a.code}, signal: ${a.signal}`),this.workers.delete(n),s.complete({reason:a})}),s.p}hash(e){return cr({moduleId:e.process.moduleId,windowId:e.reply.windowId})}async disposeWorker(e){let t=this.hash(e),n=this.workers.get(t);n&&(this.logService.trace(`[UtilityProcessWorker]: disposeWorker(window: ${e.reply.windowId}, moduleId: ${e.process.moduleId})`),n.kill(),n.dispose(),this.workers.delete(t))}};hc=E([g(0,U),g(1,Ke),g(2,Je),g(3,ye)],hc);np=class extends T{constructor(e,t,n,o,s){super();this.windowsMainService=t;this.configuration=s;this._onDidTerminate=this._register(new b);this.onDidTerminate=this._onDidTerminate.event;this.utilityProcess=this._register(new rs(e,t,n,o)),this.registerListeners()}registerListeners(){this._register(this.utilityProcess.onExit(e=>this._onDidTerminate.fire({code:e.code,signal:e.signal}))),this._register(this.utilityProcess.onCrash(e=>this._onDidTerminate.fire({code:e.code,signal:"ECRASH"})))}spawn(){let t=this.windowsMainService.getWindowById(this.configuration.reply.windowId)?.win?.webContents.getOSProcessId();return this.utilityProcess.start({type:this.configuration.process.type,name:this.configuration.process.name,entryPoint:this.configuration.process.moduleId,parentLifecycleBound:t,windowLifecycleBound:!0,correlationId:`${this.configuration.reply.windowId}`,responseWindowId:this.configuration.reply.windowId,responseChannel:this.configuration.reply.channel,responseNonce:this.configuration.reply.nonce})}kill(){this.utilityProcess.kill()}};np=E([g(0,U),g(1,Ke),g(2,Je),g(3,ye)],np)});var CT,TT=I(()=>{CT="utilityProcessWorker"});var Dhe,FM,_w,kw,Ahe,gc=I(()=>{ee();Xn();Dhe=L("ptyService"),FM={Backend:"workbench.contributions.terminal.processBackend"},_w=class{constructor(){this._backends=new Map}get backends(){return this._backends}registerTerminalBackend(r){let e=this._sanitizeRemoteAuthority(r.remoteAuthority);if(this._backends.has(e))throw new Error(`A terminal backend with remote authority '${e}' was already registered.`);this._backends.set(e,r)}getTerminalBackend(r){return this._backends.get(this._sanitizeRemoteAuthority(r))}_sanitizeRemoteAuthority(r){return r?.toLowerCase()??""}};xt.add(FM.Backend,new _w);kw=L("localPtyService"),Ahe=L("terminalLogService")});var vc,_T=I(()=>{Dt();Hd();Et();re();wo();gc();ns();Af();Rn();$();z();un();Le();it();qe();vc=class extends T{constructor(e,t,n,o,s){super();this._reconnectConstants=e;this._configurationService=t;this._environmentMainService=n;this._lifecycleMainService=o;this._logService=s;this.utilityProcess=void 0;this._onRequestConnection=this._register(new b);this.onRequestConnection=this._onRequestConnection.event;this._onWillShutdown=this._register(new b);this.onWillShutdown=this._onWillShutdown.event;this._register(this._lifecycleMainService.onWillShutdown(()=>this._onWillShutdown.fire())),tt.on("vscode:createPtyHostMessageChannel",(a,l)=>this._onWindowConnection(a,l)),this._register(j(()=>{tt.removeHandler("vscode:createPtyHostMessageChannel")}))}start(){this.utilityProcess=new sr(this._logService,Wi,this._lifecycleMainService);let e=Mx(this._environmentMainService.args,this._environmentMainService.isBuilt),t=e.port?["--nolazy",`--inspect${e.break?"-brk":""}=${e.port}`]:void 0;this.utilityProcess.start({type:"ptyHost",name:"pty-host",entryPoint:"vs/platform/terminal/node/ptyHostMain",execArgv:t,args:["--logsPath",this._environmentMainService.logsHome.with({scheme:W.file}).fsPath],env:this._createPtyHostConfiguration()});let n=this.utilityProcess.connect(),o=new $o(n,"ptyHost"),s=new J;return s.add(o),s.add(j(()=>{this.utilityProcess?.kill(),this.utilityProcess?.dispose(),this.utilityProcess=void 0})),{client:o,store:s,onDidProcessExit:this.utilityProcess.onExit}}_createPtyHostConfiguration(){this._environmentMainService.unsetSnapExportedVariables();let e={...or(process.env),VSCODE_ESM_ENTRYPOINT:"vs/platform/terminal/node/ptyHostMain",VSCODE_PIPE_LOGGING:"true",VSCODE_VERBOSE_LOGGING:"true",VSCODE_RECONNECT_GRACE_TIME:String(this._reconnectConstants.graceTime),VSCODE_RECONNECT_SHORT_GRACE_TIME:String(this._reconnectConstants.shortGraceTime),VSCODE_RECONNECT_SCROLLBACK:String(this._reconnectConstants.scrollback)},t=this._configurationService.getValue("terminal.integrated.developer.ptyHost.latency");t&&Kn(t)&&(e.VSCODE_LATENCY=String(t));let n=this._configurationService.getValue("terminal.integrated.developer.ptyHost.startupDelay");return n&&Kn(n)&&(e.VSCODE_STARTUP_DELAY=String(n)),this._environmentMainService.restoreSnapExportedVariables(),e}_onWindowConnection(e,t){this._onRequestConnection.fire();let n=this.utilityProcess.connect();if(e.sender.isDestroyed()){n.close();return}e.sender.postMessage("vscode:createPtyHostMessageChannelResult",t,[n])}};vc=E([g(1,fe),g(2,Te),g(3,ye),g(4,U)],vc)});var yc,Rw=I(()=>{le();z();re();$();yc=class extends T{constructor(r,e){super(),e.call("setLogLevel",[r.getLogLevel()]),this._register(r.onDidChangeLogLevel(t=>e.call("setLogLevel",[t]))),e.call("getRegisteredLoggers").then(t=>{for(let n of t)r.registerLogger({...n,resource:P.revive(n.resource)})}),this._register(e.listen("onDidChangeVisibility")(([t,n])=>r.setVisibility(P.revive(t),n))),this._register(e.listen("onDidChangeLoggers")(({added:t,removed:n})=>{for(let o of t)r.registerLogger({...o,resource:P.revive(o.resource)});for(let o of n)r.deregisterLogger(o.resource)}))}}});var Ic,kT=I(()=>{ge();It();z();$();re();Ic=class extends T{constructor(e,t){super();this._logService=t;this._lastRequestId=0;this._pendingRequests=new Map;this._pendingRequestDisposables=new Map;this._onCreateRequest=this._register(new b);this.onCreateRequest=this._onCreateRequest.event;this._timeout=e===void 0?15e3:e,this._register(j(()=>{for(let n of this._pendingRequestDisposables.values())ut(n)}))}createRequest(e){return new Promise((t,n)=>{let o=++this._lastRequestId;this._pendingRequests.set(o,t),this._onCreateRequest.fire({requestId:o,...e});let s=new $e;lt(this._timeout,s.token).then(()=>n(`Request ${o} timed out (${this._timeout}ms)`)),this._pendingRequestDisposables.set(o,[j(()=>s.cancel())])})}acceptReply(e,t){let n=this._pendingRequests.get(e);n?(this._pendingRequests.delete(e),ut(this._pendingRequestDisposables.get(e)||[]),this._pendingRequestDisposables.delete(e),n(t)):this._logService.warn(`RequestStore#acceptReply was called without receiving a matching request ${e}`)}};Ic=E([g(1,U)],Ic)});function RT(i,r){let e=[{name:null,description:h(2437,null)}];return e.push(...i.map(t=>({name:t.profileName,description:WM(t)}))),r&&e.push(...r.map(t=>({name:t.title,description:UM(t)}))),{values:e.map(t=>t.name),markdownDescriptions:e.map(t=>t.description)}}function WM(i){let r=`$(${nc.isThemeIcon(i.icon)?i.icon.id:i.icon?i.icon:pt.terminal.id}) ${i.profileName}
- path: ${i.path}`;return i.args&&(Oe(i.args)?r+=`
- args: "${i.args}"`:r+=`
- args: [${i.args.length===0?"":`'${i.args.join("','")}'`}]`),i.overrideName!==void 0&&(r+=`
- overrideName: ${i.overrideName}`),i.color&&(r+=`
- color: ${i.color}`),i.env&&(r+=`
- env: ${JSON.stringify(i.env)}`),r}function UM(i){return`$(${nc.isThemeIcon(i.icon)?i.icon.id:i.icon?i.icon:pt.terminal.id}) ${i.title}
- extensionIdentifier: ${i.extensionIdentifier}`}var DT=I(()=>{Xu();le();Ee();uw();Le()});function Lw(i){let r=i===2?"linux":i===1?"osx":"windows";return h(2416,null,Tp(i),'```json\n"terminal.integrated.profile.'+r+'": {\n  "bash": null\n}\n```',"[","](https://code.visualstudio.com/docs/terminal/profiles)")}function AT(){xt.as(lr.Configuration).registerConfiguration(VM),HM()}function HM(i,r){let e=xt.as(lr.Configuration),t;i&&(t=RT(i?.profiles,r));let n=Mw;Mw={id:"terminal",order:100,title:h(2420,null),type:"object",properties:{"terminal.integrated.defaultProfile.linux":{restricted:!0,markdownDescription:h(2411,null),type:["string","null"],default:null,enum:i?.os===3?t?.values:void 0,markdownEnumDescriptions:i?.os===3?t?.markdownDescriptions:void 0},"terminal.integrated.defaultProfile.osx":{restricted:!0,markdownDescription:h(2412,null),type:["string","null"],default:null,enum:i?.os===2?t?.values:void 0,markdownEnumDescriptions:i?.os===2?t?.markdownDescriptions:void 0},"terminal.integrated.defaultProfile.windows":{restricted:!0,markdownDescription:h(2413,null),type:["string","null"],default:null,enum:i?.os===1?t?.values:void 0,markdownEnumDescriptions:i?.os===1?t?.markdownDescriptions:void 0}}},e.updateConfigurations({add:[Mw],remove:n?[n]:[]})}var NM,BM,wc,Dw,Aw,VM,Mw,LT=I(()=>{Xu();Z();Ee();eo();Xn();gc();DT();NM={type:["string","null"],enum:["terminal.ansiBlack","terminal.ansiRed","terminal.ansiGreen","terminal.ansiYellow","terminal.ansiBlue","terminal.ansiMagenta","terminal.ansiCyan","terminal.ansiWhite"],default:null},BM={type:"string",enum:Array.from(dw(),i=>i.id),markdownEnumDescriptions:Array.from(dw(),i=>`$(${i.id})`)},wc={args:{description:h(2421,null),type:"array",items:{type:"string"}},icon:{description:h(2424,null),...BM},color:{description:h(2422,null),...NM},env:{markdownDescription:h(2423,null),type:"object",additionalProperties:{type:["string","null"]},default:{}}},Dw={type:"object",required:["path"],properties:{path:{description:h(2432,null),type:["string","array"],items:{type:"string"}},overrideName:{description:h(2431,null),type:"boolean"},...wc}},Aw={type:"object",required:["path"],properties:{path:{description:h(2419,null),type:["string"],items:{type:"string"}},...wc}};VM={id:"terminal",order:100,title:h(2420,null),type:"object",properties:{"terminal.integrated.automationProfile.linux":{restricted:!0,markdownDescription:h(2407,null),type:["object","null"],default:null,anyOf:[{type:"null"},Aw],defaultSnippets:[{body:{path:"${1}",icon:"${2}"}}]},"terminal.integrated.automationProfile.osx":{restricted:!0,markdownDescription:h(2408,null),type:["object","null"],default:null,anyOf:[{type:"null"},Aw],defaultSnippets:[{body:{path:"${1}",icon:"${2}"}}]},"terminal.integrated.automationProfile.windows":{restricted:!0,markdownDescription:h(2409,null,"`terminal.integrated.automationShell.windows`"),type:["object","null"],default:null,anyOf:[{type:"null"},Aw],defaultSnippets:[{body:{path:"${1}",icon:"${2}"}}]},"terminal.integrated.profiles.windows":{restricted:!0,markdownDescription:Lw(3),type:"object",default:{PowerShell:{source:"PowerShell",icon:pt.terminalPowershell.id},"Command Prompt":{path:["${env:windir}\\Sysnative\\cmd.exe","${env:windir}\\System32\\cmd.exe"],args:[],icon:pt.terminalCmd.id},"Git Bash":{source:"Git Bash",icon:pt.terminalGitBash.id}},additionalProperties:{anyOf:[{type:"object",required:["source"],properties:{source:{description:h(2436,null),enum:["PowerShell","Git Bash"]},...wc}},{type:"object",required:["extensionIdentifier","id","title"],properties:{extensionIdentifier:{description:h(2434,null),type:"string"},id:{description:h(2433,null),type:"string"},title:{description:h(2435,null),type:"string"},...wc}},{type:"null"},Dw]}},"terminal.integrated.profiles.osx":{restricted:!0,markdownDescription:Lw(1),type:"object",default:{bash:{path:"bash",args:["-l"],icon:pt.terminalBash.id},zsh:{path:"zsh",args:["-l"]},fish:{path:"fish",args:["-l"]},tmux:{path:"tmux",icon:pt.terminalTmux.id},pwsh:{path:"pwsh",icon:pt.terminalPowershell.id}},additionalProperties:{anyOf:[{type:"object",required:["extensionIdentifier","id","title"],properties:{extensionIdentifier:{description:h(2429,null),type:"string"},id:{description:h(2428,null),type:"string"},title:{description:h(2430,null),type:"string"},...wc}},{type:"null"},Dw]}},"terminal.integrated.profiles.linux":{restricted:!0,markdownDescription:Lw(2),type:"object",default:{bash:{path:"bash",icon:pt.terminalBash.id},zsh:{path:"zsh"},fish:{path:"fish"},tmux:{path:"tmux",icon:pt.terminalTmux.id},pwsh:{path:"pwsh",icon:pt.terminalPowershell.id}},additionalProperties:{anyOf:[{type:"object",required:["extensionIdentifier","id","title"],properties:{extensionIdentifier:{description:h(2426,null),type:"string"},id:{description:h(2425,null),type:"string"},title:{description:h(2427,null),type:"string"},...wc}},{type:"null"},Dw]}},"terminal.integrated.useWslProfiles":{description:h(2418,null),type:"boolean",default:!0},"terminal.integrated.inheritEnv":{scope:1,description:h(2414,null),type:"boolean",default:!0},"terminal.integrated.persistentSessionScrollback":{scope:1,markdownDescription:h(2415,null),type:"number",default:100},"terminal.integrated.showLinkHover":{scope:1,description:h(2417,null),type:"boolean",default:!0},"terminal.integrated.ignoreProcessNames":{markdownDescription:h(2410,null,"`#terminal.integrated.confirmOnKill#`"),type:"array",items:{type:"string",uniqueItems:!0},default:["starship","oh-my-posh","bash","zsh"]}}}});import*as FT from"fs";import*as WT from"child_process";function UT(i,r,e,t,n=process.env,o,s,a,l){return o=o||{existsFile:tr.existsFile,readFile:FT.promises.readFile},F?$M(e,o,n,s,t.getValue("terminal.integrated.useWslProfiles")!==!1,i&&je(i)?{...i}:t.getValue("terminal.integrated.profiles.windows"),Oe(r)?r:t.getValue("terminal.integrated.defaultProfile.windows"),l,a):QM(o,s,e,i&&je(i)?{...i}:t.getValue(ne?"terminal.integrated.profiles.linux":"terminal.integrated.profiles.osx"),Oe(r)?r:t.getValue(ne?"terminal.integrated.defaultProfile.linux":"terminal.integrated.defaultProfile.osx"),l,a,n)}async function $M(i,r,e,t,n,o,s,a,l){let c=process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432"),d=`${process.env.windir}\\${c?"Sysnative":"System32"}`,u=await _f()>=19041;await KM(a);let f=new Map;if(i){f.set("PowerShell",{source:"PowerShell",icon:pt.terminalPowershell,isAutoDetected:!0}),f.set("Windows PowerShell",{path:`${d}\\WindowsPowerShell\\v1.0\\powershell.exe`,icon:pt.terminalPowershell,isAutoDetected:!0}),f.set("Git Bash",{source:"Git Bash",icon:pt.terminalGitBash,isAutoDetected:!0}),f.set("Command Prompt",{path:`${d}\\cmd.exe`,icon:pt.terminalCmd,isAutoDetected:!0}),f.set("Cygwin",{path:[{path:`${process.env.HOMEDRIVE}\\cygwin64\\bin\\bash.exe`,isUnsafe:!0},{path:`${process.env.HOMEDRIVE}\\cygwin\\bin\\bash.exe`,isUnsafe:!0}],args:["--login"],isAutoDetected:!0}),f.set("bash (MSYS2)",{path:[{path:`${process.env.HOMEDRIVE}\\msys64\\usr\\bin\\bash.exe`,isUnsafe:!0}],args:["--login","-i"],env:{CHERE_INVOKING:"1"},icon:pt.terminalBash,isAutoDetected:!0});let y=`${process.env.CMDER_ROOT||`${process.env.HOMEDRIVE}\\cmder`}\\vendor\\bin\\vscode_init.cmd`;f.set("Cmder",{path:`${d}\\cmd.exe`,args:["/K",y],requiresPath:process.env.CMDER_ROOT?y:{path:y,isUnsafe:!0},isAutoDetected:!0})}BT(o,f);let m=await NT(f.entries(),s,r,e,t,l);if(i&&n&&u)try{let y=await GM(`${d}\\wsl.exe`,s);for(let v of y)(!o||!Object.prototype.hasOwnProperty.call(o,v.profileName))&&m.push(v)}catch{MT&&(t?.trace("WSL is not installed, so could not detect WSL profiles"),MT=!1)}return m}async function NT(i,r,e,t=process.env,n,o){let s=[];for(let[a,l]of i)s.push(qM(a,l,r,e,t,n,o));return(await Promise.all(s)).filter(a=>!!a)}async function qM(i,r,e,t,n=process.env,o,s){if(r===null)return;let a,l,c;if(nn(r,{source:!0})){let m=ip?.get(r.source);if(!m)return;a=m.paths,l=r.args||m.args,r.icon?c=OT(r.icon):m.icon&&(c=m.icon)}else a=Array.isArray(r.path)?r.path:[r.path],l=F||Array.isArray(r.args)?r.args:void 0,c=OT(r.icon);let d;if(s){let m=a.map(v=>Oe(v)?v:v.path),y=await s(m);d=new Array(a.length);for(let v=0;v<a.length;v++)Oe(a[v])?d[v]=y[v]:d[v]={path:y[v],isUnsafe:!0}}else d=a.slice();let u;if(r.requiresPath){let m;if(Oe(r.requiresPath)?m=r.requiresPath:(m=r.requiresPath.path,r.requiresPath.isUnsafe&&(u=m)),!await t.existsFile(m))return}let f=await Jh(i,e,d,t,n,l,r.env,r.overrideName,r.isAutoDetected,u);if(!f){o?.debug("Terminal profile not validated",i,a);return}return f.isAutoDetected=r.isAutoDetected,f.icon=c,f.color=r.color,f}function OT(i){return Oe(i)?{id:i}:i}async function KM(i){if(ip&&!i)return;let[r,e]=await Promise.all([zM(),i||jM()]);ip=new Map,ip.set("Git Bash",{profileName:"Git Bash",paths:r,args:["--login","-i"]}),ip.set("PowerShell",{profileName:"PowerShell",paths:e,icon:pt.terminalPowershell})}async function zM(){let i=new Set,r=await Ys("git.exe");if(r){let n=Ae(r);i.add(Vr(n,"../.."))}function e(n,o){o&&n.add(o)}e(i,process.env.ProgramW6432),e(i,process.env.ProgramFiles),e(i,process.env["ProgramFiles(X86)"]),e(i,`${process.env.LocalAppData}\\Program`);let t=[];for(let n of i)t.push(`${n}\\Git\\bin\\bash.exe`,`${n}\\Git\\usr\\bin\\bash.exe`,`${n}\\usr\\bin\\bash.exe`);return t.push(`${process.env.UserProfile}\\scoop\\apps\\git\\current\\bin\\bash.exe`),t.push(`${process.env.UserProfile}\\scoop\\apps\\git-with-openssh\\current\\bin\\bash.exe`),t}async function jM(){let i=[];for await(let r of vI())i.push(r.exePath);return i}async function GM(i,r){let e=[],t=await new Promise((o,s)=>{WT.exec("wsl.exe -l -q",{encoding:"utf16le",env:{...process.env,WSL_UTF8:"0"},timeout:1e3},(a,l)=>{if(a)return s("Problem occurred when getting wsl distros");o(l)})});if(!t)return[];let n=t.split(/\r?\n/).filter(o=>o.trim().length>0);for(let o of n){if(o===""||o.startsWith("docker-desktop"))continue;let s=`${o} (WSL)`,a={profileName:s,path:i,args:["-d",`${o}`],isDefault:s===r,icon:JM(o),isAutoDetected:!1};e.push(a)}return e}function JM(i){return i.includes("Ubuntu")?pt.terminalUbuntu:i.includes("Debian")?pt.terminalDebian:pt.terminalLinux}async function QM(i,r,e,t,n,o,s,a){let l=new Map;if(e&&await i.existsFile("/etc/shells")){let c=(await i.readFile("/etc/shells")).toString(),d=(o||c.split(`
`)).map(f=>{let m=f.indexOf("#");return m===-1?f:f.substring(0,m)}).filter(f=>f.trim().length>0),u=new Map;for(let f of d){let m=Se(f),y=u.get(m)||0;y++,y>1&&(m=`${m} (${y})`),u.set(m,y),l.set(m,{path:f,isAutoDetected:!0})}}return BT(t,l),await NT(l.entries(),n,i,a,r,s)}function BT(i,r){if(i)for(let[e,t]of Object.entries(i))t===null||!je(t)||!nn(t,{path:!0})&&!nn(t,{source:!0})?r.delete(e):(t.icon=t.icon||r.get(e)?.icon,r.set(e,t))}async function Jh(i,r,e,t,n,o,s,a,l,c){if(e.length===0)return Promise.resolve(void 0);let d=e.shift();if(d==="")return Jh(i,r,e,t,n,o,s,a,l);let u=!Oe(d)&&d.isUnsafe,f=Oe(d)?d:d.path,m={profileName:i,path:f,args:o,env:s,overrideName:a,isAutoDetected:l,isDefault:i===r,isUnsafePath:u,requiresUnsafePath:c};if(Se(f)===f){let v=n.PATH?n.PATH.split(Mp):void 0,C=await Ys(f,void 0,v,void 0,t.existsFile);return C?(m.path=C,m.isFromPath=!0,m):Jh(i,r,e,t,n,o)}return await t.existsFile(_t(f))?m:Jh(i,r,e,t,n,o,s,a,l)}var ip,MT,VT=I(()=>{Xu();Ce();Z();Zs();Le();rr();yI();gc();Xa();MT=!0});var bc,HT=I(()=>{z();$();Z();xi();it();re();Rw();Vm();kT();gc();LT();VT();SI();Cs();bc=class extends T{constructor(e,t,n,o){super();this._ptyHostStarter=e;this._configurationService=t;this._logService=n;this._loggerService=o;this._wasQuitRequested=!1;this._restartCount=0;this._isResponsive=!0;this._onPtyHostExit=this._register(new b);this.onPtyHostExit=this._onPtyHostExit.event;this._onPtyHostStart=this._register(new b);this.onPtyHostStart=this._onPtyHostStart.event;this._onPtyHostUnresponsive=this._register(new b);this.onPtyHostUnresponsive=this._onPtyHostUnresponsive.event;this._onPtyHostResponsive=this._register(new b);this.onPtyHostResponsive=this._onPtyHostResponsive.event;this._onPtyHostRequestResolveVariables=this._register(new b);this.onPtyHostRequestResolveVariables=this._onPtyHostRequestResolveVariables.event;this._onProcessData=this._register(new b);this.onProcessData=this._onProcessData.event;this._onProcessReady=this._register(new b);this.onProcessReady=this._onProcessReady.event;this._onProcessReplay=this._register(new b);this.onProcessReplay=this._onProcessReplay.event;this._onProcessOrphanQuestion=this._register(new b);this.onProcessOrphanQuestion=this._onProcessOrphanQuestion.event;this._onDidRequestDetach=this._register(new b);this.onDidRequestDetach=this._onDidRequestDetach.event;this._onDidChangeProperty=this._register(new b);this.onDidChangeProperty=this._onDidChangeProperty.event;this._onProcessExit=this._register(new b);this.onProcessExit=this._onProcessExit.event;AT(),this._register(this._ptyHostStarter),this._register(j(()=>this._disposePtyHost())),this._resolveVariablesRequestStore=this._register(new Ic(void 0,this._logService)),this._register(this._resolveVariablesRequestStore.onCreateRequest(this._onPtyHostRequestResolveVariables.fire,this._onPtyHostRequestResolveVariables)),this._ptyHostStarter.onRequestConnection&&this._register(S.once(this._ptyHostStarter.onRequestConnection)(()=>this._ensurePtyHost())),this._ptyHostStarter.onWillShutdown&&this._register(this._ptyHostStarter.onWillShutdown(()=>this._wasQuitRequested=!0))}get _connection(){return this._ensurePtyHost(),this.__connection}get _proxy(){return this._ensurePtyHost(),this.__proxy}get _optionalProxy(){return this.__proxy}_ensurePtyHost(){this.__connection||this._startPtyHost()}get _ignoreProcessNames(){return this._configurationService.getValue("terminal.integrated.ignoreProcessNames")}async _refreshIgnoreProcessNames(){return this._optionalProxy?.refreshIgnoreProcessNames?.(this._ignoreProcessNames)}async _resolveShellEnv(){if(F)return process.env;try{return await Ol(this._configurationService,this._logService,{_:[]},process.env)}catch(e){return this._logService.error("ptyHost was unable to resolve shell environment",e),{}}}_startPtyHost(){let e=this._ptyHostStarter.start(),t=e.client;this._logService.getLevel()===1&&this._logService.trace("PtyHostService#_startPtyHost",new Error().stack?.replace(/^Error/,"")),et.toService(t.getChannel("heartbeat")).onBeat(()=>this._handleHeartbeat()),this._handleHeartbeat(!0),this._register(e.onDidProcessExit(s=>{this._onPtyHostExit.fire(s.code),!this._wasQuitRequested&&!this._store.isDisposed&&(this._restartCount<=5?(this._logService.error(`ptyHost terminated unexpectedly with code ${s.code}`),this._restartCount++,this.restartPtyHost()):this._logService.error(`ptyHost terminated unexpectedly with code ${s.code}, giving up`))}));let o=et.toService(t.getChannel("ptyHost"));return this._register(o.onProcessData(s=>this._onProcessData.fire(s))),this._register(o.onProcessReady(s=>this._onProcessReady.fire(s))),this._register(o.onProcessExit(s=>this._onProcessExit.fire(s))),this._register(o.onDidChangeProperty(s=>this._onDidChangeProperty.fire(s))),this._register(o.onProcessReplay(s=>this._onProcessReplay.fire(s))),this._register(o.onProcessOrphanQuestion(s=>this._onProcessOrphanQuestion.fire(s))),this._register(o.onDidRequestDetach(s=>this._onDidRequestDetach.fire(s))),this._register(new yc(this._loggerService,t.getChannel("logger"))),this.__connection=e,this.__proxy=o,this._onPtyHostStart.fire(),this._register(this._configurationService.onDidChangeConfiguration(async s=>{s.affectsConfiguration("terminal.integrated.ignoreProcessNames")&&await this._refreshIgnoreProcessNames()})),this._refreshIgnoreProcessNames(),[e,o]}async createProcess(e,t,n,o,s,a,l,c,d,u,f){let m=setTimeout(()=>this._handleUnresponsiveCreateProcess(),5e3),y=await this._proxy.createProcess(e,t,n,o,s,a,l,c,d,u,f);return clearTimeout(m),y}updateTitle(e,t,n){return this._proxy.updateTitle(e,t,n)}updateIcon(e,t,n,o){return this._proxy.updateIcon(e,t,n,o)}attachToProcess(e){return this._proxy.attachToProcess(e)}detachFromProcess(e,t){return this._proxy.detachFromProcess(e,t)}shutdownAll(){return this._proxy.shutdownAll()}listProcesses(){return this._proxy.listProcesses()}async getPerformanceMarks(){return this._optionalProxy?.getPerformanceMarks()??[]}async reduceConnectionGraceTime(){return this._optionalProxy?.reduceConnectionGraceTime()}start(e){return this._proxy.start(e)}shutdown(e,t){return this._proxy.shutdown(e,t)}input(e,t){return this._proxy.input(e,t)}sendSignal(e,t){return this._proxy.sendSignal(e,t)}processBinary(e,t){return this._proxy.processBinary(e,t)}resize(e,t,n,o,s){return this._proxy.resize(e,t,n,o,s)}clearBuffer(e){return this._proxy.clearBuffer(e)}acknowledgeDataEvent(e,t){return this._proxy.acknowledgeDataEvent(e,t)}setUnicodeVersion(e,t){return this._proxy.setUnicodeVersion(e,t)}setNextCommandId(e,t,n){return this._proxy.setNextCommandId(e,t,n)}getInitialCwd(e){return this._proxy.getInitialCwd(e)}getCwd(e){return this._proxy.getCwd(e)}async getLatency(){let e=new on,t=await this._proxy.getLatency();return e.stop(),[{label:"ptyhostservice<->ptyhost",latency:e.elapsed()},...t]}orphanQuestionReply(e){return this._proxy.orphanQuestionReply(e)}installAutoReply(e,t){return this._proxy.installAutoReply(e,t)}uninstallAllAutoReplies(){return this._proxy.uninstallAllAutoReplies()}getDefaultSystemShell(e){return this._optionalProxy?.getDefaultSystemShell(e)??Bm(e??Ot,process.env)}async getProfiles(e,t,n,o=!1){let s=await this._resolveShellEnv();return UT(t,n,o,this._configurationService,s,void 0,this._logService,this._resolveVariables.bind(this,e))}async getEnvironment(){return this.__proxy?this._proxy.getEnvironment():{...process.env}}getWslPath(e,t){return this._proxy.getWslPath(e,t)}getRevivedPtyNewId(e,t){return this._proxy.getRevivedPtyNewId(e,t)}setTerminalLayoutInfo(e){return this._proxy.setTerminalLayoutInfo(e)}async getTerminalLayoutInfo(e){return this._optionalProxy?.getTerminalLayoutInfo(e)}async requestDetachInstance(e,t){return this._proxy.requestDetachInstance(e,t)}async acceptDetachInstanceReply(e,t){return this._proxy.acceptDetachInstanceReply(e,t)}async freePortKillProcess(e){if(!this._proxy.freePortKillProcess)throw new Error("freePortKillProcess does not exist on the pty proxy");return this._proxy.freePortKillProcess(e)}async serializeTerminalState(e){return this._proxy.serializeTerminalState(e)}async reviveTerminalProcesses(e,t,n){return this._proxy.reviveTerminalProcesses(e,t,n)}async refreshProperty(e,t){return this._proxy.refreshProperty(e,t)}async updateProperty(e,t,n){return this._proxy.updateProperty(e,t,n)}async restartPtyHost(){this._disposePtyHost(),this._isResponsive=!0,this._startPtyHost()}_disposePtyHost(){this._proxy.shutdownAll(),this._connection.store.dispose()}_handleHeartbeat(e){this._clearHeartbeatTimeouts(),this._heartbeatFirstTimeout=setTimeout(()=>this._handleHeartbeatFirstTimeout(),e?2e4:5e3*1.2),this._isResponsive||(this._isResponsive=!0,this._onPtyHostResponsive.fire())}_handleHeartbeatFirstTimeout(){this._logService.warn(`No ptyHost heartbeat after ${5e3*1.2/1e3} seconds`),this._heartbeatFirstTimeout=void 0,this._heartbeatSecondTimeout=setTimeout(()=>this._handleHeartbeatSecondTimeout(),5e3*1)}_handleHeartbeatSecondTimeout(){this._logService.error(`No ptyHost heartbeat after ${(5e3*1.2+5e3*1.2)/1e3} seconds`),this._heartbeatSecondTimeout=void 0,this._isResponsive&&(this._isResponsive=!1,this._onPtyHostUnresponsive.fire())}_handleUnresponsiveCreateProcess(){this._clearHeartbeatTimeouts(),this._logService.error(`No ptyHost response to createProcess after ${5e3/1e3} seconds`),this._isResponsive&&(this._isResponsive=!1,this._onPtyHostUnresponsive.fire())}_clearHeartbeatTimeouts(){this._heartbeatFirstTimeout&&(clearTimeout(this._heartbeatFirstTimeout),this._heartbeatFirstTimeout=void 0),this._heartbeatSecondTimeout&&(clearTimeout(this._heartbeatSecondTimeout),this._heartbeatSecondTimeout=void 0)}_resolveVariables(e,t){return this._resolveVariablesRequestStore.createRequest({workspaceId:e,originalText:t})}async acceptPtyHostResolvedVariables(e,t){this._resolveVariablesRequestStore.acceptReply(e,t)}};bc=E([g(1,fe),g(2,U),g(3,cn)],bc)});var ys,$T=I(()=>{$();z();un();Rn();Af();Dt();Hd();Et();re();qe();wo();ns();ys=class extends T{constructor(e,t,n){super();this._environmentMainService=e;this._lifecycleMainService=t;this._logService=n;this.utilityProcess=void 0;this._onRequestConnection=this._register(new b);this.onRequestConnection=this._onRequestConnection.event;this._onWillShutdown=this._register(new b);this.onWillShutdown=this._onWillShutdown.event;this._register(this._lifecycleMainService.onWillShutdown(()=>this._onWillShutdown.fire()));let o=(s,a)=>this._onWindowConnection(s,a);tt.on("vscode:createAgentHostMessageChannel",o),this._register(j(()=>{tt.removeListener("vscode:createAgentHostMessageChannel",o)}))}start(){this.utilityProcess=new sr(this._logService,Wi,this._lifecycleMainService);let e=Ox(this._environmentMainService.args,this._environmentMainService.isBuilt),t=e.port?["--nolazy",`--inspect${e.break?"-brk":""}=${e.port}`]:void 0;this.utilityProcess.start({type:"agentHost",name:"agent-host",entryPoint:"vs/platform/agentHost/node/agentHostMain",execArgv:t,args:["--logsPath",this._environmentMainService.logsHome.with({scheme:W.file}).fsPath],env:{...or(process.env),VSCODE_ESM_ENTRYPOINT:"vs/platform/agentHost/node/agentHostMain",VSCODE_PIPE_LOGGING:"true",VSCODE_VERBOSE_LOGGING:"true"}});let n=this.utilityProcess.connect(),o=new $o(n,"agentHost"),s=new J;return s.add(o),s.add(this.utilityProcess.onStderr(a=>{this._isExpectedStderr(a)||this._logService.error(`[AgentHost:stderr] ${a}`)})),s.add(j(()=>{this.utilityProcess?.kill(),this.utilityProcess?.dispose(),this.utilityProcess=void 0})),{client:o,store:s,onDidProcessExit:this.utilityProcess.onExit}}_onWindowConnection(e,t){if(this._onRequestConnection.fire(),!this.utilityProcess){this._logService.error("AgentHostStarter: cannot create window connection, agent host process is not running");return}let n=this.utilityProcess.connect();if(e.sender.isDestroyed()){n.close();return}e.sender.postMessage("vscode:createAgentHostMessageChannelResult",t,[n])}static{this._expectedStderrPatterns=["Most NODE_OPTIONs are not supported in packaged apps","Debugger listening on ws://","For help, see: https://nodejs.org/en/docs/inspector","ExperimentalWarning: SQLite is an experimental feature"]}_isExpectedStderr(e){return ys._expectedStderrPatterns.some(t=>e.includes(t))}};ys=E([g(0,Te),g(1,ye),g(2,U)],ys)});var qT,YM,Zve,eye,Ow=I(()=>{le();ee();qT="chat.agentHost.enabled";(t=>{function i(n,o){return P.from({scheme:n,path:`/${o}`})}t.uri=i;function r(n){return(typeof n=="string"?P.parse(n):n).path.substring(1)}t.id=r;function e(n){return(typeof n=="string"?P.parse(n):n).scheme||void 0}t.provider=e})(YM||={});Zve=L("agentService"),eye=L("agentHostService")});var Sc,KT=I(()=>{z();$();re();Rw();Ow();Sc=class extends T{constructor(e,t,n){super();this._starter=e;this._logService=t;this._loggerService=n;this._started=!1;this._wasQuitRequested=!1;this._restartCount=0;this._register(this._starter),this._starter.onRequestConnection&&this._register(S.once(this._starter.onRequestConnection)(()=>this._ensureStarted())),this._starter.onWillShutdown&&this._register(this._starter.onWillShutdown(()=>this._wasQuitRequested=!0))}_ensureStarted(){this._started||this._start()}_start(){let e=this._starter.start();this._logService.info("AgentHostProcessManager: agent host started"),this._register(new yc(this._loggerService,e.client.getChannel("agentHostLogger"))),this._register(e.onDidProcessExit(t=>{!this._wasQuitRequested&&!this._store.isDisposed&&(this._restartCount<=5?(this._logService.error(`AgentHostProcessManager: agent host terminated unexpectedly with code ${t.code}`),this._restartCount++,this._started=!1,e.store.dispose(),this._start()):this._logService.error(`AgentHostProcessManager: agent host terminated with code ${t.code}, giving up after 5 restarts`))})),this._register(j(()=>e.store.dispose())),this._started=!0}};Sc=E([g(1,U),g(2,cn)],Sc)});var Fw,zT,Qh,jT=I(()=>{Fw="request",zT="remoteResourceHandler",Qh=class{async routeCall(r,e,t){if(e!==Fw)throw new Error(`Call not found: ${e}`);let n=Array.isArray(t)?t[0]:void 0;if(n?.authority){let o=r.connections.find(s=>s.ctx===n.authority);if(o)return o}throw new Error("Caller not found")}routeEvent(r,e){throw new Error(`Event not found: ${e}`)}}});import{BrowserWindow as ZM}from"electron";var xc,GT=I(()=>{Z();it();Dt();Et();re();bn();jo();Ri();mw();xc=class extends Yu{constructor(e,t,n,o,s,a){super(o,s,t,n);this.webContents=e;this.lifecycleMainService=a;this.parentId=-1;this.stateApplied=!1;this.id=this.webContents.id,this.tryClaimWindow()}get win(){return super.win||this.tryClaimWindow(),super.win}tryClaimWindow(e){this._store.isDisposed||this.webContents.isDestroyed()||(this.doTryClaimWindow(e),e&&!this.stateApplied&&(this.stateApplied=!0,this.applyState({x:e.x,y:e.y,width:e.width,height:e.height,mode:e.show===!1?0:1})))}doTryClaimWindow(e){if(this._win)return;let t=ZM.fromWebContents(this.webContents);t&&(this.logService.trace("[aux window] Claimed browser window instance"),this.setWin(t,e),t.setMenu(null),(F||ne)&&zo(this.configurationService,e?.titleBarStyle==="hidden"?"custom":void 0)&&t.setAutoHideMenuBar(!0),this.lifecycleMainService.registerAuxWindow(this))}matches(e){return this.webContents.id===e.id}};xc=E([g(1,Te),g(2,U),g(3,fe),g(4,Pt),g(5,ye)],xc)});import{BrowserWindow as eO,app as tO}from"electron";var Pc,JT=I(()=>{z();$();qe();Rn();GT();ee();re();Ri();Vt();Pc=class extends T{constructor(e,t){super();this.instantiationService=e;this.logService=t;this._onDidMaximizeWindow=this._register(new b);this.onDidMaximizeWindow=this._onDidMaximizeWindow.event;this._onDidUnmaximizeWindow=this._register(new b);this.onDidUnmaximizeWindow=this._onDidUnmaximizeWindow.event;this._onDidChangeFullScreen=this._register(new b);this.onDidChangeFullScreen=this._onDidChangeFullScreen.event;this._onDidChangeAlwaysOnTop=this._register(new b);this.onDidChangeAlwaysOnTop=this._onDidChangeAlwaysOnTop.event;this._onDidTriggerSystemContextMenu=this._register(new b);this.onDidTriggerSystemContextMenu=this._onDidTriggerSystemContextMenu.event;this.windows=new Map;this.registerListeners()}registerListeners(){tO.on("browser-window-created",(e,t)=>{let n=this.getWindowByWebContents(t.webContents);if(n)this.logService.trace('[aux window] app.on("browser-window-created"): Trying to claim auxiliary window'),n.tryClaimWindow();else{let o=new J;o.add(S.fromNodeEventEmitter(t.webContents,"did-create-window",(s,a)=>({browserWindow:s,details:a}))(({browserWindow:s,details:a})=>{let l=this.getWindowByWebContents(s.webContents);l&&(this.logService.trace('[aux window] window.on("did-create-window"): Trying to claim auxiliary window'),l.tryClaimWindow(a.options))})),o.add(S.fromNodeEventEmitter(t,"closed")(()=>o.dispose()))}}),tt.handle("vscode:registerAuxiliaryWindow",async(e,t)=>{let n=this.getWindowByWebContents(e.sender);return n&&(this.logService.trace("[aux window] vscode:registerAuxiliaryWindow: Registering auxiliary window to main window"),n.parentId=t),e.sender.id})}createWindow(e){let{state:t,overrides:n}=this.computeWindowStateAndOverrides(e);return this.instantiationService.invokeFunction(ll,t,n,{preload:st.asFileUri("vs/base/parts/sandbox/electron-browser/preload-aux.js").fsPath})}computeWindowStateAndOverrides(e){let t={},n={},o=e.features.split(",");for(let a of o){let[l,c]=a.split("=");switch(l){case"width":t.width=parseInt(c,10);break;case"height":t.height=parseInt(c,10);break;case"left":t.x=parseInt(c,10);break;case"top":t.y=parseInt(c,10);break;case"window-maximized":t.mode=0;break;case"window-fullscreen":t.mode=3;break;case"window-disable-fullscreen":n.disableFullscreen=!0;break;case"window-native-titlebar":n.forceNativeTitlebar=!0;break;case"window-always-on-top":n.alwaysOnTop=!0;break}}let s=cl.validateWindowState(this.logService,t)??iP();return this.logService.trace("[aux window] using window state",s),{state:s,overrides:n}}registerWindow(e){let t=new J,n=this.instantiationService.createInstance(xc,e);this.windows.set(n.id,n),t.add(j(()=>this.windows.delete(n.id))),t.add(n.onDidMaximize(()=>this._onDidMaximizeWindow.fire(n))),t.add(n.onDidUnmaximize(()=>this._onDidUnmaximizeWindow.fire(n))),t.add(n.onDidEnterFullScreen(()=>this._onDidChangeFullScreen.fire({window:n,fullscreen:!0}))),t.add(n.onDidLeaveFullScreen(()=>this._onDidChangeFullScreen.fire({window:n,fullscreen:!1}))),t.add(n.onDidChangeAlwaysOnTop(o=>this._onDidChangeAlwaysOnTop.fire({window:n,alwaysOnTop:o}))),t.add(n.onDidTriggerSystemContextMenu(({x:o,y:s})=>this._onDidTriggerSystemContextMenu.fire({window:n,x:o,y:s}))),S.once(n.onDidClose)(()=>t.dispose())}getWindowByWebContents(e){let t=this.windows.get(e.id);return t?.matches(e)?t:void 0}getFocusedWindow(){let e=eO.getFocusedWindow();if(e)return this.getWindowByWebContents(e.webContents)}getLastActiveWindow(){return im(Array.from(this.windows.values()))}getWindows(){return Array.from(this.windows.values())}};Pc=E([g(0,Nt),g(1,U)],Pc)});var Ww,QT,XT=I(()=>{ee();Ww=L("INativeMcpDiscoveryHelperService"),QT="NativeMcpDiscoveryHelper"});import{homedir as rO}from"os";var Xh,YT=I(()=>{Z();le();Xh=class{constructor(){}load(){return Promise.resolve({platform:qi,homedir:P.file(rO()),winAppData:this.uriFromEnvVariable("APPDATA"),xdgHome:this.uriFromEnvVariable("XDG_CONFIG_HOME")})}uriFromEnvVariable(r){let e=process.env[r];if(e)return P.file(e)}}});var op,ZT,e_,Uw=I(()=>{ee();op=L("IMcpGatewayService"),ZT="mcpGateway",e_="mcpGatewayToolBroker"});function nO(i){return"method"in i&&"id"in i&&(typeof i.id=="string"||typeof i.id=="number")}function Nw(i){return nn(i,{id:!0,result:!0})||nn(i,{id:!0,error:!0})}function Bw(i){return nn(i,{method:!0})&&!nn(i,{id:!0})}function iO(i){return typeof i=="object"&&i!==null&&"then"in i&&typeof i.then=="function"}var Wn,Ec,Vw=I(()=>{ge();It();He();$();Le();Wn=class extends Error{constructor(e,t,n){super(t);this.code=e;this.data=n}},Ec=class i extends T{constructor(e,t){super();this._send=e;this._handlers=t;this._nextRequestId=1;this._pendingRequests=new Map}static{this.ParseError=-32700}static{this.MethodNotFound=-32601}static{this.InternalError=-32603}sendNotification(e){this._send({jsonrpc:"2.0",...e})}sendRequest(e,t=xe.None,n){if(this._store.isDisposed)return Promise.reject(new St);let o=this._nextRequestId++,s=new Gt,a=new $e;this._pendingRequests.set(o,{promise:s,cts:a});let l=t.onCancellationRequested(()=>{s.isSettled||(this._pendingRequests.delete(o),a.cancel(),n?.(o),s.cancel()),l.dispose()});return this._send({jsonrpc:"2.0",id:o,...e}),s.p.finally(()=>{l.dispose(),this._pendingRequests.delete(o),a.dispose(!0)})}async handleMessage(e){if(Array.isArray(e)){let n=[];for(let o of e){let s=await this._handleMessage(o);s&&n.push(s)}return n}let t=await this._handleMessage(e);return t?[t]:[]}cancelPendingRequest(e){let t=this._pendingRequests.get(e);t&&(this._pendingRequests.delete(e),t.cts.cancel(),t.promise.cancel(),t.cts.dispose(!0))}cancelAllRequests(){for(let[e,t]of this._pendingRequests)this._pendingRequests.delete(e),t.cts.cancel(),t.promise.cancel(),t.cts.dispose(!0)}async _handleMessage(e){if(Nw(e)){nn(e,{result:!0})?this._handleResult(e):this._handleError(e);return}if(nO(e))return this._handleRequest(e);Bw(e)&&this._handlers.handleNotification?.(e)}_handleResult(e){let t=this._pendingRequests.get(e.id);t&&(this._pendingRequests.delete(e.id),t.promise.complete(e.result),t.cts.dispose(!0))}_handleError(e){if(e.id===void 0)return;let t=this._pendingRequests.get(e.id);t&&(this._pendingRequests.delete(e.id),t.promise.error(new Wn(e.error.code,e.error.message,e.error.data)),t.cts.dispose(!0))}async _handleRequest(e){if(!this._handlers.handleRequest){let n={jsonrpc:"2.0",id:e.id,error:{code:i.MethodNotFound,message:`Method not found: ${e.method}`}};return this._send(n),n}let t=new $e;this._register(j(()=>t.dispose(!0)));try{let n=this._handlers.handleRequest(e,t.token),o=iO(n)?await n:n,s={jsonrpc:"2.0",id:e.id,result:o};return this._send(s),s}catch(n){let o;return n instanceof Wn?o={jsonrpc:"2.0",id:e.id,error:{code:n.code,message:n.message,data:n.data}}:o={jsonrpc:"2.0",id:e.id,error:{code:i.InternalError,message:n instanceof Error?n.message:"Internal error"}},this._send(o),o}finally{t.dispose(!0)}}dispose(){this.cancelAllRequests(),super.dispose()}static createParseError(e,t){return{jsonrpc:"2.0",error:{code:i.ParseError,message:e,data:t}}}}});function t_(i){let r=Array.isArray(i)?i[0]:i;return!r||!nn(r,{method:!0})?!1:r.method==="initialize"}var oO,sO,aO,lO,sp,Yh,r_=I(()=>{Vw();$();Le();oO="2025-11-25",sO=["2025-11-25","2025-06-18","2025-03-26","2024-11-05","2024-10-07"],aO=-32600,lO=-32601,sp=-32602,Yh=class extends T{constructor(e,t,n,o){super();this.id=e;this._logService=t;this._onDidDispose=n;this._serverInvoker=o;this._sseClients=new Set;this._lastEventId=0;this._isInitialized=!1;this._rpc=this._register(new Ec(s=>this._handleOutgoingMessage(s),{handleRequest:s=>this._handleRequest(s),handleNotification:s=>this._handleNotification(s)})),this._register(this._serverInvoker.onDidChangeTools(()=>{this._isInitialized&&(this._logService.info(`[McpGateway][session ${this.id}] Tools changed, notifying client`),this._rpc.sendNotification({method:"notifications/tools/list_changed"}))})),this._register(this._serverInvoker.onDidChangeResources(()=>{this._isInitialized&&(this._logService.info(`[McpGateway][session ${this.id}] Resources changed, notifying client`),this._rpc.sendNotification({method:"notifications/resources/list_changed"}))}))}attachSseClient(e,t){t.writeHead(200,{"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive"}),t.write(`: connected

`),this._sseClients.add(t),this._logService.info(`[McpGateway][session ${this.id}] SSE client attached (total: ${this._sseClients.size})`),t.on("close",()=>{this._sseClients.delete(t),this._logService.info(`[McpGateway][session ${this.id}] SSE client detached (total: ${this._sseClients.size})`)})}async handleIncoming(e){return this._rpc.handleMessage(e)}dispose(){this._logService.info(`[McpGateway][session ${this.id}] Disposing session (SSE clients: ${this._sseClients.size})`);for(let e of this._sseClients)e.destroyed||e.end();this._sseClients.clear(),this._onDidDispose(),super.dispose()}_handleOutgoingMessage(e){if(Nw(e)){this._logService.debug(`[McpGateway][session ${this.id}] --> response: ${JSON.stringify(e)}`);return}if(Bw(e)){this._logService.debug(`[McpGateway][session ${this.id}] --> notification: ${e.method}`),this._broadcastSse(e);return}this._logService.warn("[McpGatewayService] Ignored unsupported outgoing gateway message")}_broadcastSse(e){if(this._sseClients.size===0){this._logService.debug(`[McpGateway][session ${this.id}] No SSE clients to broadcast to, dropping message`);return}let t=JSON.stringify(e),n=String(++this._lastEventId);this._logService.debug(`[McpGateway][session ${this.id}] Broadcasting SSE event id=${n} to ${this._sseClients.size}`);let o=t.split(/\r?\n/g),s=[`id: ${n}`,"event: message",...o.map(a=>`data: ${a}`),"",""].join(`
`);for(let a of[...this._sseClients]){if(a.destroyed||a.writableEnded){this._sseClients.delete(a);continue}a.write(s)}}async _handleRequest(e){if(this._logService.debug(`[McpGateway][session ${this.id}] <-- request: ${e.method} (id=${String(e.id)})`),e.method==="initialize")return this._handleInitialize(e);if(!this._isInitialized)throw this._logService.warn(`[McpGateway][session ${this.id}] Rejected request '${e.method}': session not initialized`),new Wn(aO,"Session is not initialized");switch(e.method){case"ping":return{};case"tools/list":return this._handleListTools();case"tools/call":return this._handleCallTool(e);case"resources/list":return this._handleListResources();case"resources/read":return this._handleReadResource(e);case"resources/templates/list":return this._handleListResourceTemplates();default:throw this._logService.warn(`[McpGateway][session ${this.id}] Unknown method: ${e.method}`),new Wn(lO,`Method not found: ${e.method}`)}}_handleNotification(e){this._logService.debug(`[McpGateway][session ${this.id}] <-- notification: ${e.method}`),e.method==="notifications/initialized"&&(this._isInitialized=!0,this._logService.info(`[McpGateway][session ${this.id}] Session initialized`),this._rpc.sendNotification({method:"notifications/tools/list_changed"}),this._rpc.sendNotification({method:"notifications/resources/list_changed"}))}_handleInitialize(e){let t=typeof e.params=="object"&&e.params?e.params:void 0,n=typeof t?.protocolVersion=="string"?t.protocolVersion:void 0,o=t?.clientInfo,s=n&&sO.includes(n)?n:oO;return this._logService.info(`[McpGateway] Initialize: client=${o?.name??"unknown"}/${o?.version??"?"}, clientProtocol=${n??"(none)"}, negotiated=${s}`),n&&n!==s&&this._logService.warn(`[McpGateway] Client requested unsupported protocol version '${n}', falling back to '${s}'`),{protocolVersion:s,capabilities:{tools:{listChanged:!0},resources:{listChanged:!0}},serverInfo:{name:"VS Code MCP Gateway",version:"1.0.0"}}}async _handleCallTool(e){let t=typeof e.params=="object"&&e.params?e.params:void 0;if(!t||typeof t.name!="string")throw new Wn(sp,"Missing tool call params");if(t.arguments&&typeof t.arguments!="object")throw new Wn(sp,"Invalid tool call arguments");let n=t.arguments&&typeof t.arguments=="object"?t.arguments:{};this._logService.debug(`[McpGateway][session ${this.id}] Calling tool '${t.name}' with args: ${JSON.stringify(n)}`);try{let o=await this._serverInvoker.callTool(t.name,n);return this._logService.debug(`[McpGateway][session ${this.id}] Tool '${t.name}' completed (isError=${o.isError??!1}, content blocks=${o.content.length})`),o}catch(o){throw this._logService.error(`[McpGateway][session ${this.id}] Tool '${t.name}' invocation failed`,o),new Wn(sp,String(o))}}async _handleListTools(){let e=await this._serverInvoker.listTools();return this._logService.debug(`[McpGateway][session ${this.id}] Listed ${e.length} tool(s): [${e.map(t=>t.name).join(", ")}]`),{tools:e}}async _handleListResources(){let e=await this._serverInvoker.listResources();return this._logService.debug(`[McpGateway][session ${this.id}] Listed ${e.length} resource(s)`),{resources:e}}async _handleReadResource(e){let t=typeof e.params=="object"&&e.params?e.params:void 0;if(!t||typeof t.uri!="string")throw new Wn(sp,"Missing resource URI");this._logService.debug(`[McpGateway][session ${this.id}] Reading resource '${t.uri}'`);try{let n=await this._serverInvoker.readResource(t.uri);return this._logService.debug(`[McpGateway][session ${this.id}] Resource read returned ${n.contents.length} content(s)`),n}catch(n){throw this._logService.error(`[McpGateway][session ${this.id}] Resource read failed for '${t.uri}'`,n),new Wn(sp,String(n))}}async _handleListResourceTemplates(){let e=await this._serverInvoker.listResourceTemplates();return this._logService.debug(`[McpGateway][session ${this.id}] Listed ${e.length} resource template(s)`),{resourceTemplates:e}}}});var Cc,Hw,n_=I(()=>{ge();z();Vw();$();le();Jt();re();r_();Cc=class extends T{constructor(e){super();this._routes=new Map;this._gatewayRoutes=new Map;this._gatewayServerRoutes=new Map;this._gatewayToClient=new Map;this._gatewayDisposables=new Map;this._logger=this._register(e.createLogger("mcpGateway",{name:"MCP Gateway",logLevel:"always"})),this._logger.info("[McpGatewayService] Initialized")}async createGateway(e,t){if(await this._ensureServer(),this._port===void 0)throw new Error("[McpGatewayService] Server failed to start, port is undefined");if(!t)throw new Error("[McpGatewayService] Tool invoker is required to create gateway");let n=_e(),o=new Set,s=new Map;this._gatewayRoutes.set(n,o),this._gatewayServerRoutes.set(n,s);let a=new J;this._gatewayDisposables.set(n,a);try{let l=t.listServers(),c=[];for(let u of l){let f=this._createRouteForServer(n,u.id,u.label,t,o,s);c.push(f)}e?(this._gatewayToClient.set(n,e),this._logger.info(`[McpGatewayService] Created gateway ${n} with ${c.length} server(s) for client ${e}`)):this._logger.warn(`[McpGatewayService] Created gateway ${n} with ${c.length} server(s) without client tracking`);let d=a.add(new b);return a.add(t.onDidChangeServers(u=>{this._refreshGatewayServers(n,u,t,o,s,d)})),{servers:c,onDidChangeServers:d.event,gatewayId:n}}catch(l){throw this._cleanupGateway(n),l}}_refreshGatewayServers(e,t,n,o,s,a){if(!this._gatewayRoutes.has(e))return;let l=new Set(t.map(u=>u.id)),c=new Set(s.keys());for(let u of c)if(!l.has(u)){let f=s.get(u);f&&(this._disposeRoute(f),o.delete(f),s.delete(u))}for(let u of t){if(!c.has(u.id)){this._createRouteForServer(e,u.id,u.label,n,o,s);continue}let f=s.get(u.id),m=f?this._routes.get(f):void 0;m&&m.label!==u.label&&(m.label=u.label)}let d=this._getGatewayServers(e);this._logger.info(`[McpGatewayService] Gateway ${e} servers changed: ${d.length} server(s)`),a.fire(d)}_cleanupGateway(e){let t=this._gatewayRoutes.get(e);if(t)for(let n of t)this._disposeRoute(n);this._gatewayRoutes.delete(e),this._gatewayServerRoutes.delete(e),this._gatewayToClient.delete(e),this._gatewayDisposables.get(e)?.dispose(),this._gatewayDisposables.delete(e)}_createRouteForServer(e,t,n,o,s,a){let l=_e(),c={onDidChangeTools:o.onDidChangeTools,onDidChangeResources:o.onDidChangeResources,listTools:()=>o.listToolsForServer(t),callTool:(f,m)=>o.callToolForServer(t,f,m),listResources:()=>o.listResourcesForServer(t),readResource:f=>o.readResourceForServer(t,f),listResourceTemplates:()=>o.listResourceTemplatesForServer(t)},d=new Hw(l,this._logger,c,n);this._routes.set(l,d),s.add(l),a.set(t,l);let u=P.parse(`http://127.0.0.1:${this._port}/gateway/${l}`);return this._logger.info(`[McpGatewayService] Created route ${l} for server '${n}' (${t}) at ${u}`),{label:n,address:u}}_getGatewayServers(e){let t=this._gatewayServerRoutes.get(e);if(!t)return[];let n=[];for(let[o,s]of t){let a=this._routes.get(s);a&&n.push({label:a.label,address:P.parse(`http://127.0.0.1:${this._port}/gateway/${s}`)})}return n}_disposeRoute(e){let t=this._routes.get(e);t&&(t.dispose(),this._routes.delete(e),this._logger.info(`[McpGatewayService] Disposed route: ${e}`))}async disposeGateway(e){if(!this._gatewayRoutes.has(e)){this._logger.warn(`[McpGatewayService] Attempted to dispose unknown gateway: ${e}`);return}this._cleanupGateway(e),this._logger.info(`[McpGatewayService] Disposed gateway: ${e} (remaining routes: ${this._routes.size})`),this._routes.size===0&&this._stopServer()}disposeGatewaysForClient(e){let t=[];for(let[n,o]of this._gatewayToClient)o===e&&t.push(n);if(t.length>0){this._logger.info(`[McpGatewayService] Disposing ${t.length} gateway(s) for disconnected client ${e}`);for(let n of t)this._cleanupGateway(n);this._routes.size===0&&this._stopServer()}}async _ensureServer(){if(!this._server?.listening){if(this._serverStartPromise)return this._serverStartPromise;this._serverStartPromise=this._startServer();try{await this._serverStartPromise}finally{this._serverStartPromise=void 0}}}async _startServer(){let{createServer:e}=await import("http"),t=new Gt;this._server=e((o,s)=>{this._handleRequest(o,s)});let n=setTimeout(()=>{t.error(new Error("[McpGatewayService] Timeout waiting for server to start"))},5e3);return this._server.on("listening",()=>{let o=this._server.address();if(typeof o=="string")this._port=parseInt(o);else if(o instanceof Object)this._port=o.port;else{clearTimeout(n),t.error(new Error("[McpGatewayService] Unable to determine port"));return}clearTimeout(n),this._logger.info(`[McpGatewayService] Server started on port ${this._port}`),t.complete()}),this._server.on("error",o=>{if(o.code==="EADDRINUSE"){this._logger.warn("[McpGatewayService] Port in use, retrying with random port..."),this._server.listen(0,"127.0.0.1");return}clearTimeout(n),this._logger.error(`[McpGatewayService] Server error: ${o}`),t.error(o)}),this._server.listen(0,"127.0.0.1"),t.p}_stopServer(){this._server&&(this._logger.info("[McpGatewayService] Stopping server (no more routes)"),this._server.close(e=>{e?this._logger.error(`[McpGatewayService] Error closing server: ${e}`):this._logger.info("[McpGatewayService] Server stopped")}),this._server=void 0,this._port=void 0)}_handleRequest(e,t){let n=new URL(e.url,`http://${e.headers.host}`),o=n.pathname.split("/").filter(Boolean);if(this._logger.debug(`[McpGatewayService] ${e.method} ${n.pathname} (active routes: ${this._routes.size})`),o.length>=2&&o[0]==="gateway"){let s=o[1],a=this._routes.get(s);if(a){a.handleRequest(e,t);return}}this._logger.warn(`[McpGatewayService] ${e.method} ${n.pathname}: route not found`),t.writeHead(404,{"Content-Type":"application/json"}),t.end(JSON.stringify({error:"Gateway not found"}))}dispose(){this._logger.info(`[McpGatewayService] Disposing service (routes: ${this._routes.size})`),this._stopServer();for(let e of this._routes.values())e.dispose();this._routes.clear(),this._gatewayRoutes.clear(),this._gatewayServerRoutes.clear(),this._gatewayToClient.clear();for(let e of this._gatewayDisposables.values())e.dispose();this._gatewayDisposables.clear(),super.dispose()}};Cc=E([g(0,cn)],Cc);Hw=class i extends T{constructor(e,t,n,o=""){super();this.routeId=e;this._logger=t;this._serverInvoker=n;this.label=o;this._sessions=new Map}static{this.SessionHeaderName="mcp-session-id"}handleRequest(e,t){if(this._logger.debug(`[McpGateway][route ${this.routeId}] ${e.method} request (sessions: ${this._sessions.size})`),e.method==="POST"){this._handlePost(e,t);return}if(e.method==="GET"){this._handleGet(e,t);return}if(e.method==="DELETE"){this._handleDelete(e,t);return}this._respondHttpError(t,405,"Method not allowed")}dispose(){this._logger.info(`[McpGateway][route ${this.routeId}] Disposing route (sessions: ${this._sessions.size})`);for(let e of this._sessions.values())e.dispose();this._sessions.clear(),super.dispose()}_handleDelete(e,t){let n=this._getSessionId(e);if(!n){this._respondHttpError(t,400,"Missing Mcp-Session-Id header");return}let o=this._sessions.get(n);if(!o){this._respondHttpError(t,404,"Session not found");return}this._logger.info(`[McpGateway][route ${this.routeId}] Deleting session ${n}`),o.dispose(),this._sessions.delete(n),t.writeHead(204),t.end()}_handleGet(e,t){let n=this._getSessionId(e);if(!n){this._respondHttpError(t,400,"Missing Mcp-Session-Id header");return}let o=this._sessions.get(n);if(!o){this._respondHttpError(t,404,"Session not found");return}this._logger.info(`[McpGateway][route ${this.routeId}] SSE connection requested for session ${n}`),o.attachSseClient(e,t)}async _handlePost(e,t){let n=await this._readRequestBody(e);if(n===void 0){this._respondHttpError(t,413,"Payload too large");return}this._logger.debug(`[McpGateway][route ${this.routeId}] Handling POST`);let o;try{o=JSON.parse(n)}catch(l){this._logger.warn(`[McpGateway][route ${this.routeId}] JSON parse error: ${l instanceof Error?l.message:String(l)}`),t.writeHead(400,{"Content-Type":"application/json"}),t.end(JSON.stringify(Ec.createParseError("Parse error",l instanceof Error?l.message:String(l))));return}let s=this._getSessionId(e),a=this._resolveSessionForPost(s,o,t);if(a)try{let l=await a.handleIncoming(o),c={"Content-Type":"application/json","Mcp-Session-Id":a.id};if(l.length===0){this._logger.debug(`[McpGateway][route ${this.routeId}] POST response: 202 (no content)`),t.writeHead(202,c),t.end();return}let d=JSON.stringify(Array.isArray(o)?l:l[0]);this._logger.debug(`[McpGateway][route ${this.routeId}] POST response: 200, body: ${d}`),t.writeHead(200,c),t.end(d)}catch(l){this._logger.error("[McpGatewayService] Failed handling gateway request",l),this._respondHttpError(t,500,"Internal server error")}}_resolveSessionForPost(e,t,n){if(e){let a=this._sessions.get(e);if(!a){this._logger.warn(`[McpGateway][route ${this.routeId}] Session not found: ${e}`),this._respondHttpError(n,404,"Session not found");return}return a}if(!t_(t)){this._respondHttpError(n,400,"Missing Mcp-Session-Id header");return}let o=_e();this._logger.info(`[McpGateway][route ${this.routeId}] Creating new session ${o}`);let s=new Yh(o,this._logger,()=>{this._sessions.delete(o)},this._serverInvoker);return this._sessions.set(o,s),s}_respondHttpError(e,t,n){this._logger.debug(`[McpGateway][route ${this.routeId}] HTTP error response: ${t} ${n}`),e.writeHead(t,{"Content-Type":"application/json"}),e.end(JSON.stringify({jsonrpc:"2.0",error:{code:t,message:n}}))}_getSessionId(e){let t=e.headers[i.SessionHeaderName];return Array.isArray(t)?t[0]:t}async _readRequestBody(e){let t=[],n=0,o=1024*1024;for await(let s of e){let a=Buffer.isBuffer(s)?s:Buffer.from(s);if(n+=a.byteLength,n>o)return;t.push(a)}return Buffer.concat(t).toString("utf8")}}});function cO(i,r){return i.getChannel(e_,e=>e.ctx===r)}var Tc,i_=I(()=>{z();$();re();Uw();Tc=class extends T{constructor(e,t,n){super();this._ipcServer=e;this.mcpGatewayService=t;this._loggerService=n;this._onDidChangeGatewayServers=this._register(new b);this._gatewayDisposables=this._register(new Rt);this._clientGateways=new Map;this._register(e.onDidRemoveConnection(o=>{this._loggerService.getLogger("mcpGateway")?.info(`[McpGateway][Channel] Client disconnected: ${o.ctx}, cleaning up gateways`),t.disposeGatewaysForClient(o.ctx);let s=this._clientGateways.get(o.ctx);if(s){for(let a of s)this._gatewayDisposables.deleteAndDispose(a);this._clientGateways.delete(o.ctx)}}))}listen(e,t){if(t==="onDidChangeGatewayServers")return this._onDidChangeGatewayServers.event;throw new Error(`Invalid listen: ${t}`)}async call(e,t,n){let o=this._loggerService.getLogger("mcpGateway");switch(o?.debug(`[McpGateway][Channel] IPC call: ${t} from client ${e}`),t){case"createGateway":{let{chatSessionResource:s}=n??{},a=cO(this._ipcServer,e),l=await a.call("listServers"),c=a.listen("onDidChangeServers"),d=await this.mcpGatewayService.createGateway(e,{onDidChangeServers:S.map(c,m=>(l=m,m)),onDidChangeTools:a.listen("onDidChangeTools"),onDidChangeResources:a.listen("onDidChangeResources"),listServers:()=>l,listToolsForServer:m=>a.call("listToolsForServer",{serverId:m}),callToolForServer:(m,y,v)=>a.call("callToolForServer",{serverId:m,name:y,args:v,chatSessionResource:s}),listResourcesForServer:m=>a.call("listResourcesForServer",{serverId:m}),readResourceForServer:(m,y)=>a.call("readResourceForServer",{serverId:m,uri:y}),listResourceTemplatesForServer:m=>a.call("listResourceTemplatesForServer",{serverId:m})}),u=new J;u.add(d.onDidChangeServers(m=>{this._onDidChangeGatewayServers.fire({gatewayId:d.gatewayId,servers:m})})),this._gatewayDisposables.set(d.gatewayId,u);let f=this._clientGateways.get(e);return f||(f=new Set,this._clientGateways.set(e,f)),f.add(d.gatewayId),o?.info(`[McpGateway][Channel] Gateway created: ${d.gatewayId} with ${d.servers.length} server(s) for client ${e}`),{gatewayId:d.gatewayId,servers:d.servers}}case"disposeGateway":{let s=n;o?.info(`[McpGateway][Channel] Disposing gateway: ${s} for client ${e}`),this._gatewayDisposables.deleteAndDispose(s);let a=this._clientGateways.get(e);a&&(a.delete(s),a.size===0&&this._clientGateways.delete(e)),await this.mcpGatewayService.disposeGateway(s);return}}throw new Error(`Invalid call: ${t}`)}};Tc=E([g(1,op),g(2,cn)],Tc)});var $w,LIe,o_=I(()=>{ee();$w=L("IWebContentExtractorService"),LIe=L("ISharedWebContentExtractorService")});var s_=I(()=>{});var eg,Zh,qw=I(()=>{Z();ee();eg=L("terminalSandboxService"),Zh=class{async isEnabled(){return!1}async getOS(){return Ot}async checkForSandboxingPrereqs(){return{enabled:!1,sandboxConfigPath:void 0,failedCheck:void 0}}wrapCommand(r){return{command:r,isSandboxWrapped:!1}}async getSandboxConfigPath(){}getTempDir(){}setNeedsForceUpdateConfigFile(){}getResolvedNetworkDomains(){return{allowedDomains:[],deniedDomains:[]}}async getMissingSandboxDependencies(){return[]}async installMissingSandboxDependencies(){return{exitCode:void 0}}}});function l_(i,r=!1){if(!i)return;let e=i.trim().toLowerCase().replace(/^[^@]+@/,"").replace(/:\d+$/,"").replace(/\.+$/,"");if(!e||e.includes("/")||e==="."||e==="..")return;if(e==="*")return"*";if(!/^\*?\.?[a-z0-9.;,)!?:-]+$/.test(e))return;let t=e.replace(/[),;:!?]+$/,"");if(!t)return;let n=t.startsWith("*.")?t.slice(2):t;if(!/^(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)(?:\.(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?))*$/.test(n))return;let o=t.startsWith("*."),s=o?t.slice(2):t;if(s&&/^[a-z0-9.-]+$/.test(s)){if(!r){let a=s.slice(s.lastIndexOf(".")+1);if(dO.has(a)||!uO.has(a))return}return o?`*.${s}`:s}}function pO(i){let r=i.trim();if(r==="*"||!r.includes("://"))return r;try{return P.parse(r).authority}catch{return r}}function a_(i,r){let e=l_(pO(r),r.includes("://"));if(!e)return!1;if(e==="*")return!0;if(e.startsWith("*.")){let t=e.slice(2);return i===t||i.endsWith(`.${t}`)}return i===e}function Kw(i){return l_(i.authority,!0)}function c_(i,r,e){return r.length===0&&e.length===0||e.some(t=>a_(i,t))?!1:r.length===0?!0:r.some(t=>a_(i,t))}var dO,uO,d_=I(()=>{le();dO=new Set(["7z","bz2","cjs","class","cpp","cs","css","csv","dll","exe","gif","gz","ico","jar","env","java","jpeg","jpg","js","json","jsx","lock","log","md","mjs","pdf","php","png","py","rar","rs","so","sql","svg","tar","tgz","toml","ts","tsx","txt","wasm","webp","xml","yaml","yml","zip"]),uO=new Set(["ai","cloud","com","dev","io","me","net","org","tech"])});var u_=I(()=>{});var tg,_c,zw=I(()=>{z();$();xr();Ee();it();ee();s_();qw();d_();u_();tg=L("agentNetworkFilterService"),_c=class extends T{constructor(e,t){super();this.configurationService=e;this.terminalSandboxService=t;this.enabled=!1;this.terminalSandboxEnabled=!1;this.allowedPatterns=[];this.deniedPatterns=[];this.domainCache=new Tn(100);this.onDidChangeEmitter=this._register(new b);this.onDidChange=this.onDidChangeEmitter.event;this.readConfiguration(),this.updateTerminalSandboxEnabled(),this._register(this.configurationService.onDidChangeConfiguration(n=>{n.affectsConfiguration("chat.agent.networkFilter")||n.affectsConfiguration("chat.agent.allowedNetworkDomains")||n.affectsConfiguration("chat.agent.deniedNetworkDomains")?(this.readConfiguration(),this.onDidChangeEmitter.fire()):(n.affectsConfiguration("chat.agent.sandbox.enabled")||n.affectsConfiguration("chat.agent.sandbox"))&&this.updateTerminalSandboxEnabled()}))}readConfiguration(){let e=this.configurationService.getValue("chat.agent.networkFilter")??!1;this.enabled=e||this.terminalSandboxEnabled,this.allowedPatterns=this.configurationService.getValue("chat.agent.allowedNetworkDomains")??[],this.deniedPatterns=this.configurationService.getValue("chat.agent.deniedNetworkDomains")??[],this.domainCache.clear()}async updateTerminalSandboxEnabled(){let e=await this.terminalSandboxService.isEnabled();this.terminalSandboxEnabled!==e&&(this.terminalSandboxEnabled=e,this.readConfiguration(),this.onDidChangeEmitter.fire())}isUriAllowed(e){if(!this.enabled||e.scheme==="file"||!e.authority)return!0;let t=Kw(e);if(!t)return!0;let n=this.domainCache.get(t);return n===void 0&&(n=c_(t,this.allowedPatterns,this.deniedPatterns),this.domainCache.set(t,n)),n}formatError(e){let t=Kw(e);return h(2315,null,t??e.authority,"chat.agent.allowedNetworkDomains","chat.agent.deniedNetworkDomains")}};_c=E([g(0,fe),g(1,eg)],_c)});function jw(i){let r=typeof i=="string"?P.parse(i):i;return r.with({path:r.path.replace(/\/+$/,""),query:null,fragment:null})}function p_(i,r){let e=jw(i),t;if(/^[^./:]*:\/\//.test(r))t=jw(r);else{if(e.scheme!=="http"&&e.scheme!=="https")return!1;t=jw(`${e.scheme}://${r}`)}return Gw(e.scheme,t.scheme)&&Gw(e.authority,t.authority,!0)&&(t.path==="/"||Gw(e.path,t.path))}function Gw(i,r,e=!1){let t=Array.from({length:i.length+1}).map(()=>Array.from({length:r.length+1}).map(()=>{}));return Po(t,e,i,r,0,0)}function Po(i,r,e,t,n,o){if(i[n]?.[o]!==void 0)return i[n][o];let s=[];if(n===e.length)return o===t.length?!0:r&&t[o]+t[o+1]===":*"?o+2===t.length:!1;if(o===t.length)return e.slice(n)[0]==="/";if(e[n]===t[o]&&s.push(Po(i,r,e,t,n+1,o+1)),t[o]+t[o+1]==="*."&&(["/",":"].includes(e[n])||s.push(Po(i,r,e,t,n+1,o)),(n===0||e[n-1]===".")&&s.push(Po(i,r,e,t,n,o+2))),t[o]==="*"&&(n+1===e.length?s.push(Po(i,r,e,t,n+1,o+1)):s.push(Po(i,r,e,t,n+1,o)),s.push(Po(i,r,e,t,n,o+1))),r&&t[o]+t[o+1]===":*")if(e[n]===":"){let a=n+1;do a++;while(/[0-9]/.test(e[a]));s.push(Po(i,r,e,t,a,o+2))}else s.push(Po(i,r,e,t,n,o+2));return i[n][o]=s.some(a=>a===!0)}var f_=I(()=>{le()});function h_(i,r){if(i=P.parse(m_(i)),r=r.map(m_),gO(i.authority))return!0;for(let e=0;e<r.length;e++)if(r[e]==="*"||p_(i,r[e]))return!0;return!1}function m_(i){let r=["github.com"];try{let e=typeof i=="string"?P.parse(i,!0):i;return r.includes(e.authority)?e.with({path:e.path.toLowerCase()}).toString(!0):e.toString(!0)}catch{return i.toString()}}function gO(i){return fO.test(i)||mO.test(i)||hO.test(i)}var fO,mO,hO,g_=I(()=>{le();f_();fO=/^(.+\.)?localhost(:\d+)?$/i,mO=/^127.0.0.1(:\d+)?$/,hO=/^\[::1\](:\d+)?$/});var rg,v_=I(()=>{xr();wt();rg=class i{constructor(){this._cache=new Tn(i.MAX_CACHE_SIZE)}static{this.MAX_CACHE_SIZE=1e3}static{this.SUCCESS_CACHE_DURATION=1e3*60*60*24}static{this.ERROR_CACHE_DURATION=1e3*60*5}add(r,e,t){let n;switch(t.status){case"ok":case"redirect":n=Date.now()+i.SUCCESS_CACHE_DURATION;break;default:n=Date.now()+i.ERROR_CACHE_DURATION;break}let o=i.getKey(r,e);this._cache.set(o,{result:t,options:e,expiration:n})}tryGet(r,e){let t=i.getKey(r,e),n=this._cache.get(t);if(n!==void 0){if(n.expiration<Date.now()){this._cache.delete(t);return}return n.result}}clear(){this._cache.clear()}static getKey(r,e){return`${!!e?.followRedirects}${Fa.getComparisonKey(r)}`}}});function vO(i){if(i.length===0)return[];let r=new Map;for(let o of i)r.set(o.nodeId,o);function e(o){let s=r.get(o);if(!s||!s.childIds)return[];let a=[];for(let l of s.childIds){let c=r.get(l);c&&(c.ignored?a.push(...e(l)):a.push(l))}return a}let t=new Map;for(let o of i)o.ignored||t.set(o.nodeId,{node:o,children:[],parent:null});for(let o of i){if(o.ignored)continue;let s=t.get(o.nodeId);if(o.childIds)for(let a of o.childIds){let l=r.get(a);if(l)if(l.ignored){let c=e(a);for(let d of c){let u=t.get(d);u&&(u.parent=s,s.children.push(u))}}else{let c=t.get(a);c&&(c.parent=s,s.children.push(c))}}}let n=[];for(let o of t.values())o.parent||n.push(o);return n}function I_(i,r){let e=vO(r);if(e.length===0)return"";let t=[],n=[];for(let s of e){let a=yO(i,s),l=CO(s);a.trim().length>0&&t.push(a),n.push(...l)}return t.join(`

`)+(n.length>0?`

## Additional Links
`+n.join(`
`):"")}function yO(i,r){let e=[];return Eo(i,r,e,0,!0),e.join("")}function Eo(i,r,e,t,n){switch(Co(r.node)){case"navigation":return;case"heading":SO(i,r,e,t);return;case"paragraph":bO(i,r,e,t,n);return;case"list":e.push(`
`);for(let s of r.children)Eo(i,s,e,t+1,!0);e.push(`
`);return;case"ListMarker":e.push(Bi(r.node,n));return;case"listitem":{let s=[];for(let l of r.children)Eo(i,l,s,t+1,!0);let a=Qw(r.node)>1?" ".repeat(Qw(r.node)):"";e.push(`${a}${s.join("").trim()}
`);return}case"link":if(!w_(r)){let s=Bi(r.node,n),a=Xw(r.node);wO(i,r.node)?e.push(s):e.push(`[${s}](${a})`)}return;case"StaticText":{let s=Bi(r.node,n);s&&e.push(s);break}case"image":{let s=Bi(r.node,n)||"Image",a=IO(r.node);a?e.push(`![${s}](${a})

`):e.push(`[Image: ${s}]

`);break}case"DescriptionList":xO(i,r,e,t);return;case"blockquote":e.push("> "+Bi(r.node,n).replace(/\n/g,`
> `)+`

`);break;case"generic":e.push(" ");break;case"code":{EO(i,r,e,t);return}case"pre":e.push("```\n"+Bi(r.node,!1)+"\n```\n\n");break;case"table":PO(r,e);return}for(let s of r.children)Eo(i,s,e,t+1,n)}function Co(i){return i.role?.value||""}function Bi(i,r){let e=i.name?.value||i.value?.value||"";if(!r||e.length<=Jw)return e;let t=e.split(""),n=-1;for(let o=1;o<t.length;o++)t[o]===" "&&(n=o),o%Jw===0&&n!==-1&&(t[n]=`
`,n=o);return t.join("")}function Qw(i){let r=i.properties?.find(e=>e.name==="level");return r?Math.min(Number(r.value.value)||1,6):1}function Xw(i){return i.properties?.find(e=>e.name==="url")?.value.value||"#"}function IO(i){return i.properties?.find(e=>e.name==="url")?.value.value||null}function w_(i){let r=i;for(;r;){let e=Co(r.node);if(["navigation","menu","menubar"].includes(e))return!0;r=r.parent}return!1}function wO(i,r){let e=Xw(r);try{let t=P.parse(e);return t.scheme===i.scheme&&t.authority===i.authority&&t.path===i.path}catch{return!1}}function bO(i,r,e,t,n){e.push(`
`);for(let o of r.children)Eo(i,o,e,t+1,n);e.push(`

`)}function SO(i,r,e,t){e.push(`
`);let n=Qw(r.node);e.push(`${"#".repeat(n)} `);for(let o of r.children)Co(o.node)==="StaticText"?e.push(Bi(o.node,!1)):Eo(i,o,e,t+1,!1);e.push(`

`)}function xO(i,r,e,t){e.push(`
`);for(let n of r.children)if(Co(n.node)==="term"){e.push("- **");for(let o of n.children)Eo(i,o,e,t+1,!0);e.push("** ")}else if(Co(n.node)==="definition"){for(let o of n.children)Eo(i,o,e,t+1,!0);e.push(`
`)}e.push(`
`)}function y_(i){return i==="cell"||i==="gridcell"||i==="columnheader"||i==="rowheader"}function PO(i,r){r.push(`
`);let e=i.children.filter(t=>Co(t.node).includes("row"));if(e.length>0){let t=e[0].children.filter(o=>y_(Co(o.node))),n=t.map(o=>Bi(o.node,!1)||" ");r.push("| "+n.join(" | ")+` |
`),r.push("| "+t.map(()=>"---").join(" | ")+` |
`);for(let o=1;o<e.length;o++){let a=e[o].children.filter(l=>y_(Co(l.node))).map(l=>Bi(l.node,!1)||" ");r.push("| "+a.join(" | ")+` |
`)}}r.push(`
`)}function EO(i,r,e,t){let n=[];for(let s of r.children)Eo(i,s,n,t+1,!1);if(n.some(s=>s.includes(`
`)))e.push("\n```\n"),e.push(n.join("")),e.push("\n```\n");else{e.push("`");let s=0;for(let a of n)s+=a.length,s>Jw&&(e.push(`
`),s=0),e.push(a),e.push("`")}}function CO(i){let r=[];return b_(i,r),r}function b_(i,r){if(Co(i.node)==="link"&&w_(i)){let t=Bi(i.node,!0),n=Xw(i.node),o=i.node.description?.value||"";r.push(`- [${t}](${n})${o?" - "+o:""}`)}for(let t of i.children)b_(t,r)}var Jw,S_=I(()=>{le();Jw=80});var ng,x_=I(()=>{ge();It();Sa();$();le();Jt();S_();ng=class i extends T{constructor(e,t,n,o,s,a){super();this._logger=t;this._uri=n;this._options=o;this._isTrustedDomain=s;this._agentNetworkFilterService=a;this._requests=new Set;this._queue=this._register(new kn);this._timeout=this._register(new Ds);this._idleDebounceTimer=this._register(new Ds);this._onResult=e=>{};this._didFinishLoad=!1;this._window=e({width:800,height:600,show:!1,webPreferences:{partition:_e(),javascript:!0,offscreen:!0,sandbox:!0,webgl:!1}}),this._register(j(()=>this._window.destroy())),this._debugger=this._window.webContents.debugger,this._debugger.attach("1.1"),this._debugger.on("message",this.onDebugMessage.bind(this)),this._window.webContents.once("did-start-loading",this.onStartLoading.bind(this)).once("did-finish-load",this.onFinishLoad.bind(this)).once("did-fail-load",this.onFailLoad.bind(this)).on("will-navigate",this.onRedirect.bind(this)).on("will-redirect",this.onRedirect.bind(this)).on("select-client-certificate",l=>l.preventDefault()),this._window.webContents.session.webRequest.onBeforeSendHeaders(this.onBeforeSendHeaders.bind(this)),this._window.webContents.session.webRequest.onHeadersReceived(this.onHeadersReceived.bind(this)),this._window.webContents.session.on("will-download",this.onDownload.bind(this))}static{this.TIMEOUT=3e4}static{this.POST_LOAD_TIMEOUT=5e3}static{this.FRAME_TIMEOUT=500}static{this.EXTRACT_CONTENT_TIMEOUT=2e3}static{this.IDLE_DEBOUNCE_TIME=500}static{this.MIN_CONTENT_LENGTH=100}trace(e){this._logger.trace(`[WebPageLoader] [${this._uri}] ${e}`)}async load(){return await new Promise(e=>{this._onResult=ji(t=>{switch(t.status){case"ok":this.trace(`Loaded web page content, status: ${t.status}, title: '${t.title}', length: ${t.result.length}`);break;case"redirect":this.trace(`Loaded web page content, status: ${t.status}, toURI: ${t.toURI}`);break;case"error":this.trace(`Loaded web page content, status: ${t.status}, code: ${t.statusCode}, error: '${t.error}', title: '${t.title}', length: ${t.result?.length??0}`);break}let n=t.status!=="redirect"?t.result:void 0;n!==void 0&&this.trace(n.length<200?`Extracted content: '${n}'`:`Extracted content preview: '${n.substring(0,200)}...'`),e(t),this.dispose()}),this.trace("Loading web page content"),this._window.loadURL(this._uri.toString(!0)),this.setTimeout(i.TIMEOUT)})}setTimeout(e){this._store.isDisposed||(this.trace(`Setting page load timeout to ${e} ms`),this._timeout.cancelAndSet(()=>{this.trace("Page load timeout reached"),this._queue.queue(()=>this.extractContent())},e))}onBeforeSendHeaders(e,t){let n={...e.requestHeaders};n.DNT="1",n["Sec-GPC"]="1",t({requestHeaders:n})}onHeadersReceived(e,t){let n=e.responseHeaders;if(n){let o=!1,s,a;for(let l of Object.keys(n)){let c=l.toLowerCase();c==="content-disposition"&&n[l]?.some(d=>d.toLowerCase().includes("attachment"))&&(o=!0,s=l),c==="content-type"&&(a=n[l]?.[0]?.toLowerCase())}if(o&&s){this.isTextMimeType(a)?(this.trace(`Replacing Content-Disposition: attachment with inline for ${e.url} (content-type: ${a})`),n[s]=["inline"],t({responseHeaders:n,cancel:!1})):(this.trace(`Blocked binary download (Content-Disposition: attachment, content-type: ${a}) for ${e.url}`),t({cancel:!0}));return}}t({cancel:!1})}static{this.TEXT_MIME_TYPE_RE=/^(?:text\/|application\/(?:json|xml|xhtml\+xml|rss\+xml|atom\+xml|svg\+xml|javascript|ecmascript|x-yaml|yaml|toml|.*\+(?:xml|json))$)/}isTextMimeType(e){let t=e?.split(";")[0].trim();return!!t&&i.TEXT_MIME_TYPE_RE.test(t)}onDownload(e,t){let n=t.getFilename();this.trace(`Blocked download: ${n}`),t.cancel(),this._queue.queue(()=>this.extractContent({status:"error",error:`Download not allowed: ${n}`}))}onStartLoading(){this._store.isDisposed||(this.trace("Received 'did-start-loading' event"),this._debugger.sendCommand("Network.enable").catch(()=>{}))}onFinishLoad(){this._store.isDisposed||(this.trace("Received 'did-finish-load' event"),this._didFinishLoad=!0,this.scheduleIdleCheck(),this.setTimeout(i.POST_LOAD_TIMEOUT))}onFailLoad(e,t,n){this._store.isDisposed||(this.trace(`Received 'did-fail-load' event, code: ${t}, error: '${n}'`),t===-3?(this.trace("Ignoring ERR_ABORTED (-3) as it may be caused by CSP or other measures"),this._queue.queue(()=>this.extractContent())):t===-27?(this.trace("Ignoring ERR_BLOCKED_BY_CLIENT (-27) as it may be caused by ad-blockers or similar extensions"),this._queue.queue(()=>this.extractContent())):this._queue.queue(()=>this.extractContent({status:"error",statusCode:t,error:n})))}onRedirect(e,t){if(this._store.isDisposed)return;this.trace(`Received 'will-navigate' or 'will-redirect' event, url: ${t}`);let n=P.parse(t);if(!this._agentNetworkFilterService.isUriAllowed(n)){this.trace(`Blocking navigation to ${t} (blocked by domain filter policy)`),e.preventDefault(),this._onResult({status:"error",error:this._agentNetworkFilterService.formatError(n)});return}if(!this._options?.followRedirects){if(this.normalizeAuthority(n.authority)===this.normalizeAuthority(this._uri.authority)||this._isTrustedDomain(n))return;if(this._didFinishLoad){this.trace(`Blocking post-load navigation to ${t} (likely ad/tracker script)`),e.preventDefault();return}e.preventDefault(),this._onResult({status:"redirect",toURI:n})}}normalizeAuthority(e){return e.toLowerCase().replace(/^www\./,"")}onDebugMessage(e,t,n){if(this._store.isDisposed)return;let{requestId:o,type:s,response:a}=n;switch(t){case"Network.requestWillBeSent":o!==void 0&&(this._requests.add(o),this._idleDebounceTimer.cancel());break;case"Network.loadingFinished":case"Network.loadingFailed":o!==void 0&&(this._requests.delete(o),this._requests.size===0&&this._didFinishLoad&&this.scheduleIdleCheck());break;case"Network.responseReceived":if(s==="Document"){let l=a?.status??0;if(l>=400){let c=a?.statusText||`HTTP error ${l}`;this._queue.queue(()=>this.extractContent({status:"error",statusCode:l,error:c}))}}break}}scheduleIdleCheck(){this._store.isDisposed||this._idleDebounceTimer.cancelAndSet(async()=>{this._store.isDisposed||(await this.nextFrame(),this._requests.size===0?this._queue.queue(()=>this.extractContent()):this.trace("New network requests detected, deferring content extraction"))},i.IDLE_DEBOUNCE_TIME)}async nextFrame(){this._store.isDisposed||await wv(new Promise(e=>{try{this.trace("Waiting for a frame to be rendered"),this._window.webContents.beginFrameSubscription(!1,()=>{try{this.trace("A frame has been rendered"),this._window.webContents.endFrameSubscription()}catch{}e()})}catch{e()}}),i.FRAME_TIMEOUT)}async extractContent(e){if(!this._store.isDisposed)try{let t=this._window.webContents.getTitle(),n="",o=new $e;try{await wv((async()=>{if(o.token.isCancellationRequested||(n=await this.extractAccessibilityTreeContent(o.token)??""),!o.token.isCancellationRequested&&n.length<i.MIN_CONTENT_LENGTH){this.trace("Accessibility tree extraction yielded insufficient content, trying main DOM element extraction");let s=await this.extractMainDomElementContent()??"";n=s.length>n.length?s:n}})(),i.EXTRACT_CONTENT_TIMEOUT)}finally{o.cancel(),o.dispose()}n.length===0?this._onResult({status:"error",error:"Failed to extract meaningful content from the web page"}):e!==void 0?this._onResult({...e,result:n,title:t}):this._onResult({status:"ok",result:n,title:t})}catch(t){e!==void 0?this._onResult(e):this._onResult({status:"error",error:t instanceof Error?t.message:String(t)})}}async extractAccessibilityTreeContent(e){this.trace("Extracting content using Accessibility domain");try{if(await this._debugger.sendCommand("Page.enable"),e.isCancellationRequested)return;let{frameTree:t}=await this._debugger.sendCommand("Page.getFrameTree");if(e.isCancellationRequested)return;let n=[t];for(let s=0;s<n.length;s++)n.push(...n[s].childFrames??[]);let o=[];for(let{frame:s}of n)try{let{nodes:a}=await this._debugger.sendCommand("Accessibility.getFullAXTree",{frameId:s.id});if(o.push(...a),e.isCancellationRequested)return}catch{}return I_(this._uri,o)}catch(t){this.trace(`Accessibility tree extraction failed: ${t instanceof Error?t.message:String(t)}`);return}}async extractMainDomElementContent(){try{return this.trace("Extracting content from main DOM element"),await this._window.webContents.executeJavaScript(`
				(() => {
					const selectors = ['main','article','[role="main"]','.main-content','#main-content','.article-body','.post-content','.entry-content','.content','body'];
					for (const selector of selectors) {
						const content = document.querySelector(selector)?.textContent?.replace(/[ \\t]+/g, ' ').replace(/\\s{2,}/gm, '\\n').trim();
						if (content && content.length > ${i.MIN_CONTENT_LENGTH}) {
							return content;
						}
					}
					return undefined;
				})();
			`)}catch(e){this.trace(`DOM extraction failed: ${e instanceof Error?e.message:String(e)}`);return}}}});import{BrowserWindow as TO}from"electron";var kc,P_=I(()=>{ge();$();re();zw();g_();v_();x_();kc=class extends T{constructor(e,t){super();this._logger=e;this._agentNetworkFilterService=t;this._limiter=new ud(3);this._webContentsCache=new rg;this._register(this._agentNetworkFilterService.onDidChange(()=>this._webContentsCache.clear()))}extract(e,t){return e.length===0?(this._logger.info("No URIs provided for extraction"),Promise.resolve([])):(this._logger.info(`Extracting content from ${e.length} URIs`),Promise.all(e.map(n=>this._limiter.queue(()=>this.doExtract(n,t)))))}async doExtract(e,t){let n=this._webContentsCache.tryGet(e,t);if(n!==void 0)return this._logger.info(`Found cached content for ${e.toString()}`),n;let o=new ng(s=>new TO(s),this._logger,e,t,s=>h_(s,t?.trustedDomains||[]),this._agentNetworkFilterService);try{let s=await o.load();return this._webContentsCache.add(e,t,s),s}finally{o.dispose()}}};kc=E([g(0,U),g(1,tg)],kc)});import*as Yw from"electron";var Zw,Rc,E_=I(()=>{ge();z();$();ee();re();Zw=L("crossAppIPCService"),Rc=class extends T{constructor(e){super();this.logService=e;this._connected=!1;this._isServer=!1;this.reconnectTimer=this._register(new Ds);this._onDidConnect=this._register(new b);this.onDidConnect=this._onDidConnect.event;this._onDidDisconnect=this._register(new b);this.onDidDisconnect=this._onDidDisconnect.event;this._onDidReceiveMessage=this._register(new b);this.onDidReceiveMessage=this._onDidReceiveMessage.event}get isSupported(){return Yw.crossAppIPC!==void 0}get initialized(){return this.ipc!==void 0}get connected(){return this._connected}get isServer(){return this._isServer}initialize(){if(this.ipc)return;let e=Yw.crossAppIPC;if(!e){this.logService.info("CrossAppIPCService: crossAppIPC not available");return}let t=e.createCrossAppIPC();this.ipc=t,t.on("connected",()=>{this._connected=!0,this._isServer=t.isServer,this.logService.info(`CrossAppIPCService: connected (isServer=${t.isServer})`),this._onDidConnect.fire(t.isServer)}),t.on("message",n=>{this._onDidReceiveMessage.fire(n.data)}),t.on("disconnected",n=>{this.logService.info(`CrossAppIPCService: disconnected (${n})`),this._connected=!1,this._isServer=!1,this._onDidDisconnect.fire(n),n==="peer-disconnected"&&this.reconnectTimer.cancelAndSet(()=>t.connect(),1e3)}),t.connect(),this.logService.info("CrossAppIPCService: connecting to peer")}sendMessage(e){this.ipc?.connected&&this.ipc.postMessage(e)}dispose(){this.ipc?.close(),super.dispose()}};Rc=E([g(0,U)],Rc)});function _O(i){if(!i||typeof i!="object")return{callstack:void 0,msg:xm(i)};let r=Array.isArray(i.stack)?i.stack.join(`
`):i.stack,e=i.message?i.message:xm(i);return{callstack:r,msg:e}}var C_,ap,T_=I(()=>{zt();He();z();$();un();ze();(r=>{function i(e,t){return e.callstack<t.callstack?-1:e.callstack>t.callstack?1:0}r.compare=i})(C_||={});ap=class i{constructor(r,e=i.ERROR_FLUSH_TIMEOUT){this._flushHandle=void 0;this._buffer=[];this._disposables=new J;this._telemetryService=r,this._flushDelay=e;let t=ba.addListener(n=>this._onErrorEvent(n));this._disposables.add(j(t)),this.installErrorListeners()}static{this.ERROR_FLUSH_TIMEOUT=5*1e3}dispose(){clearTimeout(this._flushHandle),this._flushBuffer(),this._disposables.dispose()}installErrorListeners(){}_onErrorEvent(r){if(!r||r.code||(r.detail&&r.detail.stack&&(r=r.detail),rn.isErrorNoTelemetry(r)||r instanceof Qt||Fp.is(r)||typeof r?.message=="string"&&r.message.includes("Unable to read file")))return;let{callstack:e,msg:t}=_O(r);if(!e)return;let n={msg:t,callstack:e};Da.is(r)&&(n.kind=r.kind,n.listenerCount=r.listenerCount),this._enqueue(n)}_enqueue(r){let e=cS(this._buffer,r,C_.compare);e<0?(r.count=1,this._buffer.splice(~e,0,r)):(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 r of this._buffer)this._telemetryService.publicLogError2("UnhandledError",r);this._buffer.length=0}}});var ua,__=I(()=>{He();T_();ir();ua=class extends ap{constructor(e,t){super(t);this.logService=e}installErrorListeners(){Wp(e=>this.onUnexpectedError(e)),process.on("uncaughtException",e=>{nS(e)||nt(e)}),process.on("unhandledRejection",e=>nt(e))}onUnexpectedError(e){this.logService.error(`[uncaught exception in main]: ${e}`),e.stack&&this.logService.error(e.stack)}};ua=E([g(1,Je)],ua)});import{app as Pn,powerMonitor as Dc,protocol as k_,session as Ac,systemPreferences as R_}from"electron";import{execFile as kO}from"child_process";import{hostname as RO,release as DO}from"os";var Is,D_=I(()=>{Na();Rn();Xa();ot();Wo();z();Mg();ro();$();qe();Ce();Z();Le();le();Jt();Sx();xi();Ex();Af();xy();Ee();gl();yP();it();bP();ym();$y();Gs();Bd();$P();_u();zP();mI();A0();Dt();Ll();Vm();EI();z0();j0();X0();Y0();Z0();hE();ze();RE();sh();Ku();ee();dh();AE();ME();OE();Et();re();NE();Rl();ms();JI();BE();VE();nr();Sl();YE();xh();bn();ZE();Mi();QI();ir();eC();tC();wo();vo();rC();nC();oC();lC();cC();dC();gC();HI();vC();yC();wC();bC();PC();jo();Vt();FC();WC();Tr();Cm();ju();UC();ts();li();NC();Yo();tp();Ew();pT();fT();mT();ge();It();ST();xT();PT();zl();ET();TT();gc();_T();HT();$T();KT();Ow();jT();Gi();Tl();JT();fd();vw();XT();YT();Uw();n_();i_();o_();P_();zw();qw();E_();__();Is=class extends T{constructor(e,t,n,o,s,a,l,c,d,u,f,m){super();this.mainProcessNodeIpcServer=e;this.userEnv=t;this.mainInstantiationService=n;this.logService=o;this.loggerService=s;this.environmentMainService=a;this.lifecycleMainService=l;this.configurationService=c;this.stateService=d;this.fileService=u;this.productService=f;this.userDataProfilesMainService=m;this.configureSession(),this.registerListeners()}static{this.SECURITY_PROTOCOL_HANDLING_CONFIRMATION_SETTING_KEY={[W.file]:"security.promptForLocalFileProtocolHandling",[W.vscodeRemote]:"security.promptForRemoteFileProtocolHandling"}}configureSession(){let e=m=>m?.startsWith(`${W.vscodeFileResource}://${Ma}`),t=m=>m?.startsWith(`${W.vscodeWebview}://`),n=new Set(["pointerLock","notifications"]),o=new Set([...n,"clipboard-read","clipboard-sanitized-write","deprecated-sync-clipboard-read"]),s=new Set([...n,"media","local-fonts","deprecated-sync-clipboard-read"]);Ac.defaultSession.setPermissionRequestHandler((m,y,v,C)=>t(C.requestingUrl)?v(o.has(y)):e(C.requestingUrl)?v(s.has(y)):v(!1)),Ac.defaultSession.setPermissionCheckHandler((m,y,v,C)=>t(C.requestingUrl)?o.has(y):e(C.requestingUrl)?s.has(y):!1);let a=new Set([W.file,W.vscodeFileResource,W.vscodeRemoteResource,W.vscodeManagedRemoteResource,"devtools"]),l=m=>{for(let y=m;y;y=y.parent)if(y.url.startsWith(`${W.vscodeWebview}://`))return!0;return!1},c=m=>m.resourceType==="xhr"||l(m.frame),d=m=>{let y=m.frame;if(!y||!this.windowsMainService)return!1;let v=Ai();for(let C of v)if(y.processId===C.webContents.mainFrame.processId)return!0;return!1},u=(m,y)=>{if(m.path!=="/index.html")return!0;let v=y.frame;if(!v||!this.windowsMainService)return!1;for(let C of this.windowsMainService.getWindows())if(C.win&&v.processId===C.win.webContents.mainFrame.processId)return!0;return!1};Ac.defaultSession.webRequest.onBeforeRequest((m,y)=>{let v=P.parse(m.url);return v.scheme===W.vscodeWebview&&!u(v,m)?(this.logService.error("Blocked vscode-webview request",m.url),y({cancel:!0})):v.scheme===W.vscodeFileResource&&!d(m)?(this.logService.error("Blocked vscode-file request",m.url),y({cancel:!0})):v.path.endsWith(".svg")&&!a.has(v.scheme)?y({cancel:!c(m)}):y({cancel:!1})}),Ac.defaultSession.webRequest.onHeadersReceived((m,y)=>{let v=m.responseHeaders,C=v["content-type"]||v["Content-Type"];if(C&&Array.isArray(C)){let w=P.parse(m.url);if(w.path.endsWith(".svg")&&a.has(w.scheme))return v["Content-Type"]=["image/svg+xml"],y({cancel:!1,responseHeaders:v});if(!w.path.endsWith(W.vscodeRemoteResource)&&C.some(_=>_.toLowerCase().includes("image/svg")))return y({cancel:!c(m)})}return y({cancel:!1})}),Ac.defaultSession.webRequest.onHeadersReceived((m,y)=>{if(m.url.startsWith("https://vscode.download.prss.microsoft.com/")){let v=m.responseHeaders??Object.create(null);if(v["Access-Control-Allow-Origin"]===void 0)return v["Access-Control-Allow-Origin"]=["*"],y({cancel:!1,responseHeaders:v})}return y({cancel:!1})});let f=Ac.defaultSession;typeof f.setCodeCachePath=="function"&&this.environmentMainService.codeCachePath&&f.setCodeCachePath(V(this.environmentMainService.codeCachePath,"chrome")),F&&(this.configurationService.getValue("security.restrictUNCAccess")===!1?E1():Zi(this.configurationService.getValue("security.allowedUNCHosts")))}registerListeners(){S.once(this.lifecycleMainService.onWillShutdown)(()=>this.dispose()),wx(),Pn.on("accessibility-support-changed",(n,o)=>{this.windowsMainService?.sendToAll("vscode:accessibilitySupportChanged",o)}),Pn.on("activate",async(n,o)=>{this.logService.trace("app#activate"),o||await this.windowsMainService?.openEmptyWindow({context:1})}),Pn.on("web-contents-created",(n,o)=>{o?.opener?.url.startsWith(`${W.vscodeFileResource}://${Ma}/`)&&(this.logService.trace('[aux window]  app.on("web-contents-created"): Registering auxiliary window'),this.auxiliaryWindowsMainService?.registerWindow(o)),o.on("will-navigate",s=>{Qs.isBrowserViewWebContents(o)||(this.logService.error("webContents#will-navigate: Prevented webcontent navigation"),s.preventDefault())}),o.setWindowOpenHandler(s=>s.url==="about:blank"?(this.logService.trace("[aux window] webContents#setWindowOpenHandler: Allowing auxiliary window to open on about:blank"),{action:"allow",overrideBrowserWindowOptions:this.auxiliaryWindowsMainService?.createWindow(s)}):(this.logService.trace(`webContents#setWindowOpenHandler: Prevented opening window with URL ${s.url}}`),this.nativeHostMainService?.openExternal(void 0,s.url),{action:"deny"}))});let e=[],t;Pn.on("open-file",(n,o)=>{o=bi(o),this.logService.trace("app#open-file: ",o),n.preventDefault(),e.push(Ti(o)?{workspaceUri:P.file(o)}:{fileUri:P.file(o)}),t!==void 0&&(clearTimeout(t),t=void 0),t=setTimeout(async()=>{await this.windowsMainService?.open({context:1,cli:this.environmentMainService.args,urisToOpen:e,gotoLineMode:!1,preferNewWindow:!0}),e=[],t=void 0},100)}),Pn.on("new-window-for-tab",async()=>{await this.windowsMainService?.openEmptyWindow({context:4})}),tt.handle("vscode:fetchShellEnv",n=>{let o=this.windowsMainService?.getWindowByWebContents(n.sender),s,a;return o?.config?(s=o.config,a={...process.env,...o.config.userEnv}):(s=this.environmentMainService.args,a=process.env),this.resolveShellEnvironment(s,a,!1)}),tt.on("vscode:toggleDevTools",n=>n.sender.toggleDevTools()),tt.on("vscode:openDevTools",n=>n.sender.openDevTools()),tt.on("vscode:reloadWindow",n=>n.sender.reload()),tt.handle("vscode:notifyZoomLevel",async(n,o)=>{let s=this.windowsMainService?.getWindowByWebContents(n.sender);s&&s.notifyZoomLevel(o)})}async startup(){this.logService.debug("Starting VS Code"),this.logService.debug(`from: ${this.environmentMainService.appRoot}`),this.logService.debug("args:",this.environmentMainService.args);let e=this.productService.win32AppUserModelId;F&&e&&Pn.setAppUserModelId(e);try{N&&this.configurationService.getValue("window.nativeTabs")===!0&&!R_.getUserDefault("NSUseImprovedLayoutPass","boolean")&&R_.setUserDefault("NSUseImprovedLayoutPass","boolean",!0)}catch(f){this.logService.error(f)}let t=new Rf;S.once(this.lifecycleMainService.onWillShutdown)(f=>{f.reason===2&&t.dispose()});let[n,o,s]=await Promise.all([yT(this.stateService,this.logService),IT(this.stateService,this.logService),wT(this.stateService,this.logService)]),{sharedProcessReady:a,sharedProcessClient:l}=this.setupSharedProcess(n,o,s),c=await this.initServices(n,o,s,a);c.invokeFunction(f=>this._register(new ua(f.get(U),f.get(Je)))),c.invokeFunction(f=>{f.get(Gr).setTelemetryService(f.get(Je))}),c.invokeFunction(f=>f.get(vu)),this._register(c.createInstance(fc)),c.invokeFunction(f=>this.initChannels(f,t,l));let d=await c.invokeFunction(f=>this.setupProtocolUrlHandlers(f,t));this.setupManagedRemoteResourceUrlHandler(t),this.lifecycleMainService.phase=2,await c.invokeFunction(f=>this.openFirstWindow(f,d)),this.lifecycleMainService.phase=3,this.afterWindowOpen(c),this._register(new gr(()=>{this._register(pd(()=>{this.lifecycleMainService.phase=4,this.eventuallyAfterWindowOpen()},2500))},2500)).schedule()}async setupProtocolUrlHandlers(e,t){let n=this.windowsMainService=e.get(Ke),o=e.get(Vl),s=this.nativeHostMainService=e.get(On),a=e.get(Sn),l=this;o.registerHandler({async handleURL(y,v){return l.handleProtocolUrl(n,a,o,y,v)}});let c=this._register(new Nh({onDidOpenMainWindow:s.onDidOpenMainWindow,onDidFocusMainWindow:s.onDidFocusMainWindow,getActiveWindowId:()=>s.getActiveWindowId(-1)})),d=new Pf(y=>c.getActiveClientId().then(v=>y===v)),u=new Mh(d,this.logService),f=t.getChannel("urlHandler",u);o.registerHandler(new Lh(f));let m=await this.resolveInitialProtocolUrls(n,a);return this._register(new Oh(m?.urls,o,n,this.environmentMainService,this.productService,this.logService)),m}setupManagedRemoteResourceUrlHandler(e){let t=()=>({statusCode:404,data:"Not found"}),n=new er(()=>e.getChannel(zT,new Qh));k_.registerBufferProtocol(W.vscodeManagedRemoteResource,(o,s)=>{let a=P.parse(o.url);if(!a.authority.startsWith("window:"))return s(t());n.value.call(Fw,[a]).then(l=>s({...l,data:Buffer.from(l.body,"base64")}),l=>{this.logService.warn("error dispatching remote resource call",l),s({statusCode:500,data:String(l)})})})}async resolveInitialProtocolUrls(e,t){let n=this.environmentMainService.args["open-url"]?this.environmentMainService.args._urls||[]:[];n.length>0&&this.logService.trace("app#resolveInitialProtocolUrls() protocol urls from command line:",n);let o=global.getOpenUrls?.()||[];if(o.length>0&&this.logService.trace("app#resolveInitialProtocolUrls() protocol urls from macOS 'open-url' event:",o),n.length+o.length===0)return;let s=[...n,...o].map(c=>{try{return{uri:P.parse(c),originalUrl:c}}catch{this.logService.trace("app#resolveInitialProtocolUrls() protocol url failed to parse:",c);return}}),a=[],l=[];for(let c of s){if(!c)continue;let d=this.getWindowOpenableFromProtocolUrl(c.uri);if(d){if(process.isEmbeddedApp){this.logService.trace("app#resolveInitialProtocolUrls() agents app skipping window openable:",c.uri.toString(!0));continue}if(await this.shouldBlockOpenable(d,e,t)){this.logService.trace("app#resolveInitialProtocolUrls() protocol url was blocked:",c.uri.toString(!0));continue}else this.logService.trace("app#resolveInitialProtocolUrls() protocol url will be handled as window to open:",c.uri.toString(!0),d),a.push(d)}else this.logService.trace("app#resolveInitialProtocolUrls() protocol url will be passed to active window for handling:",c.uri.toString(!0)),l.push(c)}return{urls:l,openables:a}}async shouldBlockOpenable(e,t,n){let o,s;if(au(e)?(o=e.workspaceUri,s=h(159,null,o.scheme===W.file?to(o,{os:Ot,tildify:this.environmentMainService}):o.toString(!0),this.productService.nameShort)):tm(e)?(o=e.folderUri,s=h(158,null,o.scheme===W.file?to(o,{os:Ot,tildify:this.environmentMainService}):o.toString(!0),this.productService.nameShort)):(o=e.fileUri,s=h(157,null,o.scheme===W.file?to(o,{os:Ot,tildify:this.environmentMainService}):o.toString(!0),this.productService.nameShort)),o.scheme!==W.file&&o.scheme!==W.vscodeRemote||this.configurationService.getValue(Is.SECURITY_PROTOCOL_HANDLING_CONFIRMATION_SETTING_KEY[o.scheme])===!1)return!1;let{response:l,checkboxChecked:c}=await n.showMessageBox({type:"warning",buttons:[h(162,null),h(155,null)],message:s,detail:h(156,null),checkboxLabel:o.scheme===W.file?h(160,null):h(161,null),cancelId:1});if(l!==0)return!0;if(c){let d={channel:"vscode:disablePromptForProtocolHandling",args:o.scheme===W.file?"local":"remote"};t.sendToFocused(d.channel,d.args),t.sendToOpeningWindow(d.channel,d.args)}return!1}getWindowOpenableFromProtocolUrl(e){if(e.path){if(e.authority===W.file){let t=P.file(e.fsPath);return Ti(t)?{workspaceUri:t}:{fileUri:t}}else if(e.authority===W.vscodeRemote){let t=e.path.indexOf(de.sep,1),n,o;t!==-1?(n=e.path.substring(1,t),o=e.path.substring(t)):(n=e.path.substring(1),o="/");let s=e.query,a=new URLSearchParams(e.query);a.get("windowId")==="_blank"&&(a.delete("windowId"),s=a.toString());let l=P.from({scheme:W.vscodeRemote,authority:n,path:o,query:s,fragment:e.fragment});return Ti(o)?{workspaceUri:l}:/:[\d]+$/.test(o)?{fileUri:l}:{folderUri:l}}}}async handleProtocolUrl(e,t,n,o,s){if(this.logService.trace("app#handleProtocolUrl():",o.toString(!0),s),process.isEmbeddedApp){if(this.logService.trace("app#handleProtocolUrl() agents app handling protocol URL:",o.toString(!0)),this.getWindowOpenableFromProtocolUrl(o))return this.logService.trace("app#handleProtocolUrl() agents app skipping window openable:",o.toString(!0)),!0;let y=(await e.openAgentsWindow({context:6,cli:this.environmentMainService.args})).at(0);return y?.focus(),await y?.ready(),!1}o.scheme===this.productService.urlProtocol&&o.path==="workspace"&&(o=o.with({authority:W.file,path:P.parse(o.query).path,query:""}));let a=!1,l=new URLSearchParams(o.query);l.get("windowId")==="_blank"?(this.logService.trace("app#handleProtocolUrl() found 'windowId=_blank' as parameter, setting shouldOpenInNewWindow=true:",o.toString(!0)),l.delete("windowId"),o=o.with({query:l.toString()}),a=!0):N&&e.getWindowCount()===0&&(this.logService.trace("app#handleProtocolUrl() running on macOS with no window open, setting shouldOpenInNewWindow=true:",o.toString(!0)),a=!0);let c=l.get("continueOn");c!==null&&(this.logService.trace("app#handleProtocolUrl() found 'continueOn' as parameter:",o.toString(!0)),l.delete("continueOn"),o=o.with({query:l.toString()}),this.environmentMainService.continueOn=c??void 0);let d=l.get("session");d!==null&&(this.logService.trace("app#handleProtocolUrl() found 'session' as parameter:",o.toString(!0)),l.delete("session"),o=o.with({query:l.toString()}));let u=this.getWindowOpenableFromProtocolUrl(o);if(u){if(await this.shouldBlockOpenable(u,e,t))return this.logService.trace("app#handleProtocolUrl() protocol url was blocked:",o.toString(!0)),!0;{this.logService.trace("app#handleProtocolUrl() opening protocol url as window:",u,o.toString(!0));let f=(await e.open({context:6,cli:{...this.environmentMainService.args},urisToOpen:[u],forceNewWindow:a,gotoLineMode:!0})).at(0);return f?.focus(),f&&d&&f.sendWhenReady("vscode:openChatSession",xe.None,d),!0}}return a?(this.logService.trace("app#handleProtocolUrl() opening empty window and passing in protocol url:",o.toString(!0)),await(await e.open({context:6,cli:{...this.environmentMainService.args},forceNewWindow:!0,forceEmpty:!0,gotoLineMode:!0,remoteAuthority:ho(o)})).at(0)?.ready(),n.open(o,s)):(this.logService.trace("app#handleProtocolUrl(): not handled",o.toString(!0),s),!1)}setupSharedProcess(e,t,n){let o=this._register(this.mainInstantiationService.createInstance(Jl,e,t,n));this._register(o.onDidCrash(()=>this.windowsMainService?.sendToFocused("vscode:reportSharedProcessCrash")));let s=(async()=>{this.logService.trace("Main->SharedProcess#connect");let l=await o.connect();return this.logService.trace("Main->SharedProcess#connect: connection established"),new $o(l,"main")})();return{sharedProcessReady:(async()=>(await o.whenReady(),s))(),sharedProcessClient:s}}async initServices(e,t,n,o){let s=new us;switch(process.platform){case"win32":s.set(ps,new me(sa));break;case"linux":_p?s.set(ps,new me(Zl,[process.env.SNAP,process.env.SNAP_REVISION])):s.set(ps,new me(Yl));break;case"darwin":s.set(ps,new me(di));break}s.set(Ke,new me(ac,[e,t,n,this.userEnv],!1)),s.set(ni,new me(Pc,void 0,!1));let a=new wl(this.logService,this.productService);s.set(Sn,a),s.set(ph,new me(Hl,void 0,!1)),s.set(El,new me(Pl,void 0,!1)),s.set(wu,et.toService(Rd(o.then(m=>m.getChannel("diagnostics"))))),s.set(Ya,new me(Cl)),s.set(Zw,new me(Rc)),s.set(Fu,new me(Qs,void 0,!1)),s.set(hI,new me(Al,void 0,!1)),s.set(VI,new me(Bl)),s.set(On,new me(Js,void 0,!1));let l=new ql(this.configurationService);s.set(Gr,l),s.set(eg,new me(Zh)),s.set(tg,new me(_c,void 0,!0)),s.set($w,new me(kc,void 0,!1)),s.set(lw,new me(tc)),s.set(zI,new me($l)),s.set(PI,new me(ls)),s.set(Zo,new me(fl)),s.set(yr,new me(ml));let c=new vc({graceTime:6e4,shortGraceTime:6e3,scrollback:this.configurationService.getValue("terminal.integrated.persistentSessionScrollback")??100},this.configurationService,this.environmentMainService,this.lifecycleMainService,this.logService),d=new bc(c,this.configurationService,this.logService,this.loggerService);if(s.set(kw,d),this.configurationService.getValue(qT)){let m=new ys(this.environmentMainService,this.lifecycleMainService,this.logService);this._register(new Sc(m,this.logService,this.loggerService))}F?s.set(Vu,new me($u)):N?s.set(Vu,new me(Hm)):ne&&s.set(Vu,new me(qu)),s.set(TI,new me($m));let u=new fo(this.environmentMainService,this.configurationService,this.logService,this.stateService);s.set(Oi,u);let f=new xl(this.environmentMainService,this.logService,this.userDataProfilesMainService,u,a);if(s.set(pn,f),s.set(By,new me(lc,void 0,!1)),s.set(fs,new me(Ir,void 0,!1)),s.set(Vl,new me(ec,void 0,!1)),bh(this.productService,this.environmentMainService)){let m=GE(this.productService,this.configurationService),y=Rd(o.then(R=>R.getChannel("telemetryAppender"))),v=new Eh(y),C=zE(DO(),RO(),process.arch,this.productService.commit,this.productService.version,e,t,n,m,this.productService.date,this.productService.telemetryAppName),w=JE(this.environmentMainService),_={appenders:[v],commonProperties:C,piiPaths:w,sendErrorTelemetry:!0};s.set(Je,new me(bo,[_],!1))}else s.set(Je,Wi);return s.set(vs,new me(mc,void 0,!0)),s.set(uT,new me(pc,void 0,!0)),s.set(Tw,new me(hc,void 0,!0)),s.set(vu,new me(hl)),s.set(Ww,new me(Xh)),s.set(op,new me(Cc)),s.set(Wh,new me(oc,void 0,!0)),await gt.settled([u.initialize(),f.initialize()]),this.mainInstantiationService.createChild(s)}initChannels(e,t,n){let o=this._register(new J),s=et.fromService(e.get(ph),o,{disableMarshalling:!0});this.mainProcessNodeIpcServer.registerChannel("launch",s);let a=et.fromService(e.get(El),o,{disableMarshalling:!0});this.mainProcessNodeIpcServer.registerChannel("diagnostics",a);let l=o.add(new Bh(e.get(Fn)));t.registerChannel("policy",l),n.then(ke=>ke.registerChannel("policy",l));let c=this.fileService.getProvider(W.file);xS(c instanceof ds);let d=o.add(new ch(c,this.logService,this.environmentMainService));t.registerChannel(OI,d),n.then(ke=>ke.registerChannel(OI,d));let u=et.fromService(e.get(Wr),o);t.registerChannel("userDataProfiles",u),n.then(ke=>ke.registerChannel("userDataProfiles",u));let f=e.get(Zw);(N||F)&&f.initialize();let m=e.get(ps),y=m,v=this.productService.quality==="insider"||this.productService.quality==="exploration";(N||F)&&v&&(y=this._register(new Th(m,this.logService,this.lifecycleMainService,f)));let C=new Ch(y);t.registerChannel("update",C),N&&this._register(new Rh(e.get(Zo),e.get(Ya),e.get(Pt),this.logService,this.environmentMainService,e.get(ph),this.lifecycleMainService,f));let w=new vh(e.get(Gr));t.registerChannel(GI,w),n.then(ke=>ke.registerChannel(GI,w));let _=et.fromService(new Nl(this.logService,e.get(wu),e.get(El)),o);t.registerChannel("process",_);let R=et.fromService(e.get(Ya),o);t.registerChannel("encryption",R);let D=et.fromService(e.get(Fu),o);t.registerChannel(qy,D),n.then(ke=>ke.registerChannel(qy,D));let M=et.fromService(e.get(hI),o);t.registerChannel(Ky,M),n.then(ke=>ke.registerChannel(Ky,M));let X=et.fromService(e.get(hs),o);t.registerChannel("sign",X);let B=et.fromService(e.get(VI),o);t.registerChannel("keyboardLayout",B),this.nativeHostMainService=e.get(On);let G=et.fromService(this.nativeHostMainService,o);t.registerChannel("nativeHost",G),n.then(ke=>ke.registerChannel("nativeHost",G));let q=et.fromService(e.get($w),o);t.registerChannel("webContentExtractor",q);let ve=et.fromService(e.get(By),o);t.registerChannel("workspaces",ve);let vt=et.fromService(e.get(zI),o);t.registerChannel("menubar",vt);let At=et.fromService(e.get(Vl),o);t.registerChannel("url",At);let ui=et.fromService(e.get(lw),o);t.registerChannel("webview",ui);let gn=o.add(new Ph(this.logService,e.get(Zo)));t.registerChannel("storage",gn),n.then(ke=>ke.registerChannel("storage",gn));let ie=o.add(new zh(e.get(Zo),e.get(Wr),this.logService));n.then(ke=>ke.registerChannel("profileStorageListener",ie));let K=et.fromService(e.get(kw),o);t.registerChannel("localPty",K);let Y=et.fromService(e.get(Vu),o);t.registerChannel("externalTerminal",Y);let te=et.fromService(e.get(TI),o);t.registerChannel("sandboxHelper",te);let oe=et.fromService(e.get(Ww),o);t.registerChannel(QT,oe);let ue=this._register(new Tc(t,e.get(op),e.get(ci)));t.registerChannel(ZT,ue);let Ie=new jh(e.get(ci));t.registerChannel("logger",Ie),n.then(ke=>ke.registerChannel("logger",Ie));let bt=new vm(e.get(Ke));t.registerChannel("extensionhostdebugservice",bt);let Xe=et.fromService(e.get(PI),o);t.registerChannel(q0,Xe);let Lt=et.fromService(e.get(Tw),o);t.registerChannel(CT,Lt)}async openFirstWindow(e,t){let n=this.windowsMainService=e.get(Ke);this.auxiliaryWindowsMainService=e.get(ni);let o=si(process.env)?0:4,s=this.environmentMainService.args;if(s["share-secrets-with-agents-app"]&&!(s._.length>0||s["folder-uri"]||s["file-uri"]))return[];if(process.isEmbeddedApp||s.agents&&this.productService.quality!=="stable")return n.openAgentsWindow({context:o,cli:s,initialStartup:!0});if(t){if(t.openables.length>0)return n.open({context:o,cli:s,urisToOpen:t.openables,gotoLineMode:!0,initialStartup:!0});if(t.urls.length>0)for(let C of t.urls){let w=new URLSearchParams(C.uri.query);if(w.get("windowId")==="_blank")return w.delete("windowId"),C.originalUrl=C.uri.toString(!0),C.uri=C.uri.with({query:w.toString()}),n.open({context:o,cli:s,forceNewWindow:!0,forceEmpty:!0,gotoLineMode:!0,initialStartup:!0})}}let a=global.macOpenFiles??[],l=s._.length,c=!!s["folder-uri"],d=!!s["file-uri"],u=s["skip-add-to-recently-opened"]===!0,f=s.wait&&s.waitMarkerFilePath?P.file(s.waitMarkerFilePath):void 0,m=s.remote||void 0,y=s.profile,v=s["profile-temp"];if(!l&&!c&&!d){if(s["new-window"]||y||v)return n.open({context:o,cli:s,forceNewWindow:!0,forceEmpty:!0,noRecentEntry:u,waitMarkerFileURI:f,initialStartup:!0,remoteAuthority:m,forceProfile:y,forceTempProfile:v});if(a.length)return n.open({context:1,cli:s,urisToOpen:a.map(C=>(C=bi(C),Ti(C)?{workspaceUri:P.file(C)}:{fileUri:P.file(C)})),noRecentEntry:u,waitMarkerFileURI:f,initialStartup:!0})}return n.open({context:o,cli:s,forceNewWindow:s["new-window"],diffMode:s.diff,mergeMode:s.merge,noRecentEntry:u,waitMarkerFileURI:f,gotoLineMode:s.goto,initialStartup:!0,remoteAuthority:m,forceProfile:y,forceTempProfile:v})}afterWindowOpen(e){F&&Tf(),this.installMutex(),k_.registerHttpProtocol(W.vscodeRemoteResource,(t,n)=>{n({url:t.url.replace(/^vscode-remote-resource:/,"http:"),method:t.method})}),this.resolveShellEnvironment(this.environmentMainService.args,process.env,!0),this.updateCrashReporterEnablement(),N&&Pn.runningUnderARM64Translation&&this.windowsMainService?.sendToFocused("vscode:showTranslatedBuildWarning"),e.invokeFunction(t=>{let n=t.get(Je),o=()=>({idleState:Dc.getSystemIdleState(60),idleTime:Dc.getSystemIdleTime(),thermalState:Dc.getCurrentThermalState(),onBattery:Dc.isOnBatteryPower()});this._register(S.fromNodeEventEmitter(Dc,"suspend")(()=>{n.publicLog2("power.suspend",o())})),this._register(S.fromNodeEventEmitter(Dc,"resume")(()=>{n.publicLog2("power.resume",o())}))}),N&&e.invokeFunction(t=>{let n=t.get(Je);if(Pn.getGPUFeatureStatus().skia_graphite==="enabled"){let a=S.fromNodeEventEmitter(Pn,"gpu-info-update"),l=this._register(new jt);this._register(S.fromNodeEventEmitter(Pn,"child-process-gone",(c,d)=>({event:c,details:d}))(({details:c})=>{c.type==="GPU"&&c.reason==="crashed"&&(l.value=S.once(a)(()=>{let d=Pn.getGPUFeatureStatus();if(d.rasterization!=="enabled"){let f=[],m=Pn;typeof m.getGPULogMessages=="function"&&(f=m.getGPULogMessages().slice(-10).map(y=>y.message)),n.publicLog2("gpu.crash.fallback",{gpuFeatureStatus:JSON.stringify(d),gpuLogMessages:JSON.stringify(f)})}}))}))}});{let t=Pn;e.invokeFunction(n=>{let o=n.get(Je);this._register(S.fromNodeEventEmitter(t,"network-process-launched",(s,a)=>a)(s=>{this.logService.info(`[network process] launched with pid ${s.pid}`),o.publicLog2("networkProcess.launched",{})})),this._register(S.fromNodeEventEmitter(t,"network-process-gone",(s,a)=>a)(s=>{this.logService.info(`[network process] gone - pid: ${s.pid}, exitCode: ${s.exitCode}, crashed: ${s.crashed}, crashedPreIPC: ${s.crashedPreIPC}`),o.publicLog2("networkProcess.gone",{exitCode:s.exitCode,crashed:s.crashed,crashedPreIPC:s.crashedPreIPC})}))})}}async installMutex(){let e=this.productService.win32MutexName;if(F&&e)try{let t=await import("@vscode/windows-mutex"),n=new t.Mutex(e);S.once(this.lifecycleMainService.onWillShutdown)(()=>n.release())}catch(t){this.logService.error(t)}}async resolveShellEnvironment(e,t,n){try{return await Ol(this.configurationService,this.logService,e,t)}catch(o){let s=Er(o);n?this.windowsMainService?.sendToFocused("vscode:showResolveShellEnvError",s):this.logService.error(s)}return{}}async updateCrashReporterEnablement(){try{let t=(await this.fileService.readFile(this.environmentMainService.argvResource)).value.toString(),n=bp(t),s=Gl(this.configurationService)>=1;if(n["enable-crash-reporter"]===void 0){let a=["","	// Allows to disable crash reporting.","	// Should restart the app if the value is changed.",`	"enable-crash-reporter": ${s},`,"","	// Unique id used for correlating crash reports sent from this instance.","	// Do not edit this value.",`	"crash-reporter-id": "${_e()}"`,"}"],l=t.substring(0,t.length-2).concat(`,
`,a.join(`
`));await this.fileService.writeFile(this.environmentMainService.argvResource,H.fromString(l))}else{let a=t.replace(/"enable-crash-reporter": .*,/,`"enable-crash-reporter": ${s},`);a!==t&&await this.fileService.writeFile(this.environmentMainService.argvResource,H.fromString(a))}}catch(e){this.logService.error(e),this.windowsMainService?.sendToFocused("vscode:showArgvParseWarning")}}eventuallyAfterWindowOpen(){bT(this.stateService,this.logService),this.registerEmbeddedAppWithLaunchServices()}registerEmbeddedAppWithLaunchServices(){if(!N||process.isEmbeddedApp||!this.productService.embedded?.nameShort||this.productService.quality==="stable")return;let e="launchServices.registeredEmbeddedApp",t=this.productService.version;if(this.stateService.getItem(e)===t){this.logService.trace("Embedded app already registered with Launch Services for this version, skipping.");return}let n=V(this.environmentMainService.appRoot,"..","..","Applications",`${this.productService.embedded.nameLong}.app`),o="/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister";this.logService.trace("Registering embedded app with Launch Services:",n),kO(o,["-f",n],{timeout:3e4},a=>{a?this.logService.error("Failed to register embedded app with Launch Services:",a.message):this.stateService.setItem(e,t)}).unref()}};Is=E([g(2,Nt),g(3,U),g(4,cn),g(5,Te),g(6,ye),g(7,fe),g(8,Pt),g(9,Me),g(10,De),g(11,Wr)],Is)});function lp(i){return Object.isFrozen(i)?i:xP(i)}function ws(i,r){let{added:e,removed:t,updated:n}=A_(r?.rawConfiguration,i?.rawConfiguration),o=[],s=i?.getAllOverrideIdentifiers()||[],a=r?.getAllOverrideIdentifiers()||[];if(r){let l=a.filter(c=>!s.includes(c));for(let c of l)o.push([c,r.getKeysForOverrideIdentifier(c)])}if(i){let l=s.filter(c=>!a.includes(c));for(let c of l)o.push([c,i.getKeysForOverrideIdentifier(c)])}if(r&&i){for(let l of s)if(a.includes(l)){let c=A_({contents:i.getOverrideValue(void 0,l)||{},keys:i.getKeysForOverrideIdentifier(l)},{contents:r.getOverrideValue(void 0,l)||{},keys:r.getKeysForOverrideIdentifier(l)});o.push([l,[...c.added,...c.removed,...c.updated]])}}return{added:e,removed:t,updated:n,overrides:o}}function A_(i,r){let e=i?r?i.keys.filter(o=>r.keys.indexOf(o)===-1):[...i.keys]:[],t=r?i?r.keys.filter(o=>i.keys.indexOf(o)===-1):[...r.keys]:[],n=[];if(i&&r){for(let o of r.keys)if(i.keys.indexOf(o)!==-1){let s=yd(r.contents,o),a=yd(i.contents,o);dn(s,a)||n.push(o)}}return{added:e,removed:t,updated:n}}var Ct,ig,og,eb,Lc,sg,tb=I(()=>{zt();z();ri();$();xr();un();Le();le();it();eo();ze();Xn();Ct=class i{constructor(r,e,t,n,o){this._contents=r;this._keys=e;this._overrides=t;this._raw=n;this.logService=o;this.overrideConfigurations=new Map}static createEmptyModel(r){return new i({},[],[],void 0,r)}get rawConfiguration(){if(!this._rawConfiguration)if(this._raw){let r=(Array.isArray(this._raw)?this._raw:[this._raw]).map(e=>{if(e instanceof i)return e;let t=new ig("",this.logService);return t.parseRaw(e),t.configurationModel});this._rawConfiguration=r.reduce((e,t)=>t===e?t:e.merge(t),r[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(r=>r instanceof i)))return this._raw}isEmpty(){return this._keys.length===0&&Object.keys(this._contents).length===0&&this._overrides.length===0}getValue(r){return r?yd(this.contents,r):this.contents}inspect(r,e){let t=this;return{get value(){return lp(t.rawConfiguration.getValue(r))},get override(){return e?lp(t.rawConfiguration.getOverrideValue(r,e)):void 0},get merged(){return lp(e?t.rawConfiguration.override(e).getValue(r):t.rawConfiguration.getValue(r))},get overrides(){let n=[];for(let{contents:o,identifiers:s,keys:a}of t.rawConfiguration.overrides){let l=new i(o,a,[],void 0,t.logService).getValue(r);l!==void 0&&n.push({identifiers:s,value:l})}return n.length?lp(n):void 0}}}getOverrideValue(r,e){let t=this.getContentsForOverrideIdentifer(e);return t?r?yd(t,r):t:void 0}getKeysForOverrideIdentifier(r){let e=[];for(let t of this.overrides)t.identifiers.includes(r)&&e.push(...t.keys);return Ar(e)}getAllOverrideIdentifiers(){let r=[];for(let e of this.overrides)r.push(...e.identifiers);return Ar(r)}override(r){let e=this.overrideConfigurations.get(r);return e||(e=this.createOverrideConfigurationModel(r),this.overrideConfigurations.set(r,e)),e}merge(...r){let e=or(this.contents),t=or(this.overrides),n=[...this.keys],o=this._raw?Array.isArray(this._raw)?[...this._raw]:[this._raw]:[this];for(let s of r)if(o.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]=t.filter(c=>Ro(c.identifiers,a.identifiers));l?(this.mergeContents(l.contents,a.contents),l.keys.push(...a.keys),l.keys=Ar(l.keys)):t.push(or(a))}for(let a of s.keys)n.indexOf(a)===-1&&n.push(a)}return new i(e,n,t,!o.length||o.every(s=>s instanceof i)?void 0:o,this.logService)}createOverrideConfigurationModel(r){let e=this.getContentsForOverrideIdentifer(r);if(!e||typeof e!="object"||!Object.keys(e).length)return this;let t={};for(let n of Ar([...Object.keys(this.contents),...Object.keys(e)])){let o=this.contents[n],s=e[n];s&&(typeof o=="object"&&typeof s=="object"?(o=or(o),this.mergeContents(o,s)):o=s),t[n]=o}return new i(t,this.keys,this.overrides,void 0,this.logService)}mergeContents(r,e){for(let t of Object.keys(e)){if(t in r&&je(r[t])&&je(e[t])){this.mergeContents(r[t],e[t]);continue}r[t]=or(e[t])}}getContentsForOverrideIdentifer(r){let e=null,t=null,n=o=>{o&&(t?this.mergeContents(t,o):t=or(o))};for(let o of this.overrides)o.identifiers.length===1&&o.identifiers[0]===r?e=o.contents:o.identifiers.includes(r)&&n(o.contents);return n(e),t}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}addValue(r,e){this.updateValue(r,e,!0)}setValue(r,e){this.updateValue(r,e,!1)}removeValue(r){let e=this.keys.indexOf(r);e!==-1&&(this.keys.splice(e,1),k1(this.contents,r),Si.test(r)&&this.overrides.splice(this.overrides.findIndex(t=>Ro(t.identifiers,Va(r))),1))}updateValue(r,e,t){if(xv(this.contents,r,e,n=>this.logService.error(n)),t=t||this.keys.indexOf(r)===-1,t&&this.keys.push(r),Si.test(r)){let n=this.contents[r],o=Va(r),s={identifiers:o,keys:Object.keys(n),contents:uf(n,l=>this.logService.error(l))},a=this.overrides.findIndex(l=>Ro(l.identifiers,o));a!==-1?this.overrides[a]=s:this.overrides.push(s)}}},ig=class{constructor(r,e){this._name=r;this.logService=e;this._raw=null;this._configurationModel=null;this._restrictedConfigurations=[];this._parseErrors=[]}get configurationModel(){return this._configurationModel||Ct.createEmptyModel(this.logService)}get restrictedConfigurations(){return this._restrictedConfigurations}get errors(){return this._parseErrors}parse(r,e){if(!Ut(r)){let t=this.doParseContent(r);this.parseRaw(t,e)}}reparse(r){this._raw&&this.parseRaw(this._raw,r)}parseRaw(r,e){this._raw=r;let{contents:t,keys:n,overrides:o,restricted:s,hasExcludedProperties:a}=this.doParseRaw(r,e);this._configurationModel=new Ct(t,n,o,a?[r]:void 0,this.logService),this._restrictedConfigurations=s||[]}doParseContent(r){let e={},t=null,n=[],o=[],s=[];function a(c){Array.isArray(n)?n.push(c):t!==null&&(n[t]=c)}let l={onObjectBegin:()=>{let c={};a(c),o.push(n),n=c,t=null},onObjectProperty:c=>{t=c},onObjectEnd:()=>{n=o.pop()},onArrayBegin:()=>{let c=[];a(c),o.push(n),n=c,t=null},onArrayEnd:()=>{n=o.pop()},onLiteralValue:a,onError:(c,d,u)=>{s.push({error:c,offset:d,length:u})}};if(r)try{Il(r,l),e=n[0]||{}}catch(c){this.logService.error(`Error while parsing settings file ${this._name}: ${c}`),this._parseErrors=[c]}return e}doParseRaw(r,e){let t=xt.as(lr.Configuration),n=t.getConfigurationProperties(),o=t.getExcludedConfigurationProperties(),s=this.filter(r,n,o,!0,e);r=s.raw;let a=uf(r,d=>this.logService.error(`Conflict in settings file ${this._name}: ${d}`)),l=Object.keys(r),c=this.toOverrides(r,d=>this.logService.error(`Conflict in settings file ${this._name}: ${d}`));return{contents:a,keys:l,overrides:c,restricted:s.restricted,hasExcludedProperties:s.hasExcludedProperties}}filter(r,e,t,n,o){let s=!1;if(!o?.scopes&&!o?.skipRestricted&&!o?.skipUnregistered&&!o?.exclude?.length)return{raw:r,restricted:[],hasExcludedProperties:s};let a={},l=[];for(let c in r)if(Si.test(c)&&n){let d=this.filter(r[c],e,t,!1,o);a[c]=d.raw,s=s||d.hasExcludedProperties,l.push(...d.restricted)}else{let d=e[c];d?.restricted&&l.push(c),this.shouldInclude(c,d,t,o)?a[c]=r[c]:s=!0}return{raw:a,restricted:l,hasExcludedProperties:s}}shouldInclude(r,e,t,n){if(n.exclude?.includes(r))return!1;if(n.include?.includes(r))return!0;if(n.skipRestricted&&e?.restricted||n.skipUnregistered&&!e)return!1;let o=e??t[r],s=o?typeof o.scope<"u"?o.scope:4:void 0;return s===void 0||n.scopes===void 0?!0:n.scopes.includes(s)}toOverrides(r,e){let t=[];for(let n of Object.keys(r))if(Si.test(n)){let o={},s=r[n];for(let a in s)o[a]=s[a];t.push({identifiers:Va(n),keys:Object.keys(o),contents:uf(o,e)})}return t}},og=class extends T{constructor(e,t,n,o,s){super();this.userSettingsResource=e;this.parseOptions=t;this.fileService=o;this.logService=s;this._onDidChange=this._register(new b);this.onDidChange=this._onDidChange.event;this.parser=new ig(this.userSettingsResource.toString(),s),this._register(this.fileService.watch(n.dirname(this.userSettingsResource))),this._register(this.fileService.watch(this.userSettingsResource)),this._register(S.any(S.filter(this.fileService.onDidFilesChange,a=>a.contains(this.userSettingsResource)),S.filter(this.fileService.onDidRunOperation,a=>(a.isOperation(0)||a.isOperation(3)||a.isOperation(1)||a.isOperation(4))&&n.isEqual(a.resource,e)))(()=>this._onDidChange.fire()))}async loadConfiguration(){try{let e=await this.fileService.readFile(this.userSettingsResource);return this.parser.parse(e.value.toString()||"{}",this.parseOptions),this.parser.configurationModel}catch{return Ct.createEmptyModel(this.logService)}}reparse(e){return e&&(this.parseOptions=e),this.parser.reparse(this.parseOptions),this.parser.configurationModel}getRestrictedSettings(){return this.parser.restrictedConfigurations}},eb=class{constructor(r,e,t,n,o,s,a,l,c,d,u,f,m){this.key=r;this.overrides=e;this._value=t;this.overrideIdentifiers=n;this.defaultConfiguration=o;this.policyConfiguration=s;this.applicationConfiguration=a;this.userConfiguration=l;this.localUserConfiguration=c;this.remoteUserConfiguration=d;this.workspaceConfiguration=u;this.folderConfigurationModel=f;this.memoryConfigurationModel=m}get value(){return lp(this._value)}toInspectValue(r){return r?.value!==void 0||r?.override!==void 0||r?.overrides!==void 0?r: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)}},Lc=class i{constructor(r,e,t,n,o,s,a,l,c,d){this._defaultConfiguration=r;this._policyConfiguration=e;this._applicationConfiguration=t;this._localUserConfiguration=n;this._remoteUserConfiguration=o;this._workspaceConfiguration=s;this._folderConfigurations=a;this._memoryConfiguration=l;this._memoryConfigurationByResource=c;this.logService=d;this._workspaceConsolidatedConfiguration=null;this._foldersConsolidatedConfigurations=new mt;this._userConfiguration=null}getValue(r,e,t){return this.getConsolidatedConfigurationModel(r,e,t).getValue(r)}updateValue(r,e,t={}){let n;t.resource?(n=this._memoryConfigurationByResource.get(t.resource),n||(n=Ct.createEmptyModel(this.logService),this._memoryConfigurationByResource.set(t.resource,n))):n=this._memoryConfiguration,e===void 0?n.removeValue(r):n.setValue(r,e),t.resource||(this._workspaceConsolidatedConfiguration=null)}inspect(r,e,t){let n=this.getConsolidatedConfigurationModel(r,e,t),o=this.getFolderConfigurationModelForResource(e.resource,t),s=e.resource?this._memoryConfigurationByResource.get(e.resource)||this._memoryConfiguration:this._memoryConfiguration,a=new Set;for(let l of n.overrides)for(let c of l.identifiers)n.getOverrideValue(r,c)!==void 0&&a.add(c);return new eb(r,e,n.getValue(r),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,t?this._workspaceConfiguration:void 0,o||void 0,s)}keys(r){let e=this.getFolderConfigurationModelForResource(void 0,r);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(r){this._defaultConfiguration=r,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations.clear()}updatePolicyConfiguration(r){this._policyConfiguration=r}updateApplicationConfiguration(r){this._applicationConfiguration=r,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations.clear()}updateLocalUserConfiguration(r){this._localUserConfiguration=r,this._userConfiguration=null,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations.clear()}updateRemoteUserConfiguration(r){this._remoteUserConfiguration=r,this._userConfiguration=null,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations.clear()}updateWorkspaceConfiguration(r){this._workspaceConfiguration=r,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations.clear()}updateFolderConfiguration(r,e){this._folderConfigurations.set(r,e),this._foldersConsolidatedConfigurations.delete(r)}deleteFolderConfiguration(r){this.folderConfigurations.delete(r),this._foldersConsolidatedConfigurations.delete(r)}compareAndUpdateDefaultConfiguration(r,e){let t=[];if(!e){let{added:n,updated:o,removed:s}=ws(this._defaultConfiguration,r);e=[...n,...o,...s]}for(let n of e)for(let o of Va(n)){let s=this._defaultConfiguration.getKeysForOverrideIdentifier(o),a=r.getKeysForOverrideIdentifier(o),l=[...a.filter(c=>s.indexOf(c)===-1),...s.filter(c=>a.indexOf(c)===-1),...s.filter(c=>!dn(this._defaultConfiguration.override(o).getValue(c),r.override(o).getValue(c)))];t.push([o,l])}return this.updateDefaultConfiguration(r),{keys:e,overrides:t}}compareAndUpdatePolicyConfiguration(r){let{added:e,updated:t,removed:n}=ws(this._policyConfiguration,r),o=[...e,...t,...n];return o.length&&this.updatePolicyConfiguration(r),{keys:o,overrides:[]}}compareAndUpdateApplicationConfiguration(r){let{added:e,updated:t,removed:n,overrides:o}=ws(this.applicationConfiguration,r),s=[...e,...t,...n];return s.length&&this.updateApplicationConfiguration(r),{keys:s,overrides:o}}compareAndUpdateLocalUserConfiguration(r){let{added:e,updated:t,removed:n,overrides:o}=ws(this.localUserConfiguration,r),s=[...e,...t,...n];return s.length&&this.updateLocalUserConfiguration(r),{keys:s,overrides:o}}compareAndUpdateRemoteUserConfiguration(r){let{added:e,updated:t,removed:n,overrides:o}=ws(this.remoteUserConfiguration,r),s=[...e,...t,...n];return s.length&&this.updateRemoteUserConfiguration(r),{keys:s,overrides:o}}compareAndUpdateWorkspaceConfiguration(r){let{added:e,updated:t,removed:n,overrides:o}=ws(this.workspaceConfiguration,r),s=[...e,...t,...n];return s.length&&this.updateWorkspaceConfiguration(r),{keys:s,overrides:o}}compareAndUpdateFolderConfiguration(r,e){let t=this.folderConfigurations.get(r),{added:n,updated:o,removed:s,overrides:a}=ws(t,e),l=[...n,...o,...s];return(l.length||!t)&&this.updateFolderConfiguration(r,e),{keys:l,overrides:a}}compareAndDeleteFolderConfiguration(r){let e=this.folderConfigurations.get(r);if(!e)throw new Error("Unknown folder");this.deleteFolderConfiguration(r);let{added:t,updated:n,removed:o,overrides:s}=ws(e,void 0);return{keys:[...t,...n,...o],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 r=this._localUserConfiguration.merge(this._remoteUserConfiguration);this._userConfiguration=new Ct(r.contents,r.keys,r.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(r,e,t){let n=this.getConsolidatedConfigurationModelForResource(e,t);if(e.overrideIdentifier&&(n=n.override(e.overrideIdentifier)),!this._policyConfiguration.isEmpty()&&this._policyConfiguration.getValue(r)!==void 0){n=n.merge();for(let o of this._policyConfiguration.keys)n.setValue(o,this._policyConfiguration.getValue(o))}return n}getConsolidatedConfigurationModelForResource({resource:r},e){let t=this.getWorkspaceConsolidatedConfiguration();if(e&&r){let n=e.getFolder(r);n&&(t=this.getFolderConsolidatedConfiguration(n.uri)||t);let o=this._memoryConfigurationByResource.get(r);o&&(t=t.merge(o))}return t}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this.applicationConfiguration,this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration)),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(r){let e=this._foldersConsolidatedConfigurations.get(r);if(!e){let t=this.getWorkspaceConsolidatedConfiguration(),n=this._folderConfigurations.get(r);n?(e=t.merge(n),this._foldersConsolidatedConfigurations.set(r,e)):e=t}return e}getFolderConfigurationModelForResource(r,e){if(e&&r){let t=e.getFolder(r);if(t)return this._folderConfigurations.get(t.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((r,e)=>{let{contents:t,overrides:n,keys:o}=this._folderConfigurations.get(e);return r.push([e,{contents:t,overrides:n,keys:o}]),r},[])}}allKeys(){let r=new Set;return this._defaultConfiguration.keys.forEach(e=>r.add(e)),this.userConfiguration.keys.forEach(e=>r.add(e)),this._workspaceConfiguration.keys.forEach(e=>r.add(e)),this._folderConfigurations.forEach(e=>e.keys.forEach(t=>r.add(t))),[...r.values()]}allOverrideIdentifiers(){let r=new Set;return this._defaultConfiguration.getAllOverrideIdentifiers().forEach(e=>r.add(e)),this.userConfiguration.getAllOverrideIdentifiers().forEach(e=>r.add(e)),this._workspaceConfiguration.getAllOverrideIdentifiers().forEach(e=>r.add(e)),this._folderConfigurations.forEach(e=>e.getAllOverrideIdentifiers().forEach(t=>r.add(t))),[...r.values()]}getAllKeysForOverrideIdentifier(r){let e=new Set;return this._defaultConfiguration.getKeysForOverrideIdentifier(r).forEach(t=>e.add(t)),this.userConfiguration.getKeysForOverrideIdentifier(r).forEach(t=>e.add(t)),this._workspaceConfiguration.getKeysForOverrideIdentifier(r).forEach(t=>e.add(t)),this._folderConfigurations.forEach(t=>t.getKeysForOverrideIdentifier(r).forEach(n=>e.add(n))),[...e.values()]}static parse(r,e){let t=this.parseConfigurationModel(r.defaults,e),n=this.parseConfigurationModel(r.policy,e),o=this.parseConfigurationModel(r.application,e),s=this.parseConfigurationModel(r.userLocal,e),a=this.parseConfigurationModel(r.userRemote,e),l=this.parseConfigurationModel(r.workspace,e),c=r.folders.reduce((d,u)=>(d.set(P.revive(u[0]),this.parseConfigurationModel(u[1],e)),d),new mt);return new i(t,n,o,s,a,l,c,Ct.createEmptyModel(e),new mt,e)}static parseConfigurationModel(r,e){return new Ct(r.contents,r.keys,r.overrides,r.raw,e)}},sg=class{constructor(r,e,t,n,o){this.change=r;this.previous=e;this.currentConfiguraiton=t;this.currentWorkspace=n;this.logService=o;this._marker=`
`;this._markerCode1=this._marker.charCodeAt(0);this._markerCode2=46;this.affectedKeys=new Set;this._previousConfiguration=void 0;for(let s of r.keys)this.affectedKeys.add(s);for(let[,s]of r.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=Lc.parse(this.previous.data,this.logService)),this._previousConfiguration}affectsConfiguration(r,e){let t=this._marker+r,n=this._affectsConfigStr.indexOf(t);if(n<0)return!1;let o=n+t.length;if(o>=this._affectsConfigStr.length)return!1;let s=this._affectsConfigStr.charCodeAt(o);if(s!==this._markerCode1&&s!==this._markerCode2)return!1;if(e){let a=this.previousConfiguration?this.previousConfiguration.getValue(r,e,this.previous?.workspace):void 0,l=this.currentConfiguraiton.getValue(r,e,this.currentWorkspace);return!dn(a,l)}return!0}}});var ag,lg,Mc,L_=I(()=>{zt();z();$();un();Le();tb();eo();re();li();Xn();He();ri();ag=class extends T{constructor(e){super();this.logService=e;this._onDidChangeConfiguration=this._register(new b);this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;this._configurationModel=Ct.createEmptyModel(e)}get configurationModel(){return this._configurationModel}async initialize(){return this.resetConfigurationModel(),this._register(xt.as(lr.Configuration).onDidUpdateConfiguration(({properties:e,defaultsOverrides:t})=>this.onDidUpdateConfiguration(Array.from(e),t))),this.configurationModel}reload(){return this.resetConfigurationModel(),this.configurationModel}onDidUpdateConfiguration(e,t){this.updateConfigurationModel(e,xt.as(lr.Configuration).getConfigurationProperties()),this._onDidChangeConfiguration.fire({defaults:this.configurationModel,properties:e})}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=Ct.createEmptyModel(this.logService);let e=xt.as(lr.Configuration).getConfigurationProperties();this.updateConfigurationModel(Object.keys(e),e)}updateConfigurationModel(e,t){let n=this.getConfigurationDefaultOverrides();for(let o of e){let s=n[o],a=t[o];s!==void 0?this._configurationModel.setValue(o,s):a?this._configurationModel.setValue(o,or(a.default)):this._configurationModel.removeValue(o)}}},lg=class{constructor(){this.onDidChangeConfiguration=S.None;this.configurationModel=Ct.createEmptyModel(new Vf)}async initialize(){return this.configurationModel}},Mc=class extends T{constructor(e,t,n){super();this.defaultConfiguration=e;this.policyService=t;this.logService=n;this._onDidChangeConfiguration=this._register(new b);this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;this._configurationModel=Ct.createEmptyModel(this.logService),this.configurationRegistry=xt.as(lr.Configuration)}get configurationModel(){return this._configurationModel}async initialize(){return this.logService.trace("PolicyConfiguration#initialize"),this.update(await this.updatePolicyDefinitions(this.defaultConfiguration.configurationModel.keys),!1),this.update(await this.updatePolicyDefinitions(Object.keys(this.configurationRegistry.getExcludedConfigurationProperties())),!1),this._register(this.policyService.onDidChange(e=>this.onDidChangePolicies(e))),this._register(this.defaultConfiguration.onDidChangeConfiguration(async({properties:e})=>this.update(await this.updatePolicyDefinitions(e),!0))),this._configurationModel}async updatePolicyDefinitions(e){this.logService.trace("PolicyConfiguration#updatePolicyDefinitions",e);let t={},n=[],o=this.configurationRegistry.getConfigurationProperties(),s=this.configurationRegistry.getExcludedConfigurationProperties();for(let a of e){let l=o[a]??s[a];if(!l){n.push(a);continue}if(l.policy){if(l.type!=="string"&&l.type!=="number"&&l.type!=="array"&&l.type!=="object"&&l.type!=="boolean"){this.logService.warn(`Policy ${l.policy.name} has unsupported type ${l.type}`);continue}let{value:c}=l.policy;n.push(a),t[l.policy.name]={type:l.type==="number"?"number":l.type==="boolean"?"boolean":"string",value:c}}}return $p(t)||await this.policyService.updatePolicyDefinitions(t),n}onDidChangePolicies(e){this.logService.trace("PolicyConfiguration#onDidChangePolicies",e);let t=this.configurationRegistry.getPolicyConfigurations(),n=at(e.map(o=>t.get(o)));this.update(n,!0)}update(e,t){this.logService.trace("PolicyConfiguration#update",e);let n=this.configurationRegistry.getConfigurationProperties(),o=this.configurationRegistry.getExcludedConfigurationProperties(),s=[],a=this._configurationModel.isEmpty();for(let l of e){let c=n[l]??o[l],d=c?.policy?.name;if(d){let u=this.policyService.getPolicyValue(d);if(Oe(u)&&c.type!=="string")try{u=this.parse(u)}catch(f){this.logService.error(`Error parsing policy value ${d}:`,mr(f));continue}(a?u!==void 0:!dn(this._configurationModel.getValue(l),u))&&s.push([l,u])}else this._configurationModel.getValue(l)!==void 0&&s.push([l,void 0])}if(s.length){this.logService.trace("PolicyConfiguration#changed",s);let l=this._configurationModel;this._configurationModel=Ct.createEmptyModel(this.logService);for(let c of l.keys)this._configurationModel.setValue(c,l.getValue(c));for(let[c,d]of s)d===void 0?this._configurationModel.removeValue(c):this._configurationModel.setValue(c,d);t&&this._onDidChangeConfiguration.fire(this._configurationModel)}}parse(e){let t={},n=null,o=[],s=[],a=[];function l(d){if(Array.isArray(o))o.push(d);else if(n!==null){if(o[n]!==void 0)throw new Error(`Duplicate property found: ${n}`);o[n]=d}}if(e&&(Il(e,{onObjectBegin:()=>{let d={};l(d),s.push(o),o=d,n=null},onObjectProperty:d=>{n=d},onObjectEnd:()=>{o=s.pop()},onArrayBegin:()=>{let d=[];l(d),s.push(o),o=d,n=null},onArrayEnd:()=>{o=s.pop()},onLiteralValue:l,onError:(d,u,f)=>{a.push({error:d,offset:u,length:f})}}),t=o[0]||t),a.length>0)throw new Error(a.map(d=>mr(d.error)).join(`
`));return t}};Mc=E([g(1,Fn),g(2,U)],Mc)});var cg,rb,M_=I(()=>{zt();ge();ot();z();ri();Ny();$();xr();un();Z();wt();it();tb();eo();L_();ze();li();cg=class extends T{constructor(e,t,n,o){super();this.settingsResource=e;this.logService=o;this._onDidChangeConfiguration=this._register(new b);this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;this.defaultConfiguration=this._register(new ag(o)),this.policyConfiguration=n instanceof Kl?new lg:this._register(new Mc(this.defaultConfiguration,n,o)),this.userConfiguration=this._register(new og(this.settingsResource,{},Ge,t,o)),this.configuration=new Lc(this.defaultConfiguration.configurationModel,this.policyConfiguration.configurationModel,Ct.createEmptyModel(o),Ct.createEmptyModel(o),Ct.createEmptyModel(o),Ct.createEmptyModel(o),new mt,Ct.createEmptyModel(o),new mt,o),this.configurationEditing=new rb(e,t,this),this.reloadConfigurationScheduler=this._register(new gr(()=>this.reloadConfiguration(),50)),this._register(this.defaultConfiguration.onDidChangeConfiguration(({defaults:s,properties:a})=>this.onDidDefaultConfigurationChange(s,a))),this._register(this.policyConfiguration.onDidChangeConfiguration(s=>this.onDidPolicyConfigurationChange(s))),this._register(this.userConfiguration.onDidChange(()=>this.reloadConfigurationScheduler.schedule()))}async initialize(){let[e,t,n]=await Promise.all([this.defaultConfiguration.initialize(),this.policyConfiguration.initialize(),this.userConfiguration.loadConfiguration()]);this.configuration=new Lc(e,t,Ct.createEmptyModel(this.logService),n,Ct.createEmptyModel(this.logService),Ct.createEmptyModel(this.logService),new mt,Ct.createEmptyModel(this.logService),new mt,this.logService)}getConfigurationData(){return this.configuration.toData()}getValue(e,t){let n=typeof e=="string"?e:void 0,o=df(e)?e:df(t)?t:{};return this.configuration.getValue(n,o,void 0)}async updateValue(e,t,n,o,s){let a=_1(n)?n:df(n)?{resource:n.resource,overrideIdentifiers:n.overrideIdentifier?[n.overrideIdentifier]:void 0}:void 0,l=a?o:n;if(l!==void 0&&l!==3&&l!==2)throw new Error(`Unable to write ${e} to target ${l}.`);a?.overrideIdentifiers&&(a.overrideIdentifiers=Ar(a.overrideIdentifiers),a.overrideIdentifiers=a.overrideIdentifiers.length?a.overrideIdentifiers:void 0);let c=this.inspect(e,{resource:a?.resource,overrideIdentifier:a?.overrideIdentifiers?a.overrideIdentifiers[0]:void 0});if(c.policyValue!==void 0)throw new Error(`Unable to write ${e} because it is configured in system policy.`);if(dn(t,c.defaultValue)&&(t=void 0),a?.overrideIdentifiers?.length&&a.overrideIdentifiers.length>1){let u=a.overrideIdentifiers.sort(),f=this.configuration.localUserConfiguration.overrides.find(m=>Ro([...m.identifiers].sort(),u));f&&(a.overrideIdentifiers=f.identifiers)}let d=a?.overrideIdentifiers?.length?[U1(a.overrideIdentifiers),e]:[e];await this.configurationEditing.write(d,t),await this.reloadConfiguration()}inspect(e,t={}){return this.configuration.inspect(e,t,void 0)}keys(){return this.configuration.keys(void 0)}async reloadConfiguration(){let e=await this.userConfiguration.loadConfiguration();this.onDidChangeUserConfiguration(e)}onDidChangeUserConfiguration(e){let t=this.configuration.toData(),n=this.configuration.compareAndUpdateLocalUserConfiguration(e);this.trigger(n,t,2)}onDidDefaultConfigurationChange(e,t){let n=this.configuration.toData(),o=this.configuration.compareAndUpdateDefaultConfiguration(e,t);this.trigger(o,n,7)}onDidPolicyConfigurationChange(e){let t=this.configuration.toData(),n=this.configuration.compareAndUpdatePolicyConfiguration(e);this.trigger(n,t,7)}trigger(e,t,n){let o=new sg(e,{data:t},this.configuration,void 0,this.logService);o.source=n,this._onDidChangeConfiguration.fire(o)}},rb=class{constructor(r,e,t){this.settingsResource=r;this.fileService=e;this.configurationService=t;this.queue=new kn}write(r,e){return this.queue.queue(()=>this.doWriteConfiguration(r,e))}async doWriteConfiguration(r,e){let t;try{t=(await this.fileService.readFile(this.settingsResource)).value.toString()}catch(s){if(s.fileOperationResult===1)t="{}";else throw s}let n=[];if(Ln(t,n,{allowTrailingComma:!0,allowEmptyContent:!0}),n.length>0)throw new Error("Unable to write into the settings file. Please open the file to correct errors/warnings in the file and try again.");let o=this.getEdits(t,r,e);t=Uy(t,o),await this.fileService.writeFile(this.settingsResource,H.fromString(t))}getEdits(r,e,t){let{tabSize:n,insertSpaces:o,eol:s}=this.formattingOptions;if(!e.length){let a=JSON.stringify(t,null,o?" ".repeat(n):"	");return[{content:a,length:a.length,offset:0}]}return Wy(r,e,t,{tabSize:n,insertSpaces:o,eol:s})}get formattingOptions(){if(!this._formattingOptions){let r=Ot===3||Ot===2?`
`:`\r
`,e=this.configurationService.getValue("files.eol",{overrideIdentifier:"jsonc"});e&&typeof e=="string"&&e!=="auto"&&(r=e),this._formattingOptions={eol:r,insertSpaces:!!this.configurationService.getValue("editor.insertSpaces",{overrideIdentifier:"jsonc"}),tabSize:this.configurationService.getValue("editor.tabSize",{overrideIdentifier:"jsonc"})}}return this._formattingOptions}}});import*as F_ from"fs";import*as $t from"os";async function nb(i,r){let e=`${i}::${r.join(":")}`,t=O_.get(e);if(t)return t;let n=[{tag:"grunt.js",filePattern:/^gruntfile\.js$/i},{tag:"gulp.js",filePattern:/^gulpfile\.js$/i},{tag:"tsconfig.json",filePattern:/^tsconfig\.json$/i},{tag:"package.json",filePattern:/^package\.json$/i},{tag:"jsconfig.json",filePattern:/^jsconfig\.json$/i},{tag:"tslint.json",filePattern:/^tslint\.json$/i},{tag:"eslint.json",filePattern:/^eslint\.json$/i},{tag:"tasks.json",filePattern:/^tasks\.json$/i},{tag:"launch.json",filePattern:/^launch\.json$/i},{tag:"mcp.json",filePattern:/^mcp\.json$/i},{tag:"settings.json",filePattern:/^settings\.json$/i},{tag:"webpack.config.js",filePattern:/^webpack\.config\.js$/i},{tag:"project.json",filePattern:/^project\.json$/i},{tag:"makefile",filePattern:/^makefile$/i},{tag:"sln",filePattern:/^.+\.sln$/i},{tag:"csproj",filePattern:/^.+\.csproj$/i},{tag:"cmake",filePattern:/^.+\.cmake$/i},{tag:"github-actions",filePattern:/^.+\.ya?ml$/i,relativePathPattern:/^\.github(?:\/|\\)workflows$/i},{tag:"devcontainer.json",filePattern:/^devcontainer\.json$/i},{tag:"dockerfile",filePattern:/^(dockerfile|docker\-compose\.ya?ml)$/i},{tag:"cursorrules",filePattern:/^\.cursorrules$/i},{tag:"cursorrules-dir",filePattern:/\.mdc$/i,relativePathPattern:/^\.cursor[\/\\]rules$/i},{tag:"github-instructions-dir",filePattern:/\.instructions\.md$/i,relativePathPattern:/^\.github[\/\\]instructions$/i},{tag:"github-prompts-dir",filePattern:/\.prompt\.md$/i,relativePathPattern:/^\.github[\/\\]prompts$/i},{tag:"clinerules",filePattern:/^\.clinerules$/i},{tag:"clinerules-dir",filePattern:/\.md$/i,relativePathPattern:/^\.clinerules$/i},{tag:"agent.md",filePattern:/^agent\.md$/i},{tag:"agents.md",filePattern:/^agents\.md$/i},{tag:"claude.md",filePattern:/^claude\.md$/i},{tag:"claude-settings",filePattern:/^settings\.json$/i,relativePathPattern:/^\.claude$/i},{tag:"claude-settings-local",filePattern:/^settings\.local\.json$/i,relativePathPattern:/^\.claude$/i},{tag:"claude-mcp",filePattern:/^mcp\.json$/i,relativePathPattern:/^\.claude$/i},{tag:"claude-commands-dir",filePattern:/\.md$/i,relativePathPattern:/^\.claude[\/\\]commands$/i},{tag:"claude-skills-dir",filePattern:/^SKILL\.md$/i,relativePathPattern:/^\.claude[\/\\]skills[\/\\]/i},{tag:"claude-rules-dir",filePattern:/\.md$/i,relativePathPattern:/^\.claude[\/\\]rules$/i},{tag:"gemini.md",filePattern:/^gemini\.md$/i},{tag:"copilot-instructions.md",filePattern:/^copilot\-instructions\.md$/i,relativePathPattern:/^\.github$/i}],o=new Map,s=new Map,a=2e4;function l(d,u,f,m){let y=u.substring(d.length+1);return gt.withAsyncBody(async v=>{let C;m.readdirCount++;try{C=await Q.readdir(u,{withFileTypes:!0})}catch{v();return}if(m.count>=a){m.count+=C.length,m.maxReached=!0,v();return}let w=C.length;if(w===0){v();return}let _=C;m.count+C.length>a&&(m.maxReached=!0,w=a-m.count,_=C.slice(0,w)),m.count+=C.length;for(let R of _)if(R.isDirectory()){if(f.includes(R.name)||await l(d,V(u,R.name),f,m),--w===0){v();return}}else{let D=R.name.lastIndexOf(".");if(D>=0){let M=R.name.substring(D+1);M&&o.set(M,(o.get(M)??0)+1)}for(let M of n)M.relativePathPattern?.test(y)!==!1&&M.filePattern.test(R.name)&&s.set(M.tag,(s.get(M.tag)??0)+1);if(--w===0){v();return}}})}let c=gt.withAsyncBody(async d=>{let u={count:0,maxReached:!1,readdirCount:0},f=new on(!0);await l(i,i,r,u);let m=await MO(i);d({configFiles:ib(s),fileTypes:ib(o),fileCount:u.count,maxFilesReached:u.maxReached,launchConfigFiles:m,totalScanTime:f.elapsed(),totalReaddirCount:u.readdirCount})});return O_.set(e,c),c}function ib(i){return Array.from(i.entries(),([r,e])=>({name:r,count:e})).sort((r,e)=>e.count-r.count)}function LO(){let i={os:`${$t.type()} ${$t.arch()} ${$t.release()}`,memory:`${($t.totalmem()/Ci.GB).toFixed(2)}GB (${($t.freemem()/Ci.GB).toFixed(2)}GB free)`,vmHint:`${Math.round(Du.value()*100)}%`},r=$t.cpus();return r&&r.length>0&&(i.cpus=`${r[0].model} (${r.length} x ${r[0].speed})`),i}async function MO(i){try{let r=new Map,e=V(i,".vscode","launch.json"),t=await F_.promises.readFile(e),n=[],o=Ln(t.toString(),n);if(n.length)return console.log(`Unable to parse ${e}`),[];if(es(o)==="object"&&o.configurations)for(let s of o.configurations){let a=s.type;a&&(r.has(a)?r.set(a,r.get(a)+1):r.set(a,1))}return ib(r)}catch{return[]}}var O_,Oc,W_=I(()=>{ge();ri();qe();Ce();Z();Cs();le();Au();rr();BI();ym();ze();nr();ir();O_=new Map;Oc=class{constructor(r,e){this.telemetryService=r;this.productService=e}formatMachineInfo(r){let e=[];return e.push(`OS Version:       ${r.os}`),e.push(`CPUs:             ${r.cpus}`),e.push(`Memory (System):  ${r.memory}`),e.push(`VM:               ${r.vmHint}`),e.join(`
`)}formatEnvironment(r){let e=[];e.push(`Version:          ${this.productService.nameShort} ${this.productService.version} (${this.productService.commit||"Commit unknown"}, ${this.productService.date||"Date unknown"})`),e.push(`OS Version:       ${$t.type()} ${$t.arch()} ${$t.release()}`);let t=$t.cpus();return t&&t.length>0&&e.push(`CPUs:             ${t[0].model} (${t.length} x ${t[0].speed})`),e.push(`Memory (System):  ${($t.totalmem()/Ci.GB).toFixed(2)}GB (${($t.freemem()/Ci.GB).toFixed(2)}GB free)`),F||e.push(`Load (avg):       ${$t.loadavg().map(n=>Math.round(n)).join(", ")}`),e.push(`VM:               ${Math.round(Du.value()*100)}%`),e.push(`Screen Reader:    ${r.screenReader?"yes":"no"}`),e.push(`Process Argv:     ${r.mainArguments.join(" ")}`),e.push(`GPU Status:       ${this.expandGPUFeatures(r.gpuFeatureStatus)}`),r.gpuLogMessages&&r.gpuLogMessages.length>0&&(e.push("GPU Log Messages:"),r.gpuLogMessages.forEach(n=>{e.push(`${n.header}: ${n.message}`)})),e.join(`
`)}async getPerformanceInfo(r,e){return Promise.all([zu(r.mainPID),this.formatWorkspaceMetadata(r)]).then(async t=>{let[n,o]=t,s=this.formatProcessList(r,n);return e.forEach(a=>{if(bu(a))s+=`
${a.errorMessage}`,o+=`
${a.errorMessage}`;else if(s+=`

Remote: ${a.hostName}`,a.processes&&(s+=`
${this.formatProcessList(r,a.processes)}`),a.workspaceMetadata){o+=`
|  Remote: ${a.hostName}`;for(let l of Object.keys(a.workspaceMetadata)){let c=a.workspaceMetadata[l],d=`${c.fileCount} files`;c.maxFilesReached&&(d=`more than ${d}`),o+=`|    Folder (${l}): ${d}`,o+=this.formatWorkspaceStats(c)}}}),{processInfo:s,workspaceInfo:o}})}async getSystemInfo(r,e){let{memory:t,vmHint:n,os:o,cpus:s}=LO(),a={os:o,memory:t,cpus:s,vmHint:n,processArgs:`${r.mainArguments.join(" ")}`,gpuStatus:r.gpuFeatureStatus,screenReader:`${r.screenReader?"yes":"no"}`,remoteData:e};return F||(a.load=`${$t.loadavg().map(l=>Math.round(l)).join(", ")}`),ne&&(a.linuxEnv={desktopSession:process.env.DESKTOP_SESSION,xdgSessionDesktop:process.env.XDG_SESSION_DESKTOP,xdgCurrentDesktop:process.env.XDG_CURRENT_DESKTOP,xdgSessionType:process.env.XDG_SESSION_TYPE}),Promise.resolve(a)}async getDiagnostics(r,e){let t=[];return zu(r.mainPID).then(async n=>(t.push(""),t.push(this.formatEnvironment(r)),t.push(""),t.push(this.formatProcessList(r,n)),r.windows.some(o=>o.folderURIs&&o.folderURIs.length>0&&!o.remoteAuthority)&&(t.push(""),t.push("Workspace Stats: "),t.push(await this.formatWorkspaceMetadata(r))),e.forEach(o=>{if(bu(o))t.push(`
${o.errorMessage}`);else if(t.push(`

`),t.push(`Remote:           ${o.hostName}`),t.push(this.formatMachineInfo(o.machineInfo)),o.processes&&t.push(this.formatProcessList(r,o.processes)),o.workspaceMetadata)for(let s of Object.keys(o.workspaceMetadata)){let a=o.workspaceMetadata[s],l=`${a.fileCount} files`;a.maxFilesReached&&(l=`more than ${l}`),t.push(`Folder (${s}): ${l}`),t.push(this.formatWorkspaceStats(a))}}),t.push(""),t.push(""),t.join(`
`)))}formatWorkspaceStats(r){let e=[],n=0,o=(c,d)=>{let u=` ${c}(${d})`;n+u.length>60?(e.push(s),s="|                 ",n=s.length):n+=u.length,s+=u},s="|      File types:",a=10,l=r.fileTypes.length>a?a:r.fileTypes.length;for(let c=0;c<l;c++){let d=r.fileTypes[c];o(d.name,d.count)}if(e.push(s),r.configFiles.length>=0&&(s="|      Conf files:",n=0,r.configFiles.forEach(c=>{o(c.name,c.count)}),e.push(s)),r.launchConfigFiles.length>0){let c="|      Launch Configs:";r.launchConfigFiles.forEach(d=>{let u=d.count>1?` ${d.name}(${d.count})`:` ${d.name}`;c+=u}),e.push(c)}return e.join(`
`)}expandGPUFeatures(r){let e=Math.max(...Object.keys(r).map(t=>t.length));return Object.keys(r).map(t=>`${t}:  ${" ".repeat(e-t.length)}  ${r[t]}`).join(`
                  `)}formatWorkspaceMetadata(r){let e=[],t=[];return r.windows.forEach(n=>{n.folderURIs.length===0||n.remoteAuthority||(e.push(`|  Window (${n.title})`),n.folderURIs.forEach(o=>{let s=P.revive(o);if(s.scheme===W.file){let a=s.fsPath;t.push(nb(a,["node_modules",".git"]).then(l=>{let c=`${l.fileCount} files`;l.maxFilesReached&&(c=`more than ${c}`),e.push(`|    Folder (${Se(a)}): ${c}`),e.push(this.formatWorkspaceStats(l))}).catch(l=>{e.push(`|      Error: Unable to collect workspace stats for folder ${a} (${l.toString()})`)}))}else e.push(`|    Folder (${s.toString()}): Workspace stats not available.`)}))}),Promise.all(t).then(n=>e.join(`
`)).catch(n=>`Unable to collect workspace stats: ${n}`)}formatProcessList(r,e){let t=new Map;r.windows.forEach(o=>t.set(o.pid,`window [${o.id}] (${o.title})`)),r.pidToNames.forEach(({pid:o,name:s})=>t.set(o,s));let n=[];return n.push("CPU %	Mem MB	   PID	Process"),e&&this.formatProcessItem(r.mainPID,t,n,e,0),n.join(`
`)}formatProcessItem(r,e,t,n,o){let s=o===0,a;s?a=n.pid===r?this.productService.applicationName:"remote-server":e.has(n.pid)?a=e.get(n.pid):a=`${"  ".repeat(o)} ${n.name}`;let l=process.platform==="win32"?n.mem:$t.totalmem()*(n.mem/100);t.push(`${n.load.toFixed(0).padStart(5," ")}	${(l/Ci.MB).toFixed(0).padStart(6," ")}	${n.pid.toFixed(0).padStart(6," ")}	${a}`),Array.isArray(n.children)&&n.children.forEach(c=>this.formatProcessItem(r,e,t,c,o+1))}async getWorkspaceFileExtensions(r){let e=new Set;for(let{uri:t}of r.folders){let n=P.revive(t);if(n.scheme!==W.file)continue;let o=n.fsPath;try{(await nb(o,["node_modules",".git"])).fileTypes.forEach(a=>e.add(a.name))}catch{}}return{extensions:[...e]}}async reportWorkspaceStats(r){for(let{uri:e}of r.folders){let t=P.revive(e);if(t.scheme!==W.file)continue;let n=t.fsPath;try{let o=await nb(n,["node_modules",".git"]);this.telemetryService.publicLog2("workspace.stats",{"workspace.id":r.telemetryId,rendererSessionId:r.rendererSessionId}),o.fileTypes.forEach(s=>{this.telemetryService.publicLog2("workspace.stats.file",{rendererSessionId:r.rendererSessionId,type:s.name,count:s.count})}),o.launchConfigFiles.forEach(s=>{this.telemetryService.publicLog2("workspace.stats.launchConfigFile",{rendererSessionId:r.rendererSessionId,type:s.name,count:s.count})}),o.configFiles.forEach(s=>{this.telemetryService.publicLog2("workspace.stats.configFiles",{rendererSessionId:r.rendererSessionId,type:s.name,count:s.count})}),this.telemetryService.publicLog2("workspace.stats.metadata",{duration:o.totalScanTime,reachedLimit:o.maxFilesReached,fileCount:o.fileCount,readdirCount:o.totalReaddirCount})}catch{}}}};Oc=E([g(0,Je),g(1,De)],Oc)});import{writeFileSync as OO}from"fs";import{tmpdir as FO}from"os";function U_(i){let r=ks(FO());try{return OO(r,""),i&&console.log(`Marker file for --wait created: ${r}`),r}catch(e){i&&console.error(`Failed to create marker file for --wait: ${e}`);return}}var N_=I(()=>{sn()});var bs,B_=I(()=>{zt();ge();ot();It();z();Pi();rd();$();Hs();qe();mi();wt();Ls();Ee();ze();WI();re();He();bs=class extends T{constructor(e){super();this.logService=e;this.BUFFER_SIZE=256*1024;this._onDidChangeFileSystemProviderRegistrations=this._register(new b);this.onDidChangeFileSystemProviderRegistrations=this._onDidChangeFileSystemProviderRegistrations.event;this._onWillActivateFileSystemProvider=this._register(new b);this.onWillActivateFileSystemProvider=this._onWillActivateFileSystemProvider.event;this._onDidChangeFileSystemProviderCapabilities=this._register(new b);this.onDidChangeFileSystemProviderCapabilities=this._onDidChangeFileSystemProviderCapabilities.event;this.provider=new Map;this._onDidRunOperation=this._register(new b);this.onDidRunOperation=this._onDidRunOperation.event;this.internalOnDidFilesChange=this._register(new b);this._onDidUncorrelatedFilesChange=this._register(new b);this.onDidFilesChange=this._onDidUncorrelatedFilesChange.event;this._onDidWatchError=this._register(new b);this.onDidWatchError=this._onDidWatchError.event;this.activeWatchers=new Map;this.writeQueue=this._register(new Wa)}registerProvider(e,t){if(this.provider.has(e))throw new Error(`A filesystem provider for the scheme '${e}' is already registered.`);Be(`code/registerFilesystem/${e}`);let n=new J;return this.provider.set(e,t),this._onDidChangeFileSystemProviderRegistrations.fire({added:!0,scheme:e,provider:t}),n.add(t.onDidChangeFile(o=>{let s=new $f(o,!this.isPathCaseSensitive(t));this.internalOnDidFilesChange.fire(s),s.hasCorrelation()||this._onDidUncorrelatedFilesChange.fire(s)})),typeof t.onDidWatchError=="function"&&n.add(t.onDidWatchError(o=>this._onDidWatchError.fire(new Error(o)))),n.add(t.onDidChangeCapabilities(()=>this._onDidChangeFileSystemProviderCapabilities.fire({provider:t,scheme:e}))),j(()=>{this._onDidChangeFileSystemProviderRegistrations.fire({added:!1,scheme:e,provider:t}),this.provider.delete(e),ut(n)})}getProvider(e){return this.provider.get(e)}async activateProvider(e){let t=[];this._onWillActivateFileSystemProvider.fire({scheme:e,join(n){t.push(n)}}),!this.provider.has(e)&&await gt.settled(t)}async canHandleResource(e){return await this.activateProvider(e.scheme),this.hasProvider(e)}hasProvider(e){return this.provider.has(e.scheme)}hasCapability(e,t){let n=this.provider.get(e.scheme);return!!(n&&n.capabilities&t)}listCapabilities(){return yi.map(this.provider,([e,t])=>({scheme:e,capabilities:t.capabilities}))}async withProvider(e){if(!i1(e))throw new Qt(h(2178,null,this.resourceForError(e)),8);await this.activateProvider(e.scheme);let t=this.provider.get(e.scheme);if(!t){let n=new rn;throw n.message=h(2180,null,e.toString()),n}return t}async withReadProvider(e){let t=await this.withProvider(e);if(lo(t)||wn(t)||Kf(t))return t;throw new Error(`Filesystem provider for scheme '${e.scheme}' neither has FileReadWrite, FileReadStream nor FileOpenReadWriteClose capability which is needed for the read operation.`)}async withWriteProvider(e){let t=await this.withProvider(e);if(lo(t)||wn(t))return t;throw new Error(`Filesystem provider for scheme '${e.scheme}' neither has FileReadWrite nor FileOpenReadWriteClose capability which is needed for the write operation.`)}async resolve(e,t){try{return await this.doResolveFile(e,t)}catch(n){throw nu(n)==="EntryNotFound"?new Qt(h(2175,null,this.resourceForError(e)),1):co(n)}}async doResolveFile(e,t){let n=await this.withProvider(e),o=this.isPathCaseSensitive(n),s=t?.resolveTo,a=t?.resolveSingleChildDescendants,l=t?.resolveMetadata,c=await n.stat(e),d;return this.toFileStat(n,e,c,void 0,!!l,(u,f)=>(d||(d=Kr.forUris(()=>!o),d.set(e,!0),s&&d.fill(!0,s)),d.get(u.resource)||d.findSuperstr(u.resource.with({query:null,fragment:null}))?!0:u.isDirectory&&a?f===1:!1))}async toFileStat(e,t,n,o,s,a){let{providerExtUri:l}=this.getExtUri(e),c={resource:t,name:l.basename(t),isFile:(n.type&1)!==0,isDirectory:(n.type&2)!==0,isSymbolicLink:(n.type&64)!==0,mtime:n.mtime,ctime:n.ctime,size:n.size,readonly:!!((n.permissions??0)&1)||!!(e.capabilities&2048),locked:!!((n.permissions??0)&2),executable:!!((n.permissions??0)&4),etag:ly({mtime:n.mtime,size:n.size}),children:void 0};if(c.isDirectory&&a(c,o)){try{let d=await e.readdir(t),u=await gt.settled(d.map(async([f,m])=>{try{let y=l.joinPath(t,f),v=s?await e.stat(y):{type:m};return await this.toFileStat(e,y,v,d.length,s,a)}catch(y){return this.logService.trace(y),null}}));c.children=at(u)}catch(d){this.logService.trace(d),c.children=[]}return c}return c}async resolveAll(e){return gt.settled(e.map(async t=>{try{return{stat:await this.doResolveFile(t.resource,t.options),success:!0}}catch(n){return this.logService.trace(n),{stat:void 0,success:!1}}}))}async stat(e){let t=await this.withProvider(e),n=await t.stat(e);return this.toFileStat(t,e,n,void 0,!0,()=>!1)}async realpath(e){let t=await this.withProvider(e);if(Kx(t)){let n=await t.realpath(e);return e.with({path:n})}}async exists(e){let t=await this.withProvider(e);try{return!!await t.stat(e)}catch{return!1}}async canCreateFile(e,t){try{await this.doValidateCreateFile(e,t)}catch(n){return n}return!0}async doValidateCreateFile(e,t){if(!t?.overwrite&&await this.exists(e))throw new Qt(h(2171,null,this.resourceForError(e)),3,t)}async createFile(e,t=H.fromString(""),n){await this.doValidateCreateFile(e,n);let o=await this.writeFile(e,t);return this._onDidRunOperation.fire(new ao(e,0,o)),o}async writeFile(e,t,n){let o=this.throwIfFileSystemIsReadonly(await this.withWriteProvider(e),e),{providerExtUri:s}=this.getExtUri(o),a=n;if(ay(o)&&!a?.atomic){let l=o.enforceAtomicWriteFile?.(e);l&&(a={...n,atomic:l})}try{let{stat:l,buffer:c}=await this.validateWriteFile(o,e,t,a);l||await this.mkdirp(o,s.dirname(e)),c||(c=await this.peekBufferForWriting(o,t)),!lo(o)||wn(o)&&c instanceof H||wn(o)&&ay(o)&&a?.atomic?await this.doWriteUnbuffered(o,e,a,c):await this.doWriteBuffered(o,e,a,c instanceof H?Y1(c):c),this._onDidRunOperation.fire(new ao(e,4))}catch(l){throw new Qt(h(2170,null,this.resourceForError(e),co(l).toString()),jr(l),a)}return this.resolve(e,{resolveMetadata:!0})}async peekBufferForWriting(e,t){let n;if(wn(e)&&!(t instanceof H))if(Pd(t)){let o=await G1(t,3);o.ended?n=H.concat(o.buffer):n=o}else n=j1(t,o=>H.concat(o),3);else n=t;return n}async validateWriteFile(e,t,n,o){let s=!!o?.unlock;if(s&&!(e.capabilities&8192))throw new Error(h(2188,null,this.resourceForError(t)));if(o?.append&&!qx(e))throw new Qt(h(2167,null,this.resourceForError(t)),6);if(!!o?.atomic){if(!(e.capabilities&32768))throw new Error(h(2186,null,this.resourceForError(t)));if(!(e.capabilities&2))throw new Error(h(2187,null,this.resourceForError(t)));if(s)throw new Error(h(2185,null,this.resourceForError(t)))}let l;try{l=await e.stat(t)}catch{return Object.create(null)}if((l.type&2)!==0)throw new Qt(h(2173,null,this.resourceForError(t)),0,o);this.throwIfFileIsReadonly(t,l);let c;if(typeof o?.mtime=="number"&&typeof o.etag=="string"&&o.etag!==Gf&&typeof l.mtime=="number"&&typeof l.size=="number"&&o.mtime<l.mtime&&o.etag!==ly({mtime:o.mtime,size:l.size})){if(c=await this.peekBufferForWriting(e,n),c instanceof H&&c.byteLength===l.size)try{let{value:d}=await this.readFile(t,{limits:{size:l.size}});if(c.equals(d))return{stat:l,buffer:c}}catch{}throw new Qt(h(2174,null),3,o)}return{stat:l,buffer:c}}async readFile(e,t,n){let o=await this.withReadProvider(e);return t?.atomic?this.doReadFileAtomic(o,e,t,n):this.doReadFile(o,e,t,n)}async doReadFileAtomic(e,t,n,o){return new Promise((s,a)=>{this.writeQueue.queueFor(t,async()=>{try{let l=await this.doReadFile(e,t,n,o);s(l)}catch(l){a(l)}},this.getExtUri(e).providerExtUri)})}async doReadFile(e,t,n,o){let s=await this.doReadFileStream(e,t,{...n,preferUnbuffered:!0},o);return{...s,value:await Ms(s.value)}}async readFileStream(e,t,n){let o=await this.withReadProvider(e);return this.doReadFileStream(o,e,t,n)}async doReadFileStream(e,t,n,o){let s=new $e(o),a=n;zf(e)&&e.enforceAtomicReadFile?.(t)&&(a={...n,atomic:!0});let l=this.validateReadFile(t,a).then(d=>d,d=>{throw s.dispose(!0),d}),c;try{return typeof a?.etag=="string"&&a.etag!==Gf&&await l,a?.atomic&&zf(e)||!(lo(e)||Kf(e))||wn(e)&&a?.preferUnbuffered?c=this.readFileUnbuffered(e,t,a):Kf(e)?c=this.readFileStreamed(e,t,s.token,a):c=this.readFileBuffered(e,t,s.token,a),c.on("end",()=>s.dispose()),c.on("error",()=>s.dispose()),{...await l,value:c}}catch(d){throw c&&await Sf(c),this.restoreReadError(d,t,a)}}restoreReadError(e,t,n){let o=h(2168,null,this.resourceForError(t),co(e).toString());return e instanceof il?new il(o,e.stat,n):e instanceof nl?new nl(o,e.fileOperationResult,e.size,e.options):new Qt(o,jr(e),n)}readFileStreamed(e,t,n,o=Object.create(null)){let s=e.readFileStream(t,o,n);return $a(s,{data:a=>a instanceof H?a:H.wrap(a),error:a=>this.restoreReadError(a,t,o)},a=>H.concat(a))}readFileBuffered(e,t,n,o=Object.create(null)){let s=tx();return Ym(e,t,s,a=>a,{...o,bufferSize:this.BUFFER_SIZE,errorTransformer:a=>this.restoreReadError(a,t,o)},n),s}readFileUnbuffered(e,t,n){let o=Uo(s=>H.concat(s));return(async()=>{try{let s;n?.atomic&&zf(e)?s=await e.readFile(t,{atomic:!0}):s=await e.readFile(t),typeof n?.position=="number"&&(s=s.slice(n.position)),typeof n?.length=="number"&&(s=s.slice(0,n.length)),this.validateReadFileLimits(t,s.byteLength,n),o.end(H.wrap(s))}catch(s){o.error(s),o.end()}})(),o}async validateReadFile(e,t){let n=await this.resolve(e,{resolveMetadata:!0});if(n.isDirectory)throw new Qt(h(2172,null,this.resourceForError(e)),0,t);if(typeof t?.etag=="string"&&t.etag!==Gf&&t.etag===n.etag)throw new il(h(2176,null),n,t);return this.validateReadFileLimits(e,n.size,t),n}validateReadFileLimits(e,t,n){if(typeof n?.limits?.size=="number"&&t>n.limits.size)throw new nl(h(2177,null,this.resourceForError(e)),7,t,n)}async canMove(e,t,n){return this.doCanMoveCopy(e,t,"move",n)}async canCopy(e,t,n){return this.doCanMoveCopy(e,t,"copy",n)}async doCanMoveCopy(e,t,n,o){if(e.toString()!==t.toString())try{let s=n==="move"?this.throwIfFileSystemIsReadonly(await this.withWriteProvider(e),e):await this.withReadProvider(e),a=this.throwIfFileSystemIsReadonly(await this.withWriteProvider(t),t);await this.doValidateMoveCopy(s,e,a,t,n,o)}catch(s){return s}return!0}async move(e,t,n){let o=this.throwIfFileSystemIsReadonly(await this.withWriteProvider(e),e),s=this.throwIfFileSystemIsReadonly(await this.withWriteProvider(t),t),a=await this.doMoveCopy(o,e,s,t,"move",!!n),l=await this.resolve(t,{resolveMetadata:!0});return this._onDidRunOperation.fire(new ao(e,a==="move"?2:3,l)),l}async copy(e,t,n){let o=await this.withReadProvider(e),s=this.throwIfFileSystemIsReadonly(await this.withWriteProvider(t),t),a=await this.doMoveCopy(o,e,s,t,"copy",!!n),l=await this.resolve(t,{resolveMetadata:!0});return this._onDidRunOperation.fire(new ao(e,a==="copy"?3:2,l)),l}async doMoveCopy(e,t,n,o,s,a){if(t.toString()===o.toString())return s;let{exists:l,isSameResourceWithDifferentPathCase:c}=await this.doValidateMoveCopy(e,t,n,o,s,a);if(l&&!c&&a&&await this.del(o,{recursive:!0}),await this.mkdirp(n,this.getExtUri(n).providerExtUri.dirname(o)),s==="copy"){if(e===n&&ru(e))await e.copy(t,o,{overwrite:a});else{let d=await this.resolve(t);d.isDirectory?await this.doCopyFolder(e,d,n,o):await this.doCopyFile(e,t,n,o)}return s}else return e===n?(await e.rename(t,o,{overwrite:a}),s):(await this.doMoveCopy(e,t,n,o,"copy",a),await this.del(t,{recursive:!0}),"copy")}async doCopyFile(e,t,n,o){if(lo(e)&&lo(n))return this.doPipeBuffered(e,t,n,o);if(lo(e)&&wn(n))return this.doPipeBufferedToUnbuffered(e,t,n,o);if(wn(e)&&lo(n))return this.doPipeUnbufferedToBuffered(e,t,n,o);if(wn(e)&&wn(n))return this.doPipeUnbuffered(e,t,n,o)}async doCopyFolder(e,t,n,o){await n.mkdir(o),Array.isArray(t.children)&&await gt.settled(t.children.map(async s=>{let a=this.getExtUri(n).providerExtUri.joinPath(o,s.name);return s.isDirectory?this.doCopyFolder(e,await this.resolve(s.resource),n,a):this.doCopyFile(e,s.resource,n,a)}))}async doValidateMoveCopy(e,t,n,o,s,a){let l=!1;if(e===n){let{providerExtUri:d,isPathCaseSensitive:u}=this.getExtUri(e);if(u||(l=d.isEqual(t,o)),l&&s==="copy")throw new Error(h(2181,null,this.resourceForError(t),this.resourceForError(o)));if(!l&&d.isEqualOrParent(o,t))throw new Error(h(2182,null,this.resourceForError(t),this.resourceForError(o)))}let c=await this.exists(o);if(c&&!l){if(!a)throw new Qt(h(2183,null,this.resourceForError(t),this.resourceForError(o)),4);if(e===n){let{providerExtUri:d}=this.getExtUri(e);if(d.isEqualOrParent(t,o))throw new Error(h(2184,null,this.resourceForError(t),this.resourceForError(o)))}}return{exists:c,isSameResourceWithDifferentPathCase:l}}getExtUri(e){let t=this.isPathCaseSensitive(e);return{providerExtUri:t?Fe:Fa,isPathCaseSensitive:t}}isPathCaseSensitive(e){return!!(e.capabilities&1024)}async createFolder(e){let t=this.throwIfFileSystemIsReadonly(await this.withProvider(e),e);await this.mkdirp(t,e);let n=await this.resolve(e,{resolveMetadata:!0});return this._onDidRunOperation.fire(new ao(e,0,n)),n}async mkdirp(e,t){let n=[],{providerExtUri:o}=this.getExtUri(e);for(;!o.isEqual(t,o.dirname(t));)try{if(((await e.stat(t)).type&2)===0)throw new Error(h(2179,null,this.resourceForError(t)));break}catch(s){if(nu(s)!=="EntryNotFound")throw s;n.push(o.basename(t)),t=o.dirname(t)}for(let s=n.length-1;s>=0;s--){t=o.joinPath(t,n[s]);try{await e.mkdir(t)}catch(a){if(nu(a)!=="EntryExists")throw a}}}async canDelete(e,t){try{await this.doValidateDelete(e,t)}catch(n){return n}return!0}async doValidateDelete(e,t){let n=this.throwIfFileSystemIsReadonly(await this.withProvider(e),e),o=!!t?.useTrash;if(o&&!(n.capabilities&4096))throw new Error(h(2166,null,this.resourceForError(e)));let s=t?.atomic;if(s&&!(n.capabilities&65536))throw new Error(h(2162,null,this.resourceForError(e)));if(o&&s)throw new Error(h(2165,null,this.resourceForError(e)));let a;try{a=await n.stat(e)}catch{}if(a)this.throwIfFileIsReadonly(e,a);else throw new Qt(h(2164,null,this.resourceForError(e)),1);if(!!!t?.recursive){let c=await this.resolve(e);if(c.isDirectory&&Array.isArray(c.children)&&c.children.length>0)throw new Error(h(2163,null,this.resourceForError(e)))}return n}async del(e,t){let n=await this.doValidateDelete(e,t),o=t;if(zx(n)&&!o?.atomic){let c=n.enforceAtomicDelete?.(e);c&&(o={...t,atomic:c})}let s=!!o?.useTrash,a=!!o?.recursive,l=o?.atomic??!1;await n.delete(e,{recursive:a,useTrash:s,atomic:l}),this._onDidRunOperation.fire(new ao(e,1))}async cloneFile(e,t){let n=await this.withProvider(e),o=this.throwIfFileSystemIsReadonly(await this.withWriteProvider(t),t);if(!(n===o&&this.getExtUri(n).providerExtUri.isEqual(e,t)))return n===o&&qf(n)?n.cloneFile(e,t):(await this.mkdirp(o,this.getExtUri(o).providerExtUri.dirname(t)),n===o&&ru(n)?this.writeQueue.queueFor(e,()=>n.copy(e,t,{overwrite:!0}),this.getExtUri(n).providerExtUri):this.writeQueue.queueFor(e,()=>this.doCopyFile(n,e,o,t),this.getExtUri(n).providerExtUri))}static{this.WATCHER_CORRELATION_IDS=0}createWatcher(e,t){return this.watch(e,{...t,correlationId:bs.WATCHER_CORRELATION_IDS++})}watch(e,t={recursive:!1,excludes:[]}){let n=new J,o=!1,s=()=>{o=!0};n.add(j(()=>s())),(async()=>{try{let l=await this.doWatch(e,t);o?ut(l):s=()=>ut(l)}catch(l){this.logService.error(l)}})();let a=t.correlationId;if(typeof a=="number"){let l=n.add(new b);return n.add(this.internalOnDidFilesChange.event(d=>{d.correlates(a)&&l.fire(d)})),{onDidChange:l.event,dispose:()=>n.dispose()}}return n}async doWatch(e,t){let n=await this.withProvider(e),o=cr([this.getExtUri(n).providerExtUri.getComparisonKey(e),t]),s=this.activeWatchers.get(o);return s||(s={count:0,disposable:n.watch(e,t)},this.activeWatchers.set(o,s)),s.count+=1,j(()=>{s&&(s.count--,s.count===0&&(ut(s.disposable),this.activeWatchers.delete(o)))})}dispose(){super.dispose();for(let[,e]of this.activeWatchers)ut(e.disposable);this.activeWatchers.clear()}async doWriteBuffered(e,t,n,o){return this.writeQueue.queueFor(t,async()=>{let s=await e.open(t,{create:!0,unlock:n?.unlock??!1,append:n?.append??!1});try{Pd(o)||bf(o)?await this.doWriteStreamBufferedQueued(e,s,o):await this.doWriteReadableBufferedQueued(e,s,o)}catch(a){throw co(a)}finally{await e.close(s)}},this.getExtUri(e).providerExtUri)}async doWriteStreamBufferedQueued(e,t,n){let o=0,s;if(bf(n)){if(n.buffer.length>0){let a=H.concat(n.buffer);await this.doWriteBuffer(e,t,a,a.byteLength,o,0),o+=a.byteLength}if(n.ended)return;s=n.stream}else s=n;return new Promise((a,l)=>{Ha(s,{onData:async c=>{s.pause();try{await this.doWriteBuffer(e,t,c,c.byteLength,o,0)}catch(d){return l(d)}o+=c.byteLength,setTimeout(()=>s.resume())},onError:c=>l(c),onEnd:()=>a()})})}async doWriteReadableBufferedQueued(e,t,n){let o=0,s;for(;(s=n.read())!==null;)await this.doWriteBuffer(e,t,s,s.byteLength,o,0),o+=s.byteLength}async doWriteBuffer(e,t,n,o,s,a){let l=0;for(;l<o;){let c=await e.write(t,s+l,n.buffer,a+l,o-l);l+=c}}async doWriteUnbuffered(e,t,n,o){return this.writeQueue.queueFor(t,()=>this.doWriteUnbufferedQueued(e,t,n,o),this.getExtUri(e).providerExtUri)}async doWriteUnbufferedQueued(e,t,n,o){let s;o instanceof H?s=o:Pd(o)?s=await Ms(o):bf(o)?s=await Z1(o):s=X1(o),await e.writeFile(t,s.buffer,{create:!0,overwrite:!0,unlock:n?.unlock??!1,atomic:n?.atomic??!1,append:n?.append??!1})}async doPipeBuffered(e,t,n,o){return this.writeQueue.queueFor(o,()=>this.doPipeBufferedQueued(e,t,n,o),this.getExtUri(n).providerExtUri)}async doPipeBufferedQueued(e,t,n,o){let s,a;try{s=await e.open(t,{create:!1}),a=await n.open(o,{create:!0,unlock:!1});let l=H.alloc(this.BUFFER_SIZE),c=0,d=0,u=0;do u=await e.read(s,c,l.buffer,d,l.byteLength-d),await this.doWriteBuffer(n,a,l,u,c,d),c+=u,d+=u,d===l.byteLength&&(d=0);while(u>0)}catch(l){throw co(l)}finally{await gt.settled([typeof s=="number"?e.close(s):Promise.resolve(),typeof a=="number"?n.close(a):Promise.resolve()])}}async doPipeUnbuffered(e,t,n,o){return this.writeQueue.queueFor(o,()=>this.doPipeUnbufferedQueued(e,t,n,o),this.getExtUri(n).providerExtUri)}async doPipeUnbufferedQueued(e,t,n,o){return n.writeFile(o,await e.readFile(t),{create:!0,overwrite:!0,unlock:!1,atomic:!1})}async doPipeUnbufferedToBuffered(e,t,n,o){return this.writeQueue.queueFor(o,()=>this.doPipeUnbufferedToBufferedQueued(e,t,n,o),this.getExtUri(n).providerExtUri)}async doPipeUnbufferedToBufferedQueued(e,t,n,o){let s=await n.open(o,{create:!0,unlock:!1});try{let a=await e.readFile(t);await this.doWriteBuffer(n,s,H.wrap(a),a.byteLength,0,0)}catch(a){throw co(a)}finally{await n.close(s)}}async doPipeBufferedToUnbuffered(e,t,n,o){let s=await Ms(this.readFileBuffered(e,t,xe.None));await this.doWriteUnbuffered(n,o,void 0,s)}throwIfFileSystemIsReadonly(e,t){if(e.capabilities&2048)throw new Qt(h(2169,null,this.resourceForError(t)),6);return e}throwIfFileIsReadonly(e,t){if((t.permissions??0)&1)throw new Qt(h(2169,null,this.resourceForError(e)),6)}resourceForError(e){return e.scheme===W.file?e.fsPath:e.toString(!0)}};bs=E([g(0,U)],bs)});var ob,cp,V_=I(()=>{ob=class{constructor(r,e){this.key=r;this.data=e;this.incoming=new Map;this.outgoing=new Map}},cp=class{constructor(r){this._hashFn=r;this._nodes=new Map}roots(){let r=[];for(let e of this._nodes.values())e.outgoing.size===0&&r.push(e);return r}insertEdge(r,e){let t=this.lookupOrInsertNode(r),n=this.lookupOrInsertNode(e);t.outgoing.set(n.key,n),n.incoming.set(t.key,t)}removeNode(r){let e=this._hashFn(r);this._nodes.delete(e);for(let t of this._nodes.values())t.outgoing.delete(e),t.incoming.delete(e)}lookupOrInsertNode(r){let e=this._hashFn(r),t=this._nodes.get(e);return t||(t=new ob(e,r),this._nodes.set(e,t)),t}lookup(r){return this._nodes.get(this._hashFn(r))}isEmpty(){return this._nodes.size===0}toString(){let r=[];for(let[e,t]of this._nodes)r.push(`${e}
	(-> incoming)[${[...t.incoming.keys()].join(", ")}]
	(outgoing ->)[${[...t.outgoing.keys()].join(",")}]
`);return r.join(`
`)}findCycleSlow(){for(let[r,e]of this._nodes){let t=new Set([r]),n=this._findCycle(e,t);if(n)return n}}_findCycle(r,e){for(let[t,n]of r.outgoing){if(e.has(t))return[...e,t].join(" -> ");e.add(t);let o=this._findCycle(n,e);if(o)return o;e.delete(t)}}}});var WO,dg,ug,dp,H_=I(()=>{ge();He();$();Ku();V_();ee();dh();Yg();WO=!1,dg=class extends Error{constructor(r){super("cyclic dependency between services"),this.message=r.findCycleSlow()??`UNABLE to detect cycle, dumping graph: 
${r.toString()}`}},ug=class i{constructor(r=new us,e=!1,t,n=WO){this._services=r;this._strict=e;this._parent=t;this._enableTracing=n;this._isDisposed=!1;this._servicesToMaybeDispose=new Set;this._children=new Set;this._activeInstantiations=new Set;this._services.set(Nt,this),this._globalGraph=n?t?._globalGraph??new cp(o=>o):void 0}dispose(){if(!this._isDisposed){this._isDisposed=!0,ut(this._children),this._children.clear();for(let r of this._servicesToMaybeDispose)qp(r)&&r.dispose();this._servicesToMaybeDispose.clear()}}_throwIfDisposed(){if(this._isDisposed)throw new Error("InstantiationService has been disposed")}createChild(r,e){this._throwIfDisposed();let t=this,n=new class extends i{dispose(){t._children.delete(n),super.dispose()}}(r,this._strict,this,this._enableTracing);return this._children.add(n),e?.add(n),n}invokeFunction(r,...e){this._throwIfDisposed();let t=dp.traceInvocation(this._enableTracing,r),n=!1;try{return r({get:s=>{if(n)throw Up("service accessor is only valid during the invocation of its target method");let a=this._getOrCreateServiceInstance(s,t);return a||this._throwIfStrict(`[invokeFunction] unknown service '${s}'`,!1),a}},...e)}finally{n=!0,t.stop()}}createInstance(r,...e){this._throwIfDisposed();let t,n;return r instanceof me?(t=dp.traceCreation(this._enableTracing,r.ctor),n=this._createInstance(r.ctor,r.staticArguments.concat(e),t)):(t=dp.traceCreation(this._enableTracing,r),n=this._createInstance(r,e,t)),t.stop(),n}_createInstance(r,e=[],t){let n=Qn.getServiceDependencies(r).sort((a,l)=>a.index-l.index),o=[];for(let a of n){let l=this._getOrCreateServiceInstance(a.id,t);l||this._throwIfStrict(`[createInstance] ${r.name} depends on UNKNOWN service ${a.id}.`,!1),o.push(l)}let s=n.length>0?n[0].index:e.length;if(e.length!==s){console.trace(`[createInstance] First service dependency of ${r.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(r,e.concat(o))}_setCreatedServiceInstance(r,e){if(this._services.get(r)instanceof me)this._services.set(r,e);else if(this._parent)this._parent._setCreatedServiceInstance(r,e);else throw new Error("illegalState - setting UNKNOWN service instance")}_getServiceInstanceOrDescriptor(r){let e=this._services.get(r);return!e&&this._parent?this._parent._getServiceInstanceOrDescriptor(r):e}_getOrCreateServiceInstance(r,e){this._globalGraph&&this._globalGraphImplicitDependency&&this._globalGraph.insertEdge(this._globalGraphImplicitDependency,String(r));let t=this._getServiceInstanceOrDescriptor(r);return t instanceof me?this._safeCreateAndCacheServiceInstance(r,t,e.branch(r,!0)):(e.branch(r,!1),t)}_safeCreateAndCacheServiceInstance(r,e,t){if(this._activeInstantiations.has(r))throw new Error(`illegal state - RECURSIVELY instantiating service '${r}'`);this._activeInstantiations.add(r);try{return this._createAndCacheServiceInstance(r,e,t)}finally{this._activeInstantiations.delete(r)}}_createAndCacheServiceInstance(r,e,t){let n=new cp(l=>l.id.toString()),o=0,s=[{id:r,desc:e,_trace:t}],a=new Set;for(;s.length;){let l=s.pop();if(!a.has(String(l.id))){if(a.add(String(l.id)),n.lookupOrInsertNode(l),o++>1e3)throw new dg(n);for(let c of Qn.getServiceDependencies(l.desc.ctor)){let d=this._getServiceInstanceOrDescriptor(c.id);if(d||this._throwIfStrict(`[createInstance] ${r} depends on ${c.id} which is NOT registered.`,!0),this._globalGraph?.insertEdge(String(l.id),String(c.id)),d instanceof me){let u={id:c.id,desc:d,_trace:l._trace.branch(c.id,!0)};n.insertEdge(l,u),s.push(u)}}}}for(;;){let l=n.roots();if(l.length===0){if(!n.isEmpty())throw new dg(n);break}for(let{data:c}of l){if(this._getServiceInstanceOrDescriptor(c.id)instanceof me){let u=this._createServiceInstanceWithOwner(c.id,c.desc.ctor,c.desc.staticArguments,c.desc.supportsDelayedInstantiation,c._trace);this._setCreatedServiceInstance(c.id,u)}n.removeNode(c)}}return this._getServiceInstanceOrDescriptor(r)}_createServiceInstanceWithOwner(r,e,t=[],n,o){if(this._services.get(r)instanceof me)return this._createServiceInstance(r,e,t,n,o,this._servicesToMaybeDispose);if(this._parent)return this._parent._createServiceInstanceWithOwner(r,e,t,n,o);throw new Error(`illegalState - creating UNKNOWN service instance ${e.name}`)}_createServiceInstance(r,e,t=[],n,o,s){if(n){let a=new i(void 0,this._strict,this,this._enableTracing);a._globalGraphImplicitDependency=String(r);let l=new Map,c=new sf(()=>{let d=a._createInstance(e,t,o);for(let[u,f]of l){let m=d[u];if(typeof m=="function")for(let y of f)y.disposable=m.apply(d,y.listener)}return l.clear(),s.add(d),d});return new Proxy(Object.create(null),{get(d,u){if(!c.isInitialized&&typeof u=="string"&&(u.startsWith("onDid")||u.startsWith("onWill"))){let y=l.get(u);return y||(y=new _a,l.set(u,y)),(C,w,_)=>{if(c.isInitialized)return c.value[u](C,w,_);{let R={listener:[C,w,_],disposable:void 0},D=y.push(R);return j(()=>{D(),R.disposable?.dispose()})}}}if(u in d)return d[u];let f=c.value,m=f[u];return typeof m!="function"||(m=m.bind(f),d[u]=m),m},set(d,u,f){return c.value[u]=f,!0},getPrototypeOf(d){return e.prototype}})}else{let a=this._createInstance(e,t,o);return s.add(a),a}}_throwIfStrict(r,e){if(e&&console.warn(r),this._strict)throw new Error(r)}},dp=class i{constructor(r,e){this.type=r;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(r,e){return r?new i(2,e.name||new Error().stack.split(`
`).slice(3,4).join(`
`)):i._None}static traceCreation(r,e){return r?new i(1,e.name):i._None}static{this._totals=0}branch(r,e){let t=new i(3,r.toString());return this._dep.push([r,e,t]),t}stop(){let r=Date.now()-this._start;i._totals+=r;let e=!1;function t(o,s){let a=[],l=new Array(o+1).join("	");for(let[c,d,u]of s._dep)if(d&&u){e=!0,a.push(`${l}CREATES -> ${c}`);let f=t(o+1,u);f&&a.push(f)}else a.push(`${l}uses -> ${c}`);return a.join(`
`)}let n=[`${this.type===1?"CREATE":"CALL"} ${this.name}`,`${t(1,this)}`,`DONE, took ${r.toFixed(2)}ms (grand total ${i._totals.toFixed(2)}ms)`];(r>2||e)&&i.all.add(n.join(`
`))}}});var pg,$_=I(()=>{$();re();pg=class extends Vs{constructor(e=eu){super();this.buffer=[];this._logger=void 0;this._logLevelDisposable=this._register(new jt);this.setLevel(e)}set logger(e){this._logger=e,this.setLevel(e.getLevel()),this._logLevelDisposable.value=e.onDidChangeLogLevel(this.setLevel,this);for(let{level:t,message:n}of this.buffer)tu(e,t,n);this.buffer=[]}log(e,t){this._logger?tu(this._logger,e,t):this.getLevel()<=e&&this.buffer.push({level:e,message:t})}dispose(){this._logger?.dispose(),super.dispose()}flush(){this._logger?.flush()}}});import{session as UO}from"electron";var Fc,q_=I(()=>{$();qe();Ce();Z();Hs();le();Jt();Rn();ln();re();ti();Fc=class extends T{constructor(e,t,n){super();this.environmentService=e;this.logService=n;this.validRoots=Kr.forPaths(!ne);this.validExtensions=new Set([".svg",".png",".jpg",".jpeg",".gif",".bmp",".webp",".mp4",".otf",".ttf"]);this.addValidFileRoot(e.appRoot),this.addValidFileRoot(e.extensionsPath),this.addValidFileRoot(t.defaultProfile.globalStorageHome.with({scheme:W.file}).fsPath),this.addValidFileRoot(e.workspaceStorageHome.with({scheme:W.file}).fsPath),this.handleProtocols()}handleProtocols(){let{defaultSession:e}=UO;e.protocol.registerFileProtocol(W.vscodeFileResource,(t,n)=>this.handleResourceRequest(t,n)),e.protocol.interceptFileProtocol(W.file,(t,n)=>this.handleFileRequest(t,n)),this._register(j(()=>{e.protocol.unregisterProtocol(W.vscodeFileResource),e.protocol.uninterceptProtocol(W.file)}))}addValidFileRoot(e){let t=_t(e);return this.validRoots.get(t)?T.None:(this.validRoots.set(t,!0),j(()=>this.validRoots.delete(t)))}handleFileRequest(e,t){let n=P.parse(e.url);return this.logService.error(`Refused to load resource ${n.fsPath} from ${W.file}: protocol (original URL: ${e.url})`),t({error:-3})}handleResourceRequest(e,t){let n=this.requestToNormalizedFilePath(e),o=Se(n),s;return this.environmentService.crossOriginIsolated&&(o==="workbench.html"||o==="workbench-dev.html"?s=Oa.CoopAndCoep:s=Oa.getHeadersFromQuery(e.url)),this.environmentService.isBuilt||(s={...s,...ZS}),(o==="workbench.html"||o==="workbench-dev.html")&&(s={...s,...e1}),this.validRoots.findSubstr(n)?t({path:n,headers:s}):this.validExtensions.has(Ia(n).toLowerCase())?t({path:n,headers:s}):(this.logService.error(`${W.vscodeFileResource}: Refused to load resource ${n} from ${W.vscodeFileResource}: protocol (original URL: ${e.url})`),t({error:-3}))}requestToNormalizedFilePath(e){let t=P.parse(e.url),n=st.uriToFileUri(t);return _t(n.fsPath)}createIPCObjectUrl(){let e,t=P.from({scheme:"vscode",path:_e()}),n=t.toString(),o=async()=>e;return tt.handle(n,o),this.logService.trace(`IPC Object URL: Registered new channel ${n}.`),{resource:t,update:s=>e=s,dispose:()=>{this.logService.trace(`IPC Object URL: Removed channel ${n}.`),tt.removeHandler(n)}}}};Fc=E([g(0,Or),g(1,_r),g(2,U)],Fc)});function z_(i){return!!i.forwardPort}function NO(i){if(i.scheme!=="http"&&i.scheme!=="https")return;let r=/^(localhost|127\.0\.0\.1|0\.0\.0\.0):(\d+)$/.exec(i.authority);if(r)return{address:r[1],port:+r[2]}}function fg(i){return sb.indexOf(i)>=0}function Uc(i){return ab.indexOf(i)>=0}function j_(i,r,e,t){if(e===1)return!1;if(e===2&&Uc(r)){let n=/(\d+)\.(\d+)\.(\d+)/g.exec(t);if(n?.length===4&&parseInt(n[1])>=18)return!1}return i<1024}var K_,NEe,sb,ab,Wc,lb=I(()=>{z();$();Z();le();it();ee();re();K_=L("tunnelService"),NEe=L("sharedTunnelsService");sb=["localhost","127.0.0.1","0:0:0:0:0:0:0:1","::1"];ab=["0.0.0.0","0:0:0:0:0:0:0:0","::"];Wc=class extends T{constructor(e,t){super();this.logService=e;this.configurationService=t;this._onTunnelOpened=this._register(new b);this.onTunnelOpened=this._onTunnelOpened.event;this._onTunnelClosed=this._register(new b);this.onTunnelClosed=this._onTunnelClosed.event;this._onAddedTunnelProvider=this._register(new b);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=[],t=Array.from(this._tunnels.values());for(let n of t){let o=Array.from(n.values());for(let s of o){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:t}of e.values())await t.then(n=>typeof n!="string"?n?.dispose():void 0);e.clear()}this._tunnels.clear()}setEnvironmentTunnel(e,t,n,o,s){this.addTunnelToMap(e,t,Promise.resolve({tunnelRemoteHost:e,tunnelRemotePort:t,localAddress:n,privacy:o,protocol:s,dispose:()=>Promise.resolve()}))}async getExistingTunnel(e,t){(Uc(e)||fg(e))&&(e=sb[0]);let n=this.getTunnelFromMap(e,t);if(n)return++n.refcount,n.value}openTunnel(e,t,n,o,s,a=!1,l,c){this.logService.trace(`ForwardedPorts: (TunnelService) openTunnel request for ${t}:${n} on local port ${s}.`);let d=this._tunnelProvider??e;if(!d)return;if(t||(t="localhost"),o||(o=this.defaultTunnelHost),this._tunnelProvider&&this._factoryInProgress.has(n)){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(d,t,n,o,s,a,l,c);return u?u.then(f=>{if(f){if(typeof f=="string")return this.logService.trace("ForwardedPorts: (TunnelService) The tunnel provider returned an error when creating the tunnel."),this.removeEmptyOrErrorTunnelFromMap(t,n),f}else{this.logService.trace("ForwardedPorts: (TunnelService) New tunnel is undefined."),this.removeEmptyOrErrorTunnelFromMap(t,n);return}this.logService.trace("ForwardedPorts: (TunnelService) New tunnel established.");let m=this.makeTunnel(f);return(f.tunnelRemoteHost!==t||f.tunnelRemotePort!==n)&&this.logService.warn("ForwardedPorts: (TunnelService) Created tunnel does not match requirements of requested tunnel. Host or port mismatch."),l&&f.privacy!==l&&this.logService.warn("ForwardedPorts: (TunnelService) Created tunnel does not match requirements of requested tunnel. Privacy mismatch."),this._onTunnelOpened.fire(m),m}):(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 t=this._tunnels.get(e.tunnelRemoteHost);if(t){let n=t.get(e.tunnelRemotePort);n&&(n.refcount--,await this.tryDisposeTunnel(e.tunnelRemoteHost,e.tunnelRemotePort,n))}}}}async tryDisposeTunnel(e,t,n){if(n.refcount<=0){this.logService.trace(`ForwardedPorts: (TunnelService) Tunnel is being disposed ${e}:${t}.`);let o=n.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(t),o}}async closeTunnel(e,t){this.logService.trace(`ForwardedPorts: (TunnelService) close request for ${e}:${t} `);let n=this._tunnels.get(e);if(n&&n.has(t)){let o=n.get(t);o.refcount=0,await this.tryDisposeTunnel(e,t,o)}}addTunnelToMap(e,t,n){this._tunnels.has(e)||this._tunnels.set(e,new Map),this._tunnels.get(e).set(t,{refcount:1,value:n})}async removeEmptyOrErrorTunnelFromMap(e,t){let n=this._tunnels.get(e);if(n){let o=n.get(t),s=o?await o.value:void 0;(!s||typeof s=="string")&&n.delete(t),n.size===0&&this._tunnels.delete(e)}}getTunnelFromMap(e,t){let n=[e];fg(e)?(n.push(...sb),n.push(...ab)):Uc(e)&&n.push(...ab);let o=n.map(s=>this._tunnels.get(s));for(let s of o){let a=s?.get(t);if(a)return a}}canTunnel(e){return!!NO(e)}createWithProvider(e,t,n,o,s,a,l){this.logService.trace(`ForwardedPorts: (TunnelService) Creating tunnel with provider ${t}:${n} on local port ${o}.`);let c=n;this._factoryInProgress.add(c);let d=o===void 0?n:o,u={elevationRequired:s?this.isPortPrivileged(d):!1},f={remoteAddress:{host:t,port:n},localAddressPort:o,privacy:a,public:a?a!=="private":void 0,protocol:l},m=e.forwardPort(f,u);return m?(this.addTunnelToMap(t,n,m),m.finally(()=>{this.logService.trace("ForwardedPorts: (TunnelService) Tunnel created by provider."),this._factoryInProgress.delete(c)})):this._factoryInProgress.delete(c),m}};Wc=E([g(0,U),g(1,fe)],Wc)});var qEe,Nc,G_=I(()=>{He();ee();qEe=L("remoteAuthorityResolverService"),Nc=class i extends rn{static isNotAvailable(r){return r instanceof i&&r._code==="NotAvailable"}static isTemporarilyNotAvailable(r){return r instanceof i&&r._code==="TemporarilyNotAvailable"}static isNoResolverFound(r){return r instanceof i&&r._code==="NoResolverFound"}static isInvalidAuthority(r){return r instanceof i&&r._code==="InvalidAuthority"}static isHandled(r){return r instanceof i&&r.isHandled}constructor(r,e="Unknown",t){super(r),this._message=r,this._code=e,this._detail=t,this.isHandled=e==="NotAvailable"&&t===!0,Object.setPrototypeOf(this,i.prototype)}}});function db(i){switch(i){case 1:return"Management";case 2:return"ExtensionHost";case 3:return"Tunnel"}}function Q_(i){let r=new $e;return setTimeout(()=>r.cancel(),i),r.token}function VO(i,r){if(i.isCancellationRequested||r.isCancellationRequested)return xe.Cancelled;let e=new $e;return i.onCancellationRequested(()=>e.cancel()),r.onCancellationRequested(()=>e.cancel()),e.token}function HO(i,r){let e=new pp(r);return e.registerDisposable(i.onControlMessage(t=>{let n=JSON.parse(t.toString()),o=jO(n);o?e.reject(o):e.resolve(n)})),e.promise}function $O(i,r,e,t,n,o,s,a){let l=new pp(a),c=on.create(!1);return i.info(`Creating a socket (${s})...`),Be(`code/willCreateSocket/${o}`),r.connect(e,t,n,s).then(d=>{l.didTimeout?(Be(`code/didCreateSocketError/${o}`),i.info(`Creating a socket (${s}) finished after ${c.elapsed()} ms, but this is too late and has timed out already.`),d?.dispose()):(Be(`code/didCreateSocketOK/${o}`),i.info(`Creating a socket (${s}) was successful after ${c.elapsed()} ms.`),l.resolve(d))},d=>{Be(`code/didCreateSocketError/${o}`),i.info(`Creating a socket (${s}) returned an error after ${c.elapsed()} ms.`),i.error(d),l.reject(d)}),l.promise}function cb(i,r){let e=new pp(r);return i.then(t=>{e.didTimeout||e.resolve(t)},t=>{e.didTimeout||e.reject(t)}),e.promise}async function qO(i,r,e,t){let n=ek(i,r);i.logService.trace(`${n} 1/6. invoking socketFactory.connect().`);let o;try{o=await $O(i.logService,i.remoteSocketFactoryService,i.connectTo,gv.getServerRootPath(),`reconnectionToken=${i.reconnectionToken}&reconnection=${i.reconnectionProtocol?"true":"false"}`,db(r),`renderer-${db(r)}-${i.reconnectionToken}`,t)}catch(d){throw i.logService.error(`${n} socketFactory.connect() failed or timed out. Error:`),i.logService.error(d),d}i.logService.trace(`${n} 2/6. socketFactory.connect() was successful.`);let s,a;i.reconnectionProtocol?(i.reconnectionProtocol.beginAcceptReconnection(o,null),s=i.reconnectionProtocol,a=!1):(s=new Ef({socket:o}),a=!0),i.logService.trace(`${n} 3/6. sending AuthRequest control message.`);let l=await cb(i.signService.createNewMessage(_e()),t),c={type:"auth",auth:i.connectionToken||"00000000000000000000",data:l.data};s.sendControl(H.fromString(JSON.stringify(c)));try{let d=await HO(s,VO(t,Q_(1e4)));if(d.type!=="sign"||typeof d.data!="string"){let y=new Error("Unexpected handshake message");throw y.code="VSCODE_CONNECTION_ERROR",y}if(i.logService.trace(`${n} 4/6. received SignRequest control message.`),!await cb(i.signService.validate(l,d.signedData),t)){let y=new Error("Refused to connect to unsupported server");throw y.code="VSCODE_CONNECTION_ERROR",y}let f=await cb(i.signService.sign(d.data),t),m={type:"connectionType",commit:i.commit,signedData:f,desiredConnectionType:r};return e&&(m.args=e),i.logService.trace(`${n} 5/6. sending ConnectionTypeRequest control message.`),s.sendControl(H.fromString(JSON.stringify(m))),{protocol:s,ownsProtocol:a}}catch(d){throw d&&d.code==="ETIMEDOUT"&&(i.logService.error(`${n} the handshake timed out. Error:`),i.logService.error(d)),d&&d.code==="VSCODE_CONNECTION_ERROR"&&(i.logService.error(`${n} received error control message when negotiating connection. Error:`),i.logService.error(d)),a&&Z_(s),d}}async function KO(i,r,e){let t=Date.now(),n=ek(i,3),{protocol:o}=await qO(i,3,r,e);return i.logService.trace(`${n} 6/6. handshake finished, connection is up and running after ${XO(t)}!`),o}async function X_(i,r,e){let{connectTo:t,connectionToken:n}=await i.addressProvider.getAddress();return{commit:i.commit,quality:i.quality,connectTo:t,connectionToken:n,reconnectionToken:r,reconnectionProtocol:e,remoteSocketFactoryService:i.remoteSocketFactoryService,signService:i.signService,logService:i.logService}}async function Y_(i,r,e){let t=await X_(i,_e(),null);return await KO(t,{host:r,port:e},xe.None)}function zO(i){return Jn(r=>new Promise((e,t)=>{let n=setTimeout(e,i*1e3);r.onCancellationRequested(()=>{clearTimeout(n),e()})}))}function Z_(i){try{i.acceptDisconnect();let r=i.getSocket();i.dispose(),r.dispose()}catch(r){nt(r)}}function jO(i){if(i&&i.type==="error"){let r=new Error(`Connection error: ${i.reason}`);return r.code="VSCODE_CONNECTION_ERROR",r}return null}function GO(i,r){return typeof i!="number"||!isFinite(i)||i<0?r:i>Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:Math.floor(i)}function JO(i,r){for(;i.length<r;)i+=" ";return i}function QO(i,r){return`[remote-connection][${JO(db(i),13)}][${r.substr(0,5)}\u2026]`}function up(i,r,e){return`${QO(i,r)}[${e?"reconnect":"initial"}]`}function ek(i,r){return`${up(r,i.reconnectionToken,!!i.reconnectionProtocol)}[${i.connectTo}]`}function XO(i){return`${Date.now()-i} ms`}var BO,pp,ub,pb,fb,mg,mb,J_,tk=I(()=>{ge();ot();It();He();z();$();qe();mi();Cs();Jt();Nv();G_();BO=30*1e3;pp=class{get didTimeout(){return this._state==="timedout"}constructor(r){this._state="pending",this._disposables=new J,{promise:this.promise,resolve:this._resolvePromise,reject:this._rejectPromise}=d1(),r.isCancellationRequested?this._timeout():this._disposables.add(r.onCancellationRequested(()=>this._timeout()))}registerDisposable(r){this._state==="pending"?this._disposables.add(r):r.dispose()}_timeout(){this._state==="pending"&&(this._disposables.dispose(),this._state="timedout",this._rejectPromise(this._createTimeoutError()))}_createTimeoutError(){let r=new Error("Time limit reached");return r.code="ETIMEDOUT",r.syscall="connect",r}resolve(r){this._state==="pending"&&(this._disposables.dispose(),this._state="resolved",this._resolvePromise(r))}reject(r){this._state==="pending"&&(this._disposables.dispose(),this._state="rejected",this._rejectPromise(r))}};ub=class{constructor(r,e){this.reconnectionToken=r;this.millisSinceLastIncomingData=e;this.type=0}},pb=class{constructor(r,e,t,n){this.reconnectionToken=r;this.millisSinceLastIncomingData=e;this.durationSeconds=t;this.cancellableTimer=n;this.type=1}skipWait(){this.cancellableTimer.cancel()}},fb=class{constructor(r,e,t){this.reconnectionToken=r;this.millisSinceLastIncomingData=e;this.attempt=t;this.type=2}},mg=class{constructor(r,e,t){this.reconnectionToken=r;this.millisSinceLastIncomingData=e;this.attempt=t;this.type=4}},mb=class{constructor(r,e,t,n){this.reconnectionToken=r;this.millisSinceLastIncomingData=e;this.attempt=t;this.handled=n;this.type=3}},J_=class i extends T{constructor(e,t,n,o,s){super();this._connectionType=e;this._options=t;this.reconnectionToken=n;this.protocol=o;this._reconnectionFailureIsFatal=s;this._onDidStateChange=this._register(new b);this.onDidStateChange=this._onDidStateChange.event;this._permanentFailure=!1;this._isReconnecting=!1;this._isDisposed=!1;this._reconnectionGraceTime=108e5;this._onDidStateChange.fire(new mg(this.reconnectionToken,0,0)),this._register(o.onSocketClose(a=>{let l=up(this._connectionType,this.reconnectionToken,!0);a?a.type===0?(this._options.logService.info(`${l} received socket close event (hadError: ${a.hadError}).`),a.error&&this._options.logService.error(a.error)):(this._options.logService.info(`${l} received socket close event (wasClean: ${a.wasClean}, code: ${a.code}, reason: ${a.reason}).`),a.event&&this._options.logService.error(a.event)):this._options.logService.info(`${l} received socket close event.`),this._beginReconnecting()})),this._register(o.onSocketTimeout(a=>{let l=up(this._connectionType,this.reconnectionToken,!0);this._options.logService.info(`${l} received socket timeout event (unacknowledgedMsgCount: ${a.unacknowledgedMsgCount}, timeSinceOldestUnacknowledgedMsg: ${a.timeSinceOldestUnacknowledgedMsg}, timeSinceLastReceivedSomeData: ${a.timeSinceLastReceivedSomeData}).`),this._beginReconnecting()})),i._instances.push(this),this._register(j(()=>{let a=i._instances.indexOf(this);a>=0&&i._instances.splice(a,1)})),this._isPermanentFailure&&this._gotoPermanentFailure(i._permanentFailureMillisSinceLastIncomingData,i._permanentFailureAttempt,i._permanentFailureHandled)}static triggerPermanentFailure(e,t,n){this._permanentFailure=!0,this._permanentFailureMillisSinceLastIncomingData=e,this._permanentFailureAttempt=t,this._permanentFailureHandled=n,this._instances.forEach(o=>o._gotoPermanentFailure(this._permanentFailureMillisSinceLastIncomingData,this._permanentFailureAttempt,this._permanentFailureHandled))}static debugTriggerReconnection(){this._instances.forEach(e=>e._beginReconnecting())}static debugPauseSocketWriting(){this._instances.forEach(e=>e._pauseSocketWriting())}static{this._permanentFailure=!1}static{this._permanentFailureMillisSinceLastIncomingData=0}static{this._permanentFailureAttempt=0}static{this._permanentFailureHandled=!1}static{this._instances=[]}get _isPermanentFailure(){return this._permanentFailure||i._permanentFailure}updateGraceTime(e){let t=GO(e,108e5),n=up(this._connectionType,this.reconnectionToken,!1);this._options.logService.trace(`${n} Applying reconnection grace time: ${t}ms (${Math.floor(t/1e3)}s)`),this._reconnectionGraceTime=t}dispose(){super.dispose(),this._isDisposed=!0}async _beginReconnecting(){if(!this._isReconnecting)try{this._isReconnecting=!0,await this._runReconnectingLoop()}finally{this._isReconnecting=!1}}async _runReconnectingLoop(){if(this._isPermanentFailure||this._isDisposed)return;let e=up(this._connectionType,this.reconnectionToken,!0);this._options.logService.info(`${e} starting reconnecting loop. You can get more information with the trace log level.`),this._onDidStateChange.fire(new ub(this.reconnectionToken,this.protocol.getMillisSinceLastIncomingData()));let t=[0,5,5,10,10,10,10,10,30],n=this._reconnectionGraceTime;if(this._options.logService.info(`${e} starting reconnection with grace time: ${n}ms (${Math.floor(n/1e3)}s)`),n<=0){this._options.logService.error(`${e} reconnection grace time is set to 0ms, will not attempt to reconnect.`),this._onReconnectionPermanentFailure(this.protocol.getMillisSinceLastIncomingData(),0,!1);return}let o=Date.now(),s=-1;do{s++;let a=s<t.length?t[s]:t[t.length-1];try{if(a>0){let c=zO(a);this._onDidStateChange.fire(new pb(this.reconnectionToken,this.protocol.getMillisSinceLastIncomingData(),a,c)),this._options.logService.info(`${e} waiting for ${a} seconds before reconnecting...`);try{await c}catch{}}if(this._isPermanentFailure){this._options.logService.error(`${e} permanent failure occurred while running the reconnecting loop.`);break}this._onDidStateChange.fire(new fb(this.reconnectionToken,this.protocol.getMillisSinceLastIncomingData(),s+1)),this._options.logService.info(`${e} resolving connection...`);let l=await X_(this._options,this.reconnectionToken,this.protocol);this._options.logService.info(`${e} connecting to ${l.connectTo}...`),await this._reconnect(l,Q_(BO)),this._options.logService.info(`${e} reconnected!`),this._onDidStateChange.fire(new mg(this.reconnectionToken,this.protocol.getMillisSinceLastIncomingData(),s+1));break}catch(l){if(l.code==="VSCODE_CONNECTION_ERROR"){this._options.logService.error(`${e} A permanent error occurred in the reconnecting loop! Will give up now! Error:`),this._options.logService.error(l),this._onReconnectionPermanentFailure(this.protocol.getMillisSinceLastIncomingData(),s+1,!1);break}if(Date.now()-o>=n){let c=Math.round(n/1e3);this._options.logService.error(`${e} An error occurred while reconnecting, but it will be treated as a permanent error because the reconnection grace time (${c}s) has expired! Will give up now! Error:`),this._options.logService.error(l),this._onReconnectionPermanentFailure(this.protocol.getMillisSinceLastIncomingData(),s+1,!1);break}if(Nc.isTemporarilyNotAvailable(l)){this._options.logService.info(`${e} A temporarily not available error occurred while trying to reconnect, will try again...`),this._options.logService.trace(l);continue}if((l.code==="ETIMEDOUT"||l.code==="ENETUNREACH"||l.code==="ECONNREFUSED"||l.code==="ECONNRESET")&&l.syscall==="connect"){this._options.logService.info(`${e} A network error occurred while trying to reconnect, will try again...`),this._options.logService.trace(l);continue}if(ed(l)){this._options.logService.info(`${e} A promise cancelation error occurred while trying to reconnect, will try again...`),this._options.logService.trace(l);continue}if(l instanceof Nc){this._options.logService.error(`${e} A RemoteAuthorityResolverError occurred while trying to reconnect. Will give up now! Error:`),this._options.logService.error(l),this._onReconnectionPermanentFailure(this.protocol.getMillisSinceLastIncomingData(),s+1,Nc.isHandled(l));break}this._options.logService.error(`${e} An unknown error occurred while trying to reconnect, since this is an unknown case, it will be treated as a permanent error! Will give up now! Error:`),this._options.logService.error(l),this._onReconnectionPermanentFailure(this.protocol.getMillisSinceLastIncomingData(),s+1,!1);break}}while(!this._isPermanentFailure&&!this._isDisposed)}_onReconnectionPermanentFailure(e,t,n){this._reconnectionFailureIsFatal?i.triggerPermanentFailure(e,t,n):this._gotoPermanentFailure(e,t,n)}_gotoPermanentFailure(e,t,n){this._onDidStateChange.fire(new mb(this.reconnectionToken,e,t,n)),Z_(this.protocol)}_pauseSocketWriting(){this.protocol.pauseSocketWriting()}}});var hg,rk=I(()=>{$();ee();hg=L("remoteSocketFactoryService")});import*as nk from"net";import*as ik from"os";async function YO(i,r,e,t,n){let o;for(let s=3;s&&(o?.dispose(),o=await new hb(i,r,e,t,n).waitForReady(),!(n&&nI[n]||!nI[o.tunnelLocalPort]));s--);return o}var hb,fp,pa,gg,ok=I(()=>{oI();Fd();ge();$();Z();it();re();nr();tk();rk();xh();lb();ot();hb=class extends T{constructor(e,t,n,o,s){super();this.defaultTunnelHost=t;this.suggestedLocalPort=s;this.privacy="private";this._socketsDispose=new Map;this._options=e,this._server=nk.createServer(),this._barrier=new wi,this._listeningListener=()=>this._barrier.open(),this._server.on("listening",this._listeningListener),this._connectionListener=a=>this._onConnection(a),this._server.on("connection",this._connectionListener),this._errorListener=()=>{},this._server.on("error",this._errorListener),this.tunnelRemotePort=o,this.tunnelRemoteHost=n}async dispose(){super.dispose(),this._server.removeListener("listening",this._listeningListener),this._server.removeListener("connection",this._connectionListener),this._server.removeListener("error",this._errorListener),this._server.close(),Array.from(this._socketsDispose.values()).forEach(t=>{t()})}async waitForReady(){let e=this.suggestedLocalPort??this.tunnelRemotePort,t=Uc(this.defaultTunnelHost)?"0.0.0.0":"127.0.0.1",n=await iI(e,2,1e3,t),o=null;return this._server.listen(n,this.defaultTunnelHost),await this._barrier.wait(),o=this._server.address(),o||(n=0,this._server.listen(n,this.defaultTunnelHost),await this._barrier.wait(),o=this._server.address()),this.tunnelLocalPort=o.port,this.localAddress=`${this.tunnelRemoteHost==="127.0.0.1"?"127.0.0.1":"localhost"}:${o.port}`,this}async _onConnection(e){e.pause();let t=fg(this.tunnelRemoteHost)||Uc(this.tunnelRemoteHost)?"localhost":this.tunnelRemoteHost,n=await Y_(this._options,t,this.tunnelRemotePort),o=n.getSocket(),s=n.readEntireBuffer();n.dispose(),s.byteLength>0&&e.write(s.buffer),e.on("end",()=>{e.localAddress&&this._socketsDispose.delete(e.localAddress),o.end()}),e.on("close",()=>o.end()),e.on("error",()=>{e.localAddress&&this._socketsDispose.delete(e.localAddress),o instanceof no?o.socket.destroy():o.end()}),o instanceof no?this._mirrorNodeSocket(e,o):this._mirrorGenericSocket(e,o),e.localAddress&&this._socketsDispose.set(e.localAddress,()=>{e.end(),o.end()})}_mirrorGenericSocket(e,t){t.onClose(()=>e.destroy()),t.onEnd(()=>e.end()),t.onData(n=>e.write(n.buffer)),e.on("data",n=>t.write(H.wrap(n))),e.resume()}_mirrorNodeSocket(e,t){let n=t.socket;n.on("end",()=>e.end()),n.on("close",()=>e.end()),n.on("error",()=>{e.destroy()}),n.pipe(e),e.pipe(n)}},fp=class extends Wc{constructor(e,t,n,o,s){super(t,s);this.remoteSocketFactoryService=e;this.signService=n;this.productService=o}isPortPrivileged(e){return j_(e,this.defaultTunnelHost,Ot,ik.release())}retainOrCreateTunnel(e,t,n,o,s,a,l,c){let d=this.getTunnelFromMap(t,n);if(d)return++d.refcount,d.value;if(z_(e))return this.createWithProvider(e,t,n,s,a,l,c);{this.logService.trace(`ForwardedPorts: (TunnelService) Creating tunnel without provider ${t}:${n} on local port ${s}.`);let u={commit:this.productService.commit,quality:this.productService.quality,addressProvider:e,remoteSocketFactoryService:this.remoteSocketFactoryService,signService:this.signService,logService:this.logService,ipcLogger:null},f=YO(u,o,t,n,s);return this.logService.trace("ForwardedPorts: (TunnelService) Tunnel created without provider."),this.addTunnelToMap(t,n,f),f}}};fp=E([g(0,hg),g(1,U),g(2,hs),g(3,De),g(4,fe)],fp);pa=class extends fp{constructor(r,e,t,n,o){super(r,e,t,n,o)}};pa=E([g(0,hg),g(1,U),g(2,hs),g(3,De),g(4,fe)],pa);gg=class extends T{constructor(e,t,n,o,s){super();this.remoteSocketFactoryService=e;this.logService=t;this.productService=n;this.signService=o;this.configurationService=s;this._tunnelServices=new Map}async openTunnel(e,t,n,o,s,a,l,c,d){if(this.logService.trace(`ForwardedPorts: (SharedTunnelService) openTunnel request for ${n}:${o} on local port ${a}.`),!this._tunnelServices.has(e)){let u=new pa(this.remoteSocketFactoryService,this.logService,this.signService,this.productService,this.configurationService);this._register(u),this._tunnelServices.set(e,u),u.onTunnelClosed(async()=>{(await u.tunnels).length===0&&(u.dispose(),this._tunnelServices.delete(e))})}return this._tunnelServices.get(e).openTunnel(t,n,o,s,a,l,c,d)}};gg=E([g(0,hg),g(1,U),g(2,De),g(3,hs),g(4,fe)],gg)});import{parse as sk}from"url";function ZO(i,r){return i.protocol==="http:"?r.HTTP_PROXY||r.http_proxy||null:i.protocol==="https:"&&(r.HTTPS_PROXY||r.https_proxy||r.HTTP_PROXY||r.http_proxy)||null}async function ak(i,r,e={}){let t=sk(i),n=e.proxyUrl||ZO(t,r);if(!n)return null;let o=sk(n);if(!/^https?:$/.test(o.protocol||""))return null;let s={host:o.hostname||"",port:(o.port?+o.port:0)||(o.protocol==="https"?443:80),auth:o.auth,rejectUnauthorized:Hp(e.strictSSL)?e.strictSSL:!0};if(t.protocol==="http:"){let{default:a}=await import("http-proxy-agent");return new a.HttpProxyAgent(n,s)}else{let{default:a}=await import("https-proxy-agent");return new a.HttpsProxyAgent(n,s)}}var lk=I(()=>{Le()});import{parse as ck}from"url";import{createGunzip as eF}from"zlib";function nF(i){if(i instanceof Error){let r=i.code;return!!r&&tF.has(r)}return!1}async function iF(i,r,e,t){let n=await import("kerberos"),o=n.default||n,s=new URL(i),a=r||(process.platform==="win32"?`HTTP/${s.hostname}`:`HTTP@${s.hostname}`);return e.debug(`${t} Kerberos authentication lookup`,`proxyURL:${s}`,`spn:${a}`),(await o.initializeClient(a)).step("")}async function oF(i){return(ck(i.url).protocol==="https:"?await import("https"):await import("http")).request}async function dk(i,r){let t,n=rF.test(i.type||"GET");for(let o=1;o<=3;o++)try{return await sF(i,r)}catch(s){if(t=s,s instanceof St||!n||!nF(s)||o===3)throw s;await lt(100*o,r)}throw t}async function sF(i,r){return gt.withAsyncBody(async(e,t)=>{let n=ck(i.url),o=i.getRawRequest?i.getRawRequest(i):await oF(i),s={hostname:n.hostname,port:n.port?parseInt(n.port):n.protocol==="https:"?443:80,protocol:n.protocol,path:n.path,method:i.type||"GET",headers:i.headers,agent:i.agent,rejectUnauthorized:Hp(i.strictSSL)?i.strictSSL:!0};i.user&&i.password&&(s.auth=i.user+":"+i.password),i.disableCache&&(s.cache="no-store");let a=o(s,c=>{let d=Kn(i.followRedirects)?i.followRedirects:3;if(c.statusCode&&c.statusCode>=300&&c.statusCode<400&&d>0&&c.headers.location)dk({...i,url:c.headers.location,followRedirects:d-1},r).then(e,t);else{let u=c;!i.isChromiumNetwork&&c.headers["content-encoding"]==="gzip"&&(u=c.pipe(eF())),e({res:c,stream:ex(u)})}});if(a.on("error",t),i.timeout)if(i.isChromiumNetwork){let c=setTimeout(()=>{a.abort(),t(new Error(`Request timeout after ${i.timeout}ms`))},i.timeout);a.on("response",()=>clearTimeout(c)),a.on("error",()=>clearTimeout(c)),a.on("abort",()=>clearTimeout(c))}else a.setTimeout(i.timeout);i.isChromiumNetwork&&a.removeHeader("Content-Length"),i.data&&typeof i.data=="string"&&a.write(i.data),a.end();let l=r.onCancellationRequested(()=>{l.dispose(),a.abort(),t(new St)});a.on("response",()=>l.dispose()),a.on("error",()=>l.dispose())})}var tF,rF,Bc,uk=I(()=>{ge();ot();He();Le();it();ln();Vm();re();os();lk();tF=new Set(["EAI_AGAIN","ECONNREFUSED","EHOSTDOWN","EHOSTUNREACH","ENETDOWN","ENETUNREACH","EPROTO"]),rF=/^(GET|HEAD|OPTIONS)$/i;Bc=class extends Om{constructor(e,t,n,o){super(o);this.machine=e;this.configurationService=t;this.environmentService=n;this.configure(),this._register(t.onDidChangeConfiguration(s=>{s.affectsConfiguration("http")&&this.configure()}))}configure(){this.proxyUrl=this.getConfigValue("http.proxy"),this.strictSSL=!!this.getConfigValue("http.proxyStrictSSL"),this.authorization=this.getConfigValue("http.proxyAuthorization")}async request(e,t){let{proxyUrl:n,strictSSL:o}=this,s;try{s=await Ol(this.configurationService,this.logService,this.environmentService.args,process.env)}catch(c){this.shellEnvErrorLogged||(this.shellEnvErrorLogged=!0,this.logService.error("resolving shell environment failed",mr(c)))}let a={...process.env,...s},l=e.agent?e.agent:await ak(e.url||"",a,{proxyUrl:n,strictSSL:o});return e.agent=l,e.strictSSL=o,this.authorization&&(e.headers={...e.headers||{},"Proxy-Authorization":this.authorization}),this.logAndRequest(e,()=>dk(e,t))}async resolveProxy(e){}async lookupAuthorization(e){}async lookupKerberosAuthorization(e){try{let t=this.getConfigValue("http.proxyKerberosServicePrincipal");return"Negotiate "+await iF(e,t,this.logService,"RequestService#lookupKerberosAuthorization")}catch(t){this.logService.debug("RequestService#lookupKerberosAuthorization Kerberos authentication failed",t);return}}async loadCertificates(){return(await import("@vscode/proxy-agent")).loadSystemCertificates({loadSystemCertificatesFromNode:()=>this.getConfigValue("http.systemCertificatesNode",dI),log:this.logService})}getConfigValue(e,t){if(this.machine==="remote")return this.configurationService.getValue(e);let n=this.configurationService.inspect(e);return n.userLocalValue??n.defaultValue??t}};Bc=E([g(1,fe),g(2,Or),g(3,U)],Bc)});import{net as aF}from"electron";function lF(i){return aF.request}var Vc,pk=I(()=>{uk();it();ln();re();Vc=class extends Bc{constructor(r,e,t){super("local",r,e,t)}request(r,e){return super.request({...r||{},getRawRequest:lF,isChromiumNetwork:!0},e)}};Vc=E([g(0,fe),g(1,Or),g(2,U)],Vc)});var vg,fk=I(()=>{vg=class i{constructor(){this.validators=new Map}static{this._nextId=1}async createNewMessage(r){try{let e=await this.getValidator();if(e){let t=String(i._nextId++);return this.validators.set(t,e),{id:t,data:e.createNewMessage(r)}}}catch{}return{id:"",data:r}}async validate(r,e){if(!r.id)return!0;let t=this.validators.get(r.id);if(!t)return!1;this.validators.delete(r.id);try{return t.validate(e)==="ok"}catch{return!1}finally{t.dispose?.()}}async sign(r){try{return await this.signValue(r)}catch{}return r}}});var yg,mk=I(()=>{fk();yg=class extends vg{getValidator(){return this.vsda().then(r=>new r.validator)}signValue(r){return this.vsda().then(e=>new e.signer().sign(r))}async vsda(){let r="vsda",{default:e}=await import(r);return e}}});var fa,hk=I(()=>{li();ge();$();re();fa=class extends ia{constructor(e,t){super();this.logService=e;this.productName=t;this.throttler=this._register(new dd);this.watcher=this._register(new jt)}async _updatePolicyDefinitions(e){this.logService.trace(`NativePolicyService#_updatePolicyDefinitions - Found ${Object.keys(e).length} policy definitions`);let{createWatcher:t}=await import("@vscode/policy-watcher");await this.throttler.queue(()=>new Promise((n,o)=>{try{this.logService.trace(`Creating watcher for productName ${this.productName}`),this.watcher.value=t(this.productName,e,s=>{this._onDidPolicyChange(s),n()})}catch(s){this.logService.error("NativePolicyService#_updatePolicyDefinitions - Error creating watcher:",s),o(s)}}))}_onDidPolicyChange(e){this.logService.trace(`NativePolicyService#_onDidPolicyChange - Updated policy values: ${JSON.stringify(e)}`);for(let t in e){let n=e[t];n===void 0?this.policies.delete(t):this.policies.set(t,n)}this._onDidChange.fire(Object.keys(e))}};fa=E([g(0,U)],fa)});function cF(i,r){let e=[];for(let t of new Set(yi.concat(i.keys(),r.keys())))i.get(t)!==r.get(t)&&e.push(t);return e}var ma,gk=I(()=>{ge();z();rd();Le();ze();re();li();ma=class extends ia{constructor(e,t,n){super();this.file=e;this.fileService=t;this.logService=n;this.throttledDelayer=this._register(new Pr(500));let o=S.filter(t.onDidFilesChange,s=>s.affects(e));this._register(t.watch(e)),this._register(o(()=>this.throttledDelayer.trigger(()=>this.refresh())))}async _updatePolicyDefinitions(){await this.refresh()}async read(){let e=new Map;try{let t=await this.fileService.readFile(this.file),n=JSON.parse(t.value.toString());if(!je(n))throw new Error("Policy file isn't a JSON object");for(let o of Object.keys(n))this.policyDefinitions[o]&&e.set(o,n[o])}catch(t){t.fileOperationResult!==1&&this.logService.error("[FilePolicyService] Failed to read policies",t)}return e}async refresh(){let e=await this.read(),t=cF(this.policies,e);this.policies=e,t.length>0&&this._onDidChange.fire(t)}};ma=E([g(1,Me),g(2,U)],ma)});function vk(i,r,e){r instanceof me||(r=new me(r,[],!!e)),dF.push([i,r])}var dF,yk=I(()=>{Ku();dF=[]});var Ig,ha,Ik=I(()=>{ei();le();yk();ze();wt();z();$();zt();Ig=class i{constructor(r){this.uri=r;this.time=i._clock++}static{this._clock=0}touch(){return this.time=i._clock++,this}},ha=class{constructor(r){this._fileService=r;this._dispooables=new J;this._limit=2**16;let e=new Map,t=n=>{let o=e.get(n.scheme);return o===void 0&&(o=r.hasProvider(n)&&!this._fileService.hasCapability(n,1024),e.set(n.scheme,o)),o};this._dispooables.add(S.any(r.onDidChangeFileSystemProviderRegistrations,r.onDidChangeFileSystemProviderCapabilities)(n=>{if(e.get(n.scheme)===void 0)return;e.delete(n.scheme);let s=t(P.from({scheme:n.scheme}));if(s!==s)for(let[a,l]of this._canonicalUris.entries())l.uri.scheme===n.scheme&&this._canonicalUris.delete(a)})),this.extUri=new Rs(t),this._canonicalUris=new Map}dispose(){this._dispooables.dispose(),this._canonicalUris.clear()}asCanonicalUri(r){this._fileService.hasProvider(r)&&(r=Zp(r));let e=this.extUri.getComparisonKey(r,!0),t=this._canonicalUris.get(e);return t?t.touch().uri.with({fragment:r.fragment}):(this._canonicalUris.set(e,new Ig(r)),this._checkTrim(),r)}_checkTrim(){if(this._canonicalUris.size<this._limit)return;Ig._clock=1;let r=[...this._canonicalUris.values()].map(t=>t.time),e=Np(Math.floor(r.length/2),r,(t,n)=>t-n);for(let[t,n]of this._canonicalUris.entries())n.time<=e?this._canonicalUris.delete(t):n.time=0}};ha=E([g(0,Me)],ha);vk(kt,ha,1)});var wg,wk=I(()=>{$();re();wg=class extends T{constructor(r,e=[]){super(),this.logger=new Bf([r,...e]),this._register(r.onDidChangeLogLevel(t=>this.setLevel(t)))}get onDidChangeLogLevel(){return this.logger.onDidChangeLogLevel}setLevel(r){this.logger.setLevel(r)}getLevel(){return this.logger.getLevel()}trace(r,...e){this.logger.trace(r,...e)}debug(r,...e){this.logger.debug(r,...e)}info(r,...e){this.logger.info(r,...e)}warn(r,...e){this.logger.warn(r,...e)}error(r,...e){this.logger.error(r,...e)}flush(){this.logger.flush()}}});var bg,bk=I(()=>{z();$();ze();Hs();xr();bg=class extends T{constructor(e,t,n,o,s,a){super();this.fileSystemScheme=e;this.fileSystemProvider=t;this.userDataScheme=n;this.userDataProfilesService=o;this.uriIdentityService=s;this.logService=a;this.capabilities=this.fileSystemProvider.capabilities,this.onDidChangeCapabilities=this.fileSystemProvider.onDidChangeCapabilities,this._onDidChangeFile=this._register(new b),this.onDidChangeFile=this._onDidChangeFile.event,this.watchResources=Kr.forUris(()=>!(this.capabilities&1024)),this.atomicReadWriteResources=new xa(l=>this.uriIdentityService.extUri.getComparisonKey(this.toFileSystemResource(l))),this.updateAtomicReadWritesResources(),this._register(o.onDidChangeProfiles(()=>this.updateAtomicReadWritesResources())),this._register(this.fileSystemProvider.onDidChangeFile(l=>this.handleFileChanges(l)))}updateAtomicReadWritesResources(){this.atomicReadWriteResources.clear();for(let e of this.userDataProfilesService.profiles)this.atomicReadWriteResources.add(e.settingsResource),this.atomicReadWriteResources.add(e.keybindingsResource),this.atomicReadWriteResources.add(e.tasksResource),this.atomicReadWriteResources.add(e.extensionsResource)}open(e,t){return this.fileSystemProvider.open(this.toFileSystemResource(e),t)}close(e){return this.fileSystemProvider.close(e)}read(e,t,n,o,s){return this.fileSystemProvider.read(e,t,n,o,s)}write(e,t,n,o,s){return this.fileSystemProvider.write(e,t,n,o,s)}watch(e,t){this.watchResources.set(e,e);let n=this.fileSystemProvider.watch(this.toFileSystemResource(e),t);return j(()=>{this.watchResources.delete(e),n.dispose()})}stat(e){return this.fileSystemProvider.stat(this.toFileSystemResource(e))}mkdir(e){return this.fileSystemProvider.mkdir(this.toFileSystemResource(e))}rename(e,t,n){return this.fileSystemProvider.rename(this.toFileSystemResource(e),this.toFileSystemResource(t),n)}readFile(e,t){return this.fileSystemProvider.readFile(this.toFileSystemResource(e),t)}readFileStream(e,t,n){return this.fileSystemProvider.readFileStream(this.toFileSystemResource(e),t,n)}readdir(e){return this.fileSystemProvider.readdir(this.toFileSystemResource(e))}enforceAtomicReadFile(e){return this.atomicReadWriteResources.has(e)}writeFile(e,t,n){return this.fileSystemProvider.writeFile(this.toFileSystemResource(e),t,n)}enforceAtomicWriteFile(e){return this.atomicReadWriteResources.has(e)?{postfix:".vsctmp"}:!1}delete(e,t){return this.fileSystemProvider.delete(this.toFileSystemResource(e),t)}copy(e,t,n){if(ru(this.fileSystemProvider))return this.fileSystemProvider.copy(this.toFileSystemResource(e),this.toFileSystemResource(t),n);throw new Error("copy not supported")}cloneFile(e,t){if(qf(this.fileSystemProvider))return this.fileSystemProvider.cloneFile(this.toFileSystemResource(e),this.toFileSystemResource(t));throw new Error("clone not supported")}handleFileChanges(e){let t=[];for(let n of e){if(n.resource.scheme!==this.fileSystemScheme)continue;let o=this.toUserDataResource(n.resource);this.watchResources.findSubstr(o)&&t.push({resource:o,type:n.type,cId:n.cId})}t.length&&(this.logService.debug("User data changed"),this._onDidChangeFile.fire(t))}toFileSystemResource(e){return e.with({scheme:this.fileSystemScheme})}toUserDataResource(e){return e.with({scheme:this.userDataScheme})}}});var Sk=I(()=>{});import Ur from"electron";var uF,pF,fF,mF,xk,Pk,Ek,Ck,hn,Jr,Tk=I(()=>{z();$();Z();it();bn();Sk();zt();Vt();re();uF="#FFFFFF",pF="#1F1F1F",fF="#000000",mF="#FFFFFF",xk="theme",Pk="themeBackground",Ek="windowSplash",Ck="windowSplashWorkspaceOverride",hn=class{constructor(r,e){this.key=r;this.defaultValue=e}getValue(r){return r.getValue(this.key)??this.defaultValue}};(o=>(o.DETECT_COLOR_SCHEME=new o("window.autoDetectColorScheme",!1),o.DETECT_HC=new o("window.autoDetectHighContrast",!0),o.SYSTEM_COLOR_THEME=new o("window.systemColorTheme","default"),o.AUXILIARYBAR_DEFAULT_VISIBILITY=new o("workbench.secondarySideBar.defaultVisibility","visibleInWorkspace"),o.STARTUP_EDITOR=new o("workbench.startupEditor","welcomePage")))(hn||={});Jr=class extends T{constructor(e,t,n){super();this.stateService=e;this.configurationService=t;this.logService=n;this._onDidChangeColorScheme=this._register(new b);this.onDidChangeColorScheme=this._onDidChangeColorScheme.event;ne||this._register(this.configurationService.onDidChangeConfiguration(o=>{(o.affectsConfiguration(hn.SYSTEM_COLOR_THEME.key)||o.affectsConfiguration(hn.DETECT_COLOR_SCHEME.key))&&(this.updateSystemColorTheme(),this.logThemeSettings())})),this.updateSystemColorTheme(),this.logThemeSettings(),this._register(S.fromNodeEventEmitter(Ur.nativeTheme,"updated")(()=>{this.logThemeSettings(),this._onDidChangeColorScheme.fire(this.getColorScheme())}))}static{this.DEFAULT_BAR_WIDTH=300}static{this.WORKSPACE_OVERRIDE_LIMIT=50}logThemeSettings(){if(this.logService.getLevel()>=2){let e=n=>`${n.key}=${n.getValue(this.configurationService)}`;this.logService.debug(`[theme main service] ${e(hn.DETECT_COLOR_SCHEME)}, ${e(hn.DETECT_HC)}, ${e(hn.SYSTEM_COLOR_THEME)}`);let t=n=>`${String(n)}=${Ur.nativeTheme[n]}`;this.logService.debug(`[theme main service] electron.nativeTheme: ${t("themeSource")}, ${t("shouldUseDarkColors")}, ${t("shouldUseHighContrastColors")}, ${t("shouldUseInvertedColorScheme")}, ${t("shouldUseDarkColorsForSystemIntegratedUI")}	`),this.logService.debug(`[theme main service] New color scheme: ${JSON.stringify(this.getColorScheme())}`)}}updateSystemColorTheme(){if(ne||this.isAutoDetectColorScheme())Ur.nativeTheme.themeSource="system";else switch(hn.SYSTEM_COLOR_THEME.getValue(this.configurationService)){case"dark":Ur.nativeTheme.themeSource="dark";break;case"light":Ur.nativeTheme.themeSource="light";break;case"auto":switch(this.getPreferredBaseTheme()??this.getStoredBaseTheme()){case"vs":Ur.nativeTheme.themeSource="light";break;case"vs-dark":Ur.nativeTheme.themeSource="dark";break;default:Ur.nativeTheme.themeSource="system"}break;default:Ur.nativeTheme.themeSource="system";break}}getColorScheme(){if(F){if(Ur.nativeTheme.shouldUseHighContrastColors)return{dark:Ur.nativeTheme.shouldUseInvertedColorScheme,highContrast:!0}}else if(N){if(Ur.nativeTheme.shouldUseInvertedColorScheme||Ur.nativeTheme.shouldUseHighContrastColors)return{dark:Ur.nativeTheme.shouldUseDarkColors,highContrast:!0}}else if(ne&&Ur.nativeTheme.shouldUseHighContrastColors)return{dark:!0,highContrast:!0};return{dark:Ur.nativeTheme.shouldUseDarkColors,highContrast:!1}}getPreferredBaseTheme(){let e=this.getColorScheme();if(hn.DETECT_HC.getValue(this.configurationService)&&e.highContrast)return e.dark?"hc-black":"hc-light";if(this.isAutoDetectColorScheme())return e.dark?"vs-dark":"vs"}isAutoDetectColorScheme(){return!!hn.DETECT_COLOR_SCHEME.getValue(this.configurationService)}getBackgroundColor(){let e=this.getPreferredBaseTheme(),t=this.getStoredBaseTheme();if(e===void 0||e===t){let n=this.stateService.getItem(Pk,null);if(n)return n}switch(e??t){case"vs":return uF;case"hc-black":return fF;case"hc-light":return mF;default:return pF}}getStoredBaseTheme(){switch(this.stateService.getItem(xk,"vs-dark").split(" ")[0]){case"vs":return"vs";case"hc-black":return"hc-black";case"hc-light":return"hc-light";default:return"vs-dark"}}saveWindowSplash(e,t,n){let o=this.updateWindowSplashOverride(t,n);this.stateService.setItems(at([{key:xk,data:n.baseTheme},{key:Pk,data:n.colorInfo.background},{key:Ek,data:n},o?{key:Ck,data:o}:void 0])),typeof e=="number"&&this.updateBackgroundColor(e,n),this.updateSystemColorTheme()}updateWindowSplashOverride(e,t){let n,o=!1;return e&&(n={...this.getWindowSplashOverride()},o=this.doUpdateWindowSplashOverride(e,t,n,"sideBar"),o=this.doUpdateWindowSplashOverride(e,t,n,"auxiliaryBar")||o),o?n:void 0}doUpdateWindowSplashOverride(e,t,n,o){let s=o==="sideBar"?t.layoutInfo?.sideBarWidth:t.layoutInfo?.auxiliaryBarWidth,a=o==="sideBar"?n.layoutInfo.sideBarWidth:n.layoutInfo.auxiliaryBarWidth,l=!1;if(typeof s!="number")return n.layoutInfo.workspaces[e.id]&&(delete n.layoutInfo.workspaces[e.id],l=!0),l;let c=n.layoutInfo.workspaces[e.id];if(!c){let d=Object.keys(n.layoutInfo.workspaces);d.length>=Jr.WORKSPACE_OVERRIDE_LIMIT&&(delete n.layoutInfo.workspaces[d[0]],l=!0),c={sideBarVisible:!1,auxiliaryBarVisible:!1},n.layoutInfo.workspaces[e.id]=c,l=!0}if(s>0)switch(a!==s&&(n.layoutInfo[o==="sideBar"?"sideBarWidth":"auxiliaryBarWidth"]=s,l=!0),o){case"sideBar":c.sideBarVisible||(c.sideBarVisible=!0,l=!0);break;case"auxiliaryBar":c.auxiliaryBarVisible||(c.auxiliaryBarVisible=!0,l=!0);break}else switch(o){case"sideBar":c.sideBarVisible&&(c.sideBarVisible=!1,l=!0);break;case"auxiliaryBar":c.auxiliaryBarVisible&&(c.auxiliaryBarVisible=!1,l=!0);break}return l}updateBackgroundColor(e,t){for(let n of Ai())if(n.id===e){n.setBackgroundColor(t.colorInfo.background);break}}getWindowSplash(e){try{return this.doGetWindowSplash(e)}catch(t){this.logService.error("[theme main service] Failed to get window splash",t);return}}doGetWindowSplash(e){let t=this.stateService.getItem(Ek);if(!t?.layoutInfo)return t;let n=this.getWindowSplashOverride(),o;e?n.layoutInfo.workspaces[e.id]?.sideBarVisible===!1?o=0:o=n.layoutInfo.sideBarWidth||t.layoutInfo.sideBarWidth||Jr.DEFAULT_BAR_WIDTH:o=0;let s=hn.AUXILIARYBAR_DEFAULT_VISIBILITY.getValue(this.configurationService),a=hn.STARTUP_EDITOR.getValue(this.configurationService),l;if(e){let c=n.layoutInfo.workspaces[e.id]?.auxiliaryBarVisible;c===!0?l=n.layoutInfo.auxiliaryBarWidth||t.layoutInfo.auxiliaryBarWidth||Jr.DEFAULT_BAR_WIDTH:c===!1?l=0:a!=="agentSessionsWelcomePage"&&(s==="visible"||s==="visibleInWorkspace")?l=n.layoutInfo.auxiliaryBarWidth||t.layoutInfo.auxiliaryBarWidth||Jr.DEFAULT_BAR_WIDTH:a!=="agentSessionsWelcomePage"&&(s==="maximized"||s==="maximizedInWorkspace")?l=Number.MAX_SAFE_INTEGER:l=0}else l=0;return{...t,layoutInfo:{...t.layoutInfo,sideBarWidth:o,auxiliaryBarWidth:l}}}getWindowSplashOverride(){let e=this.stateService.getItem(Ck);return e?.layoutInfo||(e={layoutInfo:{sideBarWidth:Jr.DEFAULT_BAR_WIDTH,auxiliaryBarWidth:Jr.DEFAULT_BAR_WIDTH,workspaces:{}}}),e.layoutInfo.sideBarWidth||(e.layoutInfo.sideBarWidth=Jr.DEFAULT_BAR_WIDTH),e.layoutInfo.auxiliaryBarWidth||(e.layoutInfo.auxiliaryBarWidth=Jr.DEFAULT_BAR_WIDTH),e.layoutInfo.workspaces||(e.layoutInfo.workspaces={}),e}};Jr=E([g(0,Pt),g(1,fe),g(2,U)],Jr)});var IF={};import{app as hF,dialog as gF}from"electron";import{unlinkSync as vF,promises as _k}from"fs";var gb,yF,kk=I(()=>{B1();le();zt();ge();Wo();He();sn();z();ro();qe();Ce();mi();Z();Hn();ar();rr();xi();Fd();D_();Ee();it();M_();W_();Dt();Ll();N_();ze();B_();sh();Ku();H_();dh();Et();$_();re();Id();nr();Fh();q_();lb();ok();os();pk();xh();mk();bn();wo();al();Yo();li();hk();gk();$();ei();Ik();zl();wk();Ly();Sy();bk();Na();Tk();vd();gb=class{main(){try{this.startup()}catch(r){console.error(r.message),hF.exit(1)}}async startup(){Wp(c=>console.error(c));let[r,e,t,n,o,s,a,l]=this.createServices();try{try{await this.initServices(t,l,n,o,a)}catch(c){throw this.handleStartupDataDirError(t,a,c),c}await r.invokeFunction(async c=>{let d=c.get(U),u=c.get(ye),f=c.get(Me),m=c.get(cn),y=await this.claimInstance(d,t,u,r,a,!0);if(Q.writeFile(t.mainLockfile,String(process.pid)).catch(C=>{d.warn(`app#startup(): Error writing main lockfile: ${C.stack}`)}),s.logger=m.createLogger("main",{name:h(164,null)}),S.once(u.onWillShutdown)(C=>{f.dispose(),n.dispose(),C.join("instanceLockfile",_k.unlink(t.mainLockfile).catch(()=>{}))}),await this.checkInnoSetupMutex(a)){let C=`${a.nameShort} is currently being updated. Please wait for the update to complete before launching.`;r.invokeFunction(this.quit,new Error(C));return}return r.createInstance(Is,y,e).startup()})}catch(c){r.invokeFunction(this.quit,c)}}createServices(){let r=new us,e=new J;process.once("exit",()=>e.dispose());let t={_serviceBrand:void 0,...Mr};r.set(De,t);let n=new In(this.resolveArgs(),t),o=this.patchEnvironment(n);r.set(Te,n);let s=new wh($x(n),n.logsHome);r.set(ci,s);let a=new pg(s.getLogLevel()),l=e.add(new wg(a,[new Nf(s.getLogLevel())]));r.set(U,l);let c=new bs(l);r.set(Me,c);let d=new ds(l);c.registerProvider(W.file,d);let u=new ha(c);r.set(kt,u);let f=new ul(1,n,l,c);r.set(em,f),r.set(Pt,f);let m=new pl(f,u,n,c,l);r.set(Wr,m),c.registerProvider(W.vscodeUserData,new bg(W.file,d,W.vscodeUserData,m,u,l));let y,v=F?t.parentPolicyConfig?.win32RegValueName??t.win32RegValueName:t.parentPolicyConfig?.darwinBundleIdentifier??t.darwinBundleIdentifier;F&&v?y=e.add(new fa(l,v)):N&&v?y=e.add(new fa(l,v)):ne?y=e.add(new ma(P.file(T1),c,l)):n.policyFile?y=e.add(new ma(n.policyFile,c,l)):y=new Kl,r.set(Fn,y);let C=new cg(m.defaultProfile.settingsResource,c,y,l);return r.set(fe,C),r.set(ye,new me(Li,void 0,!1)),r.set(Mn,new me(Vc,void 0,!0)),r.set(Di,new me(Jr)),r.set(hs,new me(yg,void 0,!1)),r.set(K_,new me(pa)),r.set(rc,new Fc(n,m,l)),[new ug(r,!0),o,n,C,f,a,t,m]}patchEnvironment(r){let e={VSCODE_IPC_HOOK:r.mainIPCHandle};return["VSCODE_NLS_CONFIG","VSCODE_PORTABLE"].forEach(t=>{let n=process.env[t];typeof n=="string"&&(e[t]=n)}),Object.assign(process.env,e),e}async initServices(r,e,t,n,o){await gt.settled([Promise.all([this.allowWindowsUNCPath(r.extensionsPath),r.codeCachePath,r.logsHome.with({scheme:W.file}).fsPath,e.defaultProfile.globalStorageHome.with({scheme:W.file}).fsPath,r.workspaceStorageHome.with({scheme:W.file}).fsPath,r.localHistoryHome.with({scheme:W.file}).fsPath,r.backupHome].map(s=>s?_k.mkdir(s,{recursive:!0}):void 0)),n.init(),t.initialize()]),e.init()}allowWindowsUNCPath(r){if(F){let e=cf(r);e&&Zi(e)}return r}async claimInstance(r,e,t,n,o,s){let a;try{Be("code/willStartMainServer"),a=await fx(e.mainIPCHandle),Be("code/didStartMainServer"),S.once(t.onWillShutdown)(()=>a.dispose())}catch(l){if(l.code!=="EADDRINUSE")throw this.handleStartupDataDirError(e,o,l),l;let c;try{c=await mx(e.mainIPCHandle,"main")}catch(m){if(!s||F||m.code!=="ECONNREFUSED")throw m.code==="EPERM"&&this.showStartupWarningDialog(h(165,null,o.nameShort),h(166,null),o),m;try{vF(e.mainIPCHandle)}catch(y){throw r.warn("Could not delete obsolete instance handle",y),y}return this.claimInstance(r,e,t,n,o,!1)}if(e.extensionTestsLocationURI&&!e.debugExtensionHost.break){let m=`Running extension tests from the command line is currently only supported if no other instance of ${o.nameShort} is running.`;throw r.error(m),c.dispose(),new Error(m)}let d;!e.args.wait&&!e.args.status&&(d=setTimeout(()=>{this.showStartupWarningDialog(h(167,null,o.nameShort),h(168,null),o)},1e4));let u=et.toService(c.getChannel("launch"),{disableMarshalling:!0}),f=et.toService(c.getChannel("diagnostics"),{disableMarshalling:!0});if(e.args.status)return n.invokeFunction(async()=>{let m=new Oc(Wi,o),y=await f.getMainDiagnostics(),v=await f.getRemoteDiagnostics({includeProcesses:!0,includeWorkspaceMetadata:!0}),C=await m.getDiagnostics(y,v);throw console.log(C),new wa});throw F&&await this.windowsAllowSetForegroundWindow(u,r),r.trace("Sending env to running instance..."),await u.start(e.args,process.env),c.dispose(),d&&clearTimeout(d),new wa("Sent env to running instance. Terminating...")}if(e.args.status)throw console.log(h(171,null,o.nameShort)),new wa("Terminating...");return process.env.VSCODE_PID=String(process.pid),a}handleStartupDataDirError(r,e,t){if(t.code==="EACCES"||t.code==="EPERM"){let n=at([r.userDataPath,r.extensionsPath,Cf]).map(o=>to(P.file(o),{os:Ot,tildify:r}));this.showStartupWarningDialog(h(169,null),h(170,null,Er(t),n.join(`
`)),e)}}showStartupWarningDialog(r,e,t){gF.showMessageBoxSync(Pm({type:"warning",buttons:[h(163,null)],message:r,detail:e},t).options)}async windowsAllowSetForegroundWindow(r,e){if(F){let t=await r.getMainProcessId();e.trace("Sending some foreground love to the running instance:",t);try{(await import("windows-foreground-love")).allowSetForegroundWindow(t)}catch(n){e.error(n)}}}quit(r,e){let t=r.get(U),n=r.get(ye),o=0;e&&(e.isExpected?e.message&&t.trace(e.message):(o=1,e.stack?t.error(e.stack):t.error(`Startup error: ${e.toString()}`))),n.kill(o)}async checkInnoSetupMutex(r){if(!(F&&r.win32MutexName&&r.win32VersionedUpdate))return!1;try{let e=`${r.win32MutexName}-updating`;return(await import("@vscode/windows-mutex")).isActive(e)}catch(e){return console.error("Failed to check Inno Setup mutex:",e),!1}}resolveArgs(){let r=this.validatePaths(L0(process.argv));if(r.wait&&!r.waitMarkerFilePath){let e=U_(r.verbose);e&&(M0(process.argv,"--waitMarkerFilePath",e),r.waitMarkerFilePath=e)}return r.chat&&(r.chat["new-window"]?r["new-window"]=!0:r.chat["reuse-window"]?r["reuse-window"]=!0:r.chat.profile?r.profile=r.chat.profile:r._=[Zr()]),r}validatePaths(r){if(r["open-url"]&&(r._urls=r._,r._=[]),!r.remote){let e=this.doValidatePaths(r._,r.goto);r._=e}return r}doValidatePaths(r,e){let t=Zr(),n=r.map(a=>{let l=String(a),c;e&&(c=La(l),l=c.path),l&&(l=this.preparePath(t,l));let d=Qp(l,t),u=Se(d);return u&&!zS(u)?null:e&&c?(c.path=d,this.toPath(c)):d}),o=F||N,s=Ar(n,a=>a&&o?a.toLowerCase():a||"");return at(s)}preparePath(r,e){return F&&(e=jn(e,'"')),e=iv(iv(e," "),"	"),F&&(e=Vr(r,e),e=jn(e,".")),e}toPath(r){let e=[r.path];return typeof r.line=="number"&&e.push(String(r.line)),typeof r.column=="number"&&e.push(String(r.column)),e.join(":")}},yF=new gb;yF.main()});import*as Un from"node:path";import*as Nn from"original-fs";import*as Ak from"node:os";import{performance as wF}from"node:perf_hooks";import*as Sr from"node:path";import*as _g from"node:fs";import{createRequire as $k}from"node:module";var VF=$k(import.meta.url),HF=process.platform==="win32";Error.stackTraceLimit=100;if(!process.env.VSCODE_HANDLES_SIGPIPE){let i=!1;process.on("SIGPIPE",()=>{i||(i=!0,console.error(new Error("Unexpected SIGPIPE")))})}function qk(){try{typeof process.env.VSCODE_CWD!="string"&&(process.env.VSCODE_CWD=process.cwd()),process.platform==="win32"&&process.chdir(Sr.dirname(process.execPath))}catch(i){console.error(i)}}qk();function _b(i){let r=Sr.dirname(import.meta.dirname);function e(){return process.env.VSCODE_DEV?r:process.platform==="darwin"?Sr.dirname(Sr.dirname(Sr.dirname(r))):process.platform==="win32"&&i.win32VersionedUpdate?Sr.dirname(Sr.dirname(Sr.dirname(r))):Sr.dirname(Sr.dirname(r))}function t(){if(process.env.VSCODE_PORTABLE)return process.env.VSCODE_PORTABLE;if(process.platform==="win32"||process.platform==="linux")return Sr.join(e(),"data");let l=i.portable||`${i.applicationName}-portable-data`;return Sr.join(Sr.dirname(e()),l)}let n=t(),o=!("target"in i)&&_g.existsSync(n),s=Sr.join(n,"tmp"),a=o&&_g.existsSync(s);return o?process.env.VSCODE_PORTABLE=n:delete process.env.VSCODE_PORTABLE,a&&(process.platform==="win32"?(process.env.TMP=s,process.env.TEMP=s):process.env.TMPDIR=s),{portableDataPath:n,isPortable:o}}import*as wp from"node:fs";import{register as Gk}from"node:module";import{createRequire as Kk}from"node:module";var Gc=Kk(import.meta.url),Vn={BUILD_INSERT_PRODUCT_CONFIGURATION:"BUILD_INSERT_PRODUCT_CONFIGURATION"};Vn.BUILD_INSERT_PRODUCT_CONFIGURATION&&(Vn=Gc("../product.json"));var Jc={"name":"Code","version":"1.117.0","distro":"cccc9754dda0a01ea6eaa276472ad5e169f80d31","author":{"name":"Microsoft Corporation"},"license":"MIT","main":"./out/main.js","type":"module","private":true,"scripts":{"test":"echo Please run any of the test scripts from the scripts folder.","test-browser":"npx playwright install && node test/unit/browser/index.js","test-browser-no-install":"node test/unit/browser/index.js","test-node":"mocha test/unit/node/index.js --delay --ui=tdd --timeout=5000 --exit","test-extension":"vscode-test","test-build-scripts":"cd build && npm run test","check-cyclic-dependencies":"node build/lib/checkCyclicDependencies.ts out","preinstall":"node build/npm/preinstall.ts","postinstall":"node build/npm/postinstall.ts","compile":"npm run gulp compile","compile-check-ts-native":"tsgo --project ./src/tsconfig.json --noEmit --skipLibCheck","watch":"npm-run-all2 -lp watch-client-transpile watch-client watch-extensions watch-copilot","watchd":"deemon npm run watch","watch-webd":"deemon npm run watch-web","kill-watchd":"deemon --kill npm run watch","kill-watch-webd":"deemon --kill npm run watch-web","restart-watchd":"deemon --restart npm run watch","restart-watch-webd":"deemon --restart npm run watch-web","watch-client":"npm run gulp watch-client","watch-clientd":"deemon npm run watch-client","kill-watch-clientd":"deemon --kill npm run watch-client","transpile-client":"node build/next/index.ts transpile","watch-client-transpile":"node build/next/index.ts transpile --watch","watch-client-transpiled":"deemon npm run watch-client-transpile","kill-watch-client-transpiled":"deemon --kill npm run watch-client-transpile","watch-extensions":"npm run gulp watch-extensions watch-extension-media","watch-extensionsd":"deemon npm run watch-extensions","kill-watch-extensionsd":"deemon --kill npm run watch-extensions","watch-copilot":"npm --prefix extensions/copilot run watch","watch-copilotd":"deemon npm run watch-copilot","kill-watch-copilotd":"deemon --kill npm run watch-copilot","precommit":"node --experimental-strip-types build/hygiene.ts","gulp":"node --max-old-space-size=8192 ./node_modules/gulp/bin/gulp.js","electron":"node build/lib/electron.ts","7z":"7z","update-grammars":"node build/npm/update-all-grammars.ts","update-localization-extension":"node build/npm/update-localization-extension.ts","mixin-telemetry-docs":"node build/npm/mixin-telemetry-docs.ts","smoketest":"node build/lib/preLaunch.ts && cd test/smoke && npm run compile && node test/index.js","smoketest-no-compile":"cd test/smoke && node test/index.js","download-builtin-extensions":"node build/lib/builtInExtensions.ts","download-builtin-extensions-cg":"node build/lib/builtInExtensionsCG.ts","monaco-compile-check":"tsgo --project src/tsconfig.monaco.json --noEmit","tsec-compile-check":"node node_modules/tsec/bin/tsec -p src/tsconfig.tsec.json","vscode-dts-compile-check":"tsgo --project src/tsconfig.vscode-dts.json && tsgo --project src/tsconfig.vscode-proposed-dts.json","valid-layers-check":"node build/checker/layersChecker.ts && tsgo --project build/checker/tsconfig.browser.json && tsgo --project build/checker/tsconfig.worker.json && tsgo --project build/checker/tsconfig.node.json && tsgo --project build/checker/tsconfig.electron-browser.json && tsgo --project build/checker/tsconfig.electron-main.json && tsgo --project build/checker/tsconfig.electron-utility.json","define-class-fields-check":"node build/lib/propertyInitOrderChecker.ts && tsgo --project src/tsconfig.defineClassFields.json","update-distro":"node build/npm/update-distro.ts","export-policy-data":"node build/lib/policies/exportPolicyData.ts","web":"echo 'npm run web' is replaced by './scripts/code-server' or './scripts/code-web'","compile-cli":"npm run gulp compile-cli","compile-web":"npm run gulp compile-web","serve-out-rspack":"cd build/rspack && npx rspack serve --config rspack.serve-out.config.mts","watch-web":"npm run gulp watch-web","watch-cli":"npm run gulp watch-cli","eslint":"node build/eslint.ts","stylelint":"node build/stylelint.ts","playwright-install":"npm exec playwright install","compile-build":"npm run gulp compile-build-with-mangling","compile-extensions-build":"npm run gulp compile-extensions-build","minify-vscode":"npm run gulp minify-vscode","minify-vscode-reh":"npm run gulp minify-vscode-reh","minify-vscode-reh-web":"npm run gulp minify-vscode-reh-web","hygiene":"npm run gulp hygiene","core-ci":"npm run gulp core-ci","core-ci-pr":"npm run gulp core-ci-pr","extensions-ci":"npm run gulp extensions-ci","extensions-ci-pr":"npm run gulp extensions-ci-pr","perf":"node scripts/code-perf.js","perf:chat":"node scripts/chat-simulation/test-chat-perf-regression.js","perf:chat-leak":"node scripts/chat-simulation/test-chat-mem-leaks.js","copilot:setup":"npm --prefix extensions/copilot run setup","copilot:get_token":"npm --prefix extensions/copilot run get_token","update-build-ts-version":"npm install -D typescript@next && npm install -D @typescript/native-preview && (cd build && npm run typecheck)","install-local-component-explorer":"npm install ../vscode-packages/js-component-explorer/dist/vscode-component-explorer-0.1.0.tgz ../vscode-packages/js-component-explorer/dist/vscode-component-explorer-cli-0.1.0.tgz --no-save && cd build/rspack && npm install ../../../vscode-packages/js-component-explorer/dist/vscode-component-explorer-webpack-plugin-0.1.0.tgz --no-save && cd ../vite && npm install ../../../vscode-packages/js-component-explorer/dist/vscode-component-explorer-vite-plugin-0.1.0.tgz --no-save","symlink-local-component-explorer":"npm install ../vscode-packages/js-component-explorer/packages/explorer ../vscode-packages/js-component-explorer/packages/cli --no-save && cd build/rspack && npm install ../../../vscode-packages/js-component-explorer/packages/webpack-plugin ../../../vscode-packages/js-component-explorer/packages/explorer --no-save && cd ../vite && npm install ../../../vscode-packages/js-component-explorer/packages/vite-plugin ../../../vscode-packages/js-component-explorer/packages/explorer --no-save","install-latest-component-explorer":"npm install @vscode/component-explorer@next @vscode/component-explorer-cli@next && cd build/rspack && npm install @vscode/component-explorer-webpack-plugin@next @vscode/component-explorer@next && cd ../vite && npm install @vscode/component-explorer-vite-plugin@next @vscode/component-explorer@next"},"dependencies":{"@anthropic-ai/sandbox-runtime":"0.0.42","@github/copilot":"^1.0.24","@github/copilot-sdk":"^0.2.2","@microsoft/1ds-core-js":"^3.2.13","@microsoft/1ds-post-js":"^3.2.13","@microsoft/dev-tunnels-connections":"^1.3.41","@microsoft/dev-tunnels-contracts":"^1.3.41","@microsoft/dev-tunnels-management":"^1.3.41","@microsoft/dev-tunnels-ssh":"^3.12.22","@microsoft/dev-tunnels-ssh-tcp":"^3.12.22","@parcel/watcher":"^2.5.6","@types/semver":"^7.5.8","@vscode/codicons":"^0.0.46-5","@vscode/deviceid":"^0.1.1","@vscode/iconv-lite-umd":"0.7.1","@vscode/native-watchdog":"^1.4.6","@vscode/policy-watcher":"^1.3.2","@vscode/proxy-agent":"^0.41.0","@vscode/ripgrep":"^1.17.1","@vscode/spdlog":"^0.15.8","@vscode/sqlite3":"5.1.12-vscode","@vscode/sudo-prompt":"9.3.2","@vscode/tree-sitter-wasm":"^0.3.1","@vscode/vscode-languagedetection":"1.0.23","@vscode/windows-mutex":"^0.5.0","@vscode/windows-process-tree":"^0.6.0","@vscode/windows-registry":"^1.2.0","@xterm/addon-clipboard":"^0.3.0-beta.197","@xterm/addon-image":"^0.10.0-beta.197","@xterm/addon-ligatures":"^0.11.0-beta.197","@xterm/addon-progress":"^0.3.0-beta.197","@xterm/addon-search":"^0.17.0-beta.197","@xterm/addon-serialize":"^0.15.0-beta.197","@xterm/addon-unicode11":"^0.10.0-beta.197","@xterm/addon-webgl":"^0.20.0-beta.196","@xterm/headless":"^6.1.0-beta.197","@xterm/xterm":"^6.1.0-beta.197","http-proxy-agent":"^7.0.0","https-proxy-agent":"^7.0.2","jschardet":"3.1.4","katex":"^0.16.22","kerberos":"2.1.1","minimist":"^1.2.8","native-is-elevated":"0.9.0","native-keymap":"^3.3.5","node-pty":"^1.2.0-beta.12","open":"^10.1.2","playwright-core":"1.59.1","ssh2":"^1.16.0","tas-client":"0.3.1","undici":"^7.24.0","v8-inspect-profiler":"^0.1.1","vscode-oniguruma":"1.7.0","vscode-regexpp":"^3.1.0","vscode-textmate":"^9.3.2","ws":"^8.19.0","yauzl":"^3.0.0","yazl":"^2.4.3"},"devDependencies":{"@playwright/cli":"^0.1.1","@playwright/test":"^1.56.1","@stylistic/eslint-plugin-ts":"^2.8.0","@types/cookie":"^0.3.3","@types/debug":"^4.1.5","@types/eslint":"^9.6.1","@types/gulp-svgmin":"^1.2.1","@types/http-proxy-agent":"^2.0.1","@types/kerberos":"^1.1.2","@types/minimist":"^1.2.1","@types/mocha":"^10.0.10","@types/node":"^22.18.10","@types/sinon":"^10.0.2","@types/sinon-test":"^2.4.2","@types/ssh2":"^1.15.4","@types/trusted-types":"^2.0.7","@types/vscode-notebook-renderer":"^1.72.0","@types/wicg-file-system-access":"^2023.10.7","@types/windows-foreground-love":"^0.3.0","@types/winreg":"^1.2.30","@types/ws":"^8.18.1","@types/yauzl":"^2.10.0","@types/yazl":"^2.4.2","@typescript-eslint/utils":"^8.45.0","@typescript/native-preview":"^7.0.0-dev.20260408","@vscode/component-explorer":"^0.2.1-17","@vscode/component-explorer-cli":"^0.2.1-16","@vscode/gulp-electron":"1.41.2","@vscode/l10n-dev":"0.0.35","@vscode/telemetry-extractor":"^1.20.2","@vscode/test-cli":"^0.0.6","@vscode/test-electron":"^2.4.0","@vscode/test-web":"^0.0.76","@vscode/v8-heap-parser":"^0.1.0","@vscode/vscode-perf":"^0.0.19","@webgpu/types":"^0.1.66","agent-browser":"^0.16.3","ansi-colors":"^3.2.3","asar":"^3.0.3","chromium-pickle-js":"^0.2.0","cookie":"^0.7.2","debounce":"^1.0.0","deemon":"^1.13.6","electron":"39.8.7","eslint":"^9.36.0","eslint-formatter-compact":"^8.40.0","eslint-plugin-header":"3.1.1","eslint-plugin-jsdoc":"^50.3.1","event-stream":"3.3.4","fancy-log":"^1.3.3","glob":"^5.0.13","gulp":"^4.0.0","gulp-azure-storage":"^0.12.1","gulp-bom":"^3.0.0","gulp-buffer":"0.0.2","gulp-filter":"^5.1.0","gulp-flatmap":"^1.0.2","gulp-gunzip":"^1.0.0","gulp-gzip":"^1.4.2","gulp-json-editor":"^2.5.0","gulp-plumber":"^1.2.0","gulp-rename":"^1.2.0","gulp-replace":"^0.5.4","gulp-sourcemaps":"^3.0.0","gulp-svgmin":"^4.1.0","husky":"^0.13.1","innosetup":"^6.4.1","istanbul-lib-coverage":"^3.2.0","istanbul-lib-instrument":"^6.0.1","istanbul-lib-report":"^3.0.0","istanbul-lib-source-maps":"^4.0.1","istanbul-reports":"^3.1.5","lazy.js":"^0.4.2","merge-options":"^1.0.1","mime":"^1.4.1","minimatch":"^3.1.5","mocha":"^10.8.2","mocha-junit-reporter":"^2.2.1","mocha-multi-reporters":"^1.5.1","npm-run-all2":"^8.0.4","os-browserify":"^0.3.0","p-all":"^1.0.0","path-browserify":"^1.0.1","pump":"^1.0.1","rcedit":"^1.1.0","rimraf":"^2.2.8","sinon":"^12.0.1","sinon-test":"^3.1.3","source-map":"0.6.1","source-map-support":"^0.3.2","tar":"^7.5.9","tsec":"0.2.7","tslib":"^2.6.3","typescript":"^6.0.0-dev.20260401","typescript-eslint":"^8.45.0","util":"^0.12.4","xml2js":"^0.5.0","yaserver":"^0.4.0"},"overrides":{"node-gyp-build":"4.8.1","kerberos@2.1.1":{"node-addon-api":"7.1.0"},"serialize-javascript":"^7.0.3","ssh2":{"cpu-features":"0.0.0"}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"},"bugs":{"url":"https://github.com/microsoft/vscode/issues"},"optionalDependencies":{"windows-foreground-love":"0.6.1"},"desktopName":"code.desktop"};Jc.BUILD_INSERT_PACKAGE_CONFIGURATION&&(Jc=Gc("../package.json"));if(process.isEmbeddedApp){Vn.parentPolicyConfig={win32RegValueName:Vn.win32RegValueName,darwinBundleIdentifier:Vn.darwinBundleIdentifier,urlProtocol:Vn.urlProtocol};try{let i=Gc("../product.sub.json");Vn=Object.assign(Vn,i)}catch{}try{let i=Gc("../package.sub.json");Jc=Object.assign(Jc,i)}catch{}}var kb={};if(process.env.VSCODE_DEV)try{kb=Gc("../product.overrides.json"),Vn=Object.assign(Vn,kb)}catch{}var Rr=Vn,Rb=Jc;mi();(process.env.ELECTRON_RUN_AS_NODE||process.versions.electron)&&Gk(`data:text/javascript;base64,${Buffer.from(`
	export async function resolve(specifier, context, nextResolve) {
		if (specifier === 'fs') {
			return {
				format: 'builtin',
				shortCircuit: true,
				url: 'node:original-fs'
			};
		}

		// Defer to the next hook in the chain, which would be the
		// Node.js default resolve if this is the last user-specified loader.
		return nextResolve(specifier, context);
	}`).toString("base64")}`,import.meta.url);globalThis._VSCODE_PRODUCT_JSON={...Rr};globalThis._VSCODE_PACKAGE_JSON={...Rb};globalThis._VSCODE_FILE_ROOT=import.meta.dirname;var Ag;function Jk(){return Ag||(Ag=Qk()),Ag}async function Qk(){Be("code/willLoadNls");let i,r;if(process.env.VSCODE_NLS_CONFIG)try{i=JSON.parse(process.env.VSCODE_NLS_CONFIG),i?.languagePack?.messagesFile?r=i.languagePack.messagesFile:i?.defaultMessagesFile&&(r=i.defaultMessagesFile),globalThis._VSCODE_NLS_LANGUAGE=i?.resolvedLanguage}catch(e){console.error(`Error reading VSCODE_NLS_CONFIG from environment: ${e}`)}if(!(process.env.VSCODE_DEV||!r)){try{globalThis._VSCODE_NLS_MESSAGES=JSON.parse((await wp.promises.readFile(r)).toString())}catch(e){if(console.error(`Error reading NLS messages file ${r}: ${e}`),i?.languagePack?.corruptMarkerFile)try{await wp.promises.writeFile(i.languagePack.corruptMarkerFile,"corrupted")}catch(t){console.error(`Error writing corrupted NLS marker file: ${t}`)}if(i?.defaultMessagesFile&&i.defaultMessagesFile!==r)try{globalThis._VSCODE_NLS_MESSAGES=JSON.parse((await wp.promises.readFile(i.defaultMessagesFile)).toString())}catch(t){console.error(`Error reading default NLS messages file ${i.defaultMessagesFile}: ${t}`)}}return Be("code/didLoadNls"),i}}async function Db(){await Jk()}var Lk=Eb(Lg(),1);import{app as rt,protocol as bF,crashReporter as SF,Menu as xF,contentTracing as PF}from"electron";Mg();Og();mi();Ce();mi();rr();import{promises as Yi}from"fs";async function Sv({userLocale:i,osLocale:r,userDataPath:e,commit:t,nlsMetadataPath:n}){if(Be("code/willGenerateNls"),process.env.VSCODE_DEV||i==="pseudo"||i.startsWith("en")||!t||!e)return gd(i,r,n);try{let o=await TD(e);if(!o)return gd(i,r,n);let s=_D(o,i);if(!s)return gd(i,r,n);let a=o[s],l=a?.translations?.vscode;if(!a||typeof a.hash!="string"||!a.translations||typeof l!="string"||!await Q.exists(l))return gd(i,r,n);let c=`${a.hash}.${s}`,d=V(e,"clp",c),u=V(d,t),f=V(u,"nls.messages.json"),m=V(d,"tcf.json"),y=V(d,"corrupted.info");await Q.exists(y)&&await Yi.rm(d,{recursive:!0,force:!0,maxRetries:3});let v={userLocale:i,osLocale:r,resolvedLanguage:s,defaultMessagesFile:V(n,"nls.messages.json"),languagePack:{translationsConfigFile:m,messagesFile:f,corruptMarkerFile:y},locale:i,availableLanguages:{"*":s},_languagePackId:c,_languagePackSupport:!0,_translationsConfigFile:m,_cacheRoot:d,_resolvedLanguagePackCoreLocation:u,_corruptedFile:y};if(await Q.exists(f))return kD(u).catch(()=>{}),Be("code/didGenerateNls"),v;let[C,w,_]=await Promise.all([Yi.readFile(V(n,"nls.keys.json"),"utf-8").then(M=>JSON.parse(M)),Yi.readFile(V(n,"nls.messages.json"),"utf-8").then(M=>JSON.parse(M)),Yi.readFile(l,"utf-8").then(M=>JSON.parse(M))]),R=[],D=0;for(let[M,X]of C){let B=_.contents[M];for(let G of X)R.push(B?.[G]||w[D]),D++}return await Yi.mkdir(u,{recursive:!0}),await Promise.all([Yi.writeFile(f,JSON.stringify(R),"utf-8"),Yi.writeFile(m,JSON.stringify(a.translations),"utf-8")]),Be("code/didGenerateNls"),v}catch(o){console.error("Generating translation files failed.",o)}return gd(i,r,n)}async function TD(i){let r=V(i,"languagepacks.json");try{return JSON.parse(await Yi.readFile(r,"utf-8"))}catch{return}}function _D(i,r){try{for(;r;){if(i[r])return r;let e=r.lastIndexOf("-");if(e>0)r=r.substring(0,e);else return}}catch(e){console.error("Resolving language pack configuration failed.",e)}}function gd(i,r,e){return Be("code/didGenerateNls"),{userLocale:i,osLocale:r,resolvedLanguage:"en",defaultMessagesFile:V(e,"nls.messages.json"),locale:i,availableLanguages:{}}}function kD(i){let r=new Date;return Yi.utimes(i,r,r)}Na();Be("code/didStartMain");Be("code/willLoadMainBundle",{startTime:Math.floor(wF.timeOrigin)});Be("code/didLoadMainBundle");var EF=_b(Rr),En=LF(),Sg=TF(En);En.sandbox&&!En["disable-chromium-sandbox"]&&!Sg["disable-chromium-sandbox"]?rt.enableSandbox():rt.commandLine.hasSwitch("no-sandbox")&&!rt.commandLine.hasSwitch("disable-gpu-sandbox")?rt.commandLine.appendSwitch("disable-gpu-sandbox"):(rt.commandLine.appendSwitch("no-sandbox"),rt.commandLine.appendSwitch("disable-gpu-sandbox"));var Hc=Sp(En,Rr.nameShort??"code-oss-dev");if(process.platform==="win32"){let i=cf(Hc);i&&Zi(i)}rt.setPath("userData",Hc);var Rk=OF();xF.setApplicationMenu(null);Be("code/willStartCrashReporter");(En["crash-reporter-directory"]||Sg["enable-crash-reporter"]&&!En["disable-crash-reporter"])&&DF();Be("code/didStartCrashReporter");EF.isPortable&&rt.setAppLogsPath(Un.join(Hc,"logs"));bF.registerSchemesAsPrivileged([{scheme:"vscode-webview",privileges:{standard:!0,secure:!0,supportFetchAPI:!0,corsEnabled:!0,allowServiceWorkers:!0,codeCache:!0}},{scheme:"vscode-file",privileges:{secure:!0,standard:!0,supportFetchAPI:!0,corsEnabled:!0,codeCache:!0}}]);MF();var vb,yb=Mk((rt.getPreferredSystemLanguages()?.[0]??"en").toLowerCase()),mp=UF(Sg);mp&&(vb=Sv({userLocale:mp,osLocale:yb,commit:Rr.commit,userDataPath:Hc,nlsMetadataPath:import.meta.dirname}));if(process.platform==="win32"||process.platform==="linux"){let i=!mp||mp==="qps-ploc"?"en":mp;rt.commandLine.appendSwitch("lang",i)}rt.once("ready",function(){if(En.trace){let i;if(En["trace-memory-infra"]){let r=En["trace-category-filter"]?.split(",")||[];r.push("disabled-by-default-memory-infra","disabled-by-default-memory-infra.v8.code_stats"),i={included_categories:r,excluded_categories:["*"],memory_dump_config:{allowed_dump_modes:["light","detailed"],triggers:[{type:"periodic_interval",mode:"detailed",min_time_between_dumps_ms:1e4},{type:"periodic_interval",mode:"light",min_time_between_dumps_ms:1e3}]}}}else i={categoryFilter:En["trace-category-filter"]||"*",traceOptions:En["trace-options"]||"record-until-full,enable-sampling"};PF.startRecording(i).finally(()=>Dk())}else Dk()});async function Dk(){Be("code/mainAppReady");try{let[,i]=await Promise.all([FF(Rk),WF()]);await CF(Rk,i)}catch(i){console.error(i)}}async function CF(i,r){process.env.VSCODE_NLS_CONFIG=JSON.stringify(r),process.env.VSCODE_CODE_CACHE_PATH=i||"",await Db(),await Promise.resolve().then(()=>(kk(),IF)),Be("code/didRunMainBundle")}function TF(i){let r=["disable-hardware-acceleration","force-color-profile","disable-lcd-text","proxy-bypass-list","remote-debugging-port"];process.platform==="linux"&&(r.push("force-renderer-accessibility"),r.push("password-store"));let e=["enable-proposed-api","log-level","use-inmemory-secretstorage","enable-rdp-display-tracking"],t=_F();Object.keys(t).forEach(l=>{let c=t[l];if(r.indexOf(l)!==-1){if(c===!0||c==="true")l==="disable-hardware-acceleration"?rt.disableHardwareAcceleration():rt.commandLine.appendSwitch(l);else if(typeof c=="string"&&c)if(l==="password-store"){let d=c;(c==="gnome"||c==="gnome-keyring")&&(d="gnome-libsecret"),rt.commandLine.appendSwitch(l,d)}else rt.commandLine.appendSwitch(l,c)}else if(e.indexOf(l)!==-1)switch(l){case"enable-proposed-api":Array.isArray(c)?c.forEach(d=>d&&typeof d=="string"&&process.argv.push("--enable-proposed-api",d)):console.error("Unexpected value for `enable-proposed-api` in argv.json. Expected array of extension ids.");break;case"log-level":if(typeof c=="string")process.argv.push("--log",c);else if(Array.isArray(c))for(let d of c)process.argv.push("--log",d);break;case"use-inmemory-secretstorage":c&&process.argv.push("--use-inmemory-secretstorage");break;case"enable-rdp-display-tracking":c&&process.argv.push("--enable-rdp-display-tracking");break}});let n=`NetAdapterMaxBufSizeFeature:NetAdapterMaxBufSize/8192,DocumentPolicyIncludeJSCallStacksInCrashReports,EarlyEstablishGpuChannel,EstablishGpuChannelAsync,${rt.commandLine.getSwitchValue("enable-features")}`;rt.commandLine.appendSwitch("enable-features",n);let o=`CalculateNativeWinOcclusion,${rt.commandLine.getSwitchValue("disable-features")}`;rt.commandLine.appendSwitch("disable-features",o);let s=`FontMatchingCTMigration,StandardizedBrowserZoom,${rt.commandLine.getSwitchValue("disable-blink-features")}`;rt.commandLine.appendSwitch("disable-blink-features",s);let a=AF(i,t);return a&&rt.commandLine.appendSwitch("js-flags",a),rt.commandLine.appendSwitch("xdg-portal-required-version","4"),rt.commandLine.appendSwitch("max-active-webgl-contexts","32"),t}function _F(){let i=RF(),r;try{r=bp(Nn.readFileSync(i).toString())}catch(e){e&&e.code==="ENOENT"?kF(i):console.warn(`Unable to read argv.json configuration file in ${i}, falling back to defaults (${e})`)}return r||(r={}),r}function kF(i){try{let r=Un.dirname(i);Nn.existsSync(r)||Nn.mkdirSync(r),Nn.writeFileSync(i,["// This configuration file allows you to pass permanent command line arguments to VS Code.","// Only a subset of arguments is currently supported to reduce the likelihood of breaking","// the installation.","//","// PLEASE DO NOT CHANGE WITHOUT UNDERSTANDING THE IMPACT","//","// NOTE: Changing this file requires a restart of VS Code.","{","	// Use software rendering instead of hardware accelerated rendering.","	// This can help in cases where you see rendering issues in VS Code.",'	// "disable-hardware-acceleration": true',"}"].join(`
`))}catch(r){console.error(`Unable to create argv.json configuration file in ${i}, falling back to defaults (${r})`)}}function RF(){let i=process.env.VSCODE_PORTABLE;if(i)return Un.join(i,"argv.json");let r=Rr.dataFolderName;return process.env.VSCODE_DEV&&(r=`${r}-dev`),Un.join(Ak.homedir(),r,"argv.json")}function DF(){let i=En["crash-reporter-directory"],r="";if(i){if(i=Un.normalize(i),Un.isAbsolute(i)||(console.error(`The path '${i}' specified for --crash-reporter-directory must be absolute.`),rt.exit(1)),!Nn.existsSync(i))try{Nn.mkdirSync(i,{recursive:!0})}catch{console.error(`The path '${i}' specified for --crash-reporter-directory does not seem to exist or cannot be created.`),rt.exit(1)}console.log(`Found --crash-reporter-directory argument. Setting crashDumps directory to be '${i}'`),rt.setPath("crashDumps",i)}else{let o=Rr.appCenter;if(o){let s=process.platform==="win32",a=process.platform==="linux",l=process.platform==="darwin",c=Sg["crash-reporter-id"];if(c&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(c)){if(s)switch(process.arch){case"x64":r=o["win32-x64"];break;case"arm64":r=o["win32-arm64"];break}else if(l)if(Rr.darwinUniversalAssetId)r=o["darwin-universal"];else switch(process.arch){case"x64":r=o.darwin;break;case"arm64":r=o["darwin-arm64"];break}else a&&(r=o["linux-x64"]);r=r.concat("&uid=",c,"&iid=",c,"&sid=",c);let u=process.argv,f=u.indexOf("--");f===-1?u.push("--crash-reporter-id",c):u.splice(f,0,"--crash-reporter-id",c)}}}let e=(Rr.crashReporter?Rr.crashReporter.productName:void 0)||Rr.nameShort,t=(Rr.crashReporter?Rr.crashReporter.companyName:void 0)||"Microsoft",n=!!(!process.env.VSCODE_DEV&&r&&!i);SF.start({companyName:t,productName:process.env.VSCODE_DEV?`${e} Dev`:e,submitURL:r,uploadToServer:n,compress:!0,ignoreSystemCrashHandler:!0})}function AF(i,r){let e=[];return i["js-flags"]&&e.push(i["js-flags"]),typeof r["js-flags"]=="string"&&r["js-flags"]&&e.push(r["js-flags"]),process.platform==="linux"&&e.push("--nodecommit_pooled_pages"),e.length>0?e.join(" "):null}function LF(){return(0,Lk.default)(process.argv,{string:["user-data-dir","locale","js-flags","crash-reporter-directory"],boolean:["disable-chromium-sandbox"],default:{sandbox:!0},alias:{"no-sandbox":"sandbox"}})}function MF(){let i=[];globalThis.macOpenFiles=i,rt.on("open-file",function(t,n){i.push(n)});let r=[],e=function(t,n){t.preventDefault(),r.push(n)};rt.on("will-finish-launching",function(){rt.on("open-url",e)}),globalThis.getOpenUrls=function(){return rt.removeListener("open-url",e),r}}function OF(){if(process.argv.indexOf("--no-cached-data")>0||process.env.VSCODE_DEV)return;let i=Rr.commit;if(i)return Un.join(Hc,"CachedData",i)}async function FF(i){if(typeof i=="string")try{return await Nn.promises.mkdir(i,{recursive:!0}),i}catch{}}function Mk(i){if(i.startsWith("zh")){let r=i.split("-")[1];return["hans","cn","sg","my"].includes(r)?"zh-cn":"zh-tw"}return i}async function WF(){let i=vb?await vb:void 0;if(i)return i;let r=rt.getLocale();return r?(r=Mk(r.toLowerCase()),Sv({userLocale:r,osLocale:yb,commit:Rr.commit,userDataPath:Hc,nlsMetadataPath:import.meta.dirname})):{userLocale:"en",osLocale:yb,resolvedLanguage:"en",defaultMessagesFile:Un.join(import.meta.dirname,"nls.messages.json"),locale:"en",availableLanguages:{}}}function UF(i){let r=En.locale;return r?r.toLowerCase():typeof i?.locale=="string"?i.locale.toLowerCase():void 0}
//# sourceMappingURL=https://main.vscode-cdn.net/sourcemaps/10c8e557c8b9f9ed0a87f61f1c9a44bde731c409/core/main.js.map
