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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

}

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

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

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

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

var aR=Object.create;var Bg=Object.defineProperty;var Hb=Object.getOwnPropertyDescriptor;var lR=Object.getOwnPropertyNames;var cR=Object.getPrototypeOf,dR=Object.prototype.hasOwnProperty;var Bb=(i,r)=>(r=Symbol[i])?r:Symbol.for("Symbol."+i),Vb=i=>{throw TypeError(i)};var w=(i,r)=>()=>(i&&(r=i(i=0)),r);var uR=(i,r)=>()=>(r||i((r={exports:{}}).exports,r),r.exports);var pR=(i,r,e,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of lR(r))!dR.call(i,n)&&n!==e&&Bg(i,n,{get:()=>r[n],enumerable:!(t=Hb(r,n))||t.enumerable});return i};var $b=(i,r,e)=>(e=i!=null?aR(cR(i)):{},pR(r||!i||!i.__esModule?Bg(e,"default",{value:i,enumerable:!0}):e,i));var C=(i,r,e,t)=>{for(var n=t>1?void 0:t?Hb(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&&Bg(r,e,n),n},g=(i,r)=>(e,t)=>r(e,t,i);var Kb=(i,r,e)=>{if(r!=null){typeof r!="object"&&typeof r!="function"&&Vb("Object expected");var t,n;e&&(t=r[Bb("asyncDispose")]),t===void 0&&(t=r[Bb("dispose")],e&&(n=t)),typeof t!="function"&&Vb("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},qb=(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 gR(){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 vR(i){return i.MonacoPerformanceMarks||(i.MonacoPerformanceMarks=gR()),i.MonacoPerformanceMarks}var qg,Be,DW,Pp,mi=w(()=>{qg=vR(globalThis),Be=qg.mark,DW=qg.clearMarks,Pp=qg.getMarks});var Gg=uR((FW,Yb)=>{"use strict";function bR(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 Qb(i){return typeof i=="number"||/^0x[0-9a-f]+$/i.test(i)?!0:/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(i)}function Xb(i,r){return r==="constructor"&&typeof i[r]=="function"||r==="__proto__"}Yb.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(k){e.bools[k]=!0});var t={};function n(k){return t[k].some(function(A){return e.bools[A]})}Object.keys(r.alias||{}).forEach(function(k){t[k]=[].concat(r.alias[k]),t[k].forEach(function(A){t[A]=[k].concat(t[k].filter(function(oe){return A!==oe}))})}),[].concat(r.string).filter(Boolean).forEach(function(k){e.strings[k]=!0,t[k]&&[].concat(t[k]).forEach(function(A){e.strings[A]=!0})});var o=r.default||{},s={_:[]};function a(k,A){return e.allBools&&/^--[^=]+$/.test(A)||e.strings[k]||e.bools[k]||t[k]}function l(k,A,oe){for(var O=k,ee=0;ee<A.length-1;ee++){var G=A[ee];if(Xb(O,G))return;O[G]===void 0&&(O[G]={}),(O[G]===Object.prototype||O[G]===Number.prototype||O[G]===String.prototype)&&(O[G]={}),O[G]===Array.prototype&&(O[G]=[]),O=O[G]}var Ee=A[A.length-1];Xb(O,Ee)||((O===Object.prototype||O===Number.prototype||O===String.prototype)&&(O={}),O===Array.prototype&&(O=[]),O[Ee]===void 0||e.bools[Ee]||typeof O[Ee]=="boolean"?O[Ee]=oe:Array.isArray(O[Ee])?O[Ee].push(oe):O[Ee]=[O[Ee],oe])}function c(k,A,oe){if(!(oe&&e.unknownFn&&!a(k,oe)&&e.unknownFn(oe)===!1)){var O=!e.strings[k]&&Qb(A)?Number(A):A;l(s,k.split("."),O),(t[k]||[]).forEach(function(ee){l(s,ee.split("."),O)})}}Object.keys(e.bools).forEach(function(k){c(k,o[k]===void 0?!1:o[k])});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 S=v[2];e.bools[m]&&(S=S!=="false"),c(m,S,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 I=f.slice(1,-1).split(""),T=!1,D=0;D<I.length;D++){if(y=f.slice(D+2),y==="-"){c(I[D],y,f);continue}if(/[A-Za-z]/.test(I[D])&&y[0]==="="){c(I[D],y.slice(1),f),T=!0;break}if(/[A-Za-z]/.test(I[D])&&/-?\d+(\.\d*)?(e-?\d+)?$/.test(y)){c(I[D],y,f),T=!0;break}if(I[D+1]&&I[D+1].match(/\W/)){c(I[D],f.slice(D+2),f),T=!0;break}else c(I[D],e.strings[I[D]]?"":!0,f)}m=f.slice(-1)[0],!T&&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._||!Qb(f)?f:Number(f)),r.stopEarly){s._.push.apply(s._,i.slice(u+1));break}}return Object.keys(o).forEach(function(k){bR(s,k.split("."))||(l(s,k.split("."),o[k]),(t[k]||[]).forEach(function(A){l(s,A.split("."),o[k])}))}),r["--"]?s["--"]=d.slice():d.forEach(function(k){s._.push(k)}),s}});function xR(i){return i.replace(SR,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 Cp(i){let r=xR(i);try{return JSON.parse(r)}catch{let t=r.replace(/,\s*([}\]])/g,"$1");return JSON.parse(t)}}var SR,Jg=w(()=>{SR=/("[^"\\]*(?:\\.[^"\\]*)*")|('[^'\\]*(?:\\.[^'\\]*)*')|(\/\*[^\/\*]*(?:(?:\*|\/)[^\/\*]*)*?\*\/)|(\/{2,}.*?(?:(?:\r?\n)|$))|(,\s*[}\]])/g});import{homedir as Zb}from"os";import{resolve as PR,isAbsolute as ER,join as Pa}from"path";function Tp(i,r){let e=TR(i,r),t=[e];return ER(e)||t.unshift(CR),PR(...t)}function TR(i,r){process.env.VSCODE_DEV&&(r="code-oss-dev");let e=process.env.VSCODE_PORTABLE;if(e)return Pa(e,"user-data");let t=process.env.VSCODE_APPDATA;if(t)return Pa(t,r);let n=i["user-data-dir"];return n||_R(r)}function _R(i){let r;switch(process.platform){case"win32":if(r=process.env.APPDATA,!r){let e=process.env.USERPROFILE;if(typeof e!="string")throw new Error("Windows: Unexpected undefined %USERPROFILE% environment variable");r=Pa(e,"AppData","Roaming")}break;case"darwin":r=Pa(Zb(),"Library","Application Support");break;case"linux":r=process.env.XDG_CONFIG_HOME||Pa(Zb(),".config");break;default:throw new Error("Platform not supported")}return Pa(r,i)}var CR,Qg=w(()=>{CR=process.env.VSCODE_CWD||process.cwd()});function Xg(){return globalThis._VSCODE_NLS_MESSAGES}function sd(){return globalThis._VSCODE_NLS_LANGUAGE}function _p(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}),kR&&(e="\uFF3B"+e.replace(/[aouei]/g,"$&$&")+"\uFF3D"),e}function h(i,r,...e){return _p(typeof i=="number"?eS(i,r):r,e)}function eS(i,r){let e=Xg()?.[i];if(typeof e!="string"){if(typeof r=="string")return r;throw new Error(`!!! NLS MISSING: ${i} !!!`)}return e}function Yg(i,r,...e){let t;typeof i=="number"?t=eS(i,r):t=r;let n=_p(t,e);return{value:n,original:r===t?n:_p(r,e)}}var kR,be=w(()=>{kR=sd()==="pseudo"||typeof document<"u"&&document.location&&typeof document.location.hash=="string"&&document.location.hash.indexOf("pseudo=true")>=0});function Ap(i){switch(i){case 0:return"Web";case 1:return"Mac";case 2:return"Linux";case 3:return"Windows"}}function rv(i){return parseFloat(i)>=25}var Cs,ld,cd,ad,rS,nS,Zg,RR,iS,oS,DR,kp,Rp,tS,sS,$i,Ki,tn,aS,AR,Dp,W,V,re,Lp,Mp,Xt,LR,lS,cS,qi,gi,yn,MR,ev,OR,dS,Bt,tv,uS,pS,fS,VW,Y=w(()=>{be();Cs="en",ld=!1,cd=!1,ad=!1,rS=!1,nS=!1,Zg=!1,RR=!1,iS=!1,oS=!1,DR=!1,Rp=Cs,tS=Cs,Ki=globalThis;typeof Ki.vscode<"u"&&typeof Ki.vscode.process<"u"?tn=Ki.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(tn=process);aS=typeof tn?.versions?.electron=="string",AR=aS&&tn?.type==="renderer";if(typeof tn=="object"){ld=tn.platform==="win32",cd=tn.platform==="darwin",ad=tn.platform==="linux",rS=ad&&!!tn.env.SNAP&&!!tn.env.SNAP_REVISION,RR=aS,oS=!!tn.env.CI||!!tn.env.BUILD_ARTIFACTSTAGINGDIRECTORY||!!tn.env.GITHUB_WORKSPACE,kp=Cs,Rp=Cs;let i=tn.env.VSCODE_NLS_CONFIG;if(i)try{let r=JSON.parse(i);kp=r.userLocale,tS=r.osLocale,Rp=r.resolvedLanguage||Cs,sS=r.languagePack?.translationsConfigFile}catch{}nS=!0}else typeof navigator=="object"&&!AR?($i=navigator.userAgent,ld=$i.indexOf("Windows")>=0,cd=$i.indexOf("Macintosh")>=0,iS=($i.indexOf("Macintosh")>=0||$i.indexOf("iPad")>=0||$i.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,ad=$i.indexOf("Linux")>=0,DR=$i?.indexOf("Mobi")>=0,Zg=!0,Rp=sd()||Cs,kp=navigator.language.toLowerCase(),tS=kp):console.error("Unable to resolve platform.");Dp=0;cd?Dp=1:ld?Dp=3:ad&&(Dp=2);W=ld,V=cd,re=ad,Lp=rS,Mp=nS,Xt=Zg,LR=Zg&&typeof Ki.importScripts=="function",lS=LR?Ki.origin:void 0,cS=oS,qi=Dp,gi=$i,yn=Rp;(t=>{function i(){return yn}t.value=i;function r(){return yn.length===2?yn==="en":yn.length>=3?yn[0]==="e"&&yn[1]==="n"&&yn[2]==="-":!1}t.isDefaultVariant=r;function e(){return yn==="en"}t.isDefault=e})(MR||={});ev=sS,OR=typeof Ki.postMessage=="function"&&!Ki.importScripts,dS=(()=>{if(OR){let i=[];Ki.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}),Ki.postMessage({vscodeScheduleAsyncWork:t},"*")}}return i=>setTimeout(i)})(),Bt=cd||iS?2:ld?1:3,tv=!!(gi&&gi.indexOf("Chrome")>=0),uS=!!(gi&&gi.indexOf("Firefox")>=0),pS=!!(!tv&&gi&&gi.indexOf("Safari")>=0),fS=!!(gi&&gi.indexOf("Edg/")>=0),VW=!!(gi&&gi.indexOf("Android")>=0)});var Ts,nv,rn,Vt,Op,mS,kn=w(()=>{Y();nv=globalThis.vscode;if(typeof nv<"u"&&typeof nv.process<"u"){let i=nv.process;Ts={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"?Ts={get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd(){return process.env.VSCODE_CWD||process.cwd()}}:Ts={get platform(){return W?"win32":V?"darwin":"linux"},get arch(){},get env(){return{}},cwd(){return"/"}};rn=Ts.cwd,Vt=Ts.env,Op=Ts.platform,mS=Ts.arch});function VR(i,r){if(i===null||typeof i!="object")throw new Fp(r,"Object",i)}function Ht(i,r){if(typeof i!="string")throw new Fp(r,"string",i)}function De(i){return i===vr||i===nn}function iv(i){return i===vr}function ji(i){return i>=FR&&i<=UR||i>=WR&&i<=NR}function Wp(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=vr}if(t(l)){if(!(s===c-1||a===1))if(a===2){if(n.length<2||o!==2||n.charCodeAt(n.length-1)!==_s||n.charCodeAt(n.length-2)!==_s){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===_s&&a!==-1?++a:a=-1}return n}function HR(i){return i?`${i[0]==="."?"":"."}${i}`:""}function gS(i,r){VR(r,"pathObject");let e=r.dir||r.root,t=r.base||`${r.name||""}${HR(r.ext)}`;return e?e===r.root?`${e}${t}`:`${e}${i}${t}`:t}var FR,WR,UR,NR,_s,vr,nn,zi,BR,Fp,on,at,$R,pe,Dt,Do,B,_r,Up,tt,xe,Ca,KW,qW,zW,$t,Np,Pe=w(()=>{kn();FR=65,WR=97,UR=90,NR=122,_s=46,vr=47,nn=92,zi=58,BR=63,Fp=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"}};on=Op==="win32";at={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],Ht(o,`paths[${n}]`),o.length===0)continue}else r.length===0?o=rn():(o=Vt[`=${r}`]||rn(),(o===void 0||o.slice(0,2).toLowerCase()!==r.toLowerCase()&&o.charCodeAt(2)===nn)&&(o=`${r}\\`));let s=o.length,a=0,l="",c=!1,d=o.charCodeAt(0);if(s===1)De(d)&&(a=1,c=!0);else if(De(d))if(c=!0,De(o.charCodeAt(1))){let u=2,f=u;for(;u<s&&!De(o.charCodeAt(u));)u++;if(u<s&&u!==f){let m=o.slice(f,u);for(f=u;u<s&&De(o.charCodeAt(u));)u++;if(u<s&&u!==f){for(f=u;u<s&&!De(o.charCodeAt(u));)u++;(u===s||u!==f)&&(l=`\\\\${m}\\${o.slice(f,u)}`,a=u)}}}else a=1;else ji(d)&&o.charCodeAt(1)===zi&&(l=o.slice(0,2),a=2,s>2&&De(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=Wp(e,!t,"\\",De),t?`${r}\\${e}`:`${r}${e}`||"."},normalize(i){Ht(i,"path");let r=i.length;if(r===0)return".";let e=0,t,n=!1,o=i.charCodeAt(0);if(r===1)return iv(o)?"\\":i;if(De(o))if(n=!0,De(i.charCodeAt(1))){let a=2,l=a;for(;a<r&&!De(i.charCodeAt(a));)a++;if(a<r&&a!==l){let c=i.slice(l,a);for(l=a;a<r&&De(i.charCodeAt(a));)a++;if(a<r&&a!==l){for(l=a;a<r&&!De(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 ji(o)&&i.charCodeAt(1)===zi&&(t=i.slice(0,2),e=2,r>2&&De(i.charCodeAt(2))&&(n=!0,e=3));let s=e<r?Wp(i.slice(e),!n,"\\",De):"";if(s.length===0&&!n&&(s="."),s.length>0&&De(i.charCodeAt(r-1))&&(s+="\\"),!n&&t===void 0&&i.includes(":")){if(s.length>=2&&ji(s.charCodeAt(0))&&s.charCodeAt(1)===zi)return`.\\${s}`;let a=i.indexOf(":");do if(a===r-1||De(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){Ht(i,"path");let r=i.length;if(r===0)return!1;let e=i.charCodeAt(0);return De(e)||r>2&&ji(e)&&i.charCodeAt(1)===zi&&De(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];Ht(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"&&De(e.charCodeAt(0))){++n;let o=e.length;o>1&&De(e.charCodeAt(1))&&(++n,o>2&&(De(e.charCodeAt(2))?++n:t=!1))}if(t){for(;n<r.length&&De(r.charCodeAt(n));)n++;n>=2&&(r=`\\${r.slice(n)}`)}return at.normalize(r)},relative(i,r){if(Ht(i,"from"),Ht(r,"to"),i===r)return"";let e=at.resolve(i),t=at.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 S=y.length,I=v.length,T=S<I?S:I,D;for(D=0;D<T&&y[D].toLowerCase()===v[D].toLowerCase();D++);return D===0?t:D===T?I>T?v.slice(D).join("\\"):S>T?"..\\".repeat(S-1-D)+"..":"":"..\\".repeat(S-D)+v.slice(D).join("\\")}let n=0;for(;n<i.length&&i.charCodeAt(n)===nn;)n++;let o=i.length;for(;o-1>n&&i.charCodeAt(o-1)===nn;)o--;let s=o-n,a=0;for(;a<r.length&&r.charCodeAt(a)===nn;)a++;let l=r.length;for(;l-1>a&&r.charCodeAt(l-1)===nn;)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===nn&&(u=f)}if(f!==d){if(u===-1)return t}else{if(c>d){if(r.charCodeAt(a+f)===nn)return t.slice(a+f+1);if(f===2)return t.slice(a+f)}s>d&&(i.charCodeAt(n+f)===nn?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)===nn)&&(m+=m.length===0?"..":"\\..");return a+=u,m.length>0?`${m}${t.slice(a,l)}`:(t.charCodeAt(a)===nn&&++a,t.slice(a,l))},toNamespacedPath(i){if(typeof i!="string"||i.length===0)return i;let r=at.resolve(i);if(r.length<=2)return i;if(r.charCodeAt(0)===nn){if(r.charCodeAt(1)===nn){let e=r.charCodeAt(2);if(e!==BR&&e!==_s)return`\\\\?\\UNC\\${r.slice(2)}`}}else if(ji(r.charCodeAt(0))&&r.charCodeAt(1)===zi&&r.charCodeAt(2)===nn)return`\\\\?\\${r}`;return r},dirname(i){Ht(i,"path");let r=i.length;if(r===0)return".";let e=-1,t=0,n=i.charCodeAt(0);if(r===1)return De(n)?i:".";if(De(n)){if(e=t=1,De(i.charCodeAt(1))){let a=2,l=a;for(;a<r&&!De(i.charCodeAt(a));)a++;if(a<r&&a!==l){for(l=a;a<r&&De(i.charCodeAt(a));)a++;if(a<r&&a!==l){for(l=a;a<r&&!De(i.charCodeAt(a));)a++;if(a===r)return i;a!==l&&(e=t=a+1)}}}}else ji(n)&&i.charCodeAt(1)===zi&&(e=r>2&&De(i.charCodeAt(2))?3:2,t=e);let o=-1,s=!0;for(let a=r-1;a>=t;--a)if(De(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&&Ht(r,"suffix"),Ht(i,"path");let e=0,t=-1,n=!0,o;if(i.length>=2&&ji(i.charCodeAt(0))&&i.charCodeAt(1)===zi&&(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(De(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(De(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){Ht(i,"path");let r=0,e=-1,t=0,n=-1,o=!0,s=0;i.length>=2&&i.charCodeAt(1)===zi&&ji(i.charCodeAt(0))&&(r=t=2);for(let a=i.length-1;a>=r;--a){let l=i.charCodeAt(a);if(De(l)){if(!o){t=a+1;break}continue}n===-1&&(o=!1,n=a+1),l===_s?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:gS.bind(null,"\\"),parse(i){Ht(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 De(n)?(r.root=r.dir=i,r):(r.base=r.name=i,r);if(De(n)){if(t=1,De(i.charCodeAt(1))){let u=2,f=u;for(;u<e&&!De(i.charCodeAt(u));)u++;if(u<e&&u!==f){for(f=u;u<e&&De(i.charCodeAt(u));)u++;if(u<e&&u!==f){for(f=u;u<e&&!De(i.charCodeAt(u));)u++;u===e?t=u:u!==f&&(t=u+1)}}}}else if(ji(n)&&i.charCodeAt(1)===zi){if(e<=2)return r.root=r.dir=i,r;if(t=2,De(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),De(n)){if(!l){s=c+1;break}continue}a===-1&&(l=!1,a=c+1),n===_s?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},$R=(()=>{if(on){let i=/\\/g;return()=>{let r=rn().replace(i,"/");return r.slice(r.indexOf("/"))}}return()=>rn()})(),pe={resolve(...i){let r="",e=!1;for(let t=i.length-1;t>=0&&!e;t--){let n=i[t];Ht(n,`paths[${t}]`),n.length!==0&&(r=`${n}/${r}`,e=n.charCodeAt(0)===vr)}if(!e){let t=$R();r=`${t}/${r}`,e=t.charCodeAt(0)===vr}return r=Wp(r,!e,"/",iv),e?`/${r}`:r.length>0?r:"."},normalize(i){if(Ht(i,"path"),i.length===0)return".";let r=i.charCodeAt(0)===vr,e=i.charCodeAt(i.length-1)===vr;return i=Wp(i,!r,"/",iv),i.length===0?r?"/":e?"./":".":(e&&(i+="/"),r?`/${i}`:i)},isAbsolute(i){return Ht(i,"path"),i.length>0&&i.charCodeAt(0)===vr},join(...i){if(i.length===0)return".";let r=[];for(let e=0;e<i.length;++e){let t=i[e];Ht(t,"path"),t.length>0&&r.push(t)}return r.length===0?".":pe.normalize(r.join("/"))},relative(i,r){if(Ht(i,"from"),Ht(r,"to"),i===r||(i=pe.resolve(i),r=pe.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===vr&&(l=c)}if(c===a)if(s>a){if(r.charCodeAt(o+c)===vr)return r.slice(o+c+1);if(c===0)return r.slice(o+c)}else n>a&&(i.charCodeAt(e+c)===vr?l=c:c===0&&(l=0));let d="";for(c=e+l+1;c<=t;++c)(c===t||i.charCodeAt(c)===vr)&&(d+=d.length===0?"..":"/..");return`${d}${r.slice(o+l)}`},toNamespacedPath(i){return i},dirname(i){if(Ht(i,"path"),i.length===0)return".";let r=i.charCodeAt(0)===vr,e=-1,t=!0;for(let n=i.length-1;n>=1;--n)if(i.charCodeAt(n)===vr){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&&Ht(r,"suffix"),Ht(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===vr){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)===vr){if(!n){e=o+1;break}}else t===-1&&(n=!1,t=o+1);return t===-1?"":i.slice(e,t)},extname(i){Ht(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:gS.bind(null,"/"),parse(i){Ht(i,"path");let r={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return r;let e=i.charCodeAt(0)===vr,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===vr){if(!a){o=l+1;break}continue}s===-1&&(a=!1,s=l+1),d===_s?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};pe.win32=at.win32=at;pe.posix=at.posix=pe;Dt=on?at.normalize:pe.normalize,Do=on?at.isAbsolute:pe.isAbsolute,B=on?at.join:pe.join,_r=on?at.resolve:pe.resolve,Up=on?at.relative:pe.relative,tt=on?at.dirname:pe.dirname,xe=on?at.basename:pe.basename,Ca=on?at.extname:pe.extname,KW=on?at.format:pe.format,qW=on?at.parse:pe.parse,zW=on?at.toNamespacedPath:pe.toNamespacedPath,$t=on?at.sep:pe.sep,Np=on?at.delimiter:pe.delimiter});function IS(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 yS,wS,vS,ov=w(()=>{vS=class{constructor(r,e){this.toKey=e;this._map=new Map;this[yS]="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))}[(wS=Symbol.iterator,yS=Symbol.toStringTag,wS)](){return this.values()}}});function Hp(i){ks.setUnexpectedErrorHandler(i)}function bS(i){if(!i||typeof i!="object")return!1;let r=i;return r.code==="EPIPE"&&r.syscall?.toUpperCase()==="WRITE"}function ct(i){Rs(i)||ks.onUnexpectedError(i)}function SS(i){Rs(i)||ks.onUnexpectedExternalError(i)}function Rs(i){return i instanceof Et?!0:i instanceof Error&&i.name===Bp&&i.message===Bp}function zn(){let i=new Error(Bp);return i.name=i.message,i}function $p(i){return i?new Error(`Illegal state: ${i}`):new Error("Illegal state")}function yr(i){return i?i.message?i.message:i.stack?i.stack.split(`
`)[0]:String(i):"Error"}var sv,ks,Bp,Et,Vp,Ta,sn,qn,He=w(()=>{sv=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(r){setTimeout(()=>{throw r.stack?sn.isErrorNoTelemetry(r)?new sn(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)}},ks=new sv;Bp="Canceled";Et=class extends Error{constructor(){super(Bp),this.name=this.message}},Vp=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}};Ta=class extends Error{constructor(){super(...arguments);this.isExpected=!0}},sn=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"}},qn=class i extends Error{constructor(r){super(r||"An unexpected bug occurred."),Object.setPrototypeOf(this,i.prototype)}}});function Gi(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 _a=w(()=>{});function KR(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 ES(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 PS,CS=w(()=>{PS=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=KR(this._array,r,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=e+1,e===-1?void 0:this._array[e]}}});function Ao(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 _S(i,r,e){return qR(i.length,t=>e(i[t],r))}function qR(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 Kp(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?Kp(i,n,e):i<n.length+s.length?s[0]:Kp(i-(n.length+s.length),o,e)}function kS(i,r,e){if(e===0)return[];let t=i.slice(0,e).sort(r);return zR(i,r,t,e,i.length),t}function zR(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=ES(e,l=>r(s,l)<0);e.splice(a,0,s)}}}function dt(i){return i.filter(r=>!!r)}function Wr(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 av(i,r){return i.push(r),()=>jR(i,r)}function jR(i,r){let e=i.indexOf(r);if(e>-1)return i.splice(e,1),r}function lv(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 RS(i){return i[Math.floor(Math.random()*i.length)]}function AS(i,r){return(e,t)=>r(i(e),i(t))}var DS,LS,TS,Yt=w(()=>{CS();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})(DS||={});LS=(i,r)=>i-r,TS=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||DS.isGreaterThan(r(n,e)))&&(t=!1,e=n),!0)),e}}});function US(i){let r=[];return i.forEach((e,t)=>{r.push(`${t} => ${e}`)}),`Map(${i.size}) {${r.join(", ")}}`}function NS(i){let r=[];return i.forEach(e=>{r.push(e)}),`Set(${i.size}) {${r.join(", ")}}`}function GR(i){return Array.isArray(i)}var cv,OS,yt,FS,ka,WS,dv,uv,Rn,qp,kr=w(()=>{cv=class{constructor(r,e){this.uri=r;this.value=e}};yt=class i{constructor(r,e){this[OS]="ResourceMap";if(r instanceof i)this.map=new Map(r.map),this.toKey=e??i.defaultToKey;else if(GR(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 cv(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]}*[(OS=Symbol.toStringTag,Symbol.iterator)](){for(let[,r]of this.map)yield[r.uri,r.value]}},ka=class{constructor(r,e){this[FS]="ResourceSet";!r||typeof r=="function"?this._map=new yt(r):(this._map=new yt(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()}[(FS=Symbol.toStringTag,Symbol.iterator)](){return this.keys()}},dv=class{constructor(){this[WS]="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},[Symbol.dispose](){},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},[Symbol.dispose](){},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},[Symbol.dispose](){},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}[(WS=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)}},uv=class extends dv{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))}},Rn=class extends uv{constructor(r,e=1){super(r,e)}trim(r){this.trimOld(r)}set(r,e){return super.set(r,e),this.checkTrim(),this}},qp=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 zp(i,r){if(!i)throw new Error(r?`Assertion failed (${r})`:"Assertion Failed")}function Ra(i,r="unexpected state"){if(!i)throw typeof r=="string"?new qn(`Assertion Failed: ${r}`):r}var Da=w(()=>{He()});function Oe(i){return typeof i=="string"}function Ge(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 jn(i){return typeof i=="number"&&!isNaN(i)}function VS(i){return!!i&&typeof i[Symbol.iterator]=="function"}function jp(i){return i===!0||i===!1}function Kr(i){return typeof i>"u"}function Kt(i){return Kr(i)||i===null}function HS(i,r){if(!i)throw new Error(r?`Unexpected type, expected '${r}'`:"Unexpected type")}function yi(i){return Ra(i!=null,"Argument is `undefined` or `null`."),i}function Gp(i){if(!Ge(i))return!1;for(let r in i)if(QR.call(i,r))return!1;return!0}function dd(i){return typeof i=="function"}function Dn(i,r){for(let e in r)if(!(e in i))return!1;return!0}var QR,Me=w(()=>{Da();QR=Object.prototype.hasOwnProperty});var wi,ud=w(()=>{Me();(oe=>{function i(O){return!!O&&typeof O=="object"&&typeof O[Symbol.iterator]=="function"}oe.is=i;let r=Object.freeze([]);function e(){return r}oe.empty=e;function*t(O){yield O}oe.single=t;function n(O){return i(O)?O:t(O)}oe.wrap=n;function o(O){return O??r}oe.from=o;function*s(O){for(let ee=O.length-1;ee>=0;ee--)yield O[ee]}oe.reverse=s;function a(O){return!O||O[Symbol.iterator]().next().done===!0}oe.isEmpty=a;function l(O){return O[Symbol.iterator]().next().value}oe.first=l;function c(O,ee){let G=0;for(let Ee of O)if(ee(Ee,G++))return!0;return!1}oe.some=c;function d(O,ee){let G=0;for(let Ee of O)if(!ee(Ee,G++))return!1;return!0}oe.every=d;function u(O,ee){for(let G of O)if(ee(G))return G}oe.find=u;function*f(O,ee){for(let G of O)ee(G)&&(yield G)}oe.filter=f;function*m(O,ee){let G=0;for(let Ee of O)yield ee(Ee,G++)}oe.map=m;function*y(O,ee){let G=0;for(let Ee of O)yield*ee(Ee,G++)}oe.flatMap=y;function*v(...O){for(let ee of O)VS(ee)?yield*ee:yield ee}oe.concat=v;function S(O,ee,G){let Ee=G;for(let Mt of O)Ee=ee(Ee,Mt);return Ee}oe.reduce=S;function I(O){let ee=0;for(let G of O)ee++;return ee}oe.length=I;function*T(O,ee,G=O.length){for(ee<-O.length&&(ee=0),ee<0&&(ee+=O.length),G<0?G+=O.length:G>O.length&&(G=O.length);ee<G;ee++)yield O[ee]}oe.slice=T;function D(O,ee=Number.POSITIVE_INFINITY){let G=[];if(ee===0)return[G,O];let Ee=O[Symbol.iterator]();for(let Mt=0;Mt<ee;Mt++){let je=Ee.next();if(je.done)return[G,oe.empty()];G.push(je.value)}return[G,{[Symbol.iterator](){return Ee}}]}oe.consume=D;async function k(O){let ee=[];for await(let G of O)ee.push(G);return ee}oe.asyncToArray=k;async function A(O){let ee=[];for await(let G of O)ee=ee.concat(G);return ee}oe.asyncToArrayFlat=A})(wi||={})});function YR(i){La=i}function pd(i){return La?.trackDisposable(i),i}function fd(i){La?.markAsDisposed(i)}function Ds(i,r){La?.setParent(i,r)}function ZR(i,r){if(La)for(let e of i)La.setParent(e,r)}function Jp(i){return typeof i=="object"&&i!==null&&typeof i.dispose=="function"&&i.dispose.length===0}function ht(i){if(wi.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 KS(...i){let r=z(()=>ht(i));return ZR(i,r),r}function z(i){return new pv(i)}function qS(i,r){return i.then(e=>(r.isDisposed?e.dispose():r.add(e),e))}var XR,La,$S,pv,Q,_,St,Ct,$=w(()=>{Yt();ov();kr();_a();ud();He();XR=!1,La=null,$S=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 qp;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(AS(l=>l.idx,LS));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=IS([...y].map(S=>n(S)[u]),S=>S);delete v[c[u]];for(let[S,I]of Object.entries(v))I&&d.unshift(`    - stacktraces of ${I.length} other leaks continue with ${S}`);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(XR){let i="__is_disposable_tracked__";YR(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!==_.None)try{r[i]=!0}catch{}}markAsDisposed(r){if(r&&r!==_.None)try{r[i]=!0}catch{}}markAsSingleton(r){}})}pv=class{constructor(r){this._isDisposed=!1,this._fn=r,pd(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,fd(this),this._fn()}}};Q=class i{constructor(){this._toDispose=new Set;this._isDisposed=!1;pd(this)}static{this.DISABLE_DISPOSED_WARNING=!1}dispose(){this._isDisposed||(fd(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{ht(this._toDispose)}finally{this._toDispose.clear()}}add(r){if(!r||r===_.None)return r;if(r===this)throw new Error("Cannot register a disposable on itself!");return Ds(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)&&Ds(r,null)}assertNotDisposed(){this._isDisposed&&ct(new qn("Object disposed"))}},_=class{constructor(){this._store=new Q;pd(this),Ds(this._store,this)}static{this.None=Object.freeze({dispose(){}})}dispose(){fd(this),this._store.dispose()}_register(r){if(r===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(r)}},St=class{constructor(){this._isDisposed=!1;pd(this)}get value(){return this._isDisposed?void 0:this._value}set value(r){this._isDisposed||r===this._value||(this._value?.dispose(),r&&Ds(r,this),this._value=r)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,fd(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let r=this._value;return this._value=void 0,r&&Ds(r,null),r}},Ct=class{constructor(r=new Map){this._isDisposed=!1;this._store=r,pd(this)}dispose(){fd(this),this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{ht(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),Ds(e,this)}deleteAndDispose(r){this._store.get(r)?.dispose(),this._store.delete(r)}deleteAndLeak(r){let e=this._store.get(r);return e&&Ds(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 xt,Ma,fv=w(()=>{xt=class i{static{this.Undefined=new i(void 0)}constructor(r){this.element=r,this.next=i.Undefined,this.prev=i.Undefined}},Ma=class{constructor(){this._first=xt.Undefined;this._last=xt.Undefined;this._size=0}get size(){return this._size}isEmpty(){return this._first===xt.Undefined}clear(){let r=this._first;for(;r!==xt.Undefined;){let e=r.next;r.prev=xt.Undefined,r.next=xt.Undefined,r=e}this._first=xt.Undefined,this._last=xt.Undefined,this._size=0}unshift(r){return this._insert(r,!1)}push(r){return this._insert(r,!0)}_insert(r,e){let t=new xt(r);if(this._first===xt.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!==xt.Undefined){let r=this._first.element;return this._remove(this._first),r}}pop(){if(this._last!==xt.Undefined){let r=this._last.element;return this._remove(this._last),r}}peek(){if(this._last!==xt.Undefined)return this._last.element}_remove(r){if(r.prev!==xt.Undefined&&r.next!==xt.Undefined){let e=r.prev;e.next=r.next,r.next.prev=e}else r.prev===xt.Undefined&&r.next===xt.Undefined?(this._first=xt.Undefined,this._last=xt.Undefined):r.next===xt.Undefined?(this._last=this._last.prev,this._last.next=xt.Undefined):r.prev===xt.Undefined&&(this._first=this._first.next,this._first.prev=xt.Undefined);this._size-=1}*[Symbol.iterator](){let r=this._first;for(;r!==xt.Undefined;)yield r.element,r=r.next}}});var eD,an,As=w(()=>{eD=globalThis.performance.now.bind(globalThis.performance),an=class i{static create(r){return new i(r)}constructor(r){this._now=r===!1?Date.now:eD,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 GS(){return!!Vt.VSCODE_DEV}function yv(i,r){r instanceof Q?r.add(i):Array.isArray(r)&&r.push(i)}function QS(i,r){if(r instanceof Q)r.delete(i);else if(Array.isArray(r)){let e=r.indexOf(i);e!==-1&&r.splice(e,1)}i.dispose()}var zS,tD,rD,jS,x,mv,JS,hv,Fa,Wa,gv,nD,Oa,iD,oD,b,vv,Ls,Qp,md,j=w(()=>{ov();He();_a();$();fv();kn();As();zS=!1,tD=!1,rD=100,jS=6e4;(Pt=>{Pt.None=()=>_.None;function r(K){if(tD){let{onDidAddListener:q}=K,X=Fa.create(),Z=0;K.onDidAddListener=()=>{++Z===2&&(console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"),X.print()),q?.()}}}function e(K,q,X){return m(K,()=>{},0,void 0,q??!0,void 0,X)}Pt.defer=e;function t(K){return(q,X=null,Z)=>{let ie=!1,fe;return fe=K(ye=>{if(!ie)return fe?fe.dispose():ie=!0,q.call(X,ye)},null,Z),ie&&fe.dispose(),fe}}Pt.once=t;function n(K,q){return Pt.once(Pt.filter(K,q))}Pt.onceIf=n;function o(K,q,X){return u((Z,ie=null,fe)=>K(ye=>Z.call(ie,q(ye)),null,fe),X)}Pt.map=o;function s(K,q,X){return u((Z,ie=null,fe)=>K(ye=>{q(ye),Z.call(ie,ye)},null,fe),X)}Pt.forEach=s;function a(K,q,X){return u((Z,ie=null,fe)=>K(ye=>q(ye)&&Z.call(ie,ye),null,fe),X)}Pt.filter=a;function l(K){return K}Pt.signal=l;function c(...K){return(q,X=null,Z)=>{let ie=KS(...K.map(fe=>fe(ye=>q.call(X,ye))));return f(ie,Z)}}Pt.any=c;function d(K,q,X,Z){let ie=X;return o(K,fe=>(ie=q(ie,fe),ie),Z)}Pt.reduce=d;function u(K,q){let X,Z={onWillAddFirstListener(){X=K(ie.fire,ie)},onDidRemoveLastListener(){X?.dispose()}};q||r(Z);let ie=new b(Z);return q?.add(ie),ie.event}function f(K,q){return q instanceof Array?q.push(K):q&&q.add(K),K}function m(K,q,X=100,Z=!1,ie=!1,fe,ye){let Re,st,or,Ut=0,sr,Hr={leakWarningThreshold:fe,onWillAddFirstListener(){Re=K(ed=>{Ut++,st=q(st,ed),Z&&!or&&(pi.fire(st),st=void 0),sr=()=>{let td=st;st=void 0,or=void 0,(!Z||Ut>1)&&pi.fire(td),Ut=0},typeof X=="number"?(or&&clearTimeout(or),or=setTimeout(sr,X)):or===void 0&&(or=null,queueMicrotask(sr))})},onWillRemoveListener(){ie&&Ut>0&&sr?.()},onDidRemoveLastListener(){sr=void 0,Re.dispose()}};ye||r(Hr);let pi=new b(Hr);return ye?.add(pi),pi.event}Pt.debounce=m;function y(K,q=0,X,Z){return Pt.debounce(K,(ie,fe)=>ie?(ie.push(fe),ie):[fe],q,void 0,X??!0,void 0,Z)}Pt.accumulate=y;function v(K,q,X=100,Z=!0,ie=!0,fe,ye){let Re,st,or,Ut=0,sr={leakWarningThreshold:fe,onWillAddFirstListener(){Re=K(pi=>{Ut++,st=q(st,pi),or===void 0&&(Z&&(Hr.fire(st),st=void 0,Ut=0),typeof X=="number"?or=setTimeout(()=>{ie&&Ut>0&&Hr.fire(st),st=void 0,or=void 0,Ut=0},X):(or=0,queueMicrotask(()=>{ie&&Ut>0&&Hr.fire(st),st=void 0,or=void 0,Ut=0})))})},onDidRemoveLastListener(){Re.dispose()}};ye||r(sr);let Hr=new b(sr);return ye?.add(Hr),Hr.event}Pt.throttle=v;function S(K,q=(Z,ie)=>Z===ie,X){let Z=!0,ie;return a(K,fe=>{let ye=Z||!q(fe,ie);return Z=!1,ie=fe,ye},X)}Pt.latch=S;function I(K,q,X){return[Pt.filter(K,q,X),Pt.filter(K,Z=>!q(Z),X)]}Pt.split=I;function T(K,q,X=!1,Z=[],ie){let fe=Z.slice(),ye;GS()&&(ye={stack:Fa.create(),timerId:setTimeout(()=>{fe&&fe.length>0&&ye&&!ye.warned&&(ye.warned=!0,console.warn(`[Event.buffer][${q}] potential LEAK detected: ${fe.length} events buffered for ${jS/1e3}s without being consumed. Buffered here:`),ye.stack.print())},jS),warned:!1},ie&&ie.add(z(()=>clearTimeout(ye.timerId))));let Re=()=>{ye&&clearTimeout(ye.timerId)},st=K(sr=>{fe?(fe.push(sr),GS()&&ye&&!ye.warned&&fe.length>=rD&&(ye.warned=!0,console.warn(`[Event.buffer][${q}] potential LEAK detected: ${fe.length} events buffered without being consumed. Buffered here:`),ye.stack.print())):Ut.fire(sr)});ie&&ie.add(st);let or=()=>{fe?.forEach(sr=>Ut.fire(sr)),fe=null,Re()},Ut=new b({onWillAddFirstListener(){st||(st=K(sr=>Ut.fire(sr)),ie&&ie.add(st))},onDidAddFirstListener(){fe&&(X?setTimeout(or):or())},onDidRemoveLastListener(){st&&st.dispose(),st=null,Re()}});return ie&&ie.add(Ut),Ut.event}Pt.buffer=T;function D(K,q){return(Z,ie,fe)=>{let ye=q(new A);return K(function(Re){let st=ye.evaluate(Re);st!==k&&Z.call(ie,st)},void 0,fe)}}Pt.chain=D;let k=Symbol("HaltChainable");class A{constructor(){this.steps=[]}map(q){return this.steps.push(q),this}forEach(q){return this.steps.push(X=>(q(X),X)),this}filter(q){return this.steps.push(X=>q(X)?X:k),this}reduce(q,X){let Z=X;return this.steps.push(ie=>(Z=q(Z,ie),Z)),this}latch(q=(X,Z)=>X===Z){let X=!0,Z;return this.steps.push(ie=>{let fe=X||!q(ie,Z);return X=!1,Z=ie,fe?ie:k}),this}evaluate(q){for(let X of this.steps)if(q=X(q),q===k)break;return q}}function oe(K,q,X=Z=>Z){let Z=(...Re)=>ye.fire(X(...Re)),ie=()=>K.on(q,Z),fe=()=>K.removeListener(q,Z),ye=new b({onWillAddFirstListener:ie,onDidRemoveLastListener:fe});return ye.event}Pt.fromNodeEventEmitter=oe;function O(K,q,X=Z=>Z){let Z=(...Re)=>ye.fire(X(...Re)),ie=()=>K.addEventListener(q,Z),fe=()=>K.removeEventListener(q,Z),ye=new b({onWillAddFirstListener:ie,onDidRemoveLastListener:fe});return ye.event}Pt.fromDOMEventEmitter=O;function ee(K,q){let X,Z,ie=new Promise(fe=>{Z=t(K)(fe),yv(Z,q),X=()=>{QS(Z,q)}});return ie.cancel=X,q&&ie.finally(()=>QS(Z,q)),ie}Pt.toPromise=ee;function G(K,q){return K(X=>q.fire(X))}Pt.forward=G;function Ee(K,q,X){return q(X),K(Z=>q(Z))}Pt.runAndSubscribe=Ee;class Mt{constructor(q,X){this._observable=q;this._counter=0;this._hasChanged=!1;let Z={onWillAddFirstListener:()=>{q.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{q.removeObserver(this)}};X||r(Z),this.emitter=new b(Z),X&&X.add(this.emitter)}beginUpdate(q){this._counter++}handlePossibleChange(q){}handleChange(q,X){this._hasChanged=!0}endUpdate(q){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function je(K,q){return new Mt(K,q).emitter.event}Pt.fromObservable=je;function Se(K){return(q,X,Z)=>{let ie=0,fe=!1,ye={beginUpdate(){ie++},endUpdate(){ie--,ie===0&&(K.reportChanges(),fe&&(fe=!1,q.call(X)))},handlePossibleChange(){},handleChange(){fe=!0}};K.addObserver(ye),K.reportChanges();let Re={dispose(){K.removeObserver(ye)}};return yv(Re,Z),Re}}Pt.fromObservableLight=Se})(x||={});mv=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 an,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}}},JS=-1,hv=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=/^[0-9a-f]+$/i.test(this.name)?void 0:this.name,l=`[${this.name}] potential listener LEAK detected, having ${e} listeners already. MOST frequent listener (${s}):`;console.warn(l),console.warn(o);let c=s/e>.3?"dominated":"popular",d=new Wa(c,l,o,e,a);this._errorHandler(d)}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}},Fa=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(`
`))}},Wa=class i extends Error{constructor(r,e,t,n,o){super(o?`[${o}] potential listener LEAK detected, ${r}`:`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"}},gv=class extends Wa{constructor(r,e,t,n,o){super(r,e,t,n,o),this.name="ListenerRefusalError"}},nD=0,Oa=class{constructor(r){this.value=r;this.id=nD++}},iD=2,oD=(i,r)=>{if(i instanceof Oa)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=JS>0||this._options?.leakWarningThreshold?new hv(r?.onListenerError??ct,this._options?.leakWarningThreshold??JS,this._options?.leakWarningName):void 0,this._perfMon=this._options?._profName?new mv(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(zS){let r=this._listeners;queueMicrotask(()=>{oD(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 gv(d,`${l}. HINT: Stack shows most frequent listener (${c[1]}-times)`,c[0],this._size,this._options?.leakWarningName);return(this._options?.onListenerError||ct)(u),_.None}if(this._disposed)return _.None;e&&(r=r.bind(e));let n=new Oa(r),o,s;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(n.stack=Fa.create(),o=this._leakageMon.check(n.stack,this._size+1)),zS&&(n.stack=s??Fa.create()),this._listeners?this._listeners instanceof Oa?(this._deliveryQueue??=new vv,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=z(()=>{o?.(),this._removeListener(n)});return yv(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*iD<=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||ct;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 Oa)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}},vv=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}},Ls=class extends b{constructor(e){super(e);this._isPaused=0;this._eventQueue=new Ma;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))}},Qp=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),z(Gi(()=>{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=[]}},md=class{constructor(){this.listening=!1;this.inputEvent=x.None;this.inputEventListener=_.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 XS,Te,Ua,Je,Tt=w(()=>{j();$();XS=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 Ua?!0:!n||typeof n!="object"?!1:typeof n.isCancellationRequested=="boolean"&&typeof n.onCancellationRequested=="function"}t.isCancellationToken=i,t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:x.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:XS})})(Te||={});Ua=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?XS:(this._emitter||(this._emitter=new b),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}},Je=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 Ua),this._token}cancel(){this._token?this._token instanceof Ua&&this._token.cancel():this._token=Te.Cancelled}dispose(r=!1){r&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof Ua&&this._token.dispose():this._token=Te.None}}});var Gn=w(()=>{});function sD(i){return i}var Xp,YS=w(()=>{Tt();Xp=class{constructor(r,e){this.lastCache=void 0;this.lastArgKey=void 0;typeof r=="function"?(this._fn=r,this._computeKey=sD):(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 fr,Ji=w(()=>{fr=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 ZS=w(()=>{});function i1(i){return!i||typeof i!="string"?!0:i.trim().length===0}function o1(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 Lo(i){return i.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function wv(i,r=" "){let e=Iv(i,r);return Jn(e,r)}function Iv(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 hd(i,r){return i<r?-1:i>r?1:0}function Yp(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 gd(i,r){return Ms(i,r,0,i.length,0,r.length)}function Ms(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 Yp(i.toLowerCase(),r.toLowerCase(),e,t,n,o);e1(l)&&(l-=32),e1(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 e1(i){return i>=97&&i<=122}function bv(i){return i>=65&&i<=90}function qr(i,r){return i.length===r.length&&Ms(i,r)===0}function Mo(i,r){let e=r.length;return e<=i.length&&Ms(i,r,0,e)===0}function s1(i,r){let e=i.length,t=e-r.length;return t>=0&&Ms(i,r,t,e)===0}function a1(i){return 55296<=i&&i<=56319}function Sv(i){return 56320<=i&&i<=57343}function l1(i,r){return(i-55296<<10)+(r-56320)+65536}function dD(i){return!!(i&&i.length>0&&i.charCodeAt(0)===65279)}function Zp(i){return dD(i)?i.substr(1):i}function uD(){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 aD,lD,cD,U4,N4,t1,r1,n1,Zt=w(()=>{YS();Gn();Ji();ZS();aD=/(?:\x1b\[|\x9b)[=?>!]?[\d;:]*["$#'* ]?[a-zA-Z@^`{}|~]/,lD=/(?:\x1b\]|\x9d).*?(?:\x1b\\|\x07|\x9c)/,cD=/\x1b(?:[ #%\(\)\*\+\-\.\/]?[a-zA-Z0-9\|}~@])/,U4=new RegExp("(?:"+[aD.source,lD.source,cD.source].join("|")+")","g"),N4=String.fromCharCode(65279);t1=class i{static{this._INSTANCE=null}static getInstance(){return i._INSTANCE||(i._INSTANCE=new i),i._INSTANCE}constructor(){this._data=uD()}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}};r1=class i{constructor(r){this.confusableDictionary=r}static{this.ambiguousCharacterData=new fr(()=>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 Xp(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 fr(()=>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())}},n1=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 Oo(i){return i===47||i===92}function Ii(i){return i.replace(/[\\/]/g,pe.sep)}function c1(i){return i.indexOf("/")===-1&&(i=Ii(i)),/^[a-zA-Z]:(\/|$)/.test(i)&&(i="/"+i),i}function xv(i,r=pe.sep){if(!i)return"";let e=i.length,t=i.charCodeAt(0);if(Oo(t)){if(Oo(i.charCodeAt(1))&&!Oo(i.charCodeAt(2))){let o=3,s=o;for(;o<e&&!Oo(i.charCodeAt(o));o++);if(s!==o&&!Oo(i.charCodeAt(o+1))){for(o+=1;o<e;o++)if(Oo(i.charCodeAt(o)))return i.slice(0,o+1).replace(/[\\/]/g,r)}}return r}else if(tf(t)&&i.charCodeAt(1)===58)return Oo(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(Oo(i.charCodeAt(n)))return i.slice(0,n+1)}return""}function d1(i){if(!W||!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 u1(i,r=W){let e=r?pD:fD;return!(!i||i.length===0||/^\s+$/.test(i)||(e.lastIndex=0,e.test(i))||r&&mD.test(i)||i==="."||i===".."||r&&i[i.length-1]==="."||r&&i.length!==i.trim().length||i.length>255)}function Fo(i,r,e){let t=i===r;return!e||t?t:!i||!r?!1:qr(i,r)}function Xi(i,r,e,t=$t){if(i===r)return!0;if(!i||!r||r.length>i.length)return!1;if(e){if(!Mo(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 tf(i){return i>=65&&i<=90||i>=97&&i<=122}function rf(i,r){return W&&i.endsWith(":")&&(i+=$t),Do(i)||(i=B(r,i)),i=Dt(i),Pv(i)}function Pv(i){return W?(i=Jn(i,$t),i.endsWith(":")&&(i+=$t)):(i=Jn(i,$t),i||(i=$t)),i}function Ev(i){let r=Dt(i);return W?i.length>3?!1:Cv(r)&&(i.length===2||r.charCodeAt(2)===92):r===pe.sep}function Cv(i,r=W){return r?tf(i.charCodeAt(0))&&i.charCodeAt(1)===58:!1}function Na(i){let r=i.split(":"),e,t,n;for(let o of r){let s=Number(o);jn(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 Os(i,r,e=8){let t="";for(let o=0;o<e;o++){let s;o===0&&W&&!r&&(e===3||e===4)?s=gD:s=hD,t+=s.charAt(Math.floor(Math.random()*s.length))}let n;return r?n=`${r}-${t}`:n=t,i?B(i,n):n}var pD,fD,mD,hD,gD,ln=w(()=>{Gn();Pe();Y();Zt();Me();pD=/[\\/:\*\?"<>\|]/g,fD=/[/]/g,mD=/^(con|prn|aux|clock\$|nul|lpt[0-9]|com[0-9])(\.(.*?))?$/i;hD="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",gD="BDEFGHIJKMOQRSTUVWXYZbdefghijkmoqrstuvwxyz0123456789"});var nf=w(()=>{});function bD(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&&!yD.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(!wD.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(ID.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 SD(i,r){return!i&&!r?"file":i}function xD(i,r){switch(i){case"https":case"http":case"file":r?r[0]!==Qn&&(r=Qn+r):r=Qn;break}return r}function p1(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=g1[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 ED(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+=g1[t]):r!==void 0&&(r+=i[e])}return r!==void 0?r:i}function vd(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,W&&(e=e.replace(/\//g,"\\")),e}function Tv(i,r){let e=r?ED:p1,t="",{scheme:n,authority:o,path:s,query:a,fragment:l}=i;if(n&&(t+=n,t+=":"),(o||n==="file")&&(t+=Qn,t+=Qn),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:p1(l,!1,!1)),t}function v1(i){try{return decodeURIComponent(i)}catch{return i.length>3?i.substr(0,3)+v1(i.substr(3)):i}}function of(i){return i.match(f1)?i.replace(f1,r=>v1(r)):i}var yD,wD,ID,wt,Qn,PD,P,h1,Wo,g1,f1,le=w(()=>{Gn();nf();Pe();Y();yD=/^\w[\w\d+.-]*$/,wD=/^\//,ID=/^\/\//;wt="",Qn="/",PD=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,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||wt,this.authority=r.authority||wt,this.path=r.path||wt,this.query=r.query||wt,this.fragment=r.fragment||wt):(this.scheme=SD(r,s),this.authority=e||wt,this.path=xD(this.scheme,t||wt),this.query=n||wt,this.fragment=o||wt,bD(this,s))}get fsPath(){return vd(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=wt),t===void 0?t=this.authority:t===null&&(t=wt),n===void 0?n=this.path:n===null&&(n=wt),o===void 0?o=this.query:o===null&&(o=wt),s===void 0?s=this.fragment:s===null&&(s=wt),e===this.scheme&&t===this.authority&&n===this.path&&o===this.query&&s===this.fragment?this:new Wo(e,t,n,o,s)}static parse(r,e=!1){let t=PD.exec(r);return t?new Wo(t[2]||wt,of(t[4]||wt),of(t[5]||wt),of(t[7]||wt),of(t[9]||wt),e):new Wo(wt,wt,wt,wt,wt)}static file(r){let e=wt;if(W&&(r=r.replace(/\\/g,Qn)),r[0]===Qn&&r[1]===Qn){let t=r.indexOf(Qn,2);t===-1?(e=r.substring(2),r=Qn):(e=r.substring(2,t),r=r.substring(t)||Qn)}return new Wo("file",e,r,wt,wt)}static from(r,e){return new Wo(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 W&&r.scheme==="file"?t=i.file(at.join(vd(r,!0),...e)).path:t=pe.join(r.path,...e),r.with({path:t})}toString(r=!1){return Tv(this,r)}toJSON(){return this}static revive(r){if(r){if(r instanceof i)return r;{let e=new Wo(r);return e._formatted=r.external??null,e._fsPath=r._sep===h1?r.fsPath??null:null,e}}else return r}[Symbol.for("debug.description")](){return`URI(${this.toString()})`}},h1=W?1:void 0,Wo=class extends P{constructor(){super(...arguments);this._formatted=null;this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=vd(this,!1)),this._fsPath}toString(e=!1){return e?Tv(this,!0):(this._formatted||(this._formatted=Tv(this,!1)),this._formatted)}toJSON(){let e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=h1),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}},g1={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"};f1=/(%[0-9A-Za-z][0-9A-Za-z])+/g});function CD(i,r){return P.isUri(i)?qr(i.scheme,r):Mo(i,r+":")}function Rv(i,...r){return r.some(e=>CD(i,e))}function _D(i){return`${i.quality??"oss"}-${i.commit??"dev"}`}var U,TD,_v,Dv,Ba,kv,lt,y1,w1,Va,qe=w(()=>{He();Y();Zt();le();Pe();(me=>(me.inMemory="inmemory",me.vscode="vscode",me.internal="private",me.walkThrough="walkThrough",me.walkThroughSnippet="walkThroughSnippet",me.http="http",me.https="https",me.file="file",me.mailto="mailto",me.untitled="untitled",me.data="data",me.command="command",me.vscodeRemote="vscode-remote",me.vscodeRemoteResource="vscode-remote-resource",me.vscodeManagedRemoteResource="vscode-managed-remote-resource",me.vscodeUserData="vscode-userdata",me.vscodeCustomEditor="vscode-custom-editor",me.vscodeNotebookCell="vscode-notebook-cell",me.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",me.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",me.vscodeNotebookCellOutput="vscode-notebook-cell-output",me.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",me.vscodeNotebookMetadata="vscode-notebook-metadata",me.vscodeInteractiveInput="vscode-interactive-input",me.vscodeSettings="vscode-settings",me.vscodeWorkspaceTrust="vscode-workspace-trust",me.vscodeTerminal="vscode-terminal",me.vscodeImageCarousel="vscode-image-carousel",me.vscodeChatCodeBlock="vscode-chat-code-block",me.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",me.vscodeChatEditor="vscode-chat-editor",me.vscodeChatInput="chatSessionInput",me.vscodeLocalChatSession="vscode-chat-session",me.webviewPanel="webview-panel",me.vscodeWebview="vscode-webview",me.vscodeBrowser="vscode-browser",me.extension="extension",me.vscodeFileResource="vscode-file",me.tmp="tmp",me.vsls="vsls",me.vscodeSourceControl="vscode-scm",me.commentsInput="comment",me.codeSetting="code-setting",me.outputChannel="output",me.accessibleView="accessible-view",me.chatEditingSnapshotScheme="chat-editing-snapshot-text-model",me.chatEditingModel="chat-editing-text-model",me.copilotPr="copilot-pr"))(U||={});TD="tkn",_v=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=pe.join(e??"/",_D(r))}getServerRootPath(){return this._serverRootPath}get _remoteResourcesPath(){return pe.join(this._serverRootPath,U.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 SS(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:Xt?this._preferredWebSchema:U.vscodeRemoteResource,authority:`${t}:${n}`,path:this._remoteResourcesPath,query:s})}},Dv=new _v;Ba="vscode-app",kv=class i{static{this.FALLBACK_AUTHORITY=Ba}asBrowserUri(r){let e=this.toUri(r);return this.uriToBrowserUri(e)}uriToBrowserUri(r){return r.scheme===U.vscodeRemote?Dv.rewrite(r):r.scheme===U.file&&(Mp||lS===`${U.vscodeFileResource}://${i.FALLBACK_AUTHORITY}`)?r.with({scheme:U.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===U.vscodeFileResource?r.with({scheme:U.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=B(e,r);return P.file(t)}throw new Error("Cannot determine URI for module id!")}},lt=new kv,y1=Object.freeze({"Cache-Control":"no-cache, no-store"}),w1=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})(Va||={})});function wr(i){return vd(i,!0)}var Fs,Fe,Qe,Ha,yd,Av,iU,kD,zr,b1,S1,ce,sf,oU,sU,x1,Ur,I1,P1,aU,RD,It=w(()=>{Gn();ln();qe();Pe();Y();Zt();le();Fs=class{constructor(r){this._ignorePathCasing=r}compare(r,e,t=!1){return r===e?0:hd(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===U.file)return Xi(wr(r),wr(e),this._ignorePathCasing(r))&&r.query===e.query&&(t||r.fragment===e.fragment);if(Ur(r.authority,e.authority))return Xi(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 zr(r)||r.authority}basename(r,e){return pe.basename(r.path,e)}extname(r){return pe.extname(r.path)}dirname(r){if(r.path.length===0)return r;let e;return r.scheme===U.file?e=P.file(tt(wr(r))).path:(e=pe.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===U.file?e=P.file(Dt(wr(r))).path:e=pe.normalize(r.path),r.with({path:e})}relativePath(r,e){if(r.scheme!==e.scheme||!Ur(r.authority,e.authority))return;if(r.scheme===U.file){let o=Up(wr(r),wr(e));return W?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 pe.relative(t,n)}resolvePath(r,e){if(r.scheme===U.file){let t=P.file(_r(wr(r),e));return r.with({authority:t.authority,path:t.path})}return e=c1(e),r.with({path:pe.resolve(r.path,e)})}isAbsolutePath(r){return!!r.path&&r.path[0]==="/"}isEqualAuthority(r,e){return r===e||r!==void 0&&e!==void 0&&qr(r,e)}hasTrailingPathSeparator(r,e=$t){if(r.scheme===U.file){let t=wr(r);return t.length>xv(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=$t){return I1(r,e)?r.with({path:r.path.substr(0,r.path.length-1)}):r}addTrailingPathSeparator(r,e=$t){let t=!1;if(r.scheme===U.file){let n=wr(r);t=n!==void 0&&n.length===xv(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&&!I1(r,e)?r.with({path:r.path+"/"}):r}},Fe=new Fs(()=>!1),Qe=new Fs(i=>i.scheme===U.file?!re:!0),Ha=new Fs(i=>!0),yd=Fe.isEqual.bind(Fe),Av=Fe.isEqualOrParent.bind(Fe),iU=Fe.getComparisonKey.bind(Fe),kD=Fe.basenameOrAuthority.bind(Fe),zr=Fe.basename.bind(Fe),b1=Fe.extname.bind(Fe),S1=Fe.dirname.bind(Fe),ce=Fe.joinPath.bind(Fe),sf=Fe.normalizePath.bind(Fe),oU=Fe.relativePath.bind(Fe),sU=Fe.resolvePath.bind(Fe),x1=Fe.isAbsolutePath.bind(Fe),Ur=Fe.isEqualAuthority.bind(Fe),I1=Fe.hasTrailingPathSeparator.bind(Fe),P1=Fe.removeTrailingPathSeparator.bind(Fe),aU=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})(RD||={})});var E1,C1=w(()=>{E1=Symbol("MicrotaskDelay")});function pf(i){return!!i&&typeof i.then=="function"}function Xn(i){let r=new Je,e=i(r.token),t=!1,n=new Promise((o,s)=>{let a=r.token.onCancellationRequested(()=>{t=!0,a.dispose(),s(new Et)});Promise.resolve(e).then(l=>{a.dispose(),r.dispose(),t?Jp(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 Ov(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 k1(){let i,r;return{promise:new Promise((t,n)=>{i=t,r=n}),resolve:i,reject:r}}function ut(i,r){return r?new Promise((e,t)=>{let n=setTimeout(()=>{o.dispose(),e()},i),o=r.onCancellationRequested(()=>{clearTimeout(n),o.dispose(),t(new Et)})}):Xn(e=>ut(i,e))}function R1(i,r=0,e){let t=setTimeout(()=>{i(),e&&n.dispose()},r),n=z(()=>{clearTimeout(t),e?.delete(n)});return e?.add(n),n}function D1(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 ff(i,r,e){let t;for(let n=0;n<e;n++)try{return await i()}catch(o){t=o,await ut(r)}throw t}var wd,DD,AD,Yi,Rr,bi,Id,An,$a,bd,lf,Ir,cf,df,Ka,Sd,af,Lv,uf,Ot,bt,T1,Mv,_1,ge=w(()=>{Tt();He();j();$();It();Y();C1();Ji();wd=class{constructor(){this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null,this.cancellationTokenSource=new Je}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()}},DD=(i,r)=>{let e=!0,t=setTimeout(()=>{e=!1,r()},i);return{isTriggered:()=>e,dispose:()=>{clearTimeout(t),e=!1}}},AD=i=>{let r=!0;return queueMicrotask(()=>{r&&(r=!1,i())}),{isTriggered:()=>r,dispose:()=>{r=!1}}},Yi=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===E1?AD(t):DD(e,t),this.completionPromise}isTriggered(){return!!this.deferred?.isTriggered()}cancel(){this.cancelTimeout(),this.completionPromise&&(this.doReject?.(new Et),this.completionPromise=null)}cancelTimeout(){this.deferred?.dispose(),this.deferred=null}dispose(){this.cancel()}},Rr=class{constructor(r){this.delayer=new Yi(r),this.throttler=new wd}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()}},bi=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}};Id=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?x.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()}},An=class extends Id{constructor(){super(1)}},$a=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 Ot;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 An;let s=this.drainListenerCount++,a=x.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 Ct),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()}},bd=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 qn("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 qn("Calling 'setIfNotSet' on a disposed TimeoutTimer");this._token===void 0&&(this._token=setTimeout(()=>{this._token=void 0,r()},e))}},lf=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 qn("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();let n=t.setInterval(()=>{r()},e);this.disposable=z(()=>{t.clearInterval(n),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}},Ir=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?.()}},cf=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?.())}},df=class extends Ir{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()}},Ka=class extends _{constructor(e,t){super();this.options=e;this.handler=t;this.pendingWork=[];this.throttler=this._register(new St);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 Ir(()=>{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"?af=(r,e,t)=>{dS(()=>{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)}}}:af=(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))}}},Sd=(r,e)=>af(globalThis,r,e)})();Lv=class{constructor(r,e){this._didRun=!1;this._executor=()=>{try{this._value=e()}catch(t){this._error=t}finally{this._didRun=!0}},this._handle=af(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}},uf=class extends Lv{constructor(r){super(globalThis,r)}};Ot=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 Et)}};(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})(bt||={});T1=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 x.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())}},Mv=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 qn("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 Ot;return this._unsatisfiedConsumers.push(r),r.p}}},_1=class i{constructor(r,e){this._onReturn=e;this._producerConsumer=new Mv;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 Ot,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 Si(i){return A1(i,"NFC",LD)}function OD(i){return A1(i,"NFD",MD)}function A1(i,r,e){if(!i)return i;let t=e.get(i);if(t)return t;let n;return FD.test(i)?n=i.normalize(r):n=i,e.set(i,n),n}var LD,MD,FD,EU,xd=w(()=>{kr();LD=new Rn(1e4);MD=new Rn(1e4);FD=/[^\u0000-\u0080]/;EU=(function(){let i=new Rn(1e4),r=/[\u0300-\u036f]/g;return function(e){let t=i.get(e);if(t)return t;let n=OD(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 WD}from"os";import{promisify as Pd}from"util";async function O1(i,r=0,e){if(Ev(i))throw new Error("rimraf - will refuse to recursively delete root");return r===0?Fv(i):UD(i,e)}async function UD(i,r=Os(WD())){try{try{await we.promises.rename(i,r)}catch(e){return e.code==="ENOENT"?void 0:Fv(i)}Fv(r).catch(()=>{})}catch(e){if(e.code!=="ENOENT")throw e}}async function Fv(i){return we.promises.rm(i,{recursive:!0,force:!0,maxRetries:3})}async function mf(i,r){try{return await L1(i,r)}catch(e){if(e.code==="ENOENT"&&W&&Ev(i))try{return await L1(`${i}.`,r)}catch{}throw e}}async function L1(i,r){return BD(await(r?ND(i):we.promises.readdir(i)))}async function ND(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 mf(i);for(let t of e){let n=!1,o=!1,s=!1;try{let a=await we.promises.lstat(B(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 BD(i){return i.map(r=>typeof r=="string"?V?Si(r):r:(r.name=V?Si(r.name):r.name,r))}async function VD(i){let r=await mf(i),e=[];for(let t of r)await ar.existsDirectory(B(i,t))&&e.push(t);return e}function F1(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 $D(i,r,e){return HD.queueFor(P.file(i),()=>{let t=zD(e);return new Promise((n,o)=>qD(i,r,t,s=>s?o(s):n()))},Qe)}function KD(i){W1=i}function qD(i,r,e,t){if(!W1)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),KD(!1)),we.close(o,l=>t(l))))})})}function zD(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 jD(i,r,e=6e4){if(i!==r)try{W&&typeof e=="number"?await U1(i,r,Date.now(),e):await we.promises.rename(i,r)}catch(t){if(i.toLowerCase()!==r.toLowerCase()&&t.code==="EXDEV"||i.endsWith("."))await N1(i,r,{preserveSymlinks:!1}),await O1(i,1);else throw t}}async function U1(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 ar.stat(r);a.isFile()||(s=!0)}catch{}if(s)throw o}return await ut(Math.min(100,n*10)),U1(i,r,e,t,n+1)}}async function N1(i,r,e){return B1(i,r,{root:{source:i,target:r},options:e,handledSourcePaths:new Set})}async function B1(i,r,e){if(e.handledSourcePaths.has(i))return;e.handledSourcePaths.add(i);let{stat:t,symbolicLink:n}=await ar.stat(i);if(n){if(e.options.preserveSymlinks)try{return await QD(i,r,e)}catch{}if(n.dangling)return}return t.isDirectory()?GD(i,r,t.mode&M1,e):JD(i,r,t.mode&M1)}async function GD(i,r,e,t){await we.promises.mkdir(r,{recursive:!0,mode:e});let n=await mf(i);for(let o of n)await B1(B(i,o),B(r,o),t)}async function JD(i,r,e){await we.promises.copyFile(i,r),await we.promises.chmod(r,e)}async function QD(i,r,e){let t=await we.promises.readlink(i);Xi(t,e.root.source,!re)&&(t=B(e.root.target,t.substr(e.root.source.length+1))),await we.promises.symlink(t,r)}async function XD(i){try{return await Pd(we.realpath)(i)}catch{let r=YD(i);return await we.promises.access(r,we.constants.R_OK),r}}function YD(i){return Jn(Dt(i),$t)}var ar,HD,W1,M1,J,lr=w(()=>{ge();ln();xd();Pe();Y();It();le();Zt();(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(W&&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})(ar||={});HD=new $a;W1=!0;M1=511;J=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 Pd(we.fdatasync)}get open(){return Pd(we.open)}get close(){return Pd(we.close)}get ftruncate(){return Pd(we.ftruncate)}async exists(i){try{return await we.promises.access(i),!0}catch{return!1}}get readdir(){return mf}get readDirsInDir(){return VD}get writeFile(){return $D}get rm(){return O1}get rename(){return jD}get copy(){return N1}get realpath(){return XD}}});function V1(){let i=H1();return i?Array.from(i):[]}function H1(){return process.uncHostAllowlist}function eo(i){if(process.platform!=="win32")return;let r=H1();if(r)if(typeof i=="string")r.add(i.toLowerCase());else for(let e of r2(i))eo(e)}function r2(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 hf(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 $1(){process.platform==="win32"&&(process.restrictUNCAccess=!1)}function K1(){return process.platform!=="win32"?!0:process.restrictUNCAccess===!1}var qa=w(()=>{});var q1,qU,Td=w(()=>{be();q1="/etc/vscode/policy.json",qU={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 n2(i,r,e){r[Yn.DI_TARGET]===r?r[Yn.DI_DEPENDENCIES].push({id:i,index:e}):(r[Yn.DI_DEPENDENCIES]=[{id:i,index:e}],r[Yn.DI_TARGET]=r)}function M(i){if(Yn.serviceIds.has(i))return Yn.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");n2(r,e,n)};return r.toString=()=>i,Yn.serviceIds.set(i,r),r}var Yn,qt,te=w(()=>{(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})(Yn||={});qt=M("instantiationService")});function gf(i){let r=i;return r&&typeof r=="object"&&(!r.overrideIdentifier||typeof r.overrideIdentifier=="string")&&(!r.resource||r.resource instanceof P)}function z1(i){let r=i;return r&&typeof r=="object"&&(!r.overrideIdentifiers||Array.isArray(r.overrideIdentifiers))&&!r.overrideIdentifier&&(!r.resource||r.resource instanceof P)}function vf(i,r){let e=Object.create(null);for(let t in i)Uv(e,t,i[t],r);return e}function Uv(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 j1(i,r){let e=r.split(".");G1(i,e)}function G1(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"&&n!==null&&!Array.isArray(n)&&(G1(n,r),Object.keys(n).length===0&&delete e[t])}}function _d(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 J1(i){return i.replace(/^\[/,"").replace(/]$/g,"").replace(/\]\[/g,", ")}var de,rt=w(()=>{Da();Me();le();te();de=M("configurationService")});function Q1(i){let r=!1,e=new Map,t=new Map;if(i2(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 za(i){return typeof i=="object"&&i!==null}function i2(i,r){if(!i||typeof i!="object")return;let e=(...l)=>{for(let c of l)za(c)&&s.push(c)},t=(...l)=>{for(let c of l)if(za(c))for(let d in c){let u=c[d];za(u)&&s.push(u)}},n=(...l)=>{for(let c of l)if(Array.isArray(c))for(let d of c)za(d)&&s.push(d)},o=l=>{if(Array.isArray(l))for(let c of l)za(c)&&s.push(c);else za(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 X1=w(()=>{});var Nv,pt,wn=w(()=>{Da();Me();Nv=class{constructor(){this.data=new Map}add(r,e){zp(Oe(r)),zp(Ge(e)),zp(!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=>{dd(r.dispose)&&r.dispose()}),this.data.clear()}},pt=new Nv});function Y1(i){return i.length>0&&i.charAt(i.length-1)==="#"?i.substring(0,i.length-1):i}var Vv,Bv,s2,Z1=w(()=>{j();X1();$();wn();Vv={JSONContribution:"base.contributions.json"};Bv=class extends _{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=Y1(e);this.schemasById[o]=t,this._onDidChangeSchema.fire(e),n&&n.add(z(()=>{delete this.schemasById[o],this._onDidChangeSchema.fire(e)}))}registerSchemaAssociation(e,t){let n=Y1(e);return this.schemaAssociations[n]||(this.schemaAssociations[n]=[]),this.schemaAssociations[n].includes(t)||(this.schemaAssociations[n].push(t),this._onDidChangeSchemaAssociations.fire()),z(()=>{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?Q1(t):void 0}hasSchemaContent(e){return!!this.schemasById[e]}getSchemaAssociations(){return this.schemaAssociations}},s2=new Bv;pt.add(Vv.JSONContribution,s2)});var cn,Hv,er,Ws=w(()=>{kn();Hv=globalThis.vscode;if(typeof Hv<"u"&&typeof Hv.context<"u"){let i=Hv.context.configuration();if(i)cn=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(cn=globalThis._VSCODE_PRODUCT_JSON,Vt.VSCODE_DEV&&Object.assign(cn,{nameShort:`${cn.nameShort} Dev`,nameLong:`${cn.nameLong} Dev`,dataFolderName:`${cn.dataFolderName}-dev`,serverDataFolderName:cn.serverDataFolderName?`${cn.serverDataFolderName}-dev`:void 0}),!cn.version){let i=globalThis._VSCODE_PACKAGE_JSON;Object.assign(cn,{version:i.version})}}else cn={nameShort:"Code",nameLong:"Visual Studio Code",applicationName:"code",win32x64AppId:"{{EA457B21-F73E-494C-ACAB-524FDE069978}",win32arm64AppId:"{{A5270FC5-65AD-483E-AC30-2C276B63D0AC}",win32x64UserAppId:"{{771FD6B0-FA20-440A-A002-3B3BAC16DC50}",win32arm64UserAppId:"{{D9E514E7-1A56-452D-9337-2990C0DC4310}",win32NameVersion:"Microsoft Visual Studio Code",win32DirName:"Microsoft VS Code",win32SetupExeBasename:"VSCodeSetup",win32AppUserModelId:"Microsoft.VisualStudioCode",win32ShellNameShort:"Code",win32MutexName:"vscode",win32RegValueName:"VSCode",win32VersionedUpdate:!0,darwinCredits:"resources/darwin/Credits.rtf",darwinBundleIdentifier:"com.microsoft.VSCode",darwinSharedKeychainServiceName:"com.microsoft.VSCode.shared-secrets",darwinProfileUUID:"EBAE60D6-C8A2-4419-92FF-24F8AD5077AB",darwinProfilePayloadUUID:"C6B5723A-6539-4F31-8A4E-3CC96E51F48C",darwinExecutable:"VSCode",linuxIconName:"vscode",licenseFileName:"LICENSE.rtf",licenseName:"Multiple, see https://code.visualstudio.com/license",serverGreeting:[],serverLicense:["*","* Visual Studio Code Server","*","* By using the software, you agree to","* the Visual Studio Code Server License Terms (https://aka.ms/vscode-server-license) and","* the Microsoft Privacy Statement (https://privacy.microsoft.com/en-US/privacystatement).","*"],serverLicensePrompt:"Do you accept the terms in the License Agreement (Y/n)?",serverApplicationName:"code-server",urlProtocol:"vscode",dataFolderName:".vscode",sharedDataFolderName:".vscode-shared",serverDataFolderName:".vscode-server",downloadUrl:"https://code.visualstudio.com",updateUrl:"https://update.code.visualstudio.com",webUrl:"https://vscode.dev",webEndpointUrl:"https://main.vscode-cdn.net",webEndpointUrlTemplate:"https://{{uuid}}.vscode-cdn.net/{{quality}}/{{commit}}",nlsCoreBaseUrl:"https://www.vscode-unpkg.net/nls/",webviewContentExternalBaseUrlTemplate:"https://{{uuid}}.vscode-cdn.net/{{quality}}/{{commit}}/out/vs/workbench/contrib/webview/browser/pre/",quality:"stable",extensionsGallery:{nlsBaseUrl:"https://www.vscode-unpkg.net/_lp/",serviceUrl:"https://marketplace.visualstudio.com/_apis/public/gallery",itemUrl:"https://marketplace.visualstudio.com/items",publisherUrl:"https://marketplace.visualstudio.com/publishers",resourceUrlTemplate:"https://{publisher}.vscode-unpkg.net/{publisher}/{name}/{version}/{path}",extensionUrlTemplate:"https://www.vscode-unpkg.net/_gallery/{publisher}/{name}/latest",controlUrl:"https://main.vscode-cdn.net/extensions/marketplace.json",mcpUrl:"https://main.vscode-cdn.net/mcp/servers.json",accessSKUs:["copilot_enterprise_seat","copilot_enterprise_seat_quota","copilot_enterprise_seat_multi_quota","copilot_enterprise_seat_assignment","copilot_enterprise_seat_assignment_quota","copilot_enterprise_seat_assignment_multi_quota","copilot_enterprise_trial_seat","copilot_enterprise_trial_seat_quota","copilot_for_business_seat","copilot_for_business_seat_quota","copilot_for_business_seat_multi_quota","copilot_for_business_seat_assignment","copilot_for_business_seat_assignment_quota","copilot_for_business_seat_assignment_multi_quota","copilot_for_business_trial_seat","copilot_for_business_trial_seat_quota"]},mcpGallery:{serviceUrl:"https://api.mcp.github.com",itemWebUrl:"https://github.com/mcp/{name}",publisherUrl:"https://github.com/{name}",supportUrl:"https://support.github.com",privacyPolicyUrl:"https://docs.github.com/site-policy/privacy-policies/github-general-privacy-statement",termsOfServiceUrl:"https://docs.github.com/site-policy/github-terms/github-terms-of-service",reportUrl:"https://docs.github.com/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam"},extensionProperties:{"github.copilot-chat":{hasPrereleaseVersion:!1,excludeVersionRange:"<=0.16.1"},"github.copilot":{hasPrereleaseVersion:!0}},extensionsForceVersionByQuality:["github.copilot-chat","github.copilot"],builtInExtensions:[{name:"ms-vscode.js-debug-companion",version:"1.1.3",sha256:"7380a890787452f14b2db7835dfa94de538caf358ebc263f9d46dd68ac52de93",repo:"https://github.com/microsoft/vscode-js-debug-companion",metadata:{id:"99cb0b7f-7354-4278-b8da-6cc79972169d",publisherId:{publisherId:"5f5636e7-69ed-4afe-b5d6-8d231fb3d3ee",publisherName:"ms-vscode",displayName:"Microsoft",flags:"verified"},publisherDisplayName:"Microsoft"}},{name:"ms-vscode.js-debug",version:"1.117.0",sha256:"854eeb8a785b1f41ba2bd02d7ccd4fdbe10021b61473293973c7e96d036c7fb8",repo:"https://github.com/microsoft/vscode-js-debug",metadata:{id:"25629058-ddac-4e17-abba-74678e126c5d",publisherId:{publisherId:"5f5636e7-69ed-4afe-b5d6-8d231fb3d3ee",publisherName:"ms-vscode",displayName:"Microsoft",flags:"verified"},publisherDisplayName:"Microsoft"}},{name:"ms-vscode.vscode-js-profile-table",version:"1.0.10",sha256:"7361748ddf9fd09d8a2ed1f2a2d7376a2cf9aae708692820b799708385c38e08",repo:"https://github.com/microsoft/vscode-js-profile-visualizer",metadata:{id:"7e52b41b-71ad-457b-ab7e-0620f1fc4feb",publisherId:{publisherId:"5f5636e7-69ed-4afe-b5d6-8d231fb3d3ee",publisherName:"ms-vscode",displayName:"Microsoft",flags:"verified"},publisherDisplayName:"Microsoft"}},{name:"TypeScriptTeam.jsts-chat-features",version:"0.0.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-vscode.vscode-chat-customizations-evaluations":{onFileOpen:[{pathGlob:"{**/*prompt.md, **/*skill.md, **/*instructions.md, **/*agent.md}",important:!1},{languages:["prompt","chatagent","skill","instructions"],important:!1}]},"ms-dotnettools.csdevkit":{onFileOpen:[{pathGlob:"{**/*.cs,**/global.json,**/*.csproj,**/*.cshtml,**/*.sln}",important:!0},{languages:["csharp"],important:!0},{pathGlob:"{**/project.json,**/appsettings.json}"}]},"microsoft-aspire.aspire-vscode":{onFileOpen:[{pathGlob:"{**/apphost.cs,**/apphost.js,**/apphost.ts,**/apphost.py,**/AppHost.java,**/aspire.config.json,**/.aspire/settings.json}",important:!0}]},"ms-python.python":{onFileOpen:[{pathGlob:"{**/*.py}",important:!0},{languages:["python"],important:!0},{pathGlob:"{**/*.ipynb}"}]},"ms-toolsai.jupyter":{onFileOpen:[{pathGlob:"{**/*.py}",contentPattern:"^#\\s*%%$",important:!0,whenInstalled:["ms-python.python"]},{pathGlob:"{**/*.ipynb}"}]},"ms-toolsai.datawrangler":{onFileOpen:[{pathGlob:"{**/*.ipynb}",contentPattern:"import\\s*pandas|from\\s*pandas",whenInstalled:["ms-toolsai.jupyter"]}]},"golang.Go":{onFileOpen:[{pathGlob:"**/*.go",important:!0},{languages:["go"],important:!0}]},"vscjava.vscode-java-pack":{onFileOpen:[{pathGlob:"{**/*.java}",important:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]},{languages:["java"],important:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]}]},"ms-vscode.PowerShell":{onFileOpen:[{pathGlob:"{**/*.ps1,**/*.psd1,**/*.psm1}",important:!0},{languages:["powershell"],important:!0},{pathGlob:"{**/*.ps.config,**/*.ps1.config}"}]},"ms-toolsai.prompty":{onFileOpen:[{pathGlob:"{**/*.prompty}",important:!1}]},"quantum.qsharp-lang-vscode":{onFileOpen:[{pathGlob:"{**/*.qs,**/*.qsc,**/*.qasm}",important:!0}]},"typespec.typespec-vscode":{onFileOpen:[{pathGlob:"{**/*.tsp,**/tspconfig.yaml}",important:!0}]},"ms-vscode.cpptools-extension-pack":{onFileOpen:[{pathGlob:"{**/*.c,**/*.cpp,**/*.cc,**/.cxx,**/*.hh,**/*.hpp,**/*.hxx,**/*.h}",important:!0,whenNotInstalled:["llvm-vs-code-extensions.vscode-clangd"]},{languages:["c","cpp"],important:!0,whenNotInstalled:["llvm-vs-code-extensions.vscode-clangd"]}]},"ms-azuretools.vscode-containers":{onFileOpen:[{pathGlob:"{**/dockerfile,**/Dockerfile,**/docker-compose.yml,**/docker-compose.*.yml}",important:!0,whenNotInstalled:["ms-azuretools.vscode-docker"]},{languages:["dockerfile"],important:!0,whenNotInstalled:["ms-azuretools.vscode-docker"]},{pathGlob:"{**/*.cs,**/project.json,**/global.json,**/*.csproj,**/*.cshtml,**/*.sln,**/appsettings.json,**/*.py,**/*.ipynb,**/*.js,**/*.ts,**/package.json}",whenNotInstalled:["ms-azuretools.vscode-docker"]}]},"vue.volar":{onFileOpen:[{pathGlob:"{**/*.vue}",important:!0},{languages:["vue"],important:!0}]},"ms-vscode.makefile-tools":{onFileOpen:[{pathGlob:"{**/makefile,**/Makefile}",important:!0},{languages:["makefile"],important:!0}]},"ms-vscode.cmake-tools":{onFileOpen:[{pathGlob:"{**/CMakeLists.txt}",important:!0}]},"ms-azure-devops.azure-pipelines":{onFileOpen:[{pathGlob:"{**/azure-pipelines.yaml}",important:!0}]},"msazurermtools.azurerm-vscode-tools":{onFileOpen:[{pathGlob:"{**/azuredeploy.json}",important:!0}]},"ms-vscode-remote.remote-containers":{onFileOpen:[{pathGlob:"{**/devcontainer.json}",important:!0}]},"ms-azuretools.vscode-bicep":{onFileOpen:[{pathGlob:"{**/*.bicep}",important:!0,whenNotInstalled:["ms-azuretools.rad-vscode-bicep"]}]},"svelte.svelte-vscode":{onFileOpen:[{pathGlob:"{**/*.svelte}",important:!0}]},"ms-vscode.vscode-github-issue-notebooks":{onFileOpen:[{pathGlob:"{**/*.github-issues}",important:!0}]},"ms-playwright.playwright":{onFileOpen:[{pathGlob:"{**/*playwright*.config.ts,**/*playwright*.config.js,**/*playwright*.config.mjs}",important:!0}]},"vscjava.vscode-gradle":{onFileOpen:[{pathGlob:"{**/gradlew,**/gradlew.bat,**/build.gradle,**/build.gradle.kts,**/settings.gradle,**/settings.gradle.kts}",important:!0}]},"REditorSupport.r":{onFileOpen:[{pathGlob:"{**/*.r}",important:!0},{languages:["r"],important:!0}]},"firefox-devtools.vscode-firefox-debug":{onFileOpen:[{pathGlob:"{**/*.ts,**/*.tsx,**/*.js,**/*.jsx,**/*.es6,**/.babelrc}"}]},"ms-edgedevtools.vscode-edge-devtools":{onFileOpen:[{pathGlob:"{**/*.ts,**/*.tsx,**/*.js,**/*.css,**/*.html}"}]},"Ionide.Ionide-fsharp":{onFileOpen:[{pathGlob:"{**/*.fsx,**/*.fsi,**/*.fs,**/*.ml,**/*.mli}"}]},"dbaeumer.vscode-eslint":{onFileOpen:[{pathGlob:"{**/*.js,**/*.jsx,**/*.es6,**/.eslintrc.*,**/.eslintrc,**/.babelrc,**/jsconfig.json}"}]},"bmewburn.vscode-intelephense-client":{onFileOpen:[{pathGlob:"{**/*.php,**/php.ini}"}]},"xdebug.php-debug":{onFileOpen:[{pathGlob:"{**/*.php,**/php.ini}"}]},"rust-lang.rust-analyzer":{onFileOpen:[{pathGlob:"{**/*.rs,**/*.rslib}"}]},"DavidAnson.vscode-markdownlint":{onFileOpen:[{pathGlob:"{**/*.md}"}]},"EditorConfig.EditorConfig":{onFileOpen:[{pathGlob:"{**/.editorconfig}"}]},"HookyQR.beautify":{onFileOpen:[{pathGlob:"{**/.jsbeautifyrc}"}]},"donjayamanne.githistory":{onFileOpen:[{pathGlob:"{**/.gitignore,**/.git}"}]},"eamodio.gitlens":{onFileOpen:[{pathGlob:"{**/.gitignore,**/.git}"}]},"Shopify.ruby-lsp":{onFileOpen:[{pathGlob:"{**/*.rb,**/*.erb,**/*.reek,**/.fasterer.yml,**/ruby-lint.yml,**/.rubocop.yml}"}]},"swiftlang.swift-vscode":{onFileOpen:[{pathGlob:"{**/*.swift,**/*.swiftinterface}",important:!0}]},"DotJoshJohnson.xml":{onFileOpen:[{pathGlob:"{**/*.xml}"}]},"stylelint.vscode-stylelint":{onFileOpen:[{pathGlob:"{**/.stylelintrc,**/stylelint.config.js}"}]},"ms-mssql.mssql":{onFileOpen:[{pathGlob:"{**/*.sql}"}]},"mtxr.sqltools":{onFileOpen:[{pathGlob:"{**/*.sql}"}]},"usqlextpublisher.usql-vscode-ext":{onFileOpen:[{pathGlob:"{**/*.usql}"}]},"ms-vscode.sublime-keybindings":{onFileOpen:[{pathGlob:"{**/.sublime-project,**/.sublime-workspace}"}]},"k--kato.intellij-idea-keybindings":{onFileOpen:[{pathGlob:"{**/.idea}"}]},"christian-kohler.npm-intellisense":{onFileOpen:[{pathGlob:"{**/package.json}"}]},"cake-build.cake-vscode":{onFileOpen:[{pathGlob:"{**/build.cake}"}]},"Angular.ng-template":{onFileOpen:[{pathGlob:"{**/.angular-cli.json,**/angular.json,**/*.ng.html,**/*.ng,**/*.ngml}"}]},"vscjava.vscode-maven":{onFileOpen:[{pathGlob:"**/pom.xml"}]},"ms-azuretools.vscode-azureterraform":{onFileOpen:[{pathGlob:"**/*.tf"}]},"HashiCorp.terraform":{onFileOpen:[{pathGlob:"**/*.tf"}]},"vsciot-vscode.vscode-arduino":{onFileOpen:[{pathGlob:"**/*.ino"}]},"ms-kubernetes-tools.vscode-kubernetes-tools":{onFileOpen:[{pathGlob:"{**/Chart.yaml}"}]},"Oracle.oracledevtools":{onFileOpen:[{pathGlob:"{**/*.sql}"}]},"betterthantomorrow.calva":{onFileOpen:[{pathGlob:"{**/*.clj,**/*.cljs}"}]},"vmware.vscode-boot-dev-pack":{onFileOpen:[{pathGlob:"{**/application.properties}"}]},"GitHub.copilot":{onFileOpen:[{pathGlob:"{**/*.ts,**/*.tsx,**/*.js,**/*.jsx,**/*.py,**/*.go,**/*.rb,**/*.html,**/*.css,**/*.php,**/*.cpp,**/*.vue,**/*.c,**/*.sql,**/*.java,**/*.cs,**/*.rs,**/*.dart,**/*.ps,**/*.ps1,**/*.tex}"}]},"GitHub.copilot-chat":{onSettingsEditorOpen:{descriptionOverride:"GitHub Copilot is an AI-powered coding assistant that helps you write code faster and smarter."}},"GitHub.vscode-github-actions":{onFileOpen:[{pathGlob:"{**/.github/workflows/*.yml}",important:!0}]},"circleci.circleci":{onFileOpen:[{pathGlob:"{**/.circleci/config.yml}"}]},"mechatroner.rainbow-csv":{onFileOpen:[{pathGlob:"**/*.csv",important:!0}]},"tomoki1207.pdf":{onFileOpen:[{pathGlob:"**/*.pdf",important:!0}]},"Redis.redis-for-vscode":{onFileOpen:[{pathGlob:"{**/redis.*,**/redis-server.*,**/redis_*,**/redisinsight.*}",important:!0}]},"SonarSource.sonarlint-vscode":{onFileOpen:[{pathGlob:"{**/sonar-project.properties,**/sonarcloud.properties,**/sonarlint.*}",important:!0}]}},onboardingKeymaps:[{id:"vscode",label:"VS Code",description:"Default keyboard mapping"},{id:"sublime",label:"Sublime Text",extensionId:"ms-vscode.sublime-keybindings",description:"Keyboard mapping from Sublime Text"},{id:"intellij",label:"IntelliJ / JetBrains",extensionId:"k--kato.intellij-idea-keybindings",description:"Keyboard mapping from IntelliJ IDEA"},{id:"vim",label:"Vim",extensionId:"vscodevim.vim",description:"Vim modal editing"},{id:"eclipse",label:"Eclipse",extensionId:"alphabotsec.vscode-eclipse-keybindings",description:"Keyboard mapping from Eclipse"},{id:"notepadpp",label:"Notepad++",extensionId:"ms-vscode.notepadplusplus-keybindings",description:"Keyboard mapping from Notepad++"}],onboardingThemes:[{id:"dark-2026",label:"Dark 2026",themeId:"Dark 2026",type:"dark"},{id:"hc-dark",label:"Dark High Contrast",themeId:"Default High Contrast",type:"hcDark"},{id:"solarized-dark",label:"Solarized Dark",themeId:"Solarized Dark",type:"dark"},{id:"light-2026",label:"Light 2026",themeId:"Light 2026",type:"light"},{id:"hc-light",label:"Light High Contrast",themeId:"Default High Contrast Light",type:"hcLight"},{id:"solarized-light",label:"Solarized Light",themeId:"Solarized Light",type:"light"}],keymapExtensionTips:["vscodevim.vim","ms-vscode.sublime-keybindings","ms-vscode.atom-keybindings","ms-vscode.brackets-keybindings","ms-vscode.vs-keybindings","ms-vscode.notepadplusplus-keybindings","k--kato.intellij-idea-keybindings","lfs.vscode-emacs-friendly","alphabotsec.vscode-eclipse-keybindings","alefragnani.delphi-keybindings"],languageExtensionTips:["ms-python.python","ms-vscode.cpptools-extension-pack","ms-dotnettools.csdevkit","ms-toolsai.jupyter","vscjava.vscode-java-pack","ecmel.vscode-html-css","vue.volar","bmewburn.vscode-intelephense-client","dsznajder.es7-react-js-snippets","golang.go","ms-vscode.powershell","dart-code.dart-code","rust-lang.rust-analyzer","Shopify.ruby-lsp","GitHub.copilot"],configBasedExtensionTips:{git:{configPath:".git/config",configName:"Git",recommendations:{"github.vscode-pull-request-github":{name:"GitHub Pull Request",contentPattern:"^\\s*url\\s*=\\s*https:\\/\\/github\\.com.*$"},"eamodio.gitlens":{name:"GitLens"}}},devContainer:{configPath:".devcontainer/devcontainer.json",configName:"Dev Container",recommendations:{"ms-vscode-remote.remote-containers":{name:"Dev Containers",important:!0}}},maven:{configPath:"pom.xml",configName:"Maven",recommendations:{"vscjava.vscode-java-pack":{name:"Java",important:!0,isExtensionPack:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]},"vmware.vscode-boot-dev-pack":{name:"Spring Boot Extension Pack",isExtensionPack:!0}}},gradle:{configPath:"build.gradle",configName:"Gradle",recommendations:{"vscjava.vscode-java-pack":{name:"Java",important:!0,isExtensionPack:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]}}},"github-pull-request":{configPath:".vscode/.github-pull-request.rec",configName:"GitHub",configScheme:"vscode-vfs",recommendations:{"github.vscode-pull-request-github":{name:"GitHub Pull Request",important:!0}}},"pyproject-formatter":{configPath:"pyproject.toml",configName:"Python Formatter",recommendations:{"ms-python.black-formatter":{name:"Black Formatter",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?black"?\\s*[\\].])|("black\\s*["[(<=>!~;@])'},"ms-python.autopep8":{name:"Autopep8",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?autopep8"?\\s*[\\].])|("autopep8\\s*["[(<=>!~;@])'}}},"pep8-formatter":{configPath:".pep8",configName:"Python Formatter",recommendations:{"ms-python.autopep8":{name:"Autopep8"}}},"python-setup-cgf-formatter":{configPath:"setup.cfg",configName:"Python Formatter",recommendations:{"ms-python.autopep8":{name:"Autopep8",contentPattern:"^\\[pep8\\]"}}},"tox-ini-formatter":{configPath:"tox.ini",configName:"Python Formatter",recommendations:{"ms-python.autopep8":{name:"Autopep8",contentPattern:"^\\[pep8\\]"}}},"pyproject-linter":{configPath:"pyproject.toml",configName:"Python Linter",recommendations:{"ms-python.pylint":{name:"Pylint",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?pylint"?\\s*[\\].])|("pylint\\s*["[(<=>!~;@])'},"charliermarsh.ruff":{name:"Ruff",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?ruff"?\\s*[\\].])|("ruff\\s*["[(<=>!~;@])'},"ms-python.mypy-type-checker":{name:"Mypy Type Checker",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?mypy"?\\s*[\\].])|("mypy\\s*["[(<=>!~;@])'},"ms-python.flake8":{name:"Flake8",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?flake8"?\\s*[\\].])|("flake8\\s*["[(<=>!~;@])'}}},".pylintrc-linter":{configPath:".pylintrc",configName:"Python Linter",recommendations:{"ms-python.pylint":{name:"Pylint"}}},"pylintrc-linter":{configPath:"pylintrc",configName:"Python Linter",recommendations:{"ms-python.pylint":{name:"Pylint"}}},"mypy-ini-linter":{configPath:".mypy.ini",configName:"Python Linter",recommendations:{"ms-python.mypy-type-checker":{name:"Mypy Type Checker"}}},"tox-ini-linter":{configPath:"tox.ini",configName:"Python Linter",recommendations:{"ms-python.flake8":{name:"Flake8",contentPattern:"^\\[flake8\\]"}}},".flake8-linter":{configPath:".flake8",configName:"Python Linter",recommendations:{"ms-python.flake8":{name:"Flake8"}}},"python-setup-cgf-linter":{configPath:"setup.cfg",configName:"Python Linter",recommendations:{"ms-python.flake8":{name:"Flake8",contentPattern:"^\\[flake8\\]"}}}},exeBasedExtensionTips:{az:{friendlyName:"Azure CLI",windowsPath:"%ProgramFiles(x86)%\\Microsoft SDKs\\Azure\\CLI2\\wbin\\az.cmd",recommendations:{"ms-vscode.vscode-node-azure-pack":{name:"Azure Tools"},"ms-azuretools.vscode-azure-github-copilot":{name:"GitHub Copilot for Azure"}}},azd:{friendlyName:"Azure Dev CLI",windowsPath:"%USERPROFILE%\\AppData\\Local\\Programs\\Azure Dev CLI\\azd.exe",recommendations:{"ms-vscode.vscode-node-azure-pack":{name:"Azure Tools"},"ms-azuretools.vscode-azure-github-copilot":{name:"GitHub Copilot for Azure"}}},"azd-user":{friendlyName:"Azure Dev CLI",windowsPath:"%ProgramFiles%\\Azure Dev CLI\\azd.exe",recommendations:{"ms-vscode.vscode-node-azure-pack":{name:"Azure Tools"},"ms-azuretools.vscode-azure-github-copilot":{name:"GitHub Copilot for Azure"}}},"azure-powershell":{friendlyName:"Azure PowerShell",windowsPath:"%USERPROFILE%\\.Azure",recommendations:{"ms-vscode.vscode-node-azure-pack":{name:"Azure Tools"}}},heroku:{friendlyName:"Heroku CLI",windowsPath:"%ProgramFiles%\\Heroku\\bin\\heroku.cmd",recommendations:{"ms-azuretools.vscode-azureappservice":{name:"Azure App Service"},"pkosta2005.heroku-command":{name:"heroku-cli"}}},mongo:{friendlyName:"Mongo",windowsPath:"%ProgramFiles%\\MongoDB\\Server\\3.6\\bin\\mongod.exe",recommendations:{"ms-azuretools.vscode-cosmosdb":{name:"Azure Databases"}}},serverless:{friendlyName:"Serverless framework",windowsPath:"%APPDATA%\\npm\\serverless.cmd",recommendations:{"ms-azuretools.vscode-azurefunctions":{name:"Azure Functions"}}},func:{friendlyName:"Azure Function SDK",windowsPath:"%APPDATA%\\npm\\func.cmd",recommendations:{"ms-azuretools.vscode-azurefunctions":{name:"Azure Functions"}}},mysql:{friendlyName:"MySQL",windowsPath:"%ProgramFiles%\\MySQL\\MySQL Server 8.0\\bin\\mysqld.exe",recommendations:{"mtxr.sqltools":{name:"SQLTools"}}},postgres:{friendlyName:"PostgreSQL",windowsPath:"%ProgramFiles%\\PostgreSQL\\11\\bin\\psql.exe",recommendations:{"ms-ossdata.vscode-postgresql":{name:"PostgreSQL"},"mtxr.sqltools":{name:"SQLTools"}}},sqlcmd:{friendlyName:"SQL CLI",recommendations:{"ms-mssql.mssql":{name:"SQL Server (mssql)"}}},now:{friendlyName:"Now CLI",windowsPath:"%APPDATA%\\npm\\now.cmd",recommendations:{"ms-azuretools.vscode-azureappservice":{name:"Azure App Service"},"ms-azuretools.vscode-containers":{name:"Docker"}}},docker:{friendlyName:"Docker",windowsPath:"%ProgramFiles%\\Docker\\Docker\\Resources\\bin\\docker.exe",recommendations:{"ms-azuretools.vscode-containers":{name:"Docker",important:!0,whenNotInstalled:["ms-azuretools.vscode-docker"]},"ms-vscode-remote.remote-containers":{name:"Dev Containers",important:!0},"ms-kubernetes-tools.vscode-kubernetes-tools":{name:"Kubernetes"}}},kubectl:{friendlyName:"Kubernetes",windowsPath:"%ProgramFiles%\\Docker\\Docker\\Resources\\bin\\kubectl.exe",recommendations:{"ms-azuretools.vscode-containers":{name:"Docker"},"ms-kubernetes-tools.vscode-kubernetes-tools":{name:"Kubernetes"},"ms-vscode-remote.remote-containers":{name:"Dev Containers"}}},ng:{friendlyName:"Angular CLI",windowsPath:"%APPDATA%\\npmexit\\ng.cmd",recommendations:{"johnpapa.Angular2":{name:"Angular Snippets"}}},"create-react-app":{friendlyName:"Create React App",windowsPath:"%APPDATA%\\npm\\create-react-app.cmd",recommendations:{"msjsdiag.vscode-react-native":{name:"React Native Tools"}}},"react-native":{friendlyName:"React Native",windowsPath:"%APPDATA%\\npm\\react-native-cli",recommendations:{"msjsdiag.vscode-react-native":{name:"React Native Tools"}}},p4:{friendlyName:"Perforce",recommendations:{"slevesque.perforce":{name:"Perforce for VS Code"}}},hg:{friendlyName:"Mercurial",recommendations:{"mrcrowl.hg":{name:"Hg"}}},git:{friendlyName:"Git",windowsPath:"%ProgramFiles%\\Git\\git-bash.exe",recommendations:{"eamodio.gitlens":{name:"GitLens"}}},svn:{friendlyName:"Subversion",windowsPath:"%ProgramFiles%\\TortoiseSVN\\bin\\TortoiseProc.exe",recommendations:{"johnstoncode.svn-scm":{name:"SVN"}}},subl:{friendlyName:"Sublime",windowsPath:"%ProgramFiles%\\Sublime Text3\\sublime_text.exe",recommendations:{"ms-vscode.sublime-keybindings":{name:"Sublime Text Keymap and Settings Importer"}}},atom:{friendlyName:"Atom",windowsPath:"%USERPROFILE%\\AppData\\Local\\atom\\bin\\atom.cmd",recommendations:{"ms-vscode.atom-keybindings":{name:"Atom Keymap"}}},brackets:{friendlyName:"Brackets",windowsPath:"%ProgramFiles(x86)%\\Brackets\\Brackets.exe",recommendations:{"ms-vscode.brackets-keybindings":{name:"Brackets Keymap"}}},notepadplusplus:{friendlyName:"Notepad++",windowsPath:"%ProgramFiles%\\Notepad++\\Notepad++.exe",recommendations:{"ms-vscode.notepadplusplus-keybindings":{name:"Notepad++ keymap"}}},vi:{friendlyName:"VIM",windowsPath:"%ProgramFiles(x86)%\\Vim\\vim80\\gvim.exe",recommendations:{"vscodevim.vim":{name:"Vim"}}},mvn:{friendlyName:"Maven",recommendations:{"vscjava.vscode-java-pack":{name:"Java",important:!0,isExtensionPack:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]}}},gradle:{friendlyName:"Gradle",recommendations:{"vscjava.vscode-java-pack":{name:"Java",important:!0,isExtensionPack:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]}}},ollama:{friendlyName:"Ollama",windowsPath:"%USERPROFILE%\\AppData\\Local\\Programs\\Ollama\\ollama.exe",recommendations:{"ms-windows-ai-studio.windows-ai-studio":{name:"AI Toolkit for Visual Studio Code"}}},"Microsoft Edge":{friendlyName:"Microsoft Edge",windowsPath:"%USERPROFILE%\\AppData\\Local\\Microsoft\\Edge\\Application\\msedge.exe",recommendations:{"ms-edgedevtools.vscode-edge-devtools":{name:"Microsoft Edge Developer Tools"}}},"Microsoft Edge Dev":{friendlyName:"Microsoft Edge Dev",windowsPath:"%USERPROFILE%\\AppData\\Local\\Microsoft\\Edge Dev\\Application\\msedge.exe",recommendations:{"ms-edgedevtools.vscode-edge-devtools":{name:"Microsoft Edge Developer Tools"}}},"Microsoft Edge Beta":{friendlyName:"Microsoft Edge Beta",windowsPath:"%USERPROFILE%\\AppData\\Local\\Microsoft\\Edge Beta\\Application\\msedge.exe",recommendations:{"ms-edgedevtools.vscode-edge-devtools":{name:"Microsoft Edge Developer Tools"}}},"Microsoft Edge Canary":{friendlyName:"Microsoft Edge Canary",windowsPath:"%USERPROFILE%\\AppData\\Local\\Microsoft\\Edge SxS\\Application\\msedge.exe",recommendations:{"ms-edgedevtools.vscode-edge-devtools":{name:"Microsoft Edge Developer Tools"}}},"Mozilla Firefox (x86)":{friendlyName:"Mozilla Firefox",windowsPath:"%ProgramFiles(x86)%\\Mozilla Firefox\\firefox.exe",recommendations:{"firefox-devtools.vscode-firefox-debug":{name:"Debugger for Firefox"}}},"Mozilla Firefox Developer Edition (x86)":{friendlyName:"Mozilla Firefox Developer Edition",windowsPath:"%ProgramFiles(x86)%\\Firefox Developer Edition\\firefox.exe",recommendations:{"firefox-devtools.vscode-firefox-debug":{name:"Debugger for Firefox"}}},"Mozilla Firefox":{friendlyName:"Mozilla Firefox",windowsPath:"%ProgramFiles%\\Mozilla Firefox\\firefox.exe",recommendations:{"firefox-devtools.vscode-firefox-debug":{name:"Debugger for Firefox"}}},"Mozilla Firefox Developer Edition":{friendlyName:"Mozilla Firefox Developer Edition",windowsPath:"%ProgramFiles%\\Firefox Developer Edition\\firefox.exe",recommendations:{"firefox-devtools.vscode-firefox-debug":{name:"Debugger for Firefox"}}},cordova:{friendlyName:"Cordova",windowsPath:"%APPDATA%\\npm\\cordova",recommendations:{"msjsdiag.cordova-tools":{name:"Cordova Tools"}}},gcloud:{friendlyName:"Google GCloud CLI",windowsPath:"%ProgramFiles(x86)%\\Google\\Cloud SDK\\google-cloud-sdk\\bin\\gcloud.cmd",recommendations:{"GoogleCloudTools.cloudcode":{name:"Cloud Code"}}},skaffold:{friendlyName:"Skaffold Code to Cluster",recommendations:{"ms-azuretools.vscode-containers":{name:"Docker"},"ms-kubernetes-tools.vscode-kubernetes-tools":{name:"Kubernetes"}}},minikube:{friendlyName:"MiniKube Local Kubernetes Cluster",recommendations:{"ms-azuretools.vscode-containers":{name:"Docker"},"ms-kubernetes-tools.vscode-kubernetes-tools":{name:"Kubernetes"},"ms-vscode-remote.remote-containers":{name:"Dev Containers"}}},podman:{friendlyName:"Podman",recommendations:{"ms-vscode-remote.remote-containers":{name:"Dev Containers"}}},wsl:{friendlyName:"Windows Subsystem for Linux (WSL)",windowsPath:"%WINDIR%\\system32\\lxss\\LxssManager.dll",recommendations:{"ms-vscode-remote.remote-wsl":{name:"WSL"}}}},webExtensionTips:["tyriar.luna-paint","codespaces-contrib.codeswing","ms-vscode.vscode-github-issue-notebooks","esbenp.prettier-vscode","hediet.vscode-drawio"],virtualWorkspaceExtensionTips:{"vscode-vfs":{friendlyName:"Remote Repositories",extensionId:"ms-vscode.remote-repositories",startEntry:{helpLink:"https://aka.ms/vscode-remote/remote-repositories",startConnectLabel:"Remote Repository",startCommand:"remoteHub.continueOn.openRepository",priority:5}}},remoteExtensionTips:{wsl:{friendlyName:"WSL",extensionId:"ms-vscode-remote.remote-wsl",supportedPlatforms:["Windows","Web"],startEntry:{helpLink:"https://aka.ms/vscode-remote/wsl",startConnectLabel:"WSL",startCommand:"remote-wsl.connect",priority:3}},"ssh-remote":{friendlyName:"Remote - SSH",extensionId:"ms-vscode-remote.remote-ssh",supportedPlatforms:["Windows","Linux","Mac"],startEntry:{helpLink:"https://aka.ms/vscode-remote/ssh",startConnectLabel:"SSH ",startCommand:"opensshremotes.openEmptyWindowInCurrentWindow",priority:1}},"dev-container":{friendlyName:"Dev Containers",extensionId:"ms-vscode-remote.remote-containers",supportedPlatforms:["Windows","Linux","Mac"],startEntry:{helpLink:"https://aka.ms/vscode-remote/containers",startConnectLabel:"Dev Container",startCommand:"remote-containers.reopenInContainer",priority:2}},"attached-container":{friendlyName:"Dev Containers",extensionId:"ms-vscode-remote.remote-containers"},codespaces:{friendlyName:"GitHub Codespaces",extensionId:"github.codespaces",startEntry:{helpLink:"https://aka.ms/vscode-remote-codespaces",startConnectLabel:"GitHub Codespace ",startCommand:"github.codespaces.connect",priority:4}},tunnel:{friendlyName:"Remote - Tunnels",extensionId:"ms-vscode.remote-server",startEntry:{helpLink:"https://aka.ms/remote-tunnels-doc",startConnectLabel:"Tunnel",startCommand:"remote-tunnels.connectCurrentWindowToTunnel",priority:0}},amlext:{friendlyName:"Azure Machine Learning",extensionId:"ms-toolsai.vscode-ai-remote"}},commandPaletteSuggestedCommandIds:["workbench.action.files.openFile","workbench.action.files.openFileFolder","workbench.action.files.openFolder","workbench.action.remote.showMenu","editor.action.formatDocument","editor.action.commentLine","workbench.action.tasks.runTask","workbench.action.openSettings2","workbench.action.selectTheme","workbench.action.openWalkthrough","workbench.action.openIssueReporter"],extensionKeywords:{md:["Markdown"],js:["JavaScript"],jsx:["JavaScript"],es6:["JavaScript"],html:["Html"],ts:["TypeScript"],tsx:["TypeScript"],css:["CSS"],scss:["SASS"],txt:["Text"],php:["PHP"],php3:["PHP"],php4:["PHP"],ph3:["PHP"],ph4:["PHP"],xml:["XML"],py:["Python"],pyc:["Python"],pyd:["Python"],pyo:["Python"],pyw:["Python"],pyz:["Python"],java:["Java"],class:["Java"],jar:["Java"],c:["c","objective c","objective-c"],m:["objective c","objective-c"],mm:["objective c","objective-c"],cpp:["cpp","c plus plus","c","c++"],cc:["cpp","c plus plus","c","c++"],cxx:["cpp","c plus plus","c++"],hh:["cpp","c plus plus","c++"],hpp:["cpp","c++"],h:["cpp","c plus plus","c++","c","objective c","objective-c"],sql:["sql"],sh:["bash"],bash:["bash"],zsh:["bash","zshell"],cs:["c#","csharp"],csproj:["c#","csharp"],sln:["c#","csharp"],go:["go"],sty:["latex"],tex:["latex"],ps:["powershell"],ps1:["powershell"],rs:["rust"],rslib:["rust"],hs:["haskell"],lhs:["haskell"],scm:["scheme"],ss:["scheme"],clj:["clojure"],cljs:["clojure"],cljc:["clojure"],edn:["clojure"],erl:["erlang"],hrl:["erlang"],scala:["scala"],sc:["scala"],pl:["perl"],pm:["perl"],t:["perl"],pod:["perl"],groovy:["groovy"],swift:["swift"],rb:["ruby"],rbw:["ruby"],jl:["julia"],f:["fortran"],for:["fortran"],f90:["fortran"],f95:["fortran"],coffee:["CoffeeScript"],litcoffee:["CoffeeScript"],yaml:["yaml"],yml:["yaml"],dart:["dart"],json:["json"]},extensionAllowedBadgeProviders:["api.travis-ci.com","app.fossa.io","badge.buildkite.com","badge.fury.io","badgen.net","badges.frapsoft.com","badges.gitter.im","cdn.travis-ci.com","ci.appveyor.com","circleci.com","cla.opensource.microsoft.com","codacy.com","codeclimate.com","codecov.io","coveralls.io","david-dm.org","deepscan.io","dev.azure.com","docs.rs","flat.badgen.net","gitlab.com","godoc.org","goreportcard.com","img.shields.io","isitmaintained.com","marketplace.visualstudio.com","nodesecurity.io","opencollective.com","snyk.io","travis-ci.com","travis-ci.org","visualstudio.com","vsmarketplacebadge.apphb.com"],extensionAllowedBadgeProvidersRegex:["^https:\\/\\/github\\.com\\/[^/]+\\/[^/]+\\/(actions\\/)?workflows\\/.*badge\\.svg"],crashReporter:{productName:"VSCode",companyName:"Microsoft"},appCenter:{"win32-x64":"appcenter://code?aid=a4e3233c-699c-46ec-b4f4-9c2a77254662","win32-arm64":"appcenter://code?aid=3712d786-7cc8-4f11-8b08-cc12eab6d4f7","linux-x64":"appcenter://code?aid=fba07a4d-84bd-4fc8-a125-9640fc8ce171",darwin:"appcenter://code?aid=860d6632-f65b-490b-85a8-3e72944f7774","darwin-arm64":"appcenter://code?aid=be71415d-3893-4ae5-b453-e537b9668a10","darwin-universal":"appcenter://code?aid=de75e3cc-e22f-4f42-a03f-1409c21d8af8"},enableTelemetry:!0,aiConfig:{ariaKey:"5bbf946d11a54f6783919c455abaddaf-fd62977b-c92d-4714-a45d-649d06980372-7168"},msftInternalDomains:["redmond.corp.microsoft.com","northamerica.corp.microsoft.com","fareast.corp.microsoft.com","ntdev.corp.microsoft.com","wingroup.corp.microsoft.com","southpacific.corp.microsoft.com","wingroup.windeploy.ntdev.microsoft.com","ddnet.microsoft.com","europe.corp.microsoft.com"],documentationUrl:"https://go.microsoft.com/fwlink/?LinkID=533484#vscode",serverDocumentationUrl:"https://aka.ms/vscode-server-doc",releaseNotesUrl:"https://go.microsoft.com/fwlink/?LinkID=533483#vscode",keyboardShortcutsUrlMac:"https://go.microsoft.com/fwlink/?linkid=832143",keyboardShortcutsUrlLinux:"https://go.microsoft.com/fwlink/?linkid=832144",keyboardShortcutsUrlWin:"https://go.microsoft.com/fwlink/?linkid=832145",introductoryVideosUrl:"https://go.microsoft.com/fwlink/?linkid=832146",tipsAndTricksUrl:"https://go.microsoft.com/fwlink/?linkid=852118",newsletterSignupUrl:"https://www.research.net/r/vsc-newsletter",youTubeUrl:"https://aka.ms/vscode-youtube",requestFeatureUrl:"https://go.microsoft.com/fwlink/?LinkID=533482",reportIssueUrl:"https://github.com/Microsoft/vscode/issues/new",reportMarketplaceIssueUrl:"https://github.com/microsoft/vsmarketplace/issues/new",licenseUrl:"https://go.microsoft.com/fwlink/?LinkID=533485",serverLicenseUrl:"https://aka.ms/vscode-server-license",privacyStatementUrl:"https://go.microsoft.com/fwlink/?LinkId=521839",showTelemetryOptOut:!0,npsSurveyUrl:"https://aka.ms/vscode-nps",checksumFailMoreInfoUrl:"https://go.microsoft.com/fwlink/?LinkId=828886",electronRepository:"Microsoft/vscode-electron-prebuilt",nodejsRepository:"Microsoft/vscode-node",settingsSearchUrl:"https://bingsettingssearch.trafficmanager.net/api/Search",surveys:[{surveyId:"cpp.1",surveyUrl:"https://www.research.net/r/VBVV6C6",languageId:"cpp",editCount:10,userProbability:.15},{surveyId:"java.2",surveyUrl:"https://www.research.net/r/vscodejava",languageId:"java",editCount:10,userProbability:.3},{surveyId:"javascript.1",surveyUrl:"https://www.research.net/r/vscode-js",languageId:"javascript",editCount:10,userProbability:.05},{surveyId:"typescript.1",surveyUrl:"https://www.research.net/r/vscode-ts",languageId:"typescript",editCount:10,userProbability:.05},{surveyId:"csharp.1",surveyUrl:"https://www.research.net/r/8KGJ9V8",languageId:"csharp",editCount:10,userProbability:.1}],extensionsEnabledWithApiProposalVersion:["GitHub.copilot-chat","ms-vscode.vscode-commander","ms-vscode.vscode-copilot-vision","GitHub.vscode-pull-request-github"],extensionEnabledApiProposals:{"mrleemurray.theme-2026":["css"],"ms-azuretools.vscode-containers":["authenticationChallenges"],"ms-azuretools.vscode-azureresourcegroups":["authenticationChallenges"],"ms-azuretools.vscode-azure-github-copilot":["authenticationChallenges"],"ms-azuretools.vscode-dev-azurecloudshell":["contribEditSessions","authenticationChallenges"],"ms-toolsai.vscode-ai":["authenticationChallenges"],"TeamsDevApp.vscode-ai-foundry":["authenticationChallenges"],"ms-vscode.vscode-selfhost-test-provider":["testObserver","testRelatedCode"],"VisualStudioExptTeam.vscodeintellicode-completions":["inlineCompletionsAdditions"],"ms-vsliveshare.vsliveshare":["contribMenuBarHome","contribShareMenu","contribStatusBarItems","diffCommand","documentFiltersExclusive","fileSearchProvider","findTextInFiles","notebookLiveShare","terminalDimensions","terminalDataWriteEvent","textSearchProvider"],"ms-vscode.js-debug":["portsAttributes","findTextInFiles","workspaceTrust","tunnels","browser"],"ms-toolsai.vscode-ai-remote":["resolvers","authenticationChallenges"],"ms-python.python":["codeActionAI","contribEditorContentMenu","quickPickSortByLabel","portsAttributes","testObserver","quickPickItemTooltip","terminalDataWriteEvent","terminalExecuteCommandEvent","notebookReplDocument","notebookVariableProvider","terminalShellEnv"],"ms-python.vscode-python-envs":["terminalShellEnv","terminalDataWriteEvent","taskExecutionTerminal"],"ms-dotnettools.dotnet-interactive-vscode":["notebookMessaging"],"GitHub.codespaces":["contribEditSessions","contribMenuBarHome","contribRemoteHelp","contribViewsRemote","resolvers","tunnels","terminalDataWriteEvent","treeViewReveal","notebookKernelSource"],"ms-vscode.azure-repos":["extensionRuntime","fileSearchProvider","textSearchProvider"],"ms-vscode.remote-repositories":["canonicalUriProvider","contribEditSessions","contribRemoteHelp","contribMenuBarHome","contribViewsRemote","contribViewsWelcome","contribShareMenu","documentFiltersExclusive","editSessionIdentityProvider","extensionRuntime","fileSearchProvider","quickPickSortByLabel","workspaceTrust","shareProvider","scmActionButton","scmSelectedProvider","scmValidation","textSearchProvider","timeline"],"ms-vscode-remote.remote-wsl":["resolvers","contribRemoteHelp","contribViewsRemote","telemetry"],"ms-vscode-remote.remote-ssh":["resolvers","tunnels","terminalDataWriteEvent","contribRemoteHelp","contribViewsRemote","telemetry"],"ms-vscode.remote-server":["resolvers","tunnels","contribViewsWelcome"],"ms-vscode.remote-explorer":["contribRemoteHelp","contribViewsRemote","extensionsAny"],"ms-vscode-remote.remote-containers":["contribEditSessions","resolvers","portsAttributes","tunnels","workspaceTrust","terminalDimensions","contribRemoteHelp","contribViewsRemote"],"ms-vscode.js-debug-nightly":["portsAttributes","findTextInFiles","workspaceTrust","tunnels","browser"],"ms-vscode.lsif-browser":["documentFiltersExclusive"],"ms-vscode.vscode-speech":["speech"],"GitHub.vscode-pull-request-github":["activeComment","chatContextProvider","chatParticipantAdditions","chatParticipantPrivate","chatSessionsProvider","codiconDecoration","codeActionRanges","commentingRangeHint","commentReactor","commentReveal","commentsDraftState","commentThreadApplicability","contribAccessibilityHelpContent","contribCommentEditorActionsMenu","contribCommentPeekContext","contribCommentThreadAdditionalMenu","contribCommentsViewThreadMenus","contribEditorContentMenu","contribMultiDiffEditorMenus","contribShareMenu","diffCommand","languageModelToolResultAudience","markdownAlertSyntax","quickDiffProvider","remoteCodingAgents","shareProvider","tabInputMultiDiff","tabInputTextMerge","tokenInformation","treeItemMarkdownLabel","treeViewMarkdownMessage"],"GitHub.copilot":["inlineCompletionsAdditions","devDeviceId"],"GitHub.copilot-nightly":["inlineCompletionsAdditions","devDeviceId"],"GitHub.copilot-chat":["agentSessionsWorkspace","agentsWindowConfiguration","interactive","terminalDataWriteEvent","terminalExecuteCommandEvent","terminalSelection","terminalQuickFixProvider","chatParticipantAdditions","defaultChatParticipant","embeddings","chatProvider","mappedEditsProvider","aiRelatedInformation","aiSettingsSearch","codeActionAI","findTextInFiles","findTextInFiles2","textSearchProvider","textSearchProvider2","activeComment","commentReveal","contribSourceControlInputBoxMenu","contribCommentEditorActionsMenu","contribCommentThreadAdditionalMenu","contribCommentsViewThreadMenus","contribChatEditorInlineGutterMenu","extensionAffinity","newSymbolNamesProvider","findFiles2","chatReferenceDiagnostic","extensionsAny","authLearnMore","testObserver","aiTextSearchProvider","documentFiltersExclusive","chatParticipantPrivate","contribDebugCreateConfiguration","inlineCompletionsAdditions","chatReferenceBinaryData","languageModelSystem","languageModelCapabilities","languageModelThinkingPart","languageModelToolSupportsModel","chatStatusItem","taskProblemMatcherStatus","contribLanguageModelToolSets","textDocumentChangeReason","resolvers","taskExecutionTerminal","dataChannels","chatSessionsProvider","chatSessionCustomizationProvider","devDeviceId","contribEditorContentMenu","tokenInformation","toolInvocationApproveCombination","chatPromptFiles","mcpServerDefinitions","tabInputMultiDiff","workspaceTrust","chatHooks","chatDebug","environmentPower","terminalTitle","languageModelPricing","chatInputNotification"],"GitHub.remotehub":["contribRemoteHelp","contribMenuBarHome","contribViewsRemote","contribViewsWelcome","documentFiltersExclusive","extensionRuntime","fileSearchProvider","quickPickSortByLabel","workspaceTrust","scmSelectedProvider","scmValidation","textSearchProvider","timeline"],"ms-python.vscode-pylance":["terminalShellEnv","portsAttributes","codeActionAI"],"ms-python.debugpy":["contribViewsWelcome","debugVisualization","portsAttributes"],"ms-toolsai.jupyter-renderers":["contribNotebookStaticPreloads"],"ms-toolsai.jupyter":["notebookDeprecated","notebookMessaging","notebookMime","portsAttributes","quickPickSortByLabel","notebookKernelSource","interactiveWindow","notebookControllerAffinityHidden","contribNotebookStaticPreloads","quickPickItemTooltip","notebookExecution","notebookCellExecution","notebookVariableProvider","notebookReplDocument"],"donjayamanne.kusto":["notebookVariableProvider"],"ms-toolsai.tensorboard":["portsAttributes"],"dbaeumer.vscode-eslint":[],"ms-vscode.azure-sphere-tools-ui":["tunnels"],"ms-azuretools.vscode-azureappservice":["terminalDataWriteEvent"],"ms-vscode.anycode":["extensionsAny"],"ms-vscode.cpptools":["terminalDataWriteEvent","chatParticipantAdditions"],"vscjava.vscode-java-pack":[],"ms-dotnettools.csdevkit":["inlineCompletionsAdditions"],"ms-dotnettools.vscodeintellicode-csharp":["inlineCompletionsAdditions"],"ms-dotnettools.vscode-dotnet-modernize":["chatParticipantAdditions","chatPromptFiles"],"microsoft-IsvExpTools.powerplatform-vscode":["fileSearchProvider","textSearchProvider"],"microsoft-IsvExpTools.powerplatform-vscode-preview":["fileSearchProvider","textSearchProvider"],"TeamsDevApp.ms-teams-vscode-extension":["chatParticipantAdditions","languageModelSystem","mcpServerDefinitions"],"ms-toolsai.datawrangler":[],"ms-vscode.vscode-commander":[],"ms-vscode.vscode-websearchforcopilot":[],"ms-vscode.vscode-copilot-vision":["chatReferenceBinaryData","codeActionAI"],"ms-autodev.vscode-autodev":["chatParticipantAdditions"],"vscjava.migrate-java-to-azure":["chatParticipantAdditions","chatParticipantPrivate"],"vscjava.vscode-java-upgrade":["chatParticipantAdditions","chatParticipantPrivate"],"FoundryLocal.foundry-local-chat":["chatProvider"],"Microsoft.foundry-local-chat":["chatProvider"],"ms-wmcp.windows-mcp-server-extension":["mcpToolDefinitions"],"openai.chatgpt":["languageModelProxy","chatSessionsProvider"],"TypeScriptTeam.native-preview":["editorHoverVerbosityLevel","multiDocumentHighlightProvider"],"ms-vscode.vscode-eng-codereview":["chatContextProvider"],"ms-vscode.vscode-chat-customizations-evaluations":["chatSessionCustomizationProvider","contribEditorContentMenu"]},tasConfig:{endpoint:"https://default.exp-tas.com/vscode/ab",telemetryEventName:"query-expfeature",assignmentContextTelemetryPropertyName:"abexp.assignmentcontext"},extensionKind:{"Shan.code-settings-sync":["ui"],"shalldie.background":["ui"],"techer.open-in-browser":["ui"],"CoenraadS.bracket-pair-colorizer-2":["ui"],"CoenraadS.bracket-pair-colorizer":["ui","workspace"],"hiro-sun.vscode-emacs":["ui","workspace"],"hnw.vscode-auto-open-markdown-preview":["ui","workspace"],"wayou.vscode-todo-highlight":["ui","workspace"],"aaron-bond.better-comments":["ui","workspace"],"vscodevim.vim":["ui"],"ollyhayes.colmak-vim":["ui"]},extensionPointExtensionKind:{typescriptServerPlugins:["workspace"]},extensionSyncedKeys:{"ritwickdey.liveserver":["liveServer.setup.version"]},extensionVirtualWorkspacesSupport:{"esbenp.prettier-vscode":{default:!1},"msjsdiag.debugger-for-chrome":{default:!1},"redhat.java":{default:!1},"HookyQR.beautify":{default:!1},"ritwickdey.LiveServer":{default:!1},"VisualStudioExptTeam.vscodeintellicode":{default:!1},"octref.vetur":{default:!1},"formulahendry.code-runner":{default:!1},"xdebug.php-debug":{default:!1},"ms-mssql.mssql":{default:!1},"christian-kohler.path-intellisense":{default:!1},"eg2.tslint":{default:!1},"eg2.vscode-npm-script":{default:!1},"donjayamanne.githistory":{default:!1},"Zignd.html-css-class-completion":{default:!1},"christian-kohler.npm-intellisense":{default:!1},"EditorConfig.EditorConfig":{default:!1},"austin.code-gnu-global":{default:!1},"johnpapa.Angular2":{default:!1},"ms-vscode.vscode-typescript-tslint-plugin":{default:!1},"DotJoshJohnson.xml":{default:!1},"techer.open-in-browser":{default:!1},"tht13.python":{default:!1},"bmewburn.vscode-intelephense-client":{default:!1},"Angular.ng-template":{default:!1},"xdebug.php-pack":{default:!1},"dbaeumer.jshint":{default:!1},"yzhang.markdown-all-in-one":{default:!1},"Dart-Code.flutter":{default:!1},"streetsidesoftware.code-spell-checker":{default:!1},"rebornix.Ruby":{default:!1},"ms-vscode.sublime-keybindings":{default:!1},"mitaki28.vscode-clang":{default:!1},"steoates.autoimport":{default:!1},"donjayamanne.python-extension-pack":{default:!1},"shd101wyy.markdown-preview-enhanced":{default:!1},"mikestead.dotenv":{default:!1},"pranaygp.vscode-css-peek":{default:!1},"ikappas.phpcs":{default:!1},"platformio.platformio-ide":{default:!1},"jchannon.csharpextensions":{default:!1},"gruntfuggly.todo-tree":{default:!1}},linkProtectionTrustedDomains:["https://*.visualstudio.com","https://*.microsoft.com","https://aka.ms","https://*.gallerycdn.vsassets.io","https://*.github.com","https://login.microsoftonline.com","https://*.vscode.dev","https://*.github.dev","https://gh.io","https://portal.azure.com","https://raw.githubusercontent.com","https://private-user-images.githubusercontent.com","https://avatars.githubusercontent.com","https://auth.openai.com"],trustedExtensionAuthAccess:{github:["vscode.github","github.remotehub","ms-vscode.remote-server","github.vscode-pull-request-github","github.codespaces","github.copilot","github.copilot-chat","ms-vsliveshare.vsliveshare","ms-azuretools.vscode-azure-github-copilot"],"github-enterprise":["vscode.github","github.remotehub","ms-vscode.remote-server","github.vscode-pull-request-github","github.codespaces","github.copilot","github.copilot-chat","ms-vsliveshare.vsliveshare","ms-azuretools.vscode-azure-github-copilot"],microsoft:["github.copilot-chat","ms-vscode.azure-repos","ms-vscode.remote-server","ms-vsliveshare.vsliveshare","ms-azuretools.vscode-azure-github-copilot","ms-azuretools.vscode-azureresourcegroups","ms-azuretools.vscode-dev-azurecloudshell","ms-edu.vscode-learning","ms-toolsai.vscode-ai","ms-toolsai.vscode-ai-remote"],"microsoft-sovereign-cloud":["ms-vscode.azure-repos","ms-vscode.remote-server","ms-vsliveshare.vsliveshare","ms-azuretools.vscode-azure-github-copilot","ms-azuretools.vscode-azureresourcegroups","ms-azuretools.vscode-dev-azurecloudshell","ms-edu.vscode-learning","ms-toolsai.vscode-ai","ms-toolsai.vscode-ai-remote"],"__GitHub.copilot-chat":["ms-azuretools.vscode-azure-github-copilot","github.vscode-pull-request-github"]},trustedExtensionProtocolHandlers:["vscode.git","vscode.github-authentication","vscode.microsoft-authentication","github.vscode-pull-request-github"],authClientIdMetadataUrl:"https://vscode.dev/oauth/client-metadata.json",inheritAuthAccountPreference:{"github.copilot":["github.copilot-chat"]},auth:{loginUrl:"https://login.microsoftonline.com/common/oauth2/authorize",tokenUrl:"https://login.microsoftonline.com/common/oauth2/token",redirectUrl:"https://vscode-redirect.azurewebsites.net/",clientId:"aebc6443-996d-45c2-90f0-388ff96faa56"},"configurationSync.store":{url:"https://vscode-sync.trafficmanager.net/",stableUrl:"https://vscode-sync.trafficmanager.net/",insidersUrl:"https://vscode-sync-insiders.trafficmanager.net/",canSwitch:!1,authenticationProviders:{github:{scopes:["user:email"]},microsoft:{scopes:["openid","profile","email","offline_access"]}}},"editSessions.store":{url:"https://vscode-sync.trafficmanager.net/",authenticationProviders:{microsoft:{scopes:["openid","profile","email","offline_access"]},github:{scopes:["user:email"]}}},tunnelServerQualities:{stable:{serverApplicationName:"code-server"},exploration:{serverApplicationName:"code-server-exploration"},insider:{serverApplicationName:"code-server-insiders"}},tunnelApplicationName:"code-tunnel",tunnelApplicationConfig:{editorWebUrl:"https://vscode.dev",extension:{friendlyName:"Remote - Tunnels",extensionId:"ms-vscode.remote-server"},authenticationProviders:{github:{scopes:["user:email","read:org"]},microsoft:{scopes:["46da2f7e-b5ef-422a-88d4-2a7f9de6a0b2/.default","profile","openid"]}}},win32TunnelServiceMutex:"vscode-tunnelservice",win32TunnelMutex:"vscode-tunnel",aiGeneratedWorkspaceTrust:{title:"This workspace was generated by GitHub Copilot",checkboxText:"Trust the contents of all files in this workspace",trustOption:"Yes, I trust the contents",dontTrustOption:"No, I don't trust the contents",startupTrustRequestLearnMore:"If you don't trust the contents of the files generated by GitHub Copilot, we recommend continuing in restricted mode. See [our docs](https://aka.ms/vscode-workspace-trust) to learn more. "},defaultChatAgent:{providerExtensionId:"vscode.github-authentication",extensionId:"GitHub.copilot",chatExtensionId:"GitHub.copilot-chat",chatExtensionOutputId:"GitHub.copilot-chat.GitHub Copilot Chat.log",chatExtensionOutputExtensionStateCommand:"github.copilot.debug.extensionState",documentationUrl:"https://aka.ms/github-copilot-overview",termsStatementUrl:"https://aka.ms/github-copilot-terms-statement",privacyStatementUrl:"https://aka.ms/github-copilot-privacy-statement",skusDocumentationUrl:"https://aka.ms/github-copilot-plans",publicCodeMatchesUrl:"https://aka.ms/github-copilot-match-public-code",manageSettingsUrl:"https://aka.ms/github-copilot-settings",managePlanUrl:"https://aka.ms/github-copilot-manage-plan",manageOverageUrl:"https://aka.ms/github-copilot-manage-overage",upgradePlanUrl:"https://aka.ms/github-copilot-upgrade-plan",signUpUrl:"https://aka.ms/github-sign-up",provider:{default:{id:"github",name:"GitHub"},enterprise:{id:"github-enterprise",name:"GHE.com"},google:{id:"google",name:"Google"},apple:{id:"apple",name:"Apple"}},providerUriSetting:"github-enterprise.uri",providerScopes:[["read:user","user:email","repo","workflow"],["user:email"],["read:user"]],entitlementUrl:"https://api.github.com/copilot_internal/user",entitlementSignupLimitedUrl:"https://api.github.com/copilot_internal/subscribe_limited_user",chatQuotaExceededContext:"github.copilot.chat.quotaExceeded",completionsQuotaExceededContext:"github.copilot.completions.quotaExceeded",walkthroughCommand:"github.copilot.open.walkthrough",completionsMenuCommand:"github.copilot.toggleStatusMenu",chatRefreshTokenCommand:"github.copilot.refreshToken",generateCommitMessageCommand:"github.copilot.git.generateCommitMessage",resolveMergeConflictsCommand:"github.copilot.git.resolveMergeConflicts",completionsAdvancedSetting:"github.copilot.advanced",completionsEnablementSetting:"github.copilot.enable",nextEditSuggestionsSetting:"github.copilot.nextEditSuggestions.enabled",tokenEntitlementUrl:"https://api.github.com/copilot_internal/v2/token",managedSettingsUrl:"https://api.github.com/copilot_internal/managed_settings",mcpRegistryDataUrl:"https://api.github.com/copilot/mcp_registry"},chatParticipantRegistry:"https://main.vscode-cdn.net/extensions/chat.json",remoteDefaultExtensionsIfInstalledLocally:["GitHub.copilot","GitHub.copilot-chat","GitHub.vscode-pull-request-github"],extensionConfigurationPolicy:{"github.copilot.nextEditSuggestions.enabled":{name:"CopilotNextEditSuggestions",minimumVersion:"1.99",category:"InteractiveSession",description:"Whether to enable next edit suggestions (NES). NES can propose a next edit based on your recent changes."},"github.copilot.chat.reviewSelection.enabled":{name:"CopilotReviewSelection",minimumVersion:"1.104",category:"InteractiveSession",description:"Enables code review on current selection."},"github.copilot.chat.reviewAgent.enabled":{name:"CopilotReviewAgent",minimumVersion:"1.104",category:"InteractiveSession",description:"Enables the code review agent."},"github.copilot.chat.claudeAgent.enabled":{name:"Claude3PIntegration",minimumVersion:"1.113",category:"InteractiveSession",description:"Enable Claude Agent sessions in VS Code. Start and resume agentic coding sessions powered by Anthropic Claude Agent SDK directly in the editor. Uses your existing Copilot subscription."}},win32ContextMenu:{x64:{clsid:"1C6DF0C0-192A-4451-BE36-6A59A86A692E"},arm64:{clsid:"F5EA5883-1DA8-4A05-864A-D5DE2D2B2854"}},chatSessionRecommendations:[{extensionId:"openai.chatgpt",extensionName:"Codex - OpenAI's coding agent",displayName:"Codex Agent",name:"codex",description:"Codex is OpenAI's coding agent that helps you write, review, and ship code faster.",postInstallCommand:"chatgpt.newCodexPanel"},{extensionId:"GitHub.copilot-chat",extensionName:"GitHub Copilot Chat",displayName:"Background Agent",name:"cli",description:"Delegate tasks to a background agent.",postInstallCommand:"workbench.action.chat.openNewSessionSidebar.copilotcli"},{extensionId:"GitHub.copilot-chat",extensionName:"GitHub Copilot Chat",displayName:"Cloud Agent",name:"cloud",description:"Delegate tasks to the GitHub Copilot Cloud Agent. The agent works asynchronously in the cloud to implement changes, iterates via chat, and can create or update pull requests as needed.",postInstallCommand:"workbench.action.chat.openNewSessionSidebar.copilot-cloud-agent"}],builtInExtensionsEnabledWithAutoUpdates:["GitHub.copilot-chat"],sessionsWindowAllowedExtensions:["pkief.material-icon-theme","zhuangtongfa.material-theme","vscode-icons-team.vscode-icons","oderwat.indent-rainbow","formulahendry.auto-close-tag","pranaygp.vscode-css-peek","codezombiech.gitignore","usernamehw.errorlens","wayou.vscode-todo-highlight","bierner.markdown-mermaid","kisstkondoros.vscode-gutter-preview","tomoki1207.pdf","vscodevim.vim","ecmel.vscode-html-css","bradlc.vscode-tailwindcss","xabikos.JavaScriptSnippets","dsznajder.es7-react-js-snippets","formulahendry.auto-rename-tag","naumovs.color-highlight","streetsidesoftware.code-spell-checker","Vue.volar","dbaeumer.vscode-eslint","esbenp.prettier-vscode","redhat.vscode-xml","redhat.java"],version:"1.123.0",commit:"6a44c352bd24569c417e530095901b649960f9f8",date:"2026-06-03T11:29:03+02:00"},Object.keys(cn).length===0&&Object.assign(cn,{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:[]}});er=cn});function a2(i,r){return i===r?!0:!i||!r?!1:typeof i=="string"||typeof r=="string"?i===r:i.id===r.id}function ja(i){let r=[];if(xi.test(i)){let e=ex.exec(i);for(;e?.length;){let t=e[1].trim();t&&r.push(t),e=ex.exec(i)}}return Wr(r)}function rx(i){return i.reduce((r,e)=>`${r}[${e}]`,"")}function l2(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 c2(i,r,e){return i.trim()?xi.test(i)?h(2184,null,i):Ef.getConfigurationProperties()[i]!==void 0&&(!e||!d2.has(e.toLowerCase()))?h(2182,null,i):r.policy?.name&&Ef.getPolicyConfigurations().get(r.policy?.name)!==void 0?h(2181,null,i,r.policy?.name,Ef.getPolicyConfigurations().get(r.policy?.name)):null:h(2183,null)}var Ft,yf,wf,If,bf,Sf,xf,kd,Us,Pf,$v,tx,ex,Uo,xi,Ef,d2,Zn=w(()=>{Yt();j();Me();be();rt();Z1();wn();$();Ws();Ft={Configuration:"base.contributions.configuration"};yf={properties:{},patternProperties:{}},wf={properties:{},patternProperties:{}},If={properties:{},patternProperties:{}},bf={properties:{},patternProperties:{}},Sf={properties:{},patternProperties:{}},xf={properties:{},patternProperties:{}},kd={properties:{},patternProperties:{}},Us="vscode://schemas/settings/resourceLanguage",Pf=pt.as(Vv.JSONContribution),$v=class extends _{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(2186,null),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.excludedConfigurationProperties={},Pf.registerSchema(Us,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),Pf.registerSchema(Us,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:n})}deregisterConfigurations(e){let t=new Set;this.doDeregisterConfigurations(e,t),Pf.registerSchema(Us,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),Pf.registerSchema(Us,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}),xi.test(a)){let d=this.mergeDefaultConfigurationsForOverrideIdentifier(a,c,s,l.configurationDefaultOverrideValue);if(!d)continue;l.configurationDefaultOverrideValue=d,this.updateDefaultOverrideProperty(a,d,s),n.push(...ja(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?a2(c.source,o):c.value===n[s]);if(l!==-1){if(a.configurationDefaultOverrides.splice(l,1),a.configurationDefaultOverrides.length===0&&this.configurationDefaultsOverrides.delete(s),xi.test(s)){let c;for(let d of a.configurationDefaultOverrides)c=this.mergeDefaultConfigurationsForOverrideIdentifier(s,d.value,d.source,c);c&&!Gp(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(2185,null,J1(e)),$ref:Us,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(Ge(c)&&(Kr(s[l])||Ge(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(Ge(t)&&(s!==void 0&&s.type==="object"||s===void 0&&(Kr(a)||Ge(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={...Ge(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=Kt(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&&c2(d,u,n?.id)){delete l[d];continue}u.source=n,u.defaultDefaultValue=l[d].default,this.updatePropertyDefaultValue(d,u),xi.test(d)?u.scope=void 0:(u.scope=Kt(u.scope)?s:u.scope,u.restricted=Kt(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(yf.properties[e]=t,t.scope){case 1:wf.properties[e]=t;break;case 2:bf.properties[e]=t;break;case 3:If.properties[e]=t;break;case 7:Sf.properties[e]=t;break;case 4:xf.properties[e]=t;break;case 5:kd.properties[e]=t;break;case 6:kd.properties[e]=t,this.resourceLanguageSettingsSchema.properties[e]=t;break}}removeFromSchema(e,t){switch(delete yf.properties[e],t.scope){case 1:delete wf.properties[e];break;case 2:delete bf.properties[e];break;case 3:delete If.properties[e];break;case 7:delete Sf.properties[e];break;case 4:delete xf.properties[e];break;case 5:case 6:delete kd.properties[e],delete this.resourceLanguageSettingsSchema.properties[e];break}}updateOverridePropertyPatternKey(){for(let e of this.overrideIdentifiers.values()){let t=`[${e}]`,n={type:"object",description:h(2187,null),errorMessage:h(2188,null),$ref:Us};this.updatePropertyDefaultValue(t,n),yf.properties[t]=n,wf.properties[t]=n,If.properties[t]=n,bf.properties[t]=n,Sf.properties[t]=n,xf.properties[t]=n,kd.properties[t]=n}}registerOverridePropertyPatternKey(){let e={type:"object",description:h(2187,null),errorMessage:h(2188,null),$ref:Us};yf.patternProperties[Uo]=e,wf.patternProperties[Uo]=e,If.patternProperties[Uo]=e,bf.patternProperties[Uo]=e,Sf.patternProperties[Uo]=e,xf.patternProperties[Uo]=e,kd.patternProperties[Uo]=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),Kr(o)&&(o=t.defaultDefaultValue,s=void 0),Kr(o)&&(o=l2(t.type)),t.default=o,t.defaultValueSource=s}},tx="\\[([^\\]]+)\\]",ex=new RegExp(tx,"g"),Uo=`^(${tx})+$`,xi=new RegExp(Uo);Ef=new $v;pt.add(Ft.Configuration,Ef);d2=new Set(er.defaultChatAgent?[er.defaultChatAgent.extensionId,er.defaultChatAgent.chatExtensionId].map(i=>i.toLowerCase()):[])});var u2,ix=w(()=>{Y();Td();be();Zn();wn();u2=pt.as(Ft.Configuration);u2.registerConfiguration({id:"update",order:15,title:h(3042,null),type:"object",properties:{"update.mode":{type:"string",enum:["none","manual","start","default"],default:"default",scope:1,description:h(3043,null),tags:["usesOnlineServices"],enumDescriptions:[h(3038,null),h(3037,null),h(3041,null),h(3033,null)],policy:{name:"UpdateMode",category:"Update",minimumVersion:"1.67",localization:{description:{key:"updateMode",value:h(3043,null)},enumDescriptions:[{key:"none",value:h(3038,null)},{key:"manual",value:h(3037,null)},{key:"start",value:h(3041,null)},{key:"default",value:h(3033,null)}]}}},"update.channel":{type:"string",default:"default",scope:1,description:h(3043,null),deprecationMessage:h(3034,null,"update.mode")},"update.enableWindowsBackgroundUpdates":{type:"boolean",default:!0,scope:1,title:h(3036,null),description:h(3035,null),included:W&&!Xt},"update.showReleaseNotes":{type:"boolean",default:!0,scope:1,description:h(3040,null),tags:["usesOnlineServices"],agentsWindow:{default:!1,readOnly:!0}},"update.showPostInstallInfo":{type:"boolean",default:!1,scope:1,description:h(3039,null),tags:["usesOnlineServices"]},"update.titleBar":{type:"boolean",default:!0,scope:1,description:h(3044,null),included:!Xt}}})});function Kv(i,r){return r&&(i.stack||i.stacktrace)?h(116,null,sx(i),ox(i.stack)||ox(i.stacktrace)):sx(i)}function ox(i){return Array.isArray(i)?i.join(`
`):i}function sx(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 Dr(i=null,r=!1){if(!i)return h(113,null);if(Array.isArray(i)){let e=dt(i),t=Dr(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 No=w(()=>{Yt();Me();be()});function to(i,r){let{os:e,tildify:t,relative:n}=r;if(n){let a=p2(i,n,e);if(typeof a=="string")return a}let o=i.fsPath;if(e===1&&!W?o=o.replace(/\//g,"\\"):e!==1&&W&&(o=o.replace(/\\/g,"/")),e!==1&&t?.userHome){let a=t.userHome.fsPath,l;i.scheme!==t.userHome.scheme&&i.path[0]===pe.sep&&i.path[1]!==pe.sep?l=t.userHome.with({path:i.path}).fsPath:l=o,o=f2(l,a,e)}return(e===1?at:pe).normalize(Dd(o,e===1))}function p2(i,r,e){let t=e===1?at:pe,n=e===3?Fe:Ha,o=r.getWorkspace(),s=o.folders.at(0);if(!s)return;i.scheme!==s.uri.scheme&&i.path[0]===pe.sep&&i.path[1]!==pe.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 Dd(i,r=W){return Cv(i,r)?i.charAt(0).toUpperCase()+i.slice(1):i}function f2(i,r,e=Bt){if(e===1||!i||!r)return i;let t=qv.original===r?qv.normalized:void 0;t||(t=r,W&&(t=Ii(t)),t=`${Jn(t,pe.sep)}${pe.sep}`,qv={original:r,normalized:t});let n=i;return W&&(n=Ii(n)),(e===3?n.startsWith(t):Mo(n,t))?`~/${n.substr(t.length)}`:i}function lx(i,r){return V||r?i.replace(/\(&&\w\)|&&/g,"").replace(/&/g,V?"&":"&&"):i.replace(/&&|&/g,e=>e==="&"?"&&":"&")}function Ad(i,r){let e=i.replace(/\(&&\w\)|&&/g,"");if(r)return e;if(V)return{withMnemonic:e,withoutMnemonic:e};let t;return W?t=i.replace(/&&|&/g,n=>n==="&"?"&&":"&"):t=i.replace(/&&/g,"_"),{withMnemonic:t,withoutMnemonic:e}}function cx(i){if(i.endsWith("]")){let r=i.lastIndexOf(" [",i.length-2);if(r!==-1){let e=ax(i.substring(0,r)),t=i.substring(r);return{name:e.name+t,parentPath:e.parentPath}}}return ax(i)}function ax(i){let r=i.indexOf("/")!==-1?pe:at,e=r.basename(i),t=r.dirname(i);return e.length?{name:e,parentPath:t}:{name:t,parentPath:""}}var qv,ro=w(()=>{ln();Pe();Y();It();Zt();qv=Object.create(null)});function Ld(i){let r=i;return r?[r.on,r.pause,r.resume,r.destroy].every(e=>typeof e=="function"):!1}function Tf(i){let r=i;return r?Ld(r.stream)&&Array.isArray(r.buffer)&&typeof r.ended=="boolean":!1}function Bo(i,r){return new zv(i,r)}function dx(i,r){let e=[],t;for(;(t=i.read())!==null;)e.push(t);return r(e)}function ux(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 _f(i,r){return new Promise((e,t)=>{let n=[];Ga(i,{onData:o=>{r&&n.push(o)},onError:o=>{r?t(o):e(void 0)},onEnd:()=>{e(r?r(n):void 0)}})})}function Ga(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 px(i,r){return new Promise((e,t)=>{let n=new Q,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(z(()=>i.removeListener("error",a))),i.on("error",a),n.add(z(()=>i.removeListener("end",l))),i.on("end",l),n.add(z(()=>i.removeListener("data",s))),i.on("data",s)})}function fx(i){let r=!1;return{read:()=>r?null:(r=!0,i)}}function Ja(i,r,e){let t=Bo(e);return Ga(i,{onData:n=>t.write(r.data(n)),onError:n=>t.error(r.error?r.error(n):n),onEnd:()=>t.end()}),t}var zv,Ns=w(()=>{He();$();zv=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?ct(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 g2(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=h2.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 v2(i,r){return i[r]*2**24+i[r+1]*2**16+i[r+2]*2**8+i[r+3]}function y2(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 w2(i,r){return i[r+0]<<0>>>0|i[r+1]<<8>>>0|i[r+2]<<16>>>0|i[r+3]<<24>>>0}function I2(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 b2(i,r){return i[r]}function S2(i,r,e){i[e]=r}function hx(i){return dx(i,r=>H.concat(r))}function gx(i){return fx(i)}function Bs(i){return _f(i,r=>H.concat(r))}async function vx(i){return i.ended?H.concat(i.buffer):H.concat([...i.buffer,await Bs(i.stream)])}function yx(i){return Ja(i,{data:r=>typeof r=="string"?H.fromString(r):H.wrap(r)},r=>H.concat(r))}function wx(i){return Bo(r=>H.concat(r),i)}function Ix({buffer:i}){let r="";for(let e=0;e<i.length;e++){let t=i[e];r+=mx[t>>>4],r+=mx[t&15]}return r}var Md,h2,jv,Gv,H,mx,ot=w(()=>{Ji();Ns();Md=typeof Buffer<"u",h2=new fr(()=>new Uint8Array(256)),H=class i{static alloc(r){return Md?new i(Buffer.allocUnsafe(r)):new i(new Uint8Array(r))}static wrap(r){return Md&&!Buffer.isBuffer(r)&&(r=Buffer.from(r.buffer,r.byteOffset,r.byteLength)),new i(r)}static fromString(r,e){return!(e?.dontUseNodeBuffer||!1)&&Md?new i(Buffer.from(r)):(jv||(jv=new TextEncoder),new i(jv.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 Md&&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 Md?this.buffer.toString():(Gv||(Gv=new TextDecoder(void 0,{ignoreBOM:!0})),Gv.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 v2(this.buffer,r)}writeUInt32BE(r,e){y2(this.buffer,r,e)}readUInt32LE(r){return w2(this.buffer,r)}writeUInt32LE(r,e){I2(this.buffer,r,e)}readUInt8(r){return b2(this.buffer,r)}writeUInt8(r,e){S2(this.buffer,r,e)}indexOf(r,e=0){return g2(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])}};mx="0123456789abcdef"});var bx=w(()=>{Me();$();Tt()});function ue(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 Vo=w(()=>{bx()});function Sx(i){return JSON.stringify(i,x2)}function xx(i){let r=JSON.parse(i);return r=ei(r),r}function x2(i,r){return r instanceof RegExp?{$mid:2,source:r.source,flags:r.flags}:r}function ei(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]=ei(i[e],r+1);else for(let e in i)Object.hasOwnProperty.call(i,e)&&(i[e]=ei(i[e],r+1))}return i}var Od=w(()=>{ot();le();nf()});function Ya(i){switch(i){case 100:return"req";case 101:return"cancel";case 102:return"subscribe";case 103:return"unsubscribe"}}function kf(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 Xa(i,r){if(r===0){i.write(P2);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 Ho(i){let r=H.alloc(1);return r.writeUInt8(i,0),r}function Za(i,r){if(typeof r>"u")i.write(Vs.Undefined);else if(typeof r=="string"){let e=H.fromString(r);i.write(Vs.String),Xa(i,e.byteLength),i.write(e)}else if(H.isNativeBuffer(r)){let e=H.wrap(r);i.write(Vs.Buffer),Xa(i,e.byteLength),i.write(e)}else if(r instanceof H)i.write(Vs.VSBuffer),Xa(i,r.byteLength),i.write(r);else if(Array.isArray(r)){i.write(Vs.Array),Xa(i,r.length);for(let e of r)Za(i,e)}else if(typeof r=="number"&&(r|0)===r)i.write(Vs.Uint),Xa(i,r);else{let e=H.fromString(JSON.stringify(r));i.write(Vs.Object),Xa(i,e.byteLength),i.write(e)}}function el(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(el(i));return t}case 5:return JSON.parse(i.read(Qa(i)).toString());case 6:return Qa(i)}}function Nd(i){return{call(r,e,t){return i.then(n=>n.call(r,e,t))},listen(r,e){let t=new md;return i.then(n=>t.input=n.listen(r,e)),t.event}}}function Px(i){let r=!1;return{call(e,t,n){return r?i.call(e,t,n):ut(0).then(()=>r=!0).then(()=>i.call(e,t,n))},listen(e,t){if(r)return i.listen(e,t);let n=new md;return ut(0).then(()=>r=!0).then(()=>n.input=i.listen(e,t)),n.event}}}var P2,Fd,Wd,Vs,Ud,Hs,tl,rl,Rf,nt,Pi=w(()=>{Yt();ge();ot();Tt();Vo();He();j();_a();$();Od();Zt();Me();P2=Ho(0);Fd=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}},Wd=class{constructor(){this.buffers=[]}get buffer(){return H.concat(this.buffers)}write(r){this.buffers.push(r)}};Vs={Undefined:Ho(0),String:Ho(1),Buffer:Ho(2),VSBuffer:Ho(3),Array:Ho(4),Object:Ho(5),Uint:Ho(6)};Ud=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,kf(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,kf(r.type),r.data);return}}}send(r,e=void 0){let t=new Wd;return Za(t,r),Za(t,e),this.sendBuffer(t.buffer)}sendBuffer(r){try{return this.protocol.send(r),r.byteLength}catch{return 0}}onRawMessage(r){let e=new Fd(r),t=el(e),n=el(e),o=t[0];switch(o){case 100:return this.logger?.logIncoming(r.byteLength,t[1],1,`${Ya(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,`${Ya(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,`${Ya(o)}`),this.disposeActiveRequest({type:o,id:t[1]});case 103:return this.logger?.logIncoming(r.byteLength,t[1],1,`${Ya(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 Je,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=z(()=>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),ht(this.activeRequests.values()),this.activeRequests.clear()}},Hs=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 Et):e.requestPromise(r,t,n,o)},listen(t,n){return e.isDisposed?x.None:e.requestEvent(r,t,n)}}}requestPromise(r,e,t,n=Te.None){let o=this.lastRequestId++,a={id:o,type:100,channelName:r,name:e,arg:t};if(n.isCancellationRequested)return Promise.reject(new Et);let l,c;return new Promise((u,f)=>{if(n.isCancellationRequested)return f(new Et);let m=()=>{let S=I=>{switch(I.type){case 201:this.handlers.delete(o),u(I.data);break;case 202:{this.handlers.delete(o);let T=new Error(I.data.message);T.stack=Array.isArray(I.data.stack)?I.data.stack.join(`
`):I.data.stack,T.name=I.data.name,f(T);break}case 203:this.handlers.delete(o),f(I.data);break}};this.handlers.set(o,S),this.sendRequest(a)},y=null;this.state===1?m():(y=Xn(S=>this.whenInitialized()),y.then(()=>{y=null,m()}));let v=()=>{y?(y.cancel(),y=null):this.sendRequest({id:o,type:101}),f(new Et)};l=n.onCancellationRequested(v),c={dispose:Gi(()=>{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=Xn(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,`${Ya(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,Ya(r.type));return}}}send(r,e=void 0){let t=new Wd;return Za(t,r),Za(t,e),this.sendBuffer(t.buffer)}sendBuffer(r){try{return this.protocol.send(r),r.byteLength}catch{return 0}}onBuffer(r){let e=new Fd(r),t=el(e),n=el(e),o=t[0];switch(o){case 200:return this.logger?.logIncoming(r.byteLength,0,0,kf(o)),this.onResponse({type:t[0]});case 201:case 202:case 204:case 203:return this.logger?.logIncoming(r.byteLength,t[1],0,kf(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 x.toPromise(this.onDidInitialize)}whenInitialized(){return this.state===1?Promise.resolve():this.onDidInitializePromise}dispose(){this.isDisposed=!0,this.protocolListener&&(this.protocolListener.dispose(),this.protocolListener=null),ht(this.activeRequests.values()),this.activeRequests.clear(),this._onDidInitialize.dispose()}};C([ue],Hs.prototype,"onDidInitializePromise",1);tl=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 Q;this.disposables.add(r(({protocol:n,onDidClientDisconnect:o})=>{let s=x.once(n.onMessage),a=new Q,l=s(c=>{let d=new Fd(c),u=el(d),f=new Ud(n,u,e,t),m=new Hs(n,e);this.channels.forEach((v,S)=>f.registerChannel(S,v));let y={channelServer:f,channelClient:m,ctx:u};this._connections.add(y),this._onDidAddConnection.fire(y),a.add(o(()=>{f.dispose(),m.dispose(),this._connections.delete(y),this._onDidRemoveConnection.fire(y),this.disposables.delete(a),a.dispose()}))});a.add(l),this.disposables.add(a)}))}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(dd(e)){let c=RS(t.connections.filter(e));a=c?Promise.resolve(c):x.toPromise(x.filter(t.onDidAddConnection,e))}else a=e.routeCall(t,n,o);let l=a.then(c=>c.channelClient.getChannel(r));return Nd(l).call(n,o,s)},listen(n,o){if(dd(e))return t.getMulticastEvent(r,e,n,o);let s=e.routeEvent(t,n,o).then(a=>a.channelClient.getChannel(r));return Nd(s).listen(n,o)}}}getMulticastEvent(r,e,t,n){let o=this,s,a=new b({onWillAddFirstListener:()=>{s=new Q;let l=new Qp,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),x.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()}},rl=class{constructor(r,e,t=null){let n=new Wd;Za(n,e),r.send(n.buffer),this.channelClient=new Hs(r,t),this.channelServer=new Ud(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()}};Rf=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 x.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,x.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,x.buffer(l[f],f,!0,void 0,s)),d.get(f)}throw new sn(`Event not found: ${f}`)}call(u,f,m){let y=l[f];if(typeof y=="function"){if(!c&&Array.isArray(m))for(let S=0;S<m.length;S++)m[S]=ei(m[S]);let v=y.apply(l,m);return v instanceof Promise||(v=Promise.resolve(v)),v}throw new sn(`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&&!Kt(s.context)?u=[s.context,...d]:u=d;let f=await o.call(c,u);return a?f:ei(f)};throw new sn(`Property not found: ${String(c)}`)}})}n.toService=r;function e(o){return o[0]==="o"&&o[1]==="n"&&bv(o.charCodeAt(2))}function t(o){return/^onDynamic/.test(o)&&bv(o.charCodeAt(9))}})(nt||={})});function Ex(i){return E2.test(i)}var E2,ke,tr=w(()=>{E2=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;ke=(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 $o(){return Jv||(Jv=H.alloc(0)),Jv}function Cx(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 Zv,Jv,Bd,In,Vd,Hd,$d,Kd,$s,Qv,Xv,Yv,Df,ey=w(()=>{ot();j();$();Pi();(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})(Zv||={});Jv=null;Bd=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 $o();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}};In=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}},Vd=class extends _{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 Bd,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:Cx(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 In(n,o,s,t)),this._isDisposed)break}}}readEntireBuffer(){return this._incomingData.read(this._incomingData.byteLength)}dispose(){this._isDisposed=!0,super.dispose()}},Hd=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:Cx(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)}},$d=class extends _{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 Hd(this._socket)),this._socketReader=this._register(new Vd(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 In(1,0,0,e))}},Kd=class i extends rl{constructor(e,t,n=null){super(e,t,n);this.protocol=e}static fromSocket(e,t){return new i(new $d(e),t)}get onDidDispose(){return this.protocol.onDidDispose}dispose(){super.dispose();let e=this.protocol.getSocket();this.protocol.sendDisconnect(),this.protocol.dispose(),e.end()}},$s=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=[]}},Qv=class{constructor(r){this.data=r,this.next=null}},Xv=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 Qv(r);if(!this._first){this._first=e,this._last=e;return}this._last.next=e,this._last=e}},Yv=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}},Df=class{constructor(r){this._onControlMessage=new $s;this.onControlMessage=this._onControlMessage.event;this._onMessage=new $s;this.onMessage=this._onMessage.event;this._onDidDispose=new $s;this.onDidDispose=this._onDidDispose.event;this._onSocketClose=new $s;this.onSocketClose=this._onSocketClose.event;this._onSocketTimeout=new $s;this.onSocketTimeout=this._onSocketTimeout.event;this._loadEstimator=r.loadEstimator??Yv.getInstance(),this._shouldSendKeepAlive=r.sendKeepAlive??!0,this._isReconnecting=!1,this._outgoingUnackMsg=new Xv,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 Q,this._socket=r.socket,this._socketWriter=this._socketDisposables.add(new Hd(this._socket)),this._socketReader=this._socketDisposables.add(new Vd(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 In(5,0,0,$o());this._socketWriter.write(r),this._socketWriter.flush()}}sendPause(){let r=new In(7,0,0,$o());this._socketWriter.write(r)}sendResume(){let r=new In(8,0,0,$o());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 Q,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 Hd(this._socket)),this._socketReader=this._socketDisposables.add(new Vd(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 In(3,0,this._incomingAckId,$o());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 In(6,0,0,$o())))}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 In(1,e,this._incomingAckId,r);this._outgoingUnackMsg.push(t),this._isReconnecting||(this._socketWriter.write(t),this._recvAckCheck())}sendControl(r){let e=new In(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({reason:"unacknowledgedMessage",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)}_keepAliveTimeoutCheck(){if(this._isReconnecting)return;let r=Date.now(),e=r-this._socketReader.lastReadTime,t=r-this._lastSocketTimeoutTime;if(e>=2e4&&t>=2e4&&!this._loadEstimator.hasHighLoad()){this._lastSocketTimeoutTime=r;let n=this._outgoingUnackMsg.length(),o=this._outgoingUnackMsg.peek();this._onSocketTimeout.fire({reason:"keepAlive",unacknowledgedMsgCount:n,timeSinceOldestUnacknowledgedMsg:o?r-o.writtenTime:void 0,timeSinceLastReceivedSomeData:e})}}_sendAck(){if(this._incomingMsgId<=this._incomingAckId)return;this._incomingAckId=this._incomingMsgId;let r=new In(3,0,this._incomingAckId,$o());this._socketWriter.write(r)}_sendKeepAlive(){this._incomingAckId=this._incomingMsgId;let r=new In(9,0,this._incomingAckId,$o());this._socketWriter.write(r),this._keepAliveTimeoutCheck()}}});import{createHash as _x}from"crypto";import{createConnection as Tx,createServer as _2}from"net";import{createDeflateRaw as k2,createInflateRaw as R2}from"zlib";function kx(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=_x("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 ty(new no(r,e),d,null,!0,o)}function A2(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 Rx(i,r,e){let n=_x("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"&&Af&&!process.env.VSCODE_PORTABLE?a=B(Af,`vscode-${n}-${o}-${s}.sock`):a=B(i,`${o}-${s}.sock`),M2(a),a}function M2(i){let r=L2[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 Dx(i){return new Promise((r,e)=>{let t=_2();t.on("error",e),t.listen(i,()=>{t.removeListener("error",e),r(new oy(t))})})}function Ax(i,r){return new Promise((e,t)=>{let n,o=()=>{n.removeListener("error",t),e(Kd.fromSocket(new no(n,`ipc-client${r}`),r))};typeof i=="string"?n=Tx(i,o):n=Tx(i,o),n.once("error",t)})}var D2,no,ty,ry,ny,iy,Af,L2,oy,qd=w(()=>{ot();He();j();$();Pe();Y();tr();Pi();ey();D2=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;ct(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(),D2)},this.socket.on("end",this._endListener)}traceSocketEvent(r,e){Zv.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;ct(e)}})}catch(e){if(e.code==="EPIPE")return;ct(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)})}},ty=class extends _{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 ry(this,t,n,o,this._onData,(a,l)=>this._write(a,l))),this._register(this._flowManager.onError(a=>{console.error(a),ct(a),this._onClose.fire({type:0,hadError:!0,error:a})})),this._incomingData=new Bd,this._register(this.socket.onData(a=>this._acceptChunk(a))),this._register(this.socket.onClose(async a=>{this._flowManager.isProcessingReadQueue()&&await x.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),A2(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 x.toPromise(this._flowManager.onDidFinishProcessingWriteQueue),await this.socket.drain(),this.traceSocketEvent("webSocketNodeSocketDrainEnd")}},ry=class extends _{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 ny(this._tracer,o,n,{windowBits:15})),this._zlibDeflateStream=this._register(new iy(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))})}},ny=class extends _{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=R2(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()}},iy=class extends _{constructor(e,t){super();this._tracer=e;this._onError=this._register(new b);this.onError=this._onError.event;this._pendingDeflateData=[];this._zlibDeflate=k2({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()}};Af=process.env.XDG_RUNTIME_DIR,L2={2:107,1:103};oy=class i extends tl{static toClientConnectionEvent(r){let e=x.fromNodeEventEmitter(r,"connection");return x.map(e,t=>({protocol:new $d(new no(t,"ipc-server-connection")),onDidClientDisconnect:x.once(x.fromNodeEventEmitter(t,"close"))}))}constructor(r){super(i.toClientConnectionEvent(r)),this.server=r}dispose(){super.dispose(),this.server&&(this.server.close(),this.server=null)}}});import zd from"electron";var ay,Xe,Ln=w(()=>{He();qe();ay=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),zd.ipcMain.on(r,t),this}once(r,e){return zd.ipcMain.once(r,(t,...n)=>{this.validateEvent(r,t)&&e(t,...n)}),this}handle(r,e){return zd.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 zd.ipcMain.removeHandler(r),this}removeListener(r,e){let t=this.mapListenerToWrapper.get(e);return t&&(zd.ipcMain.removeListener(r,t),this.mapListenerToWrapper.delete(e)),this}validateEvent(r,e){if(!r?.startsWith("vscode:"))return ct(`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 ct(`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!==Ba?(ct(`Refused to handle ipcMain event for channel '${r}' because of a bad origin of '${o}'.`),!1):t?.parent!==null?(ct(`Refused to handle ipcMain event for channel '${r}' because sender of origin '${o}' is not a main frame.`),!1):!0}},Xe=new ay});import*as jd from"os";async function Lf(){if(Ko)return;if(!W){Ko={release:jd.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{Ko={release:r||jd.release(),buildNumber:i||O2()}}}async function Lx(){return Ko||await Lf(),Ko.release}async function Mf(){return Ko||await Lf(),Ko.buildNumber}function Mx(){return Ko?.release??jd.release()}function O2(){let i=/(\d+)\.(\d+)\.(\d+)/g.exec(jd.release());return i&&i.length===4?parseInt(i[3],10):0}var Ko,nl=w(()=>{Y()});var Ox,Fx,Wx=w(()=>{Ox="vscode:contextmenu",Fx="vscode:onCloseContextMenu"});import{Menu as F2,MenuItem as ly}from"electron";function Ux(){Xe.on(Ox,(i,r,e,t,n)=>{let o=Nx(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(Fx,r)}})})}function Nx(i,r,e){let t=new F2;return e.forEach(n=>{let o;n.type==="separator"?o=new ly({type:n.type}):Array.isArray(n.submenu)?o=new ly({submenu:Nx(i,r,n.submenu),label:n.label}):o=new ly({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 Bx=w(()=>{Ln();Wx()});var Of,Vx=w(()=>{Of=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 Hx(i,r){let e=x.fromNodeEventEmitter(Xe,r,(n,o)=>({event:n,message:o})),t=x.filter(e,({event:n})=>n.sender.id===i);return x.map(t,({message:n})=>n&&H.wrap(n))}var Ff,$x=w(()=>{Ln();ot();j();$();Pi();Vx();Ff=class i extends tl{static{this.Clients=new Map}static getOnDidClientConnect(){let r=x.fromNodeEventEmitter(Xe,"vscode:hello",({sender:e})=>e);return x.map(r,e=>{let t=e.id;i.Clients.get(t)?.dispose();let o=new b,s=z(()=>{o.fire()});i.Clients.set(t,s);let a=Hx(t,"vscode:message"),l=x.any(x.signal(Hx(t,"vscode:disconnect")),o.event);return x.once(l)(()=>{i.Clients.get(t)===s&&i.Clients.delete(t),o.dispose()}),{protocol:new Of(e,a),onDidClientDisconnect:l}})}constructor(){super(i.getOnDidClientConnect())}}});var cy,Wf,Kx=w(()=>{ot();j();Pi();cy=class{constructor(r){this.port=r;this.onMessage=x.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()}},Wf=class extends rl{constructor(r,e){let t=new cy(r);super(t,e),this.protocol=t}dispose(){this.protocol.disconnect(),super.dispose()}}});var qo,Uf=w(()=>{Ln();j();tr();Kx();qo=class extends Wf{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 mr(i){return uy(i,0)}function uy(i,r){switch(typeof i){case"object":return i===null?io(349,r):Array.isArray(i)?U2(i,r):N2(i,r);case"string":return zx(i,r);case"boolean":return W2(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 W2(i,r){return io(i?433:863,r)}function zx(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 U2(i,r){return r=io(104579,r),i.reduce((e,t)=>uy(t,e),r)}function N2(i,r){return r=io(181387,r),Object.keys(i).sort().reduce((e,t)=>(e=zx(t,e),uy(i[t],e)),r)}function dy(i,r,e=32){let t=e-r,n=~((1<<t)-1);return(i<<r|(n&i)>>>t)>>>0}function Gd(i,r=32){return i instanceof ArrayBuffer?Ix(H.wrap(new Uint8Array(i))):(i>>>0).toString(16).padStart(r/4,"0")}var qx,Ei=w(()=>{ot();Zt();qx=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(a1(s))if(a+1<e){let c=r.charCodeAt(a+1);Sv(c)?(a++,l=l1(s,c)):l=65533}else{o=s;break}else Sv(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()),Gd(this._h0)+Gd(this._h1)+Gd(this._h2)+Gd(this._h3)+Gd(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,dy(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=dy(t,5)+l+a+c+r.getUint32(u*4,!1)&4294967295,a=s,s=o,o=dy(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 A7,Jd,Nf=w(()=>{te();A7=M("encryptionService"),Jd=M("encryptionMainService")});var bn,br,dn=w(()=>{te();bn=M("environmentService"),br=bn});function jx(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 B2,V2,fy,N7,B7,V7,Gx=w(()=>{be();Ji();Y();B2=60,V2=B2*60,fy=V2*24,N7=fy*7,B7=fy*30,V7=fy*365});function H2(i,r){return Qd(i["inspect-extensions"],i["inspect-brk-extensions"],5870,r,i.debugId,i.extensionEnvironment)}function Qd(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 Jx,Ve,Qx=w(()=>{Gx();Vo();qe();Pe();kn();It();le();Jx=/^([^.]+\..+)[:=](.+)$/,Ve=class{constructor(r,e,t){this._args=r;this.paths=e;this.productService=t}get appRoot(){return tt(lt.asFileUri("").fsPath)}get userHome(){return P.file(this.paths.homeDir)}get userDataPath(){return this.paths.userDataDir}get appSettingsHome(){return P.file(B(this.userDataPath,"User"))}get tmpDir(){return P.file(this.paths.tmpDir)}get cacheHome(){return P.file(this.userDataPath)}get stateResource(){return ce(this.appSettingsHome,"globalStorage","storage.json")}get userRoamingDataHome(){return this.appSettingsHome.with({scheme:U.vscodeUserData})}get userDataSyncHome(){return ce(this.appSettingsHome,"sync")}get logsHome(){if(!this.args.logsPath){let r=jx(new Date).replace(/-|:|\.\d+Z$/g,"");this.args.logsPath=B(this.userDataPath,"logs",r)}return P.file(this.args.logsPath)}get sync(){return this.args.sync}get workspaceStorageHome(){return ce(this.appSettingsHome,"workspaceStorage")}get localHistoryHome(){return ce(this.appSettingsHome,"History")}get keyboardLayoutResource(){return ce(this.userRoamingDataHome,"keyboardLayout.json")}get argvResource(){let r=Vt.VSCODE_PORTABLE;return r?P.file(B(r,"argv.json")):ce(this.userHome,this.productService.dataFolderName,"argv.json")}get isExtensionDevelopment(){return!!this.args.extensionDevelopmentPath}get untitledWorkspacesHome(){return P.file(B(this.userDataPath,"Workspaces"))}get builtinExtensionsPath(){let r=this.args["builtin-extensions-dir"];return r?_r(r):Dt(B(lt.asFileUri("").fsPath,"..","extensions"))}get extensionsDownloadLocation(){let r=this.args["extensions-download-dir"];return r?P.file(_r(r)):P.file(B(this.userDataPath,"CachedExtensionVSIXs"))}get extensionsPath(){let r=this.args["extensions-dir"];if(r)return _r(r);let e=Vt.VSCODE_EXTENSIONS;if(e)return e;let t=Vt.VSCODE_PORTABLE;return t?B(t,"extensions"):ce(this.userHome,this.productService.dataFolderName,"extensions").fsPath}get appSharedDataHome(){let r=this.args["shared-data-dir"];if(r)return P.file(_r(r));let e=Vt.VSCODE_PORTABLE;return e?P.file(B(e,"shared-data")):ce(this.userHome,this.productService.sharedDataFolderName)}get extensionDevelopmentLocationURI(){let r=this.args.extensionDevelopmentPath;if(Array.isArray(r))return r.map(e=>/^[^:/?#]+?:\/\//.test(e)?P.parse(e):P.file(Dt(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(Dt(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=Vt.VSCODE_SKIP_BUILTIN_EXTENSIONS;return r?r.split(",").map(e=>e.trim()).filter(e=>e):[]}get debugExtensionHost(){return H2(this.args,this.isBuilt)}get debugRenderer(){return!!this.args.debugRenderer}get isBuilt(){return!Vt.VSCODE_DEV}get verbose(){return!!this.args.verbose}get logLevel(){return this.args.log?.find(r=>!Jx.test(r))}get extensionLogLevel(){let r=[];for(let e of this.args.log||[]){let t=Jx.exec(e);t?.[1]&&t[2]&&r.push([t[1],t[2]])}return r.length?r:void 0}get serviceMachineIdResource(){return ce(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=Vt.VSCODE_PORTABLE;return r?P.file(B(r,"policy.json")):ce(this.userHome,this.productService.dataFolderName,"policy.json")}}get agentSessionsWorkspace(){return ce(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}};C([ue],Ve.prototype,"appRoot",1),C([ue],Ve.prototype,"userHome",1),C([ue],Ve.prototype,"userDataPath",1),C([ue],Ve.prototype,"appSettingsHome",1),C([ue],Ve.prototype,"tmpDir",1),C([ue],Ve.prototype,"cacheHome",1),C([ue],Ve.prototype,"stateResource",1),C([ue],Ve.prototype,"userRoamingDataHome",1),C([ue],Ve.prototype,"userDataSyncHome",1),C([ue],Ve.prototype,"sync",1),C([ue],Ve.prototype,"workspaceStorageHome",1),C([ue],Ve.prototype,"localHistoryHome",1),C([ue],Ve.prototype,"keyboardLayoutResource",1),C([ue],Ve.prototype,"argvResource",1),C([ue],Ve.prototype,"isExtensionDevelopment",1),C([ue],Ve.prototype,"untitledWorkspacesHome",1),C([ue],Ve.prototype,"builtinExtensionsPath",1),C([ue],Ve.prototype,"extensionsDownloadLocation",1),C([ue],Ve.prototype,"extensionsPath",1),C([ue],Ve.prototype,"appSharedDataHome",1),C([ue],Ve.prototype,"extensionDevelopmentLocationURI",1),C([ue],Ve.prototype,"extensionDevelopmentKind",1),C([ue],Ve.prototype,"extensionTestsLocationURI",1),C([ue],Ve.prototype,"debugExtensionHost",1),C([ue],Ve.prototype,"logLevel",1),C([ue],Ve.prototype,"extensionLogLevel",1),C([ue],Ve.prototype,"serviceMachineIdResource",1),C([ue],Ve.prototype,"disableTelemetry",1),C([ue],Ve.prototype,"disableExperiments",1),C([ue],Ve.prototype,"disableWorkspaceTrust",1),C([ue],Ve.prototype,"useInMemorySecretStorage",1),C([ue],Ve.prototype,"policyFile",1),C([ue],Ve.prototype,"agentSessionsWorkspace",1)});import{homedir as $2,tmpdir as K2}from"os";function Xx(i,r){return Qd(i["inspect-ptyhost"],i["inspect-brk-ptyhost"],5877,r,i.extensionEnvironment)}function Yx(i,r){return Qd(i["inspect-agenthost"],i["inspect-brk-agenthost"],5878,r,i.extensionEnvironment)}function Zx(i,r){return Qd(i["inspect-sharedprocess"],i["inspect-brk-sharedprocess"],5879,r,i.extensionEnvironment)}var Bf,Xd=w(()=>{Qx();Qg();Bf=class extends Ve{constructor(r,e){let t=$2();super(r,{homeDir:t,tmpDir:K2(),userDataDir:Tp(r,e.nameShort)},e)}}});var _e,Sn,Wt=w(()=>{Vo();Pe();Y();qd();dn();Xd();te();_e=bn,Sn=class extends Bf{constructor(){super(...arguments);this._snapEnv={}}get backupHome(){return B(this.userDataPath,"Backups")}get mainIPCHandle(){return Rx(this.userDataPath,"main",this.productService.version)}get mainLockfile(){return B(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(re){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(re)for(let e in this._snapEnv)process.env[e]=this._snapEnv[e],delete this._snapEnv[e]}};C([ue],Sn.prototype,"backupHome",1),C([ue],Sn.prototype,"mainIPCHandle",1),C([ue],Sn.prototype,"mainLockfile",1),C([ue],Sn.prototype,"disableUpdates",1),C([ue],Sn.prototype,"isPortable",1),C([ue],Sn.prototype,"crossOriginIsolated",1),C([ue],Sn.prototype,"enableRDPDisplayTracking",1),C([ue],Sn.prototype,"codeCachePath",1),C([ue],Sn.prototype,"useCodeCache",1)});function my(...i){switch(i.length){case 1:return h(2212,null,i[0]);case 2:return h(2213,null,i[0],i[1]);case 3:return h(2214,null,i[0],i[1],i[2]);default:return}}var q2,z2,zo,eP=w(()=>{Gn();He();be();q2=h(2211,null),z2=h(2210,null),zo=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 $p(`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(my("==","=~"));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(my("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(my("||"));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(q2);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(z2);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 Yd(i,r){return i.cmp(r)}function qf(i,r){if(typeof i=="string"){let e=parseFloat(i);isNaN(e)||(i=e)}return typeof i=="string"||typeof i=="number"?r(i):Ar.INSTANCE}function nP(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 iP(i,r){return i<r?-1:i>r?1:0}function zs(i,r,e,t){return i<e?-1:i>e?1:r<t?-1:r>t?1:0}function rP(i){return i.type===9?i.expr:[i]}var hr,j2,G2,J2,Q2,X2,tP,Y2,Z2,eA,tA,hy,Sr,Ar,Nr,Ks,Zd,Vf,Hf,eu,qs,il,tu,ru,nu,iu,gy,$f,ou,Kf,T9,oP=w(()=>{Gn();Y();Zt();eP();te();be();He();hr=new Map;hr.set("false",!1);hr.set("true",!0);hr.set("isMac",V);hr.set("isLinux",re);hr.set("isWindows",W);hr.set("isWeb",Xt);hr.set("isMacNative",V&&!Xt);hr.set("isEdge",fS);hr.set("isFirefox",uS);hr.set("isChrome",tv);hr.set("isSafari",pS);j2=Object.prototype.hasOwnProperty,G2={regexParsingWithErrorRecovery:!0},J2=h(2191,null),Q2=h(2192,null),X2=h(2194,null),tP=h(2190,null),Y2=h(2197,null),Z2=h(2198,null),eA=h(2195,null),tA=h(2196,null),hy=class i{constructor(r=G2){this._config=r;this._scanner=new zo;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:J2,offset:0,lexeme:"",additionalInfo:Q2});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?Z2:void 0;throw this._parsingErrors.push({message:Y2,offset:t.offset,lexeme:zo.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]:Sr.or(...r)}_and(){let r=[this._term()];for(;this._matchOne(15);){let e=this._term();r.push(e)}return r.length===1?r[0]:Sr.and(...r)}_term(){if(this._matchOne(2)){let r=this._peek();switch(r.type){case 11:return this._advance(),Ar.INSTANCE;case 12:return this._advance(),Nr.INSTANCE;case 0:{this._advance();let e=this._expr();return this._consume(1,tP),e?.negate()}case 17:return this._advance(),qs.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(),Sr.true();case 12:return this._advance(),Sr.false();case 0:{this._advance();let e=this._expr();return this._consume(1,tP),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 iu.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(zo.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 Sr.regex(e,u)}case 18:{let o=n.lexeme;this._advance();let s=null;if(!i1(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 iu.create(e,s)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,X2);let n=this._value();return Sr.notIn(e,n)}switch(this._peek().type){case 3:{this._advance();let n=this._value();if(this._previous().type===18)return Sr.equals(e,n);switch(n){case"true":return Sr.has(e);case"false":return Sr.not(e);default:return Sr.equals(e,n)}}case 4:{this._advance();let n=this._value();if(this._previous().type===18)return Sr.notEquals(e,n);switch(n){case"true":return Sr.not(e);case"false":return Sr.has(e);default:return Sr.notEquals(e,n)}}case 5:return this._advance(),ru.create(e,this._value());case 6:return this._advance(),nu.create(e,this._value());case 7:return this._advance(),il.create(e,this._value());case 8:return this._advance(),tu.create(e,this._value());case 13:return this._advance(),Sr.in(e,this._value());default:return Sr.has(e)}}case 20:throw this._parsingErrors.push({message:eA,offset:r.offset,lexeme:"",additionalInfo:tA}),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(2193,null,r,zo.getLexeme(e)),o=e.offset,s=zo.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}},Sr=class{static false(){return Ar.INSTANCE}static true(){return Nr.INSTANCE}static has(r){return Ks.create(r)}static equals(r,e){return Zd.create(r,e)}static notEquals(r,e){return eu.create(r,e)}static regex(r,e){return iu.create(r,e)}static in(r,e){return Vf.create(r,e)}static notIn(r,e){return Hf.create(r,e)}static not(r){return qs.create(r)}static and(...r){return $f.create(r,null,!0)}static or(...r){return ou.create(r,null,!0)}static greater(r,e){return il.create(r,e)}static greaterEquals(r,e){return tu.create(r,e)}static smaller(r,e){return ru.create(r,e)}static smallerEquals(r,e){return nu.create(r,e)}static{this._parser=new hy({regexParsingWithErrorRecovery:!1})}static deserialize(r){return r==null?void 0:this._parser.parse(r)}};Ar=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 Nr.INSTANCE}},Nr=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 Ar.INSTANCE}},Ks=class i{constructor(r,e){this.key=r;this.negated=e;this.type=2}static create(r,e=null){let t=hr.get(r);return typeof t=="boolean"?t?Nr.INSTANCE:Ar.INSTANCE:new i(r,e)}cmp(r){return r.type!==this.type?this.type-r.type:iP(this.key,r.key)}equals(r){return r.type===this.type?this.key===r.key:!1}substituteConstants(){let r=hr.get(this.key);return typeof r=="boolean"?r?Nr.INSTANCE:Ar.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=qs.create(this.key,this)),this.negated}},Zd=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?Ks.create(r,t):qs.create(r,t);let n=hr.get(r);return typeof n=="boolean"?e===(n?"true":"false")?Nr.INSTANCE:Ar.INSTANCE:new i(r,e,t)}cmp(r){return r.type!==this.type?this.type-r.type:zs(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=hr.get(this.key);if(typeof r=="boolean"){let e=r?"true":"false";return this.value===e?Nr.INSTANCE:Ar.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=eu.create(this.key,this.value,this)),this.negated}},Vf=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:zs(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(W&&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(j2.call(e,t))return!0;if(W&&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=Hf.create(this.key,this.valueKey)),this.negated}},Hf=class i{constructor(r,e){this.key=r;this.valueKey=e;this.type=11;this._negated=Vf.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}},eu=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?qs.create(r,t):Ks.create(r,t);let n=hr.get(r);return typeof n=="boolean"?e===(n?"true":"false")?Ar.INSTANCE:Nr.INSTANCE:new i(r,e,t)}cmp(r){return r.type!==this.type?this.type-r.type:zs(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=hr.get(this.key);if(typeof r=="boolean"){let e=r?"true":"false";return this.value===e?Ar.INSTANCE:Nr.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=Zd.create(this.key,this.value,this)),this.negated}},qs=class i{constructor(r,e){this.key=r;this.negated=e;this.type=3}static create(r,e=null){let t=hr.get(r);return typeof t=="boolean"?t?Ar.INSTANCE:Nr.INSTANCE:new i(r,e)}cmp(r){return r.type!==this.type?this.type-r.type:iP(this.key,r.key)}equals(r){return r.type===this.type?this.key===r.key:!1}substituteConstants(){let r=hr.get(this.key);return typeof r=="boolean"?r?Ar.INSTANCE:Nr.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=Ks.create(this.key,this)),this.negated}};il=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 qf(e,n=>new i(r,n,t))}cmp(r){return r.type!==this.type?this.type-r.type:zs(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=nu.create(this.key,this.value,this)),this.negated}},tu=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 qf(e,n=>new i(r,n,t))}cmp(r){return r.type!==this.type?this.type-r.type:zs(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=ru.create(this.key,this.value,this)),this.negated}},ru=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 qf(e,n=>new i(r,n,t))}cmp(r){return r.type!==this.type?this.type-r.type:zs(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=tu.create(this.key,this.value,this)),this.negated}},nu=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 qf(e,n=>new i(r,n,t))}cmp(r){return r.type!==this.type?this.type-r.type:zs(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=il.create(this.key,this.value,this)),this.negated}},iu=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=gy.create(this)),this.negated}},gy=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}};$f=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=Yd(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=nP(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 Ar.INSTANCE;if(s.type===6){n.push(...s.expr);continue}n.push(s)}if(n.length===0&&o)return Nr.INSTANCE;if(n.length!==0){if(n.length===1)return n[0];n.sort(Yd);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=ou.create(s.expr.map(d=>i.create([d,a],null,t)),null,l);c&&(n.push(c),n.sort(Yd))}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 Ar.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=ou.create(r,this,!0)}return this.negated}},ou=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=Yd(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=nP(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 Nr.INSTANCE;if(l.type===9){n=n.concat(l.expr);continue}n.push(l)}}if(n.length===0&&o)return Ar.INSTANCE;n.sort(Yd)}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 Nr.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 rP(e))for(let s of rP(t))n.push($f.create([o,s],null,!1));r.unshift(i.create(n,null,!1))}this.negated=i.create(r,this,!0)}return this.negated}},Kf=class i extends Ks{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 Zd.create(this.key,r)}notEqualsTo(r){return eu.create(this.key,r)}greater(r){return il.create(this.key,r)}},T9=M("contextKeyService")});function Ci(){return new Date().toISOString()}function cu(i){return jn(i)}function rA(i,r){return i!==0&&i<=r}function ol(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 nA(i){switch(i){case"debug":return console.debug;case"error":return console.error;case"info":return console.info;case"log":return console.log;case"warn":return console.warn}}function su(i,r){switch(i){case"debug":console.debug=r;break;case"error":console.error=r;break;case"info":console.info=r;break;case"log":console.log=r;break;case"warn":console.warn=r;break}}function Ti(i,...r){if(!vy){yy=!0;try{nA(i).apply(console,r)}finally{yy=!1}}}function aP(i){let r={debug:console.debug,error:console.error,info:console.info,log:console.log,warn:console.warn},e=(n,o,s)=>{if(!yy){vy=!0;try{ol(i,o,js(s))}catch{}finally{vy=!1}}r[n].apply(console,s)},t={debug:(...n)=>e("debug",2,n),error:(...n)=>e("error",5,n),info:(...n)=>e("info",3,n),log:(...n)=>e("log",3,n),warn:(...n)=>e("warn",4,n)};return su("debug",t.debug),su("error",t.error),su("info",t.info),su("log",t.log),su("warn",t.warn),z(()=>{console.debug===t.debug&&(console.debug=r.debug),console.error===t.error&&(console.error=r.error),console.info===t.info&&(console.info=r.info),console.log===t.log&&(console.log=r.log),console.warn===t.warn&&(console.warn=r.warn)})}function js(i,r=!1){let e="";for(let t=0;t<i.length;t++){let n=i[t];if(n instanceof Error&&(n=Dr(n,r)),typeof n=="object")try{n=JSON.stringify(n)}catch{}e+=(t>0?" ":"")+n}return e}function lP(i){if(i.verbose)return 1;if(typeof i.logLevel=="string"){let r=oA(i.logLevel.toLowerCase());if(r!==void 0)return r}return du}function iA(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 oA(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 N,un,du,sP,vy,yy,au,Gs,zf,jf,lu,wy,Gf,$9,ne=w(()=>{be();No();j();Ei();$();kr();Y();It();Me();le();oP();te();N=M("logService"),un=M("loggerService");du=3;sP=!1,vy=!1,yy=!1;au=class extends _{constructor(){super(...arguments);this.level=du;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 rA(this.level,e)}canLog(e){return this._store.isDisposed?!1:this.checkLogLevel(e)}},Gs=class extends au{constructor(e){super();this.logAlways=e}checkLogLevel(e){return this.logAlways||super.checkLogLevel(e)}trace(e,...t){this.canLog(1)&&this.log(1,js([e,...t],!0))}debug(e,...t){this.canLog(2)&&this.log(2,js([e,...t]))}info(e,...t){this.canLog(3)&&this.log(3,js([e,...t]))}warn(e,...t){this.canLog(4)&&this.log(4,js([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,js(n))}else this.log(5,js([e,...t]))}flush(){}},zf=class extends au{constructor(r=du){super(),this.setLevel(r),this.useColors=!W}trace(r,...e){this.canLog(1)&&(this.useColors?Ti("log",`\x1B[90m[main ${Ci()}]\x1B[0m`,r,...e):Ti("log",`[main ${Ci()}]`,r,...e))}debug(r,...e){this.canLog(2)&&(this.useColors?Ti("log",`\x1B[90m[main ${Ci()}]\x1B[0m`,r,...e):Ti("log",`[main ${Ci()}]`,r,...e))}info(r,...e){this.canLog(3)&&(this.useColors?Ti("log",`\x1B[90m[main ${Ci()}]\x1B[0m`,r,...e):Ti("log",`[main ${Ci()}]`,r,...e))}warn(r,...e){this.canLog(4)&&(this.useColors?Ti("warn",`\x1B[93m[main ${Ci()}]\x1B[0m`,r,...e):Ti("warn",`[main ${Ci()}]`,r,...e))}error(r,...e){this.canLog(5)&&(this.useColors?Ti("error",`\x1B[91m[main ${Ci()}]\x1B[0m`,r,...e):Ti("error",`[main ${Ci()}]`,r,...e))}flush(){}},jf=class extends au{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()}},lu=class extends _{constructor(e,t,n){super();this.logLevel=e;this.logsHome=t;this._loggers=new yt;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??mr(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)?ce(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()}},wy=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(){}},Gf=class extends wy{};$9=new Kf("logLevel",iA(3))});var oo,sl,cP,Jf,Iy=w(()=>{ge();j();$();Od();Me();oo=class i extends _{constructor(e,t=Object.create(null)){super();this.database=e;this.options=t;this._onDidChangeStorage=this._register(new Ls);this.onDidChangeStorage=this._onDidChangeStorage.event;this.state=0;this.cache=new Map;this.flushDelayer=this._register(new Rr(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;Kt(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 Kt(n)?t:n}getBoolean(e,t){let n=this.get(e);return Kt(n)?t:n==="true"}getNumber(e,t){let n=this.get(e);return Kt(n)?t:parseInt(n,10)}getObject(e,t){let n=this.get(e);return Kt(n)?t:xx(n)}async set(e,t,n=!1){if(this.state===2)return;if(Kt(t))return this.delete(e,n);let o=Ge(t)||Array.isArray(t)?Sx(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}},sl=class{constructor(){this.onDidChangeItemsExternal=x.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(){}},cP="__$__migratedStorageMarker",Jf=class i extends oo{constructor(){super(...arguments);this.migratedKeys=new Set;this.fallbackStorage=void 0;this.isFallbackStorageReadonly=!1}async init(){await super.init(),this.migratedKeys=this.loadMigratedKeys()}setFallbackStorage(e,t){this.fallbackStorage=e,this.isFallbackStorageReadonly=t}static{this.INTERNAL_KEY_PREFIX="__$__"}get(e,t){if(!e.startsWith(i.INTERNAL_KEY_PREFIX)&&!this.migratedKeys.has(e)&&Kr(super.get(e))){this.migratedKeys.add(e);let n=this.fallbackStorage?.items.get(e);Kr(n)||(this.set(e,n),this.isFallbackStorageReadonly||this.fallbackStorage?.delete(e),this.persistMigratedKeys())}return super.get(e,t)}loadMigratedKeys(){let e=super.get(cP);if(e)try{return new Set(JSON.parse(e))}catch{}return new Set}persistMigratedKeys(){this.set(cP,JSON.stringify([...this.migratedKeys]))}}});var by,Sy,Qf,xy,so,al,jr,Js=w(()=>{Yt();Da();Gn();Zt();by=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]}},Sy=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?Yp(r,this._value,0,r.length,this._from,this._to):Ms(r,this._value,0,r.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}},Qf=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?Yp(r,this._value,0,r.length,this._from,this._to):Ms(r,this._value,0,r.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}},xy=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 Qf(!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 gd(r,this._value.scheme);if(this._states[this._stateIdx]===2)return gd(r,this._value.authority);if(this._states[this._stateIdx]===3)return this._pathIterator.cmp(r);if(this._states[this._stateIdx]===4)return hd(r,this._value.query);if(this._states[this._stateIdx]===5)return hd(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}},al=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}},jr=class i{static forUris(r=()=>!1,e=()=>!1){return new i(new xy(r,e))}static forPaths(r=!1){return new i(new Qf(void 0,!r))}static forStrings(){return new i(new by)}static forConfigKeys(){return new i(new Sy)}constructor(r){this._iter=r}clear(){this._root=void 0}fill(r,e){if(e){let t=e.slice(0);lv(t);for(let n of t)this.set(n,r)}else{let t=r.slice(0);lv(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 al,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 al,n.left.segment=t.value()),o.push([-1,n]),n=n.left;else if(a<0)n.right||(n.right=new al,n.right.segment=t.value()),o.push([1,n]),n=n.right;else if(t.hasNext())t.next(),n.mid||(n.mid=new al,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:Ra(!1);case 1:Ra(!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 Qs(i){return i.create===!0}function xn(i){return!!(i.capabilities&2)}function dP(i){return!!(i.capabilities&524288)}function uu(i){return!!(i.capabilities&8)}function Yf(i){return!!(i.capabilities&131072)}function uP(i){return!!(i.capabilities&262144)}function lo(i){return!!(i.capabilities&4)}function Zf(i){return!!(i.capabilities&16)}function em(i){return xn(i)?!!(i.capabilities&16384):!1}function Py(i){return xn(i)?!!(i.capabilities&32768):!1}function pP(i){return!!(i.capabilities&65536)}function Gr(i,r){return ll.create(i,r)}function co(i){return i||Gr(h(2414,null),"Unknown")}function sA(i,r){return i.name=r?`${r} (FileSystemError)`:"FileSystemError",i}function pu(i){if(!i)return"Unknown";if(i instanceof ll)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 rr)return i.fileOperationResult;switch(pu(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 fP(i,r,e){return!i||!r||i===r||r.length>i.length?!1:(r.charAt(r.length-1)!==$t&&(r+=$t),e?Mo(i,r):i.indexOf(r)===0)}function Ey(i){if(!(typeof i.size!="number"||typeof i.mtime!="number"))return i.mtime.toString(29)+i.size.toString(31)}var Le,ll,ao,Xf,rr,cl,dl,tm,rm,_i,ze=w(()=>{Js();Pe();Zt();Me();le();be();te();Y();qe();Ji();Le=M("fileService");ll=class i extends Error{constructor(e,t){super(e);this.code=t}static create(e,t){let n=new i(e.toString(),t);return sA(n,t),n}};ao=class{constructor(r,e,t){this.resource=r;this.operation=e;this.target=t}isOperation(r){return this.operation===r}},Xf=class i{constructor(r,e){this.ignorePathCasing=e;this.correlationId=void 0;this.added=new fr(()=>{let r=jr.forUris(()=>this.ignorePathCasing);return r.fill(this.rawAdded.map(e=>[e,!0])),r});this.updated=new fr(()=>{let r=jr.forUris(()=>this.ignorePathCasing);return r.fill(this.rawUpdated.map(e=>[e,!0])),r});this.deleted=new fr(()=>{let r=jr.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"}};rr=class extends Error{constructor(e,t,n){super(e);this.fileOperationResult=t;this.options=n}},cl=class extends rr{constructor(e,t,n,o){super(e,t,o);this.fileOperationResult=t;this.size=n}},dl=class extends rr{constructor(e,t,n){super(e,2,n);this.stat=t}},tm={OFF:"off",ON_EXIT:"onExit",ON_EXIT_AND_WINDOW_CLOSE:"onExitAndWindowClose"},rm="";_i=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 jn(r)||(r=0),r<i.KB?h(2409,null,r.toFixed(0)):r<i.MB?h(2411,null,(r/i.KB).toFixed(2)):r<i.GB?h(2412,null,(r/i.MB).toFixed(2)):r<i.TB?h(2410,null,(r/i.GB).toFixed(2)):h(2413,null,(r/i.TB).toFixed(2))}}});function zt(i){let r=i;return typeof r?.id=="string"&&P.isUri(r.uri)}function jo(i,r){if(typeof i=="string"||typeof i>"u")return typeof i=="string"?{id:xe(i)}:r?aA:lA;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 ft(i){let r=i;return typeof r?.id=="string"&&P.isUri(r.configPath)}function mP(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 Ty(i,r){return Qe.isEqualOrParent(i,r.untitledWorkspacesHome)}function ki(i){return(typeof i=="string"?Ca(i):b1(i))===cA}var S8,aA,lA,nm,fu,cA,hP,Cy,Lr=w(()=>{be();Pe();Js();It();le();te();qe();S8=M("contextService");aA={id:"ext-dev"},lA={id:"empty-window"};nm=class{constructor(r,e){this.raw=e;this.uri=r.uri,this.index=r.index,this.name=r.name}toResource(r){return ce(this.uri,r)}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}},fu="code-workspace",cA=`.${fu}`,hP=[{name:h(3087,null),extensions:[fu]}],Cy="workspace.json"});var At,ti=w(()=>{te();At=M("IUriIdentityService")});function vP(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)&&P.isUri(r.languageModelsResource)&&P.isUri(r.agentPluginsHome))}function im(i,r,e,t,n,o){let s=i===Go;return{id:i,name:r,location:e,isDefault:!1,icon:n?.icon,globalStorageHome:o&&n?.useDefaultFlags?.globalState?o.globalStorageHome:ce(e,"globalStorage"),settingsResource:o&&n?.useDefaultFlags?.settings?o.settingsResource:ce(e,"settings.json"),keybindingsResource:o&&n?.useDefaultFlags?.keybindings?o.keybindingsResource:ce(e,"keybindings.json"),tasksResource:o&&n?.useDefaultFlags?.tasks?o.tasksResource:ce(e,"tasks.json"),snippetsHome:o&&n?.useDefaultFlags?.snippets?o.snippetsHome:ce(e,"snippets"),promptsHome:o&&n?.useDefaultFlags?.prompts?o.promptsHome:ce(e,"prompts"),extensionsResource:o&&n?.useDefaultFlags?.extensions?o.extensionsResource:ce(e,"extensions.json"),mcpResource:o&&n?.useDefaultFlags?.mcp?o.mcpResource:ce(e,"mcp.json"),languageModelsResource:o&&n?.useDefaultFlags?.languageModels?o.languageModelsResource:ce(e,"chatLanguageModels.json"),agentPluginsHome:o?o.agentPluginsHome:ce(e,"agent-plugins"),cacheHome:ce(t,i),useDefaultFlags:n?.useDefaultFlags,isTransient:n?.transient,isInternal:s||n?.transient,isAgentsWindowProfile:s,workspaces:n?.workspaces}}var Go,dA,Mr,gP,ul,ri=w(()=>{Ei();j();$();It();le();be();dn();ze();te();ne();Lr();ti();ge();tr();Zt();Me();Go="agents",dA={settings:!0,keybindings:!0,prompts:!0,mcp:!0,languageModels:!0,snippets:!0,tasks:!0,extensions:!0};Mr=M("IUserDataProfilesService");gP="builtin",ul=class extends _{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=ce(this.environmentService.userRoamingDataHome,"profiles"),this.profilesCacheHome=ce(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=zr(o.location);t.push(im(s,o.name,o.location,this.profilesCacheHome,{icon:o.icon,useDefaultFlags:s===Go?dA: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}createDefaultProfile(){let e=im("__default__profile__",h(3046,null),this.environmentService.userRoamingDataHome,this.profilesCacheHome);return{...e,extensionsResource:this.getDefaultProfileExtensionsLocation()??e.extensionsResource,isDefault:!0}}async createTransientProfile(e){let t="Temp",n=new RegExp(`${Lo(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(mr(ke()).toString(16),s,{transient:!0},e)}async createNamedProfile(e,t,n){return this.createProfile(mr(ke()).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||e!==Go&&!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=im(e,t,this.uriIdentityService.extUri.joinPath(this.profilesHome,...e===Go?[gP,e]:[e]),this.profilesCacheHome,e===Go?{}:n,this.defaultProfile);await this.fileService.createFolder(c.location);let d=[];return this._onWillCreateProfile.fire({profile:c,join(u){d.push(u)}}),await bt.settled(d),l&&!P.isUri(l)&&this.updateEmptyWindowAssociation(l,c,!!c.isTransient),this.updateProfiles([c],[],[]),this.profiles.find(u=>u.id===c.id)??c}finally{this.profileCreationPromises.delete(t)}})(),this.profileCreationPromises.set(t,s)),s}async updateProfile(e,t){if(e.isAgentsWindowProfile)throw new Error("Cannot update agents window profile");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=im(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=await this.fileService.resolve(this.profilesHome);await Promise.all((e.children||[]).filter(t=>t.isDirectory&&t.name!==gP&&this.profiles.every(n=>!this.uriIdentityService.extUri.isEqual(n.location,t.resource))).map(t=>this.fileService.del(t.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.uriIdentityService.extUri.isEqual(t,this.environmentService.agentSessionsWorkspace)?this.profiles.find(n=>n.isAgentsWindowProfile):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 zt(e)?e.uri:ft(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(){}};ul=C([g(0,bn),g(1,Le),g(2,At),g(3,N)],ul)});function am(i){let r=i.get(uo);if(r)try{return JSON.parse(r)}catch{}return Object.create(null)}function sm(i){return i.isDefault||!!i.useDefaultFlags?.globalState}async function pA(i,r,e,t,n,o,s,a){let l=k=>{try{return JSON.parse(k)}catch{return k}},c=new Map,d=new Map;i.forEach((k,A)=>{c.set(A,k),d.set(A,l(k))});let u=new Map,f=new Map;r.forEach((k,A)=>{u.set(A,k),f.set(A,l(k))});let m=new Map,y=new Map;e.forEach((k,A)=>{m.set(A,k),y.set(A,l(k))});let v=new Map,S=new Map;t.forEach((k,A)=>{v.set(A,k),S.set(A,l(k))}),console.group(n!==s?`Storage: Application (path: ${n})`:`Storage: Application & Profile (path: ${n}, default profile)`);let I=[];c.forEach((k,A)=>{I.push({key:A,value:k})}),console.table(I),console.groupEnd(),console.log(d),console.group(`Storage: Application Shared (path: ${o})`);let T=[];if(u.forEach((k,A)=>{T.push({key:A,value:k})}),console.table(T),console.groupEnd(),console.log(f),n!==s){console.group(`Storage: Profile (path: ${s}, profile specific)`);let k=[];m.forEach((A,oe)=>{k.push({key:oe,value:A})}),console.table(k),console.groupEnd(),console.log(y)}console.group(`Storage: Workspace (path: ${a})`);let D=[];v.forEach((k,A)=>{D.push({key:A,value:k})}),console.table(D),console.groupEnd(),console.log(S)}var mu,uo,a6,om,po=w(()=>{ge();j();$();mi();Me();Iy();te();ri();mu="__$__isNewStorageMarker",uo="__$__targetStorageMarker",a6=M("storageService");om=class i extends _{constructor(e={flushInterval:i.DEFAULT_FLUSH_INTERVAL}){super();this._onDidChangeValue=this._register(new Ls);this._onDidChangeTarget=this._register(new Ls);this.onDidChangeTarget=this._onDidChangeTarget.event;this._onWillSaveState=this._register(new b);this.onWillSaveState=this._onWillSaveState.event;this.runFlushWhenIdle=this._register(new St);this._workspaceKeyTargets=void 0;this._profileKeyTargets=void 0;this._applicationKeyTargets=void 0;this._applicationSharedKeyTargets=void 0;this.flushWhenIdleScheduler=this._register(new Ir(()=>this.doFlushWhenIdle(),e.flushInterval))}static{this.DEFAULT_FLUSH_INTERVAL=60*1e3}onDidChangeValue(e,t,n){return x.filter(this._onDidChangeValue.event,o=>o.scope===e&&(t===void 0||o.key===t),n)}doFlushWhenIdle(){this.runFlushWhenIdle.value=Sd(()=>{this.shouldFlushWhenIdle()&&this.flush(),this.flushWhenIdleScheduler.schedule()})}shouldFlushWhenIdle(){return!0}stopFlushWhenIdle(){ht([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-2:this._applicationSharedKeyTargets=void 0;break;case-1:this._applicationKeyTargets=void 0;break;case 0:this._profileKeyTargets=void 0;break;case 1:this._workspaceKeyTargets=void 0;break}this._onDidChangeTarget.fire({scope:e})}else this._onDidChangeValue.fire({scope:e,key: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(Kt(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}get applicationSharedKeyTargets(){return this._applicationSharedKeyTargets||(this._applicationSharedKeyTargets=this.loadKeyTargets(-2)),this._applicationSharedKeyTargets}getKeyTargets(e){switch(e){case-2:return this.applicationSharedKeyTargets;case-1:return this.applicationKeyTargets;case 0:return this.profileKeyTargets;default:return this.workspaceKeyTargets}}loadKeyTargets(e){let t=this.getStorage(e);return t?am(t):Object.create(null)}isNew(e){return this.getBoolean(mu,e)===!0}async flush(e=0){this._onWillSaveState.fire({reason:e});let t=this.getStorage(-1),n=this.getStorage(-2),o=this.getStorage(0),s=this.getStorage(1);switch(e){case 0:await bt.settled([t?.whenFlushed()??Promise.resolve(),n?.whenFlushed()??Promise.resolve(),o?.whenFlushed()??Promise.resolve(),s?.whenFlushed()??Promise.resolve()]);break;case 1:await bt.settled([t?.flush(0)??Promise.resolve(),n?.flush(0)??Promise.resolve(),o?.flush(0)??Promise.resolve(),s?.flush(0)??Promise.resolve()]);break}}async log(){let e=this.getStorage(-1)?.items??new Map,t=this.getStorage(-2)?.items??new Map,n=this.getStorage(0)?.items??new Map,o=this.getStorage(1)?.items??new Map;return pA(e,t,n,o,this.getLogDetails(-1)??"",this.getLogDetails(-2)??"",this.getLogDetails(0)??"",this.getLogDetails(1)??"")}async optimize(e){return await this.flush(),this.getStorage(e)?.optimize()}async switch(e,t){return this.emitWillSaveState(0),vP(e)?this.switchToProfile(e,t):this.switchToWorkspace(e,t)}canSwitchProfile(e,t){return!(e.id===t.id||sm(t)&&sm(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})})}}});var lm,Lt,Pn=w(()=>{te();lm=M("stateReadService"),Lt=M("stateService")});function hu(i){return!!i.workspaceUri}function cm(i){return!!i.folderUri}function ky(i){return!!i.fileUri}function fA(i,r){if(Xt)return!1;let e=Jo(i,r),t=i.getValue("window");return t?.menuStyle==="native"?!(!V&&!e):t?.menuStyle==="custom"?!1:e}function Ry(i,r){return Xt?!1:V?!0:fA(i,r)}function yP(i){let r=i.getValue("window.menuBarVisibility");return r==="default"||r==="compact"&&Ry(i)||V&&Mp?"classic":r}function Jo(i,r){return r||(r=wP(i)),r==="native"}function wP(i){if(Xt)return"custom";let r=i.getValue("window");if(r){if(V&&r.nativeTabs===!0||V&&r.nativeFullScreen===!1)return"native";let n=r.titleBarStyle;if(n==="native"||n==="custom")return n}return"custom"}function mA(i){if(Xt||V||wP(i)==="native")return"native";let e=i.getValue("window")?.controlsStyle;return e==="custom"||e==="hidden"?e:"native"}function gu(i){if(Xt||Jo(i))return!1;if(!V){let r=mA(i);if(r==="custom"||r==="hidden")return!1}return!0}function dm(i){let r=i.getValue("window");return!r||typeof r.nativeFullScreen!="boolean"||r.nativeTabs?!0:r.nativeFullScreen!==!1}function bP(i=0){return 1.2**i}var _y,IP,SP,xP,Dy,Qo=w(()=>{Y();_y={WIDTH:400,WIDTH_WITH_VERTICAL_PANEL:600,HEIGHT:270};IP=35;SP={width:1200,height:800},xP={width:1440,height:900},Dy={width:1024,height:768}});import hA from"electron";var Ri,PP,ni=w(()=>{Qo();Ri=function(i=1,r=!1){let e=r?xP:SP;return{width:e.width,height:e.height,mode:i}},PP=function(){let i=Dy.width,r=Dy.height,e=hA.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 Yo(i,r){let e=Math.pow(10,r);return Math.round(i*e)/e}var R,Xo,pl,Zo,Ay=w(()=>{Gn();R=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=Yo(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}},Xo=class i{constructor(r,e,t,n){this._hslaBrand=void 0;this.h=Math.max(Math.min(360,r),0)|0,this.s=Yo(Math.max(Math.min(1,e),0),3),this.l=Yo(Math.max(Math.min(1,t),0),3),this.a=Yo(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 R(Math.round(s*255),Math.round(a*255),Math.round(l*255),o)}},pl=class i{constructor(r,e,t,n){this._hsvaBrand=void 0;this.h=Math.max(Math.min(360,r),0)|0,this.s=Yo(Math.max(Math.min(1,e),0),3),this.v=Yo(Math.max(Math.min(1,t),0),3),this.a=Yo(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 R(c,d,u,o)}},Zo=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:Xo.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:pl.fromRGBA(this.rgba)}constructor(r){if(r)if(r instanceof R)this.rgba=r;else if(r instanceof Xo)this._hsla=r,this.rgba=Xo.toRGBA(r);else if(r instanceof pl)this._hsva=r,this.rgba=pl.toRGBA(r);else throw new Error("Invalid color ctor argument");else throw new Error("Color needs a value")}equals(r){return!!r&&R.equals(this.rgba,r.rgba)&&Xo.equals(this.hsla,r.hsla)&&pl.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 Yo(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 R(t,n,o)));return new i(new R(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 R(t,n,o)));return new i(new R(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 Xo(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*r,this.hsla.a))}darken(r){return new i(new Xo(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 R(e,t,n,o*r))}isTransparent(){return this.rgba.a===0}isOpaque(){return this.rgba.a===1}opposite(){return new i(new R(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 R(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 R(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 R(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 R(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 R(255,255,255,1))}static{this.black=new i(new R(0,0,0,1))}static{this.red=new i(new R(255,0,0,1))}static{this.blue=new i(new R(0,0,255,1))}static{this.green=new i(new R(0,255,0,1))}static{this.cyan=new i(new R(0,255,255,1))}static{this.lightgrey=new i(new R(211,211,211,1))}static{this.transparent=new i(new R(0,0,0,0))}};(r=>{let i;(t=>{let e;(S=>{function n(I){return I.rgba.a===1?`rgb(${I.rgba.r}, ${I.rgba.g}, ${I.rgba.b})`:r.Format.CSS.formatRGBA(I)}S.formatRGB=n;function o(I){return`rgba(${I.rgba.r}, ${I.rgba.g}, ${I.rgba.b}, ${+I.rgba.a.toFixed(2)})`}S.formatRGBA=o;function s(I){return I.hsla.a===1?`hsl(${I.hsla.h}, ${Math.round(I.hsla.s*100)}%, ${Math.round(I.hsla.l*100)}%)`:r.Format.CSS.formatHSLA(I)}S.formatHSL=s;function a(I){return`hsla(${I.hsla.h}, ${Math.round(I.hsla.s*100)}%, ${Math.round(I.hsla.l*100)}%, ${I.hsla.a.toFixed(2)})`}S.formatHSLA=a;function l(I){let T=I.toString(16);return T.length!==2?"0"+T:T}function c(I){return`#${l(I.rgba.r)}${l(I.rgba.g)}${l(I.rgba.b)}`}S.formatHex=c;function d(I,T=!1){return T&&I.rgba.a===1?r.Format.CSS.formatHex(I):`#${l(I.rgba.r)}${l(I.rgba.g)}${l(I.rgba.b)}${l(Math.round(I.rgba.a*255))}`}S.formatHexA=d;function u(I){return I.isOpaque()?r.Format.CSS.formatHex(I):r.Format.CSS.formatRGBA(I)}S.format=u;function f(I){if(I==="transparent")return r.transparent;if(I.startsWith("#"))return y(I);if(I.startsWith("rgba(")){let T=I.match(/rgba\((?<r>(?:\+|-)?\d+), *(?<g>(?:\+|-)?\d+), *(?<b>(?:\+|-)?\d+), *(?<a>(?:\+|-)?\d+(\.\d+)?)\)/);if(!T)throw new Error("Invalid color format "+I);let D=parseInt(T.groups?.r??"0"),k=parseInt(T.groups?.g??"0"),A=parseInt(T.groups?.b??"0"),oe=parseFloat(T.groups?.a??"0");return new r(new R(D,k,A,oe))}if(I.startsWith("rgb(")){let T=I.match(/rgb\((?<r>(?:\+|-)?\d+), *(?<g>(?:\+|-)?\d+), *(?<b>(?:\+|-)?\d+)\)/);if(!T)throw new Error("Invalid color format "+I);let D=parseInt(T.groups?.r??"0"),k=parseInt(T.groups?.g??"0"),A=parseInt(T.groups?.b??"0");return new r(new R(D,k,A))}return m(I)}S.parse=f;function m(I){switch(I){case"aliceblue":return new r(new R(240,248,255,1));case"antiquewhite":return new r(new R(250,235,215,1));case"aqua":return new r(new R(0,255,255,1));case"aquamarine":return new r(new R(127,255,212,1));case"azure":return new r(new R(240,255,255,1));case"beige":return new r(new R(245,245,220,1));case"bisque":return new r(new R(255,228,196,1));case"black":return new r(new R(0,0,0,1));case"blanchedalmond":return new r(new R(255,235,205,1));case"blue":return new r(new R(0,0,255,1));case"blueviolet":return new r(new R(138,43,226,1));case"brown":return new r(new R(165,42,42,1));case"burlywood":return new r(new R(222,184,135,1));case"cadetblue":return new r(new R(95,158,160,1));case"chartreuse":return new r(new R(127,255,0,1));case"chocolate":return new r(new R(210,105,30,1));case"coral":return new r(new R(255,127,80,1));case"cornflowerblue":return new r(new R(100,149,237,1));case"cornsilk":return new r(new R(255,248,220,1));case"crimson":return new r(new R(220,20,60,1));case"cyan":return new r(new R(0,255,255,1));case"darkblue":return new r(new R(0,0,139,1));case"darkcyan":return new r(new R(0,139,139,1));case"darkgoldenrod":return new r(new R(184,134,11,1));case"darkgray":return new r(new R(169,169,169,1));case"darkgreen":return new r(new R(0,100,0,1));case"darkgrey":return new r(new R(169,169,169,1));case"darkkhaki":return new r(new R(189,183,107,1));case"darkmagenta":return new r(new R(139,0,139,1));case"darkolivegreen":return new r(new R(85,107,47,1));case"darkorange":return new r(new R(255,140,0,1));case"darkorchid":return new r(new R(153,50,204,1));case"darkred":return new r(new R(139,0,0,1));case"darksalmon":return new r(new R(233,150,122,1));case"darkseagreen":return new r(new R(143,188,143,1));case"darkslateblue":return new r(new R(72,61,139,1));case"darkslategray":return new r(new R(47,79,79,1));case"darkslategrey":return new r(new R(47,79,79,1));case"darkturquoise":return new r(new R(0,206,209,1));case"darkviolet":return new r(new R(148,0,211,1));case"deeppink":return new r(new R(255,20,147,1));case"deepskyblue":return new r(new R(0,191,255,1));case"dimgray":return new r(new R(105,105,105,1));case"dimgrey":return new r(new R(105,105,105,1));case"dodgerblue":return new r(new R(30,144,255,1));case"firebrick":return new r(new R(178,34,34,1));case"floralwhite":return new r(new R(255,250,240,1));case"forestgreen":return new r(new R(34,139,34,1));case"fuchsia":return new r(new R(255,0,255,1));case"gainsboro":return new r(new R(220,220,220,1));case"ghostwhite":return new r(new R(248,248,255,1));case"gold":return new r(new R(255,215,0,1));case"goldenrod":return new r(new R(218,165,32,1));case"gray":return new r(new R(128,128,128,1));case"green":return new r(new R(0,128,0,1));case"greenyellow":return new r(new R(173,255,47,1));case"grey":return new r(new R(128,128,128,1));case"honeydew":return new r(new R(240,255,240,1));case"hotpink":return new r(new R(255,105,180,1));case"indianred":return new r(new R(205,92,92,1));case"indigo":return new r(new R(75,0,130,1));case"ivory":return new r(new R(255,255,240,1));case"khaki":return new r(new R(240,230,140,1));case"lavender":return new r(new R(230,230,250,1));case"lavenderblush":return new r(new R(255,240,245,1));case"lawngreen":return new r(new R(124,252,0,1));case"lemonchiffon":return new r(new R(255,250,205,1));case"lightblue":return new r(new R(173,216,230,1));case"lightcoral":return new r(new R(240,128,128,1));case"lightcyan":return new r(new R(224,255,255,1));case"lightgoldenrodyellow":return new r(new R(250,250,210,1));case"lightgray":return new r(new R(211,211,211,1));case"lightgreen":return new r(new R(144,238,144,1));case"lightgrey":return new r(new R(211,211,211,1));case"lightpink":return new r(new R(255,182,193,1));case"lightsalmon":return new r(new R(255,160,122,1));case"lightseagreen":return new r(new R(32,178,170,1));case"lightskyblue":return new r(new R(135,206,250,1));case"lightslategray":return new r(new R(119,136,153,1));case"lightslategrey":return new r(new R(119,136,153,1));case"lightsteelblue":return new r(new R(176,196,222,1));case"lightyellow":return new r(new R(255,255,224,1));case"lime":return new r(new R(0,255,0,1));case"limegreen":return new r(new R(50,205,50,1));case"linen":return new r(new R(250,240,230,1));case"magenta":return new r(new R(255,0,255,1));case"maroon":return new r(new R(128,0,0,1));case"mediumaquamarine":return new r(new R(102,205,170,1));case"mediumblue":return new r(new R(0,0,205,1));case"mediumorchid":return new r(new R(186,85,211,1));case"mediumpurple":return new r(new R(147,112,219,1));case"mediumseagreen":return new r(new R(60,179,113,1));case"mediumslateblue":return new r(new R(123,104,238,1));case"mediumspringgreen":return new r(new R(0,250,154,1));case"mediumturquoise":return new r(new R(72,209,204,1));case"mediumvioletred":return new r(new R(199,21,133,1));case"midnightblue":return new r(new R(25,25,112,1));case"mintcream":return new r(new R(245,255,250,1));case"mistyrose":return new r(new R(255,228,225,1));case"moccasin":return new r(new R(255,228,181,1));case"navajowhite":return new r(new R(255,222,173,1));case"navy":return new r(new R(0,0,128,1));case"oldlace":return new r(new R(253,245,230,1));case"olive":return new r(new R(128,128,0,1));case"olivedrab":return new r(new R(107,142,35,1));case"orange":return new r(new R(255,165,0,1));case"orangered":return new r(new R(255,69,0,1));case"orchid":return new r(new R(218,112,214,1));case"palegoldenrod":return new r(new R(238,232,170,1));case"palegreen":return new r(new R(152,251,152,1));case"paleturquoise":return new r(new R(175,238,238,1));case"palevioletred":return new r(new R(219,112,147,1));case"papayawhip":return new r(new R(255,239,213,1));case"peachpuff":return new r(new R(255,218,185,1));case"peru":return new r(new R(205,133,63,1));case"pink":return new r(new R(255,192,203,1));case"plum":return new r(new R(221,160,221,1));case"powderblue":return new r(new R(176,224,230,1));case"purple":return new r(new R(128,0,128,1));case"rebeccapurple":return new r(new R(102,51,153,1));case"red":return new r(new R(255,0,0,1));case"rosybrown":return new r(new R(188,143,143,1));case"royalblue":return new r(new R(65,105,225,1));case"saddlebrown":return new r(new R(139,69,19,1));case"salmon":return new r(new R(250,128,114,1));case"sandybrown":return new r(new R(244,164,96,1));case"seagreen":return new r(new R(46,139,87,1));case"seashell":return new r(new R(255,245,238,1));case"sienna":return new r(new R(160,82,45,1));case"silver":return new r(new R(192,192,192,1));case"skyblue":return new r(new R(135,206,235,1));case"slateblue":return new r(new R(106,90,205,1));case"slategray":return new r(new R(112,128,144,1));case"slategrey":return new r(new R(112,128,144,1));case"snow":return new r(new R(255,250,250,1));case"springgreen":return new r(new R(0,255,127,1));case"steelblue":return new r(new R(70,130,180,1));case"tan":return new r(new R(210,180,140,1));case"teal":return new r(new R(0,128,128,1));case"thistle":return new r(new R(216,191,216,1));case"tomato":return new r(new R(255,99,71,1));case"turquoise":return new r(new R(64,224,208,1));case"violet":return new r(new R(238,130,238,1));case"wheat":return new r(new R(245,222,179,1));case"white":return new r(new R(255,255,255,1));case"whitesmoke":return new r(new R(245,245,245,1));case"yellow":return new r(new R(255,255,0,1));case"yellowgreen":return new r(new R(154,205,50,1));default:return null}}function y(I){let T=I.length;if(T===0||I.charCodeAt(0)!==35)return null;if(T===7){let D=16*v(I.charCodeAt(1))+v(I.charCodeAt(2)),k=16*v(I.charCodeAt(3))+v(I.charCodeAt(4)),A=16*v(I.charCodeAt(5))+v(I.charCodeAt(6));return new r(new R(D,k,A,1))}if(T===9){let D=16*v(I.charCodeAt(1))+v(I.charCodeAt(2)),k=16*v(I.charCodeAt(3))+v(I.charCodeAt(4)),A=16*v(I.charCodeAt(5))+v(I.charCodeAt(6)),oe=16*v(I.charCodeAt(7))+v(I.charCodeAt(8));return new r(new R(D,k,A,oe/255))}if(T===4){let D=v(I.charCodeAt(1)),k=v(I.charCodeAt(2)),A=v(I.charCodeAt(3));return new r(new R(16*D+D,16*k+k,16*A+A))}if(T===5){let D=v(I.charCodeAt(1)),k=v(I.charCodeAt(2)),A=v(I.charCodeAt(3)),oe=v(I.charCodeAt(4));return new r(new R(16*D+D,16*k+k,16*A+A,(16*oe+oe)/255))}return null}S.parseHex=y;function v(I){switch(I){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||={})})(Zo||={})});var Ae,cr=w(()=>{te();Ae=M("productService")});var Di,fl=w(()=>{te();Di=M("themeMainService")});import Ly from"electron";function ml(i,r,e,t){let n=i.get(Di),o=i.get(Ae),s=i.get(de),a=i.get(_e),l=s.getValue("window"),c={backgroundColor:n.getBackgroundColor(),minWidth:_y.WIDTH,minHeight:_y.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:bP(r.zoomLevel??l?.zoomLevel),autoplayPolicy:"user-gesture-required",enableBlinkFeatures:"HighlightAPI",sandbox:!0,enableDeprecatedPaste:!0},experimentalDarkMode:!0};if(W){let f=l?.border||"default";f==="system"&&(f="default"),f!=="default"&&(f==="off"?c.accentColor=!1:typeof f=="string"&&(c.accentColor=f))}if(re?c.icon=B(a.appRoot,"resources/linux/code.png"):W&&(a.isBuilt||(c.icon=B(a.appRoot,"resources/win32/code_150x150.png"))),V&&(c.acceptFirstMouse=!0,l?.clickThroughInactive===!1&&(c.acceptFirstMouse=!1)),e?.disableFullscreen?c.fullscreen=!1:V&&!dm(s)&&(c.fullscreenable=!1),V&&l?.nativeTabs===!0&&(c.tabbingIdentifier=o.nameShort),!Jo(s,e?.forceNativeTitlebar?"native":void 0)&&(c.titleBarStyle="hidden",V||(c.frame=!1),gu(s)))if(V)c.titleBarOverlay=!0;else{let f=n.getWindowSplash(void 0)?.colorInfo.titleBarBackground??n.getBackgroundColor(),m=Zo.fromHex(f).isDarker()?"#FFFFFF":"#000000";c.titleBarOverlay={height:29,color:f,symbolColor:m}}return e?.alwaysOnTop&&(c.alwaysOnTop=!0),c}function pm(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 Ly.BrowserWindow.getAllWindows().filter(i=>!i.webContents.isOffscreen())}var $e,hl,jt=w(()=>{Ay();Pe();Y();rt();Wt();te();cr();fl();Qo();ni();$e=M("windowsMainService");(t=>{function i(n,o,s=Ly.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=Ri(3);return d.x=c.bounds.x,d.y=c.bounds.y,d}}let a,l;try{a=Ly.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}})(hl||={})});import Mn from"electron";var ve,Li,_t=w(()=>{Ln();ge();j();$();Y();kn();Me();te();ne();Pn();ni();Wt();jt();ve=M("lifecycleMainService"),Li=class extends _{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(),V&&this.windowCounter===0&&this.fireOnWillShutdown(1))};Mn.app.addListener("before-quit",e);let t=()=>{this.trace("Lifecycle#app.on(window-all-closed)"),(this._quitRequested||!V)&&Mn.app.quit()};Mn.app.addListener("window-all-closed",t),Mn.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),Mn.app.removeListener("before-quit",e),Mn.app.removeListener("window-all-closed",t),this.trace("Lifecycle#app.on(will-quit) - calling app.quit()"),Mn.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 bt.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 bi,this.phaseWhen.set(e,t)),await t.wait()}registerWindow(e){let t=new Q;this.windowCounter++,t.add(e.onWillLoad(o=>this._onWillLoadWindow.fire({window:e,workspace:o.workspace,reason:o.reason})));let n=yi(e.win);t.add(x.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(x.fromNodeEventEmitter(n,"closed")(()=>{this.trace(`Lifecycle#window.on('closed') - window ID ${e.id}`),this.windowCounter--,t.dispose(),this.windowCounter===0&&(!V||this._quitRequested)&&this.fireOnWillShutdown(1)}))}registerAuxWindow(e){let t=yi(e.win),n=new Q;n.add(x.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(x.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}`,l=u=>{Xe.removeListener(s,c),Xe.removeListener(a,d),n(u)},c=()=>{l(!1)},d=()=>{l(!0)};Xe.on(s,c),Xe.on(a,d),e.send("vscode:onBeforeUnload",{okChannel:s,cancelChannel:a,reason:t})})}onWillUnloadWindowInRenderer(e,t){return new Promise(n=>{let s=`vscode:reply${this.oneTimeListenerTokenGenerator++}`;Xe.once(s,()=>n()),e.send("vscode:onWillUnload",{replyChannel:s,reason:t})})}quit(e){return this.doQuit(e).then(t=>{if(!t&&e)try{if(W){let n=rn();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()"),Mn.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()"),Mn.app.relaunch({args:t}))};Mn.app.once("quit",n),await this.quit(!0)&&Mn.app.removeListener("quit",n)}async kill(e){this.trace("Lifecycle#kill()"),await this.fireOnWillShutdown(2),await Promise.race([ut(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}})()]),Mn.app.exit(e)}};Li=C([g(0,N),g(1,Lt),g(2,_e)],Li)});import*as My from"fs";var fo,Oy,CP=w(()=>{ge();j();kr();Pe();lr();fo=class i{constructor(r,e=Object.create(null)){this.path=r;this.name=xe(this.path),this.logger=new Oy(e.logging),this.useWAL=!!e.useWAL,this.busyTimeout=e.busyTimeout,this.whenConnected=this.connect(this.path)}static{this.IN_MEMORY_PATH=":memory:"}get onDidChangeItemsExternal(){return x.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?US(e.insert):"0"}), delete(${e.delete?NS(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"?My.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 J.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 ut(i.BUSY_OPEN_TIMEOUT),this.connect(r,!1);try{await My.promises.unlink(r);try{await J.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=>{if(a)return s.db&&a.code!=="SQLITE_CANTOPEN"?s.db.close(()=>t(a)):t(a);let l=["PRAGMA user_version = 1;","CREATE TABLE IF NOT EXISTS ItemTable (key TEXT UNIQUE ON CONFLICT REPLACE, value BLOB);"];return this.useWAL&&l.push("PRAGMA journal_mode=WAL;"),this.busyTimeout&&l.push(`PRAGMA busy_timeout=${this.busyTimeout};`),this.exec(s,l.join("")).then(()=>e(s),c=>s.db.close(()=>t(c)))}),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)})}},Oy=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 Ke,h3,Fy,Wy,TP,fm,mm,vu,_P,gl,hm,yu,nr=w(()=>{te();Ke=M("telemetryService"),h3=M("customEndpointTelemetryService"),Fy="telemetry.currentSessionDate",Wy="telemetry.firstSessionDate",TP="telemetry.lastSessionDate",fm="telemetry.machineId",mm="telemetry.sqmId",vu="telemetry.devDeviceId",_P="telemetry",gl="telemetry.telemetryLevel",hm="telemetry.enableCrashReporter",yu="telemetry.enableTelemetry"});import*as Uy from"fs";var vl,gm,vm,ym,yl,wm,wu,Ny=w(()=>{Yt();ge();j();$();Pe();As();le();lr();Iy();CP();ne();po();nr();Lr();qe();vl=class i extends _{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 oo(new sl,{hint:1}));this.initializePromise=void 0;this.whenInitPromise=new Ot;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(mu);t===void 0?e.set(mu,!0):t&&e.set(mu,!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 an(!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=kS(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()}},gm=class i extends vl{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 B(this.profile.globalStorageHome.with({scheme:U.file}).fsPath,i.STORAGE_NAME)}async doCreate(){return new oo(new fo(this.path??fo.IN_MEMORY_PATH,{logging:this.createLoggingOptions()}),this.path?void 0:{hint:1})}},vm=class extends gm{},ym=class extends gm{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(Fy,void 0),n=new Date().toUTCString();r.set(TP,typeof t>"u"?null:t),r.set(Fy,n)}},yl=class i extends vl{constructor(e,t,n,o,s){super(o,s);this.options=e;this.storageFolderPath=t;this.applicationStorage=n}static{this.STORAGE_NAME="state.vscdb"}get path(){if(!this.options.useInMemoryStorage)return B(this.storageFolderPath,i.STORAGE_NAME)}async doCreate(){let{storageFilePath:e,wasCreated:t}=await this.prepareStorageFolder();this.logService.info(`[shared storage] Creating shared storage database at '${e}' (wasCreated: ${t})`);let n=new fo(e,{logging:this.createLoggingOptions()});this.logService.info(`[shared storage] Initializing fallback application storage (path: ${this.applicationStorage.path??"in-memory"})`),await this.applicationStorage.init(),this.logService.info(`[shared storage] Fallback application storage initialized with ${this.applicationStorage.items.size} items`);let o=this._register(new Jf(n,{hint:t?0:void 0}));return o.setFallbackStorage(this.applicationStorage.storage,!1),o}get applicationStorageItems(){return this.applicationStorage.items}async prepareStorageFolder(){if(this.options.useInMemoryStorage)return{storageFilePath:fo.IN_MEMORY_PATH,wasCreated:!0};let e=B(this.storageFolderPath,i.STORAGE_NAME);return await J.exists(this.storageFolderPath)?{storageFilePath:e,wasCreated:!1}:(await Uy.promises.mkdir(this.storageFolderPath,{recursive:!0}),{storageFilePath:e,wasCreated:!0})}},wm=class i extends vl{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 B(this.environmentService.workspaceStorageHome.with({scheme:U.file}).fsPath,this.workspace.id,i.WORKSPACE_STORAGE_NAME)}async doCreate(){let{storageFilePath:e,wasCreated:t}=await this.prepareWorkspaceStorageFolder();return new oo(new fo(e,{logging:this.createLoggingOptions()}),{hint:this.options.useInMemoryStorage?1:t?0:void 0})}async prepareWorkspaceStorageFolder(){if(this.options.useInMemoryStorage)return{storageFilePath:fo.IN_MEMORY_PATH,wasCreated:!0};let e=B(this.environmentService.workspaceStorageHome.with({scheme:U.file}).fsPath,this.workspace.id),t=B(e,i.WORKSPACE_STORAGE_NAME);return await J.exists(e)?{storageFilePath:t,wasCreated:!1}:(await Uy.promises.mkdir(e,{recursive:!0}),this.ensureWorkspaceStorageFolderMeta(e),{storageFilePath:t,wasCreated:!0})}async ensureWorkspaceStorageFolderMeta(e){let t;if(zt(this.workspace)?t={folder:this.workspace.uri.toString()}:ft(this.workspace)&&(t={workspace:this.workspace.configPath.toString()}),t)try{let n=B(e,i.WORKSPACE_META_NAME);await J.exists(n)||await J.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}`)}}},wu=class extends vl{get path(){}async doCreate(){return new oo(new sl,{hint:1})}}});var By,bu,wl,Vy=w(()=>{ge();ot();$();Me();dn();ze();ne();By=class extends _{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 Rr(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 Kt(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&&(Kt(o)?Kr(this.storage[n])||(this.storage[n]=void 0,t=!0):(this.storage[n]=o,t=!0));t&&this.save()}removeItem(e){Kr(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}},bu=class extends _{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)}};bu=C([g(1,bn),g(2,N),g(3,Le)],bu);wl=class extends bu{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 es,On,Im,kP=w(()=>{le();dn();ze();ne();Pn();ti();ri();Me();Vy();es=class extends ul{constructor(e,t,n,o,s){super(n,o,t,s);this.stateReadonlyService=e;this.nativeEnvironmentService=n}getStoredProfiles(){return this.stateReadonlyService.getItem(es.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(es.PROFILE_ASSOCIATIONS_KEY,{})}getDefaultProfileExtensionsLocation(){return this.uriIdentityService.extUri.joinPath(P.file(this.nativeEnvironmentService.extensionsPath).with({scheme:this.profilesHome.scheme}),"extensions.json")}};es=C([g(0,lm),g(1,At),g(2,br),g(3,Le),g(4,N)],es);On=class extends es{constructor(e,t,n,o,s){super(e,t,n,o,s);this.stateService=e}saveStoredProfiles(e){e.length?this.stateService.setItem(On.PROFILES_KEY,e.map(t=>({...t,location:this.uriIdentityService.extUri.relativePath(this.profilesHome,t.location)}))):this.stateService.removeItem(On.PROFILES_KEY)}saveStoredProfileAssociations(e){e.emptyWindows||e.workspaces?this.stateService.setItem(On.PROFILE_ASSOCIATIONS_KEY,e):this.stateService.removeItem(On.PROFILE_ASSOCIATIONS_KEY)}};On=C([g(0,Lt),g(1,At),g(2,br),g(3,Le),g(4,N)],On);Im=class extends On{constructor(r,e,t,n){super(new wl(0,e,n,t),r,e,t,n)}async init(){return await this.stateService.init(),super.init()}};Im=C([g(0,At),g(1,br),g(2,Le),g(3,N)],Im)});function yA(i,r){let e=i["agent-plugins-dir"];if(e)return _r(e);let t=Vt.VSCODE_AGENT_PLUGINS;if(t)return t;let n=Vt.VSCODE_PORTABLE;return n?B(n,"agent-plugins"):ce(r,"agent-plugins").fsPath}var Br,Il,ts=w(()=>{It();dn();ze();te();ne();cr();ti();ri();kP();Pn();le();kn();Pe();Br=Mr,Il=class extends On{constructor(r,e,t,n,o,s){super(r,e,t,n,o),this.agentPluginsHome=P.file(yA(t.args,ce(t.userHome,s.dataFolderName)))}createDefaultProfile(){return{...super.createDefaultProfile(),agentPluginsHome:this.agentPluginsHome}}async createAgentsWindowProfile(){let r=this.profiles.find(e=>e.id===Go);return r||this.createProfile(Go,"Agents")}getAssociatedEmptyWindows(){let r=[];for(let e of this.profilesObject.emptyWindows.keys())r.push({id:e});return r}};Il=C([g(0,Lt),g(1,At),g(2,br),g(3,Le),g(4,N),g(5,Ae)],Il)});var Ys,bl,xr,Sl,Mi=w(()=>{le();j();$();Pe();dn();ze();te();_t();ne();po();Ny();ri();ts();ti();qe();Ys=M("storageMainService"),bl=class extends _{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.applicationSharedStorage=this._register(this.createApplicationSharedStorage()),this.registerListeners()}getStorageOptions(){return{useInMemoryStorage:!!this.environmentService.extensionTestsLocationURI}}registerListeners(){(async()=>(await this.lifecycleMainService.when(3),this.applicationStorage.init(),this.applicationSharedStorage.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()),e.join("applicationSharedStorage",this.applicationSharedStorage.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 ym(this.getStorageOptions(),this.userDataProfilesService,this.logService,this.fileService);return this._register(x.once(e.onDidCloseStorage)(()=>{this.logService.trace("StorageMainService: closed application storage")})),e}createApplicationSharedStorage(){this.logService.info("StorageMainService: creating application shared storage");let e=B(this.environmentService.appSharedDataHome.with({scheme:U.file}).fsPath,"sharedStorage"),t=new yl(this.getStorageOptions(),e,this.applicationStorage,this.logService,this.fileService);return this._register(x.once(t.onDidCloseStorage)(()=>{this.logService.trace("StorageMainService: closed application shared storage")})),t}profileStorage(e){if(sm(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}));x.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 wu(this.logService,this.fileService):new vm(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),x.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 wu(this.logService,this.fileService):new wm(e,this.getStorageOptions(),this.logService,this.environmentService,this.fileService)}isUsed(e){let t=P.file(e);for(let n of[this.applicationStorage,this.applicationSharedStorage,...this.mapProfileToStorage.values(),...this.mapWorkspaceToStorage.values()])if(n.path&&this.uriIdentityService.extUri.isEqualOrParent(P.file(n.path),t))return!0;return!1}};bl=C([g(0,N),g(1,br),g(2,Br),g(3,ve),g(4,Le),g(5,At)],bl);xr=M("applicationStorageMainService"),Sl=class extends om{constructor(e,t){super();this.userDataProfilesService=e;this.storageMainService=t;this.whenReady=Promise.all([this.storageMainService.applicationStorage.whenInit,this.storageMainService.applicationSharedStorage.whenInit]).then(()=>{})}doInitialize(){return Promise.all([this.storageMainService.applicationStorage.whenInit,this.storageMainService.applicationSharedStorage.whenInit]).then(()=>{})}getStorage(e){if(e===-1)return this.storageMainService.applicationStorage.storage;if(e===-2)return this.storageMainService.applicationSharedStorage.storage}getLogDetails(e){if(e===-1)return this.userDataProfilesService.defaultProfile.globalStorageHome.with({scheme:U.file}).fsPath;if(e===-2)return this.storageMainService.applicationSharedStorage.path}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")}};Sl=C([g(0,Mr),g(1,Ys)],Sl)});import{app as IA}from"electron";var xu,Pl,Hy=w(()=>{Tt();j();Ei();$();le();tr();rt();Nf();Wt();te();ne();po();Mi();jt();xu=M("proxyAuthService"),Pl=class extends _{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=x.fromNodeEventEmitter(IA,"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(mr({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:${ke()}`};s.sendWhenReady("vscode:openProxyAuthenticationDialog",Te.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 S=await this.encryptionMainService.encrypt(JSON.stringify(v));this.applicationStorageMainService.store(this.PROXY_CREDENTIALS_SERVICE_KEY+t,S,-1,1)}else this.applicationStorageMainService.remove(this.PROXY_CREDENTIALS_SERVICE_KEY+t,-1)}catch(S){this.logService.error(S)}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}};Pl=C([g(0,N),g(1,$e),g(2,Jd),g(3,xr),g(4,de),g(5,_e)],Pl)});var Oi,El=w(()=>{te();Oi=M("backupMainService")});function RP(i){return typeof i?.backupFolder=="string"}function DP(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 AP(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 LP=w(()=>{le()});function MP(i){return i?.hasOwnProperty("folderUri")}var OP=w(()=>{});import{createHash as $y}from"crypto";function mo(i){function r(){let e=i.scheme===U.file?wr(i):i.toString();return re||(e=e.toLowerCase()),$y("md5").update(e).digest("hex")}return{id:r(),configPath:i}}function Sm(i,r){function e(){if(i.scheme!==U.file)return $y("md5").update(i.toString()).digest("hex");if(!r)return;let n;return re?n=r.ino:V?n=r.birthtime.getTime():W&&(typeof r.birthtimeMs=="number"?n=Math.floor(r.birthtimeMs):n=r.birthtime.getTime()),$y("md5").update(i.fsPath).update(n?String(n):"").digest("hex")}let t=e();if(typeof t=="string")return{id:t,uri:i}}function Pu(){return{id:(Date.now()+Math.round(Math.random()*1e3)).toString()}}var _V,xm=w(()=>{qe();Y();It();_V=128/4});import{createHash as SA}from"crypto";var ho,FP=w(()=>{ln();qe();Pe();Y();It();lr();LP();rt();Wt();Pn();ze();ne();OP();Lr();xm();ho=class{constructor(r,e,t,n){this.configurationService=e;this.logService=t;this.stateService=n;this.workspaces=[];this.folders=[];this.emptyWindows=[];this.backupUriComparer=Qe;this.backupPathComparer={isEqual:(r,e)=>Fo(r,e,!re)};this.backupHome=r.backupHome}static{this.backupWorkspacesMetadataStorageKey="backupWorkspaces"}async initialize(){let r=this.stateService.getItem(ho.backupWorkspacesMetadataStorageKey)??{workspaces:[],folders:[],emptyWindows:[]};this.emptyWindows=await this.validateEmptyWorkspaces(r.emptyWindows),this.workspaces=await this.validateWorkspaces(DP(r)),this.folders=await this.validateFolders(AP(r)),this.storeWorkspacesMetadata()}getWorkspaceBackups(){return this.isHotExitOnExitAndWindowClose()?[]:this.workspaces.slice(0)}getFolderBackups(){return this.isHotExitOnExitAndWindowClose()?[]:this.folders.slice(0)}isHotExitEnabled(){return this.getHotExitConfig()!==tm.OFF}isHotExitOnExitAndWindowClose(){return this.getHotExitConfig()===tm.ON_EXIT_AND_WINDOW_CLOSE}getHotExitConfig(){return this.configurationService.getValue()?.files?.hotExit||tm.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=B(this.backupHome,r.workspace.id);return e?this.moveBackupFolder(t,e).then(()=>t):t}async moveBackupFolder(r,e){if(await J.exists(r)&&await this.convertToEmptyWindowBackup(r),await J.exists(e))try{await J.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()),B(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()),B(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(!ft(o))return[];if(!e.has(o.id)){e.add(o.id);let s=B(this.backupHome,o.id);await this.doHasBackups(s)?o.configPath.scheme!==U.file||await J.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=B(this.backupHome,this.getFolderHash(n));await this.doHasBackups(a)?o.scheme!==U.file||await J.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=B(this.backupHome,o);await this.doHasBackups(s)?e.push(n):await this.deleteStaleBackup(s)}}return e}async deleteStaleBackup(r){try{await J.rm(r,1)}catch(e){this.logService.error(`Backup: Could not delete stale backup: ${e.toString()}`)}}prepareNewEmptyWindowBackup(){let r=Pu();for(;this.emptyWindows.some(e=>!!e.backupFolder&&this.backupPathComparer.isEqual(e.backupFolder,r.id));)r=Pu();return{backupFolder:r.id}}async convertToEmptyWindowBackup(r){let e=this.prepareNewEmptyWindowBackup(),t=B(this.backupHome,e.backupFolder);try{await J.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 RP(r)?e=B(this.backupHome,r.backupFolder):MP(r)?e=B(this.backupHome,this.getFolderHash(r)):e=B(this.backupHome,r.workspace.id),this.doHasBackups(e)}async doHasBackups(r){try{let e=await J.readdir(r);for(let t of e)try{if((await J.readdir(B(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(ho.backupWorkspacesMetadataStorageKey,r)}getFolderHash(r){let e=r.folderUri,t;return e.scheme===U.file?t=re?e.fsPath:e.fsPath.toLowerCase():t=e.toString().toLowerCase(),SA("md5").update(t).digest("hex")}};ho=C([g(0,_e),g(1,de),g(2,N),g(3,Lt)],ho)});function Eu(i,r,e=xA){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 S in l.options)f[S]=l.options[S];let m=i.filter(S=>S!==t),y=e.getSubcommandReporter?e.getSubcommandReporter(t):void 0,v=Eu(m,f,y);return{[t]:v,_:[]}}let c=(0,WP.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(2237,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(S=>S.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 WP,iH,Ky,Pm,xA,qy=w(()=>{WP=$b(Gg(),1);Y();be();iH={o:h(2262,null),e:h(2246,null),t:h(2276,null),m:h(2257,null)},Ky=["tunnel","serve-web","agent"],Pm={chat:{type:"subcommand",description:"Pass in a prompt to run in a chat session in the current working directory.",options:{_:{type:"string[]",description:h(2266,null)},mode:{type:"string",cat:"o",alias:"m",args:"mode",description:h(2234,null)},"add-file":{type:"string[]",cat:"o",alias:"a",args:"path",description:h(2229,null)},maximize:{type:"boolean",cat:"o",description:h(2233,null)},"reuse-window":{type:"boolean",cat:"o",alias:"r",description:h(2269,null)},"new-window":{type:"boolean",cat:"o",alias:"n",description:h(2260,null)},profile:{type:"string",cat:"o",args:"profileName",description:h(2265,null)},help:{type:"boolean",alias:"h",description:h(2248,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(2235,null)},"disable-telemetry":{type:"boolean"},"telemetry-level":{type:"string"}}},agent:{type:"subcommand",description:"Start and interact with AI agent hosts.",options:{"cli-data-dir":{type:"string",args:"dir",description:h(2235,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(2235,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(2238,null)},merge:{type:"boolean",cat:"o",alias:"m",args:["path1","path2","base","result"],description:h(2258,null)},add:{type:"boolean",cat:"o",alias:"a",args:"folder",description:h(2228,null)},remove:{type:"boolean",cat:"o",args:"folder",description:h(2267,null)},goto:{type:"boolean",cat:"o",alias:"g",args:"file:line[:character]",description:h(2247,null)},"new-window":{type:"boolean",cat:"o",alias:"n",description:h(2259,null)},"reuse-window":{type:"boolean",cat:"o",alias:"r",description:h(2268,null)},agents:{type:"boolean",cat:"o",deprecates:["sessions"],description:h(2231,null)},wait:{type:"boolean",cat:"o",alias:"w",description:h(2286,null)},waitMarkerFilePath:{type:"string"},locale:{type:"string",cat:"o",args:"locale",description:h(2254,null)},"user-data-dir":{type:"string",cat:"o",args:"dir",description:h(2283,null)},profile:{type:"string",cat:"o",args:"profileName",description:h(2265,null)},help:{type:"boolean",cat:"o",alias:"h",description:h(2248,null)},"extensions-dir":{type:"string",deprecates:["extensionHomePath"],cat:"e",args:"dir",description:h(2245,null)},"extensions-download-dir":{type:"string"},"builtin-extensions-dir":{type:"string"},"shared-data-dir":{type:"string"},"list-extensions":{type:"boolean",cat:"e",description:h(2253,null)},"agent-plugins-dir":{type:"string"},"agents-user-data-dir":{type:"string"},"agents-extensions-dir":{type:"string"},"show-versions":{type:"boolean",cat:"e",description:h(2270,null)},category:{type:"string",allowEmptyValue:!0,cat:"e",description:h(2232,null),args:"category"},"install-extension":{type:"string[]",cat:"e",args:"ext-id | path",description:h(2252,null)},"pre-release":{type:"boolean",cat:"e",description:h(2251,null)},"uninstall-extension":{type:"string[]",cat:"e",args:"ext-id",description:h(2278,null)},"update-extensions":{type:"boolean",cat:"e",description:h(2281,null)},"enable-proposed-api":{type:"string[]",allowEmptyValue:!0,cat:"e",args:"ext-id",description:h(2244,null)},"add-mcp":{type:"string[]",cat:"m",args:"json",description:h(2230,null)},version:{type:"boolean",cat:"t",alias:"v",description:h(2285,null)},verbose:{type:"boolean",cat:"t",global:!0,description:h(2284,null)},log:{type:"string[]",cat:"t",args:"level",global:!0,description:h(2256,null)},status:{type:"boolean",alias:"s",cat:"t",description:h(2271,null)},"prof-startup":{type:"boolean",cat:"t",description:h(2264,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(2241,null)},"disable-extension":{type:"string[]",cat:"t",args:"ext-id",description:h(2240,null)},sync:{type:"string",cat:"t",description:h(2277,null),args:["on | off"]},"inspect-extensions":{type:"string",allowEmptyValue:!0,deprecates:["debugPluginHost"],args:"port",cat:"t",description:h(2250,null)},"inspect-brk-extensions":{type:"string",allowEmptyValue:!0,deprecates:["debugBrkPluginHost"],args:"port",cat:"t",description:h(2249,null)},"disable-lcd-text":{type:"boolean",cat:"t",description:h(2243,null)},"disable-gpu":{type:"boolean",cat:"t",description:h(2242,null)},"disable-chromium-sandbox":{type:"boolean",cat:"t",description:h(2239,null)},sandbox:{type:"boolean"},"locate-shell-integration-path":{type:"string",cat:"t",args:["shell"],description:h(2255,null)},telemetry:{type:"boolean",cat:"t",description:h(2274,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-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(2275,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[]"}},xA={onUnknownOption:()=>{},onMultipleValues:()=>{},onEmptyValue:()=>{},onDeprecatedOption:()=>{}}});var Em,UP=w(()=>{j();$();Em=class extends _{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 Cm,NP=w(()=>{ot();$();tr();qd();qy();jt();UP();Cm=class extends Em{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=Eu(e,Pm);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=kx(d,u,{debugLabel:"extension-host-cdp-"+ke(),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=ke(),a=t?`page-${s}`:void 0,{server:l,wsUrl:c,port:d}=await this.openCdpServer(s,u=>{o++===0&&n.attach();let f=new Q;f.add(u);let m=S=>{f.isDisposed||u.write(H.fromString(JSON.stringify(S)))},y=(S,I,T,D)=>m({method:I,params:T,sessionId:D||a}),v=()=>{u.end(),f.dispose()};e.addListener("close",v),f.add(z(()=>e.removeListener("close",v))),n.addListener("message",y),f.add(z(()=>n.removeListener("message",y))),f.add(u.onData(S=>{let I;try{I=JSON.parse(S.toString())}catch(D){console.error("error reading cdp line",D);return}if(t){let D={targetId:s,type:"page",title:"VS Code Renderer",url:"vscode://renderer"};if(I.method==="Target.setDiscoverTargets"){m({id:I.id,sessionId:I.sessionId,result:{}}),m({method:"Target.targetCreated",sessionId:I.sessionId,params:{targetInfo:{...D,attached:!1,canAccessOpener:!1}}});return}if(I.method==="Target.attachToTarget"){m({id:I.id,sessionId:I.sessionId,result:{sessionId:a}}),m({method:"Target.attachedToTarget",params:{sessionId:a,targetInfo:{...D,attached:!0,canAccessOpener:!1},waitingForDebugger:!1}});return}if(I.method==="Target.setAutoAttach"||I.method==="Target.attachToBrowserTarget"){m({id:I.id,sessionId:I.sessionId,result:I.method==="Target.attachToBrowserTarget"?{sessionId:"browser"}:{}});return}if(I.method==="Target.getTargets"){m({id:I.id,sessionId:I.sessionId,result:{targetInfos:[{...D,attached:!0}]}});return}}let T=I.sessionId===a?void 0:I.sessionId;n.sendCommand(I.method,I.params,T).then(D=>m({id:I.id,sessionId:I.sessionId,result:D})).catch(D=>m({id:I.id,sessionId:I.sessionId,error:{code:0,message:D.message}}))})),f.add(u.onClose(()=>{--o===0&&n.detach()}))});return e.on("close",()=>l.close()),{rendererDebugAddr:c,success:!0,port:d}}}});function Tu(i){let r=i;return!!r?.hostName&&!!r?.errorMessage}var PA,Cu,Tm=w(()=>{te();PA="diagnosticsService",Cu=M(PA)});function jy(i,r=!1){let e=0,t=i.length,n="",o=0,s=16,a=0;function l(v){let S=0,I=0;for(;S<v;){let T=i.charCodeAt(e);if(T>=48&&T<=57)I=I*16+T-48;else if(T>=65&&T<=70)I=I*16+T-65+10;else if(T>=97&&T<=102)I=I*16+T-97+10;else break;e++,S++}return S<v&&(I=-1),I}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&&Tl(i.charCodeAt(e));)e++;if(e<i.length&&i.charCodeAt(e)===46)if(e++,e<i.length&&Tl(i.charCodeAt(e)))for(e++;e<i.length&&Tl(i.charCodeAt(e));)e++;else return a=3,i.substring(v,e);let S=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&&Tl(i.charCodeAt(e))){for(e++;e<i.length&&Tl(i.charCodeAt(e));)e++;S=e}else a=3;return i.substring(v,S)}function u(){let v="",S=e;for(;;){if(e>=t){v+=i.substring(S,e),a=2;break}let I=i.charCodeAt(e);if(I===34){v+=i.substring(S,e),e++;break}if(I===92){if(v+=i.substring(S,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 D=l(4);D>=0?v+=String.fromCharCode(D):a=4;break}default:a=5}S=e;continue}if(I>=0&&I<=31)if(_m(I)){v+=i.substring(S,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(zy(v)){do e++,n+=String.fromCharCode(v),v=i.charCodeAt(e);while(zy(v));return s=15}if(_m(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 S=e-1;if(i.charCodeAt(e+1)===47){for(e+=2;e<t&&!_m(i.charCodeAt(e));)e++;return n=i.substring(S,e),s=12}if(i.charCodeAt(e+1)===42){e+=2;let I=t-1,T=!1;for(;e<I;){if(i.charCodeAt(e)===42&&i.charCodeAt(e+1)===47){e+=2,T=!0;break}e++}return T||(e++,a=1),n=i.substring(S,e),s=13}return n+=String.fromCharCode(v),e++,s=16}case 45:if(n+=String.fromCharCode(v),e++,e===t||!Tl(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(zy(v)||_m(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 zy(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 _m(i){return i===10||i===13||i===8232||i===8233}function Tl(i){return i>=48&&i<=57}function Fn(i,r=[],e=km.DEFAULT){let t=null,n=[],o=[];function s(l){Array.isArray(n)?n.push(l):t!==null&&(n[t]=l)}return _l(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 BP(i,r=[],e=km.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}_l(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:rs(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 Gy(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 _l(i,r,e=km.DEFAULT){let t=jy(i,!1);function n(G){return G?()=>G(t.getTokenOffset(),t.getTokenLength()):()=>!0}function o(G){return G?Ee=>G(Ee,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,S=e&&e.allowTrailingComma;function I(){for(;;){let G=t.scan();switch(t.getTokenError()){case 4:T(14);break;case 5:T(15);break;case 3:T(13);break;case 1:v||T(11);break;case 2:T(12);break;case 6:T(16);break}switch(G){case 12:case 13:v?T(10):m();break;case 16:T(1);break;case 15:case 14:break;default:return G}}}function T(G,Ee=[],Mt=[]){if(y(G),Ee.length+Mt.length>0){let je=t.getToken();for(;je!==17;){if(Ee.indexOf(je)!==-1){I();break}else if(Mt.indexOf(je)!==-1)break;je=I()}}}function D(G){let Ee=t.getTokenValue();return G?u(Ee):a(Ee),I(),!0}function k(){switch(t.getToken()){case 11:{let G=0;try{G=JSON.parse(t.getTokenValue()),typeof G!="number"&&(T(2),G=0)}catch{T(2)}u(G);break}case 7:u(null);break;case 8:u(!0);break;case 9:u(!1);break;default:return!1}return I(),!0}function A(){return t.getToken()!==10?(T(3,[],[2,5]),!1):(D(!1),t.getToken()===6?(f(":"),I(),ee()||T(4,[],[2,5])):T(5,[],[2,5]),!0)}function oe(){s(),I();let G=!1;for(;t.getToken()!==2&&t.getToken()!==17;){if(t.getToken()===5){if(G||T(4,[],[]),f(","),I(),t.getToken()===2&&S)break}else G&&T(6,[],[]);A()||T(4,[],[2,5]),G=!0}return l(),t.getToken()!==2?T(7,[2],[]):I(),!0}function O(){c(),I();let G=!1;for(;t.getToken()!==4&&t.getToken()!==17;){if(t.getToken()===5){if(G||T(4,[],[]),f(","),I(),t.getToken()===4&&S)break}else G&&T(6,[],[]);ee()||T(4,[],[4,5]),G=!0}return d(),t.getToken()!==4?T(8,[4],[]):I(),!0}function ee(){switch(t.getToken()){case 3:return O();case 1:return oe();case 10:return D(!0);default:return k()}}return I(),t.getToken()===17?e.allowEmptyContent?!0:(T(4,[],[]),!1):ee()?(t.getToken()!==17&&T(9,[],[]),!0):(T(4,[],[]),!1)}function rs(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 km,ii=w(()=>{(r=>r.DEFAULT={allowTrailingComma:!0})(km||={})});var Rm,We,_u=w(()=>{Zt();Rm=(n=>(n[n.Ignore=0]="Ignore",n[n.Info=1]="Info",n[n.Warning=2]="Warning",n[n.Error=3]="Error",n))(Rm||{});(a=>{let i="error",r="warning",e="warn",t="info",n="ignore";function o(l){return l?qr(i,l)?3:qr(r,l)||qr(e,l)?2:qr(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})(Rm||={});We=Rm});function dr(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"?dr(t):t}),r}function VP(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(HP.call(e,t)){let n=e[t];typeof n=="object"&&!Object.isFrozen(n)&&!BS(n)&&r.push(n)}}return i}function $P(i,r){return Qy(i,r,new Set)}function Qy(i,r,e){if(Kt(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(Qy(o,r,e));return n}if(Ge(i)){if(e.has(i))throw new Error("Cannot clone recursive data-structure");e.add(i);let n={};for(let o in i)HP.call(i,o)&&(n[o]=Qy(i[o],r,e));return e.delete(i),n}return i}function Dm(i,r,e=!0){return Ge(i)?(Ge(r)&&Object.keys(r).forEach(t=>{t in i?e&&(Ge(i[t])&&Ge(r[t])?Dm(i[t],r[t],e):i[t]=r[t]):i[t]=r[t]}),i):r}function pn(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(!pn(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(),!pn(n,o))return!1;for(e=0;e<n.length;e++)if(!pn(i[n[e]],r[n[e]]))return!1}return!0}function Am(i){let r=new Set;return JSON.stringify(i,(e,t)=>{if(Ge(t)||Array.isArray(t)){if(r.has(t))return"[Circular]";r.add(t)}return typeof t=="bigint"?`[BigInt ${t.toString()}]`:t})}function go(i,r){let e=r.toLowerCase(),t=Object.keys(i).find(n=>n.toLowerCase()===e);return t?i[t]:i[r]}var HP,Qr=w(()=>{Me();HP=Object.prototype.hasOwnProperty});function Lm(i,r){let e=dr(i),t=(e.buttons??[]).map(a=>Ad(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(re||V){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}re&&t.length>1&&(t=t.reverse(),n=n.reverse(),o=t.length-1,typeof a=="string"&&(s=o-1))}else if(W&&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 RH,DH,Xy=w(()=>{It();_u();be();te();ro();Y();Qr();RH=M("dialogService"),DH=M("fileDialogService")});import Zs from"electron";var fn,kl,ea=w(()=>{ge();Ei();ro();$();xd();Y();lr();be();Xy();te();ne();cr();Lr();fn=M("dialogMainService"),kl=class{constructor(r,e){this.logService=r;this.productService=e;this.windowFileDialogLocks=new Map;this.windowDialogQueues=new Map;this.noWindowDialogueQueue=new An}pickFileFolder(r,e){return this.doPick({...r,pickFolders:!0,pickFiles:!0,title:h(2221,null)},e)}pickFolder(r,e){let t={...r,pickFolders:!0,title:h(2223,null)};return W&&(t={...t,buttonLabel:Ad(h(2226,null)).withMnemonic}),this.doPick(t,e)}pickFile(r,e){return this.doPick({...r,pickFiles:!0,title:h(2222,null)},e)}pickWorkspace(r,e){let t=h(2225,null),n=Ad(h(2224,null)).withMnemonic,o=hP;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"]),V&&t.properties.push("treatPackageAsDirectory");let n=await this.showOpenDialog(t,(e||Zs.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 An,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}=Lm(r,this.productService),o;return e?o=await Zs.dialog.showMessageBox(e,t):o=await Zs.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 Zs.dialog.showSaveDialog(e,r):n=await Zs.dialog.showSaveDialog(r),n.filePath=this.normalizePath(n.filePath),n})}finally{ht(t)}}normalizePath(r){return r&&V&&(r=Si(r)),r}normalizePaths(r){return r.map(e=>this.normalizePath(e))}async showOpenDialog(r,e){r.defaultPath&&(await J.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 Zs.dialog.showOpenDialog(e,r):n=await Zs.dialog.showOpenDialog(r),n.filePaths=this.normalizePaths(n.filePaths),n})}finally{ht(t)}}acquireFileDialogLock(r,e){if(!e)return _.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=mr(r);if(!t.has(n))return this.logService.trace("[DialogMainService]: new file dialog lock created",r),t.add(n),z(()=>{this.logService.trace("[DialogMainService]: file dialog lock disposed",r),t?.delete(n),t?.size===0&&this.windowFileDialogLocks.delete(e.id)})}};kl=C([g(0,N),g(1,Ae)],kl)});async function qP(i,r,e){for(let n of i){let o=n.openedWorkspace;if(ft(o)){let s=await e(o);if(s){if(s.folders.some(a=>Qe.isEqualOrParent(r,a.uri)))return n}else if(Qe.isEqualOrParent(r,o.configPath))return n}}let t=i.filter(n=>zt(n.openedWorkspace)&&Qe.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 vo(i,r){for(let e of i)if(ft(e.openedWorkspace)&&Qe.isEqual(e.openedWorkspace.configPath,r)||zt(e.openedWorkspace)&&Qe.isEqual(e.openedWorkspace.uri,r))return e}function zP(i,r){let e=t=>r.some(n=>Qe.isEqual(P.file(n),P.file(t)));for(let t of i)if(t.config?.extensionDevelopmentPath?.some(n=>e(n)))return t}var Yy=w(()=>{It();le();Lr()});function jP(i,r,e){let t,n,o,s,a;if(r){for(s=r.offset,a=s+r.length,o=s;o>0&&!ku(i,o-1);)o--;let D=a;for(;D<i.length&&!ku(i,D);)D++;n=i.substring(o,D),t=EA(n,e)}else n=i,t=0,o=0,s=0,a=i.length;let l=CA(e,i),c=!1,d=0,u;e.insertSpaces?u=Zy(" ",e.tabSize||4):u="	";let f=jy(n,!1),m=!1;function y(){return l+Zy(u,t+d)}function v(){let D=f.scan();for(c=!1;D===15||D===14;)c=c||D===14,D=f.scan();return m=D===16||f.getTokenError()!==0,D}let S=[];function I(D,k,A){!m&&k<a&&A>s&&i.substring(k,A)!==D&&S.push({offset:k,length:A-k,content:D})}let T=v();if(T!==17){let D=f.getTokenOffset()+o,k=Zy(u,t);I(k,o,D)}for(;T!==17;){let D=f.getTokenOffset()+f.getTokenLength()+o,k=v(),A="";for(;!c&&(k===12||k===13);){let O=f.getTokenOffset()+o;I(" ",D,O),D=f.getTokenOffset()+f.getTokenLength()+o,A=k===12?y():"",k=v()}if(k===2)T!==1&&(d--,A=y());else if(k===4)T!==3&&(d--,A=y());else{switch(T){case 3:case 1:d++,A=y();break;case 5:case 12:A=y();break;case 13:c?A=y():A=" ";break;case 6:A=" ";break;case 10:if(k===6){A="";break}case 7:case 8:case 9:case 11:case 2:case 4:k===12||k===13?A=" ":k!==5&&k!==17&&(m=!0);break;case 16:m=!0;break}c&&(k===12||k===13)&&(A=y())}let oe=f.getTokenOffset()+o;I(A,D,oe),T=k}return S}function Zy(i,r){let e="";for(let t=0;t<r;t++)e+=i;return e}function EA(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 CA(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 ku(i,r){return`\r
`.indexOf(i.charAt(r))!==-1}var GP=w(()=>{ii()});function tw(i,r,e,t,n){let o=r.slice(),a=BP(i,[]),l,c;for(;o.length>0&&(c=o.pop(),l=Gy(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=Gy(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 Rl(i,{offset:f,length:m-f,content:""},t)}else return Rl(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 Rl(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 Rl(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 Rl(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?[]:Rl(i,{offset:a?a.offset:0,length:a?a.length:0,content:JSON.stringify(e)},t)}function Rl(i,r,e){let t=ew(i,r),n=r.offset,o=r.offset+r.content.length;if(r.length===0||r.content.length===0){for(;n>0&&!ku(t,n-1);)n--;for(;o<t.length&&!ku(t,o);)o++}let s=jP(t,{offset:n,length:o-n},e);for(let l=s.length-1;l>=0;l--){let c=s[l];t=ew(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 ew(i,r){return i.substring(0,r.offset)+r.content+i.substring(r.offset+r.length)}function rw(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=ew(i,o);else throw new Error("Overlapping edit");t=o.offset}return i}var nw=w(()=>{ii();GP()});function yo(i){return i.scheme===U.vscodeRemote?i.authority:void 0}var Dl=w(()=>{qe()});function Mm(i){return i.hasOwnProperty("workspace")}function Ru(i){return i.hasOwnProperty("folderUri")}function QP(i){return i.hasOwnProperty("fileUri")}function XP(i){return YP(i)||ZP(i)}function YP(i){let r=i;return typeof r?.path=="string"&&(!r.name||typeof r.name=="string")}function ZP(i){let r=i;return typeof r?.uri=="string"&&(!r.name||typeof r.name=="string")}function e0(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=".":W&&(o=JP(o));else if(i.scheme===U.file)o=i.fsPath,W&&(o=JP(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 JP(i){return i=Dd(i),d1(i)||(i=Ii(i)),i}function t0(i,r,e){let t=[],n=new Set,o=e.dirname(r);for(let s of i){let a;if(YP(s))s.path&&(a=e.resolvePath(o,s.path));else if(ZP(s))try{a=P.parse(s.uri),a.path[0]!==pe.sep&&(a=a.with({path:pe.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 nm({uri:a,name:c,index:t.length},s))}}}return t}function _A(i){let r=i;return typeof r?.workspace=="object"&&typeof r.workspace.id=="string"&&typeof r.workspace.configPath=="string"}function kA(i){return typeof i?.folderUri=="string"}function RA(i){return typeof i?.fileUri=="string"}function r0(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;_A(o)?e.workspaces.push({label:s,remoteAuthority:a,workspace:{id:o.workspace.id,configPath:P.parse(o.workspace.configPath)}}):kA(o)?e.workspaces.push({label:s,remoteAuthority:a,folderUri:P.parse(o.folderUri)}):RA(o)&&e.files.push({label:s,remoteAuthority:a,fileUri:P.parse(o.fileUri)})})}return e}function n0(i){let r={entries:[]},e=(t,n)=>t&&t!==n.fsPath&&t!==n.path;for(let t of i.workspaces)Ru(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 iw,Om=w(()=>{ln();ii();nw();ro();qe();Pe();Y();It();le();te();Dl();Lr();iw=M("workspacesService")});import*as ow from"fs";import DA from"electron";var mn,Al,ns=w(()=>{j();ii();$();qe();Pe();It();lr();be();El();ea();Wt();te();ne();ts();Yy();Lr();Om();xm();mn=M("workspacesManagementMainService"),Al=class extends _{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 J.readdir(this.untitledWorkspacesHome.with({scheme:U.file}).fsPath)).map(t=>ce(this.untitledWorkspacesHome,t,Cy));for(let t of e){let n=mo(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=>ow.promises.readFile(t,"utf8"))}doResolveLocalWorkspace(e,t){if(this.isWorkspacePath(e)&&e.scheme===U.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 Ty(e,this.environmentMainService)||ki(e)}doResolveWorkspace(e,t){try{let n=this.doParseStoredWorkspace(e,t),o=mo(e);return{id:o.id,configPath:o.configPath,folders:t0(n.folders,o.configPath,Qe),remoteAuthority:n.remoteAuthority,transient:n.transient}}catch(n){this.logService.warn(n.toString())}}doParseStoredWorkspace(e,t){let n=Fn(t);if(n&&Array.isArray(n.folders))n.folders=n.folders.filter(o=>XP(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 ow.promises.mkdir(tt(s),{recursive:!0}),await J.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=ce(this.untitledWorkspacesHome,n),s=ce(o,Cy),a=[];for(let l of e)a.push(e0(l.uri,!0,l.name,o,Qe));return{workspace:mo(s),storedWorkspace:{folders:a,remoteAuthority:t}}}async getWorkspaceIdentifier(e){return mo(e)}isUntitledWorkspace(e){return Ty(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=wr(e.configPath);try{await J.rm(tt(t));let n=B(this.environmentMainService.workspaceStorageHome.with({scheme:U.file}).fsPath,e.id);await J.exists(n)&&await J.writeFile(B(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,mo(n));if(s)return this._onDidEnterWorkspace.fire({window:e,workspace:s.workspace}),s}async isValidTargetWorkspacePath(e,t,n){return n?ft(e.openedWorkspace)&&Qe.isEqual(e.openedWorkspace.configPath,n)?!1:vo(t,n)?(await this.dialogMainService.showMessageBox({type:"info",buttons:[h(3098,null)],message:h(3100,null,zr(n)),detail:h(3099,null)},DA.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})),ft(e.openedWorkspace)&&this.isUntitledWorkspace(e.openedWorkspace)&&await this.deleteUntitledWorkspace(e.openedWorkspace),e.config.workspace=t,e.config.backupPath=n,{workspace:t,backupPath:n}}};Al=C([g(0,_e),g(1,N),g(2,Br),g(3,Oi),g(4,fn)],Al)});function i0(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 Fm(i){i&&(delete i.DEBUG,delete i.NODE_OPTIONS,re&&delete i.LD_PRELOAD)}var Du=w(()=>{Y()});import{MessageChannelMain as AA,app as o0,utilityProcess as LA}from"electron";import{StringDecoder as s0}from"string_decoder";function MA(i){return typeof i.responseWindowId=="number"}var ur,is,os=w(()=>{$();j();ne();ge();qe();jt();_u();nr();_t();Du();Qr();Y();qa();ur=class extends _{constructor(e,t,n){super();this.logService=e;this.telemetryService=t;this.lifecycleMainService=n;this.id=String(++ur.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(ur.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=lt.asFileUri("bootstrap-fork.js").fsPath,o=this.configuration.args??[],s=[...this.configuration.execArgv??[]],a=this.configuration.allowLoadingUnsignedLibraries,l=o0.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=LA.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}:{...dr(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,W&&(K1()?t.NODE_DISABLE_UNC_ACCESS_CHECKS="1":t.NODE_UNC_HOST_ALLOWLIST=V1().join("\\")),Fm(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 s0("utf-8");this._register(x.fromNodeEventEmitter(e.stdout,"data")(s=>this._onStdout.fire(typeof s=="string"?s:o.write(s))))}if(e.stderr){let o=new s0("utf-8");this._register(x.fromNodeEventEmitter(e.stderr,"data")(s=>this._onStderr.fire(typeof s=="string"?s:o.write(s))))}this._register(x.fromNodeEventEmitter(e,"message")(o=>this._onMessage.fire(o))),this._register(x.fromNodeEventEmitter(e,"spawn")(()=>{this.processPid=e.pid,typeof e.pid=="number"&&ur.all.set(e.pid,{pid:e.pid,name:MA(t)?`${t.name} [${t.responseWindowId}]`:t.name}),this.log("successfully created",We.Info),this._onSpawn.fire(e.pid)})),this._register(x.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(x.fromNodeEventEmitter(o0,"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 AA;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"&&ur.all.delete(this.processPid),this.process=void 0}async waitForExit(e){this.process&&(this.log("waiting to exit...",We.Info),await Promise.race([x.toPromise(this.onExit),ut(e)]),this.process&&(this.log(`did not exit within ${e}ms, will kill it now...`,We.Info),this.kill()))}};ur=C([g(0,N),g(1,Ke),g(2,ve)],ur);is=class extends ur{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(x.filter(this.lifecycleMainService.onWillLoadWindow,s=>s.window.win===e)(o)),this._register(x.fromNodeEventEmitter(e,"closed")(o))}}};is=C([g(0,N),g(1,$e),g(2,Ke),g(3,ve)],is)});import{app as sw}from"electron";var OA,Ml,Ll,aw=w(()=>{Ln();Tt();te();jt();Lr();ns();Me();ne();os();OA="diagnosticsMainService",Ml=M(OA),Ll=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",Te.None,{replyChannel:s,args:a}),Xe.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 ur.getAll())e.push({pid:o,name:s});let t=[],n=sw;return typeof n.getGPULogMessages=="function"&&(t=n.getGPULogMessages()),{mainPID:process.pid,mainArguments:process.argv.slice(1),windows:r,pidToNames:e,screenReader:!!sw.accessibilitySupportEnabled,gpuFeatureStatus:sw.getGPUFeatureStatus(),gpuLogMessages:t}}async codeWindowToInfo(r){let e=await this.getFolderURIs(r),t=yi(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(zt(t))e.push(t.uri);else if(ft(t)){let n=await this.workspacesManagementMainService.resolveLocalWorkspace(t.configPath);n&&n.folders.forEach(s=>{e.push(s.uri)})}return e}};Ll=C([g(0,$e),g(1,mn),g(2,N)],Ll)});import{safeStorage as FA,app as WA}from"electron";var ss,Ol,a0=w(()=>{Y();Nf();ne();ss=FA,Ol=class{constructor(r){this.logService=r;WA.commandLine.getSwitchValue("password-store")==="basic"&&(this.logService.trace("[EncryptionMainService] setting usePlainTextEncryption to true..."),ss.setUsePlainTextEncryption?.(!0),this.logService.trace("[EncryptionMainService] set usePlainTextEncryption to true"))}async encrypt(r){this.logService.trace("[EncryptionMainService] Encrypting value...");try{let e=JSON.stringify(ss.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=ss.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=ss.isEncryptionAvailable();return this.logService.trace("[EncryptionMainService] Encryption is available: ",r),Promise.resolve(r)}getKeyStorageProvider(){if(W)return Promise.resolve("dpapi");if(V)return Promise.resolve("keychain_access");if(ss.getSelectedStorageBackend)try{this.logService.trace("[EncryptionMainService] Getting selected storage backend...");let r=ss.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(W)throw new Error("Setting plain text encryption is not supported on Windows.");if(V)throw new Error("Setting plain text encryption is not supported on macOS.");if(!ss.setUsePlainTextEncryption)throw new Error("Setting plain text encryption is not supported.");this.logService.trace("[EncryptionMainService] Setting usePlainTextEncryption to true..."),ss.setUsePlainTextEncryption(!0),this.logService.trace("[EncryptionMainService] Set usePlainTextEncryption to true")}};Ol=C([g(0,N)],Ol)});var mt,Au,lw,Lu,l0,c0,Mu=w(()=>{be();mt="workbench.action.browser",Au=(Se=>(Se.Open=`${mt}.open`,Se.OpenFile=`${mt}.openFile`,Se.NewTab=`${mt}.newTab`,Se.QuickOpen=`${mt}.quickOpen`,Se.OpenOrList=`${mt}.openOrList`,Se.CloseAll=`${mt}.closeAll`,Se.CloseAllInGroup=`${mt}.closeAllInGroup`,Se.GoBack=`${mt}.goBack`,Se.GoForward=`${mt}.goForward`,Se.Reload=`${mt}.reload`,Se.HardReload=`${mt}.hardReload`,Se.FocusUrlInput=`${mt}.focusUrlInput`,Se.OpenExternal=`${mt}.openExternal`,Se.OpenSettings=`${mt}.openSettings`,Se.AddFavorite=`${mt}.addFavorite`,Se.RemoveFavorite=`${mt}.removeFavorite`,Se.AddElementToChat=`${mt}.addElementToChat`,Se.AddConsoleLogsToChat=`${mt}.addConsoleLogsToChat`,Se.AddScreenshotToChat=`${mt}.addScreenshotToChat`,Se.AddAreaScreenshotToChat=`${mt}.addAreaScreenshotToChat`,Se.AddFullPageScreenshotToChat=`${mt}.addFullPageScreenshotToChat`,Se.ToggleDevTools=`${mt}.toggleDevTools`,Se.ClearGlobalStorage=`${mt}.clearGlobalStorage`,Se.ClearWorkspaceStorage=`${mt}.clearWorkspaceStorage`,Se.ClearEphemeralStorage=`${mt}.clearEphemeralStorage`,Se.ShowFind=`${mt}.showFind`,Se.HideFind=`${mt}.hideFind`,Se.FindNext=`${mt}.findNext`,Se.FindPrevious=`${mt}.findPrevious`,Se))(Au||{}),lw="browserView",Lu=[.25,1/3,.5,2/3,.75,.8,.9,1,1.1,1.25,1.5,1.75,2,2.5,3,4,5],l0=Lu.indexOf(1),c0=999});var cw,d0=w(()=>{cw="browserViewGroup"});var Fl,u0=w(()=>{$();j();ne();Fl=class extends _{constructor(e,t){super();this.browser=e;this.logService=t;this._lastLayout={containerWidth:1024,containerHeight:768,scale:1,hostZoom:1};this._onDidChange=this._register(new b);this.onDidChange=this._onDidChange.event;this._defaultUserAgent=this.browser.webContents.getUserAgent();let n=()=>{this._lastApplied=void 0,this._reapply()};this.browser.webContents.on("did-navigate",n),this._register(this.browser.debugger.registerCommandInterceptor((o,s,a)=>this._intercept(o,s,a)))}get device(){return this._device}async setDevice(e){let t=this._device;this._device=e;let n=e?.userAgent;t?.userAgent!==n&&this.browser.webContents.setUserAgent(n??this._defaultUserAgent),t&&!e&&this.isSafeToApplyEmulation()&&(this.browser.webContents.disableDeviceEmulation(),this._applyTouchAndMedia()),this._lastApplied=void 0,e&&this.isSafeToApplyEmulation()&&this._reapply(),this._onDidChange.fire(e)}applyScreenEmulation(e,t,n,o){this._lastLayout={containerWidth:e,containerHeight:t,scale:n,hostZoom:o},this._reapply()}_reapply(){if(!this._device||!this.isSafeToApplyEmulation())return;let{containerWidth:e,containerHeight:t,scale:n,hostZoom:o}=this._lastLayout,s=Math.max(.01,n),a=Math.max(.01,o),l=Math.max(1,Math.round(this._device.width||e/s)),c=Math.max(1,Math.round(this._device.height||t/s)),d=!!this._device.mobile,u=this._lastApplied;if(u&&u.viewportWidth===l&&u.viewportHeight===c&&Math.abs(u.scale-s)<1e-4&&Math.abs(u.hostZoom-a)<1e-4&&u.mobile===d)return;this._lastApplied={viewportWidth:l,viewportHeight:c,scale:s,hostZoom:a,mobile:d};let f={screenPosition:d?"mobile":"desktop",screenSize:{width:l,height:c},viewSize:{width:l,height:c},deviceScaleFactor:this._device.deviceScaleFactor??0,viewPosition:{x:0,y:0},scale:s*a};d&&!u&&this.browser.webContents.enableDeviceEmulation({...f,screenPosition:"desktop"}),this.browser.webContents.enableDeviceEmulation(f),d!==u?.mobile&&this._applyTouchAndMedia()}isSafeToApplyEmulation(){return!this.browser.webContents.isDestroyed()&&!!this.browser.webContents.getURL()}async _applyTouchAndMedia(){if(!this.isSafeToApplyEmulation())return;let e=this._device,t=!!this._device?.mobile;try{if(await this.browser.debugger.sendCommandRaw("Emulation.setTouchEmulationEnabled",{enabled:t,maxTouchPoints:t?5:1}),this.device!==e||(await this.browser.debugger.sendCommandRaw("Emulation.setEmulatedMedia",{features:this._device?[{name:"pointer",value:t?"coarse":"fine"}]:[]}),this.device!==e))return;await this.browser.debugger.sendCommandRaw("Emulation.setEmitTouchEventsForMouse",{enabled:t})}catch(n){this.logService.error("[BrowserViewEmulator] _applyTouchAndMedia failed",n)}}_intercept(e,t,n){if(!(n&&n.targetId!==this.browser.debugger.targetId))switch(e){case"Emulation.setDeviceMetricsOverride":{let o=t??{},s={...this._device,width:o.width||void 0,height:o.height||void 0,mobile:o.mobile??this._device?.mobile,deviceScaleFactor:o.deviceScaleFactor??this._device?.deviceScaleFactor};return this.setDevice(s).then(()=>({}))}case"Emulation.clearDeviceMetricsOverride":{if(!this._device)return Promise.resolve({});let{width:o,height:s,mobile:a,deviceScaleFactor:l,...c}=this._device,d=Object.values(c).some(u=>u!==void 0);return this.setDevice(d?c:void 0).then(()=>({}))}case"Emulation.setUserAgentOverride":{let o=t??{};if(o.acceptLanguage!==void 0||o.platform!==void 0||o.userAgentMetadata!==void 0)return;let s=o.userAgent||void 0;return this.setDevice({...this._device,userAgent:s}).then(()=>({}))}default:return}}};Fl=C([g(1,N)],Fl)});function Wm(i,r){for(let e of i.matchAll(UA))r.add(e[1])}function ta(i,r,e){for(let t of i)!t.name||!t.value||t.disabled||t.name.startsWith("--")||e&&!f0.has(t.name)||r.add(t.name)}function BA(i){let e=i.split(";").map(t=>t.trim()).filter(Boolean).filter(t=>{let n=t.indexOf(":");if(n===-1)return!1;let o=t.substring(0,n).trim();return f0.has(o)});return e.length>0?e.join("; "):void 0}function h0(i){let r=new Set,e=new Set,t=new Set,n=new Set,o=[];if(i.inlineStyle?.cssText?.trim()){let a=i.inlineStyle.cssText.trim();Wm(a,r),ta(i.inlineStyle.cssProperties,e),o.push(`element { ${a} }`)}for(let a of i.matchedCSSRules??[]){if(a.rule.origin==="user-agent"){ta(a.rule.style.cssProperties,t);continue}let l=a.rule.style.cssText?.trim();if(!l||n.has(l))continue;n.add(l),Wm(l,r),ta(a.rule.style.cssProperties,e);let c=a.rule.selectorList.selectors.map(d=>d.text).join(", ");o.push(`${c} { ${l} }`)}if(i.pseudoElements?.length){let a=[];for(let l of i.pseudoElements)for(let c of l.matches??[]){if(c.rule.origin==="user-agent"){ta(c.rule.style.cssProperties,t);continue}let d=c.rule.style.cssText?.trim();if(!d||n.has(d))continue;n.add(d),Wm(d,r),ta(c.rule.style.cssProperties,e);let u=c.rule.selectorList.selectors.map(f=>f.text).join(", ");a.push(`${u} { ${d} }`)}a.length>0&&(o.push(""),o.push("/* Pseudo-elements */"),o.push(...a))}let s=[];for(let a of i.inherited??[])for(let l of a.matchedCSSRules??[]){if(l.rule.origin==="user-agent"){ta(l.rule.style.cssProperties,t,!0);continue}let c=l.rule.style.cssText?.trim();if(!c)continue;let d=BA(c);if(!d||n.has(d))continue;n.add(d),Wm(d,r),ta(l.rule.style.cssProperties,e,!0);let u=l.rule.selectorList.selectors.map(f=>f.text).join(", ");s.push(`${u} { ${d} }`)}s.length>0&&(o.push(""),o.push("/* Inherited */"),o.push(...s));for(let a of NA)e.add(a);return{rulesText:o.join(`
`),referencedVars:r,authorPropertyNames:e,userAgentPropertyNames:t}}function p0(i,r){let[e,t,n,o]=r,s=i.get(e),a=i.get(t),l=i.get(n),c=i.get(o);if(!(s===void 0||a===void 0||l===void 0||c===void 0))return i.delete(e),i.delete(t),i.delete(n),i.delete(o),s===a&&a===l&&l===c?s:s===l&&a===c?`${s} ${a}`:a===c?`${s} ${a} ${l}`:`${s} ${a} ${l} ${c}`}function jA(i){let r=[],e=0,t=0;for(let n=0;n<i.length;n++){let o=i[n];o==="("?e++:o===")"?e--:o===","&&e===0&&(r.push(i.substring(t,n).trim()),t=n+1)}return r.push(i.substring(t).trim()),r}function GA(i,r,e,t){let n=t.map(({name:l})=>i.get(l));if(!n.every(l=>l!==void 0))return;let o=n.map(l=>jA(l)),s=o[0].length;if(!o.every(l=>l.length===s))return;for(let{name:l}of t)i.delete(l);let a=[];for(let l=0;l<s;l++){let c=[];for(let d=0;d<t.length;d++){let u=o[d][l];u!==t[d].initial&&c.push(u)}a.push(c.length>0?c.join(" "):t[0].initial)}r.push(`${e}: ${a.join(", ")};`)}function g0(i){let r=[];for(let{shorthand:o,sides:s}of VA){let a=p0(i,s);a!==void 0&&r.push(`${o}: ${a};`)}let e=dw.map(o=>o.sides.map(s=>i.get(s)));if(e.every(o=>o.every(s=>s!==void 0)))if(e.every(s=>s.every(a=>a===s[0]))){for(let s of dw)for(let a of s.sides)i.delete(a);r.push(`border: ${e[0][0]} ${e[1][0]} ${e[2][0]};`)}else for(let s of dw){let a=p0(i,s.sides);a!==void 0&&r.push(`${s.shorthand}: ${a};`)}for(let{longhands:o}of HA)if(Object.entries(o).every(([a,l])=>i.get(a)===l)&&Object.keys(o).some(a=>i.has(a)))for(let a of Object.keys(o))i.delete(a);{let{colorLonghand:o,otherLonghands:s}=$A,a=i.get(o);if(Object.entries(s).every(([c,d])=>i.get(c)===d)&&a!==void 0){i.delete(o);for(let c of Object.keys(s))i.delete(c);r.push(`background: ${a};`)}}for(let{shorthand:o,longhands:s}of KA){if(i.get(s[0].name)===void 0)continue;let l=s.map(({name:d})=>i.get(d));for(let{name:d}of s)i.delete(d);let c=[];for(let d=0;d<s.length;d++){let u=l[d]??s[d].initial;u!==s[d].initial&&c.push(u)}r.push(`${o}: ${c.length>0?c.join(" "):s[0].initial};`)}{let o=i.get("white-space-collapse"),s=i.get("text-wrap-mode");if(o!==void 0&&s!==void 0){i.delete("white-space-collapse"),i.delete("text-wrap-mode");let a=qA.find(l=>l.collapse===o&&l.wrap===s);r.push(`white-space: ${a?a.keyword:`${o} ${s}`};`)}}for(let{shorthand:o,longhands:s}of zA)GA(i,r,o,s);let n=[];for(let[o,s]of Array.from(i.entries()).sort(([a],[l])=>a.localeCompare(l)))n.push(`${o}: ${s};`);return[...r,...n]}var f0,UA,m0,NA,VA,dw,HA,$A,KA,qA,zA,v0=w(()=>{f0=new Set(["color","cursor","direction","font","font-family","font-feature-settings","font-kerning","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","letter-spacing","line-height","list-style","list-style-image","list-style-position","list-style-type","orphans","overflow-wrap","quotes","tab-size","text-align","text-align-last","text-indent","text-transform","visibility","white-space","widows","word-break","word-spacing","writing-mode"]),UA=/var\(\s*(--[a-zA-Z0-9_-]+)/g,m0=new Set(["display","position","margin","margin-top","margin-right","margin-bottom","margin-left","padding","padding-top","padding-right","padding-bottom","padding-left","font-size","font-family","color","background-color"]),NA=new Set(["display","height","width"]);VA=[{shorthand:"margin",sides:["margin-top","margin-right","margin-bottom","margin-left"]},{shorthand:"padding",sides:["padding-top","padding-right","padding-bottom","padding-left"]},{shorthand:"border-radius",sides:["border-top-left-radius","border-top-right-radius","border-bottom-right-radius","border-bottom-left-radius"]}],dw=[{shorthand:"border-width",sides:["border-top-width","border-right-width","border-bottom-width","border-left-width"]},{shorthand:"border-style",sides:["border-top-style","border-right-style","border-bottom-style","border-left-style"]},{shorthand:"border-color",sides:["border-top-color","border-right-color","border-bottom-color","border-left-color"]}],HA=[{longhands:{"border-image-source":"none","border-image-slice":"100%","border-image-width":"1","border-image-outset":"0","border-image-repeat":"stretch"}},{longhands:{"animation-range-start":"normal","animation-range-end":"normal"}}],$A={colorLonghand:"background-color",otherLonghands:{"background-image":"none","background-position-x":"0px","background-position-y":"0px","background-size":"auto","background-repeat":"repeat","background-attachment":"scroll","background-origin":"padding-box","background-clip":"border-box"}},KA=[{shorthand:"text-decoration",longhands:[{name:"text-decoration-line",initial:"none"},{name:"text-decoration-style",initial:"solid"},{name:"text-decoration-color",initial:"currentcolor"},{name:"text-decoration-thickness",initial:"auto"}]}],qA=[{collapse:"collapse",wrap:"wrap",keyword:"normal"},{collapse:"collapse",wrap:"nowrap",keyword:"nowrap"},{collapse:"preserve",wrap:"nowrap",keyword:"pre"},{collapse:"preserve",wrap:"wrap",keyword:"pre-wrap"},{collapse:"preserve-breaks",wrap:"wrap",keyword:"pre-line"},{collapse:"break-spaces",wrap:"wrap",keyword:"break-spaces"}],zA=[{shorthand:"transition",longhands:[{name:"transition-property",initial:"all"},{name:"transition-duration",initial:"0s"},{name:"transition-timing-function",initial:"ease"},{name:"transition-delay",initial:"0s"},{name:"transition-behavior",initial:"normal"}]},{shorthand:"animation",longhands:[{name:"animation-name",initial:"none"},{name:"animation-duration",initial:"0s"},{name:"animation-timing-function",initial:"ease"},{name:"animation-delay",initial:"0s"},{name:"animation-iteration-count",initial:"1"},{name:"animation-direction",initial:"normal"},{name:"animation-fill-mode",initial:"none"},{name:"animation-play-state",initial:"running"},{name:"animation-timeline",initial:"auto"}]}]});function QA(){let i=new Q;return i[Symbol.dispose]=()=>i.dispose(),i}async function XA(i,r){var ee=[];try{let e=Kb(ee,QA());let t={};e.add(i.onEvent(je=>{if(je.method==="DOM.setChildNodes"){let{nodes:Se}=je.params;for(let Pt of Se){if(t[Pt.nodeId]=Pt,Pt.children)for(let K of Pt.children)t[K.nodeId]={...K,parentId:Pt.nodeId};if(Pt.pseudoElements)for(let K of Pt.pseudoElements)t[K.nodeId]={...K,parentId:Pt.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:je}=await i.sendCommand("DOM.pushNodesByBackendIdsToFrontend",{backendNodeIds:[n.backendNodeId]});if(!je?.length)throw new Error("Failed to get node ID.");o=je[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{rulesText:y,referencedVars:v,authorPropertyNames:S,userAgentPropertyNames:I}=h0(m);let{outerHTML:T}=await i.sendCommand("DOM.getOuterHTML",{nodeId:o});if(!T)throw new Error("Failed to get outerHTML.");let D=y0(n.attributes);let k=[];let A=t[o]??n;for(;A;){let je=y0(A.attributes);k.unshift({tagName:A.localName,id:je.id,classNames:je.class?.trim().split(/\s+/).filter(Boolean)}),A=A.parentId?t[A.parentId]:void 0}let oe=y;let O;try{let{computedStyle:je}=await i.sendCommand("CSS.getComputedStyleForNode",{nodeId:o});if(je){O={};let Se=new Map,Pt=[];for(let K of je)!K.name||typeof K.value!="string"||((v.has(K.name)||m0.has(K.name))&&(O[K.name]=K.value),S.has(K.name)?Se.set(K.name,K.value):I.has(K.name)&&Se.set(K.name,`${K.value} /*UA*/`),v.has(K.name)&&Pt.push(`${K.name}: ${K.value};`));if(Se.size>0){let K=g0(Se);oe+=`

/* Resolved values */
`+K.join(`
`)}Pt.length>0&&(oe+=`

/* CSS variables */
`+Pt.join(`
`))}}catch{}return{outerHTML:T,computedStyle:oe,bounds:{x:c,y:d,width:u,height:f},ancestors:k,attributes:D,computedStyles:O,dimensions:{top:d,left:c,width:u,height:f}}}catch(G){var Ee=G,Mt=!0}finally{qb(ee,Ee,Mt)}}function y0(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 JA,Um,w0=w(()=>{j();$();v0();JA={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}}}};Um=class extends _{constructor(e,t,n,o){super();this.connection=e;this.frame=t;this._uniqueContextId=n;this._frameId=o;this._isDisposed=!1;this._onWillDispose=this._register(new b);this.onWillDispose=this._onWillDispose.event;this._onDidInspectElement=this._register(new b);this.onDidInspectElement=this._onDidInspectElement.event;this._onDidStopPicking=this._register(new b);this.onDidStopPicking=this._onDidStopPicking.event;this._isPaused=!1;this._activeInspection=this._register(new St);this._register(e.onClose(()=>{this.dispose()})),this._register(e.onEvent(async l=>{switch(l.method){case"Overlay.inspectNodeRequested":{let c=l.params;if(c?.backendNodeId)try{let{node:d}=await this.connection.sendCommand("DOM.describeNode",{backendNodeId:c.backendNodeId});if(d.frameId&&d.frameId!==this._frameId)break;let u=await this.extractNodeData({backendNodeId:c.backendNodeId});this._onDidInspectElement.fire(u)}catch{}break}case"Debugger.paused":this._isPaused=!0;break;case"Debugger.resumed":this._isPaused=!1;break}}));let s=async(l,c)=>{if(!(!c||l.senderFrame!==this.frame))try{let d=await this.extractNodeDataById(c);this._onDidInspectElement.fire(d)}catch{}};t.ipc.on("vscode:browserView:elementPicked",s),this._register({dispose:()=>t.ipc.removeListener("vscode:browserView:elementPicked",s)});let a=l=>{l.senderFrame===this.frame&&this._onDidStopPicking.fire()};t.ipc.on("vscode:browserView:elementPickStopped",a),this._register({dispose:()=>t.ipc.removeListener("vscode:browserView:elementPickStopped",a)}),this._enableDomains().catch(()=>{})}get isPaused(){return this._isPaused}get isInspecting(){return!!this._activeInspection.value}get frameId(){return this._frameId}async _enableDomains(){await this.connection.sendCommand("DOM.enable"),await this.connection.sendCommand("Overlay.enable"),await this.connection.sendCommand("CSS.enable"),await this.connection.sendCommand("Runtime.enable"),await this.connection.sendCommand("Page.enable")}dispose(){this._isDisposed||(this._isDisposed=!0,this._onWillDispose.fire(),super.dispose())}setTheme(e){this.frame.postMessage("vscode:browserView:setTheme",e)}async startInspection(){this._isPaused?(await this.connection.sendCommand("Overlay.setInspectMode",{mode:"searchForNode",highlightConfig:JA}),this._activeInspection.value={dispose:async()=>{if(!this.frame.isDestroyed())try{await this.connection.sendCommand("Overlay.setInspectMode",{mode:"none",highlightConfig:{showInfo:!1,showStyles:!1}}),await this.connection.sendCommand("Overlay.hideHighlight")}catch{}}}):(this.frame.postMessage("vscode:browserView:startElementPicker",{}),this._activeInspection.value={dispose:()=>{this.frame.isDestroyed()||this.frame.postMessage("vscode:browserView:stopElementPicker",{})}})}async stopInspection(){this._activeInspection.clear()}async extractNodeDataById(e){let{result:t}=await this.connection.sendCommand("Runtime.evaluate",{expression:`window.__vscode_helpers?.getElement(${JSON.stringify(e)})`,returnByValue:!1,uniqueContextId:this._uniqueContextId});if(!t?.objectId)throw new Error(`Element not found: ${e}`);return this.extractNodeData({objectId:t.objectId})}async extractNodeData(e){return{...await XA(this.connection,e),url:this.frame.url}}async getVisualViewportScale(){try{let e=await this.connection.sendCommand("Page.getLayoutMetrics");if(typeof e.cssVisualViewport?.scale=="number"){let t=Number(e.cssVisualViewport.scale);if(Number.isFinite(t)&&t>0)return t}}catch{}return 1}getElementHandle(e){let t=!1;return{addToChat:async()=>{let n=await this.extractNodeDataById(e);this._onDidInspectElement.fire(n)},highlight:async()=>{this.frame.postMessage("vscode:browserView:highlightElement",{elementId:e})},hideHighlight:async()=>{this.frame.postMessage("vscode:browserView:hideHighlight",{})},dispose:()=>{t||(t=!0,this.frame.postMessage("vscode:browserView:hideHighlight",{}))}}}}});var Nm,uw,pw=w(()=>{j();$();w0();Nm=class extends _{constructor(e){super();this.browser=e;this._onDidSelectElement=this._register(new b);this.onDidSelectElement=this._onDidSelectElement.event;this._onDidChangeElementSelectionActive=this._register(new b);this.onDidChangeElementSelectionActive=this._onDidChangeElementSelectionActive.event;this._elementSelectionActive=!1;this._activeSelection=this._register(new St);this._theme={};this._onDidPickArea=this._register(new b);this.onDidPickArea=this._onDidPickArea.event;this._onDidChangeAreaSelectionActive=this._register(new b);this.onDidChangeAreaSelectionActive=this._onDidChangeAreaSelectionActive.event;this._areaSelectionActive=!1;this._activeAreaSelection=this._register(new St);this._registry=this._register(new uw);let t=this.browser.webContents;this._register(this._registry.onDidAdopt(s=>this._onInspectorAdopted(s)));let n=()=>{this._activeSelection.clear(),this._activeAreaSelection.clear()};t.on("did-navigate",n),this._register({dispose:()=>t.removeListener("did-navigate",n)});let o=(s,a,...l)=>{let c=s.senderFrame;if(a==="vscode:browserView:preloadReady"){if(!c)return;let d=l[0];if(!d)return;if(c.postMessage("vscode:browserView:setTheme",this._theme),this._registry.notifyFrameReady(c,d),c===t.mainFrame&&this._activeAreaSelection.value)try{c.postMessage("vscode:browserView:startAreaPicker",void 0)}catch{}}else if(a==="vscode:browserView:areaPicked"){if(c!==t.mainFrame)return;let d=l[0],u=d&&d.width>0&&d.height>0?d:void 0;this._finishAreaPick(u)}else if(a==="vscode:browserView:areaPickStopped"){if(c!==t.mainFrame)return;this._finishAreaPick(void 0)}};t.on("ipc-message",o),this._register({dispose:()=>t.removeListener("ipc-message",o)}),this._register(this.browser.debugger.onTargetDiscovered(async({targetId:s,type:a})=>{if(a==="iframe")try{let l=await this.browser.debugger.attachToTarget(s);this._watchSession(l)}catch{return}})),this.browser.debugger.attach().then(s=>this._watchSession(s)).catch(()=>{})}get isElementSelectionActive(){return this._elementSelectionActive}get isAreaSelectionActive(){return this._areaSelectionActive}_watchSession(e){this._register(e.onEvent(async t=>{if(t.method==="Runtime.executionContextCreated"){let n=t.params.context;if(!n?.auxData?.isDefault||!n.auxData.frameId)return;let o=n.auxData.frameId,s=n.uniqueId;try{let{result:a}=await e.sendCommand("Runtime.evaluate",{expression:"window.__vscode_helpers?.getFrameToken?.()",returnByValue:!0,uniqueContextId:s}),l=a.value;if(!l)return;this._registry.notifyContextDiscovered(e,s,o,l)}catch{}}else if(t.method==="Page.frameDetached"){let n=t.params?.frameId;n&&this._registry.disposeByFrameId(n)}else t.method==="Runtime.executionContextsCleared"&&this._registry.disposeBySession(e)})),x.once(e.onClose)(()=>{this._registry.disposeBySession(e)}),e.sendCommand("Runtime.enable").catch(()=>{}),e.sendCommand("Page.enable").catch(()=>{})}_onInspectorAdopted(e){e.onDidInspectElement(async t=>{this._activeSelection.clear();try{let n=await this._getFrameOffsetInPage(e.frame);t=this._offsetElementData(t,n)}catch{}this._onDidSelectElement.fire(t)}),e.onDidStopPicking(()=>{this._activeSelection.clear()}),this._activeSelection.value&&e.startInspection().catch(()=>{}),e.setTheme(this._theme)}setTheme(e){this._theme=e;for(let t of this._registry.inspectors)t.setTheme(e)}async toggleElementSelection(e){let t=e??!this._elementSelectionActive;if(t===this._elementSelectionActive)return;if(!t){this._activeSelection.clear();return}this._activeAreaSelection.clear();let n=()=>Promise.all([...this._registry.inspectors].map(a=>a.startInspection())),o=()=>Promise.all([...this._registry.inspectors].map(a=>a.stopInspection())),s={dispose:()=>{this._activeSelection.value===s&&(this._elementSelectionActive=!1,this._onDidChangeElementSelectionActive.fire(!1),this._activeSelection.clearAndLeak(),o().catch(()=>{}))}};this._activeSelection.value=s;try{await n(),this._activeSelection.value===s&&(this._elementSelectionActive=!0,this._onDidChangeElementSelectionActive.fire(!0))}catch{this._activeSelection.clear()}}async toggleAreaSelection(e){let t=e??!this._areaSelectionActive;if(t===this._areaSelectionActive)return;if(!t){this._activeAreaSelection.clear();return}this._activeSelection.clear();let n=this.browser.webContents.mainFrame,o=()=>{n.postMessage("vscode:browserView:startAreaPicker",void 0)},s=()=>{try{n.postMessage("vscode:browserView:stopAreaPicker",void 0)}catch{}},a={dispose:()=>{s(),this._finishAreaPick(void 0)}};this._activeAreaSelection.value=a;try{o(),this._activeAreaSelection.value===a&&(this._areaSelectionActive=!0,this._onDidChangeAreaSelectionActive.fire(!0))}catch{this._activeAreaSelection.clear()}}_finishAreaPick(e){if(!this._areaSelectionActive&&!this._activeAreaSelection.value)return;let t=this._areaSelectionActive;this._areaSelectionActive=!1,this._activeAreaSelection.clearAndLeak(),this._onDidPickArea.fire(e),t&&this._onDidChangeAreaSelectionActive.fire(!1)}getElementHandle(e,t){return this._registry.getByFrame(t)?.getElementHandle(e)}async getVisualViewportScale(e=this.browser.webContents.mainFrame){return this._registry.getByFrame(e)?.getVisualViewportScale()??1}async _getFrameOffsetInPage(e){let t=this.browser.webContents.mainFrame,n=0,o=0,s=e;for(;s!==t;){let a=s.parent;if(!a)break;let l=this._registry.getByFrame(s),c=this._registry.getByFrame(a);if(!l||!c)break;try{let d=l.frameId,u=await c.connection.sendCommand("DOM.getFrameOwner",{frameId:d}),m=(await c.connection.sendCommand("DOM.getBoxModel",{backendNodeId:u.backendNodeId})).model.content;n+=m[0],o+=m[1]}catch{break}s=a}return{x:n,y:o}}_offsetElementData(e,t){return t.x===0&&t.y===0?e:{...e,bounds:{x:e.bounds.x+t.x,y:e.bounds.y+t.y,width:e.bounds.width,height:e.bounds.height}}}},uw=class extends _{constructor(){super(...arguments);this._onDidAdopt=this._register(new b);this.onDidAdopt=this._onDidAdopt.event;this._pendingFrames=new Map;this._pendingSessions=new Map;this._all=new Set;this._byFrame=new WeakMap;this._byFrameId=new Map;this._bySession=new Map}get inspectors(){return this._all}getByFrame(e){return this._byFrame.get(e)}notifyFrameReady(e,t){let n=this._pendingSessions.get(t);n?(this._pendingSessions.delete(t),this._adopt(n.session,n.uniqueContextId,n.frameId,e)):this._pendingFrames.set(t,e)}notifyContextDiscovered(e,t,n,o){let s=this._pendingFrames.get(o);s?(this._pendingFrames.delete(o),this._adopt(e,t,n,s)):this._pendingSessions.set(o,{session:e,uniqueContextId:t,frameId:n})}disposeByFrameId(e){this._byFrameId.get(e)?.dispose();for(let[t,n]of this._pendingSessions)n.frameId===e&&this._pendingSessions.delete(t);for(let[t,n]of this._pendingFrames)(n.detached||n.isDestroyed())&&this._pendingFrames.delete(t)}disposeBySession(e){let t=this._bySession.get(e);if(t)for(let n of[...t])n.dispose();for(let[n,o]of this._pendingSessions)o.session===e&&this._pendingSessions.delete(n)}_adopt(e,t,n,o){if(o.detached||o.isDestroyed())return;let s=new Um(e,o,t,n);this._all.add(s),this._byFrame.set(o,s),this._byFrameId.set(n,s);let a=this._bySession.get(e);a||(a=new Set,this._bySession.set(e,a)),a.add(s),s.onWillDispose(()=>{this._all.delete(s),this._byFrame.delete(o),this._byFrameId.delete(n);let l=this._bySession.get(e);l&&(l.delete(s),l.size===0&&this._bySession.delete(e))}),this._onDidAdopt.fire(s)}dispose(){for(let e of[...this._all])e.dispose();this._pendingFrames.clear(),this._pendingSessions.clear(),super.dispose()}}});var oi,Wl=w(()=>{te();oi=M("auxiliaryWindowsMainService")});var Bm,fw,I0=w(()=>{j();$();Bm=class extends _{constructor(e,t){super();this.view=e;this.logService=t;this._sessions=this._register(new Ct);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._interceptors=new Set;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}get targetId(){return this._targetId}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){let o=n?this._sessions.get(n):void 0;for(let s of this._interceptors){let a=s(e,t,o);if(a!==void 0)return a}return e==="Emulation.setDeviceMetricsOverride"?Promise.resolve({}):this.sendCommandRaw(e,t,n)}sendCommandRaw(e,t,n){this.ensureAttached();let o=this._electronDebugger.sendCommand(e,t,n);return e==="Page.handleJavaScriptDialog"&&this.view.webContents.emit("-cancel-dialogs"),o}registerCommandInterceptor(e){return this._interceptors.add(e),z(()=>this._interceptors.delete(e))}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}).catch(()=>{}),this._electronDebugger.sendCommand("Target.setDiscoverTargets",{discover:!0}).catch(()=>{}))}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 fw(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()}},fw=class extends _{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 iL(i){return i===5||i===4||i===6||i===57}var Ou,Vm,mw,hw,YA,ZA,vw,eL,tL,rL,b0,gw,nL,S0=w(()=>{Ou=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}},Vm=new Ou,mw=new Ou,hw=new Ou,YA=new Array(230),ZA={},vw={},eL=[],tL=Object.create(null),rL=Object.create(null),b0=[],gw=[];for(let i=0;i<=193;i++)b0[i]=-1;for(let i=0;i<=132;i++)gw[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,eL[s]=a,tL[a]=s,rL[a.toLowerCase()]=s,o&&(b0[s]=l,l!==0&&l!==3&&!iL(l)&&(gw[l]=s))),!e[l]){if(e[l]=!0,!c)throw new Error(`String representation missing for key code ${l} around scan code ${a}`);Vm.define(l,c),mw.define(l,f||c),hw.define(l,m||f||c)}d&&(YA[d]=l),a&&(vw[a]=d),u&&(ZA[u]=l)}gw[3]=46})();(s=>{function i(a){return Vm.keyCodeToStr(a)}s.toString=i;function r(a){return Vm.strToKeyCode(a)}s.fromString=r;function e(a){return mw.keyCodeToStr(a)}s.toUserSettingsUS=e;function t(a){return hw.keyCodeToStr(a)}s.toUserSettingsGeneral=t;function n(a){return mw.strToKeyCode(a)||hw.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 Vm.keyCodeToStr(a)}s.toElectronAccelerator=o})(nL||={})});function Hm(i,r){i.publicLog2("integratedBrowser.open",{source:r})}var yw=w(()=>{});import{screen as x0,WebContentsView as oL,webContents as sL}from"electron";var Wn,ww=w(()=>{$();j();ot();Mu();u0();pw();jt();ni();Wl();I0();ne();S0();nr();yw();Wn=class extends _{constructor(e,t,n,o,s,a,l,c,d,u){super();this.id=e;this.owner=t;this.session=n;this.windowsMainService=l;this.auxiliaryWindowsMainService=c;this.logService=d;this.telemetryService=u;this._faviconRequestCache=new Map;this._lastScreenshot=void 0;this._lastFavicon=void 0;this._lastError=void 0;this._lastUserGestureTimestamp=-1/0;this._browserZoomIndex=l0;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._onDidFindInPage=this._register(new b);this.onDidFindInPage=this._onDidFindInPage.event;this._onDidClose=this._register(new b);this.onDidClose=this._onDidClose.event;let f={...a?.webPreferences,nodeIntegration:!1,contextIsolation:!0,sandbox:!0,nodeIntegrationInSubFrames:!0,webviewTag:!1,session:this.session.electronSession,focusOnNavigation:!1};if(this._view=new oL({webPreferences:f,...a?.webContents?{webContents:a.webContents}:{}}),this._view.setBounds({x:-1e4,y:-1e4,width:1024,height:768}),this._view.setBackgroundColor("#FFFFFF"),this._ownerWindow=this.windowsMainService.getWindowById(t.mainWindowId),!this._ownerWindow)throw new Error(`Window with ID ${t.mainWindowId} not found`);this._register(this._ownerWindow.onDidClose(()=>this.dispose())),this._register(this._ownerWindow.onWillLoad(m=>{m.reason===2?this.dispose():m.reason===3&&this.setVisible(!1)})),this._view.setVisible(!1),this._ownerWindow.win?.contentView.addChildView(this._view),this._view.webContents.setWindowOpenHandler(m=>{let y=(()=>{switch(m.disposition){case"background-tab":return"background";case"foreground-tab":return"foreground";case"new-window":return"newWindow";default:return}})();return!y||!this.consumePopupPermission(y)?{action:"deny"}:{action:"allow",createWindow:v=>(Hm(this.telemetryService,(()=>{switch(y){case"newWindow":return"browserLinkNewWindow";case"background":return"browserLinkBackground";case"foreground":return"browserLinkForeground"}})()),o(m.url,v,{pinned:!0,background:y==="background",parentViewId:e,auxiliaryWindow:y==="newWindow"?{x:v.x,y:v.y,width:v.width,height:v.height}:void 0}).webContents),outlivesOpener:!0}}),this._view.webContents.on("context-menu",(m,y)=>{s(this,y)}),this._view.webContents.on("destroyed",()=>{this.dispose()}),this.debugger=new Bm(this,this.logService),this.emulator=this._register(new Fl(this,this.logService)),this.inspector=this._register(new Nm(this)),this.setupEventListeners()}static{this.MAX_CONSOLE_LOG_ENTRIES=1e3}static{this.MAX_FULL_PAGE_SCREENSHOT_DIMENSION=2576}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(s,a)=>{for(let l of a){this._faviconRequestCache.has(l)||this._faviconRequestCache.set(l,(async()=>{if(l.startsWith("data:image/"))return l;let c=await e.session.fetch(l,{cache:"force-cache"});if(!c.ok)throw new Error(`Failed to fetch favicon: ${c.status} ${c.statusText}`);let d=await c.headers.get("content-type");if(!d?.startsWith("image/"))throw new Error(`Favicon is not an image: ${d}`);let u=await c.arrayBuffer();return`data:${d};base64,${Buffer.from(u).toString("base64")}`})());try{this._lastFavicon=await this._faviconRequestCache.get(l),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",(s,a)=>{this._onDidChangeTitle.fire({title:a})});let t=()=>{let s=e.getURL();this._onDidNavigate.fire({url:s,title:e.getTitle(),canGoBack:e.navigationHistory.canGoBack(),canGoForward:e.navigationHistory.canGoForward(),certificateError:this.session.trust.getCertificateError(s)})},n=s=>{this._onDidChangeLoadingState.fire({loading:s,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",(s,a,l,c,d)=>{if(d){if(a===-3){n(!1);return}this._lastError={url:c,errorCode:a,errorDescription:l,certificateError:a<=-200&&a>=-220?this.session.trust.getCertificateError(c):void 0},n(!1),this._onDidNavigate.fire({url:c,title:"",canGoBack:e.navigationHistory.canGoBack(),canGoForward:e.navigationHistory.canGoForward(),certificateError:this.session.trust.getCertificateError(c)})}}),e.on("did-finish-load",()=>n(!1)),this.session.trust.installCertErrorHandler(e),e.on("render-process-gone",(s,a)=>{this._lastError={url:e.getURL(),errorCode:a.exitCode,errorDescription:`Render process gone: ${a.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(Lu[this._browserZoomIndex]),this._view.webContents.setVisualZoomLevelLimits(1,3).catch(s=>{this.logService.error("Failed to set visual zoom level limits for browser view webContents.",s)})}),e.on("focus",()=>{this._onDidChangeFocus.fire({focused:!0})}),e.on("blur",()=>{this._onDidChangeFocus.fire({focused:!1})});let o=(s,a)=>{this._onDidKeyCommand.fire(a)};e.ipc.on("vscode:browserView:keydown",o),e.on("devtools-opened",()=>{e.devToolsWebContents?.ipc.off("vscode:browserView:keydown",o),e.devToolsWebContents?.ipc.on("vscode:browserView:keydown",o)}),e.on("before-input-event",(s,a)=>{if(a.type!=="keyDown"||this._view.getVisible()&&!e.isCrashed()&&!this.debugger.isPaused||!(a.control||a.alt||a.meta)&&a.key.length===1)return;s.preventDefault();let c=vw[a.code]||0;this._onDidKeyCommand.fire({key:a.key,keyCode:c,code:a.code,ctrlKey:a.control,shiftKey:a.shift,altKey:a.alt,metaKey:a.meta,repeat:a.isAutoRepeat})}),e.on("input-event",(s,a)=>{switch(a.type){case"rawKeyDown":case"keyDown":case"mouseDown":case"pointerDown":case"pointerUp":case"touchEnd":this._lastUserGestureTimestamp=Date.now()}}),e.on("will-prevent-unload",s=>{s.preventDefault()}),e.on("found-in-page",(s,a)=>{this._onDidFindInPage.fire({activeMatchOrdinal:a.activeMatchOrdinal,matches:a.matches,selectionArea:a.selectionArea,finalUpdate:a.finalUpdate})}),this._view.webContents.on("console-message",s=>{this._consoleLogs.push(`[${s.level}] ${s.message}`),this._consoleLogs.length>Wn.MAX_CONSOLE_LOG_ENTRIES&&this._consoleLogs.splice(0,this._consoleLogs.length-Wn.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,isElementSelectionActive:this.inspector.isElementSelectionActive,isAreaSelectionActive:this.inspector.isAreaSelectionActive,device:this.emulator.device}}toggleDevTools(){this._view.webContents.toggleDevTools()}layout(e){if(this._currentWindow?.win?.id!==e.windowId){let t=this._windowById(e.windowId);t&&(this._currentWindow?.win?.contentView.removeChildView(this._view),this._currentWindow=t,t.win?.contentView.addChildView(this._view))}this._view.setBorderRadius(Math.round(e.cornerRadius*e.zoomFactor)),e.emulation&&this.emulator.applyScreenEmulation(e.width,e.height,e.emulation.scale,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,Lu.length-1));let t=Lu[this._browserZoomIndex];this._view.webContents.setZoomFactor(t)}setVisible(e){this._view.getVisible()!==e&&(!e&&this._view.webContents.isFocused()&&this._currentWindow?.win?.webContents.focus(),this._view.setVisible(e),this._onDidChangeVisibility.fire({visible:e}))}getConsoleLogs(){return this._consoleLogs.join(`
`)}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){this._view.getVisible()||(this._view.setVisible(!0),this._view.setVisible(!1));let t=e?.quality??80,n=e?.format??"jpeg";if(e?.fullPage&&!e.screenRect&&!e.pageRect)return this._captureFullPageScreenshot(n,t);if(e?.pageRect){let l=this._view.webContents.getZoomFactor(),c=await this.inspector.getVisualViewportScale();e.screenRect={x:e.pageRect.x*c*l,y:e.pageRect.y*c*l,width:e.pageRect.width*c*l,height:e.pageRect.height*c*l}}e?.awaitNextPaint&&await this._waitForNextPaint();let o=await this._view.webContents.capturePage(e?.screenRect,{stayHidden:!0}),s=n==="png"?o.toPNG():o.toJPEG(t),a=H.wrap(s);return e?.screenRect||(this._lastScreenshot=a),a}async _captureFullPageScreenshot(e,t){let o=(await this.debugger.sendCommand("Page.getLayoutMetrics")).cssContentSize;if(!o)throw new Error("Page.getLayoutMetrics did not return a cssContentSize");let s=this._view.webContents.getZoomFactor(),a=o.width*s,l=o.height*s,c=this._hostWindow,u=(c?x0.getDisplayMatching(c.getBounds()):x0.getPrimaryDisplay()).scaleFactor,f=Wn.MAX_FULL_PAGE_SCREENSHOT_DIMENSION/Math.max(u,1),m=Math.min(1,f/Math.max(a,l));try{let y=await this.debugger.sendCommand("Page.captureScreenshot",{format:e,...e==="jpeg"?{quality:t}:{},captureBeyondViewport:!0,clip:{x:0,y:0,width:a,height:l,scale:m}});return H.wrap(Buffer.from(y.data,"base64"))}finally{this._view.webContents.setVisualZoomLevelLimits(1,3).catch(y=>{this.logService.error("Failed to restore visual zoom level limits after full-page screenshot.",y)})}}async _waitForNextPaint(){try{await Promise.race([this.debugger.sendCommand("Runtime.evaluate",{expression:"new Promise(r => requestAnimationFrame(() => requestAnimationFrame(r)))",awaitPromise:!0}),new Promise(t=>setTimeout(t,100))])}catch{}}async focus(e){!e&&!this._currentWindow?.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(c0,[{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._currentWindow?.win??void 0}get _hostWindow(){return this._currentWindow?.win??this._ownerWindow.win??void 0}dispose(){if(this._isDisposed)return;this._isDisposed=!0,this.debugger.dispose();let e=this._currentWindow?.win;e&&!e.isDestroyed()&&e.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=sL.fromId(e);if(t)return this.auxiliaryWindowsMainService.getWindowByWebContents(t)}};Wn=C([g(6,$e),g(7,oi),g(8,N),g(9,Ke)],Wn)});var $m,aL,Km,E0=w(()=>{po();$m="browserView.sessionTrustData",aL=10080*60*1e3,Km=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()+aL),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($m,-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($m,-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($m,-1):r.store($m,JSON.stringify(e),-1,1)}}});import{session as Iw}from"electron";var C0,si,bw=w(()=>{It();Mu();E0();qe();C0=new Set(["pointerLock","notifications","clipboard-sanitized-write"]),si=class i{constructor(r,e,t){this.id=r;this.electronSession=e;this.storageScope=t;this._trust=new Km(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=Iw.fromPartition("persist:vscode-browser");return i._bySession.get(r)??new i("global",r,"global")}static getOrCreateWorkspace(r,e){let t=ce(e,r,"browserStorage"),n=Iw.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=Iw.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(C0.has(e))),this.electronSession.setPermissionCheckHandler((r,e,t)=>C0.has(e)),this.electronSession.registerPreloadScript({type:"frame",filePath:lt.asFileUri("vs/platform/browserView/electron-browser/preload-browserView.js").fsPath})}async clearData(){await this._trust.clear(),await this.electronSession.clearData()}}});import{networkInterfaces as lL}from"os";function dL(i){let r=i.replace(/\-/g,":").toLowerCase();return!cL.has(r)}function T0(){let i=lL();for(let r in i){let e=i[r];if(e){for(let{mac:t}of e)if(dL(t))return t}}throw new Error("Unable to retrieve mac address (unexpected format)")}var cL,_0=w(()=>{cL=new Set(["00:00:00:00:00:00","ff:ff:ff:ff:ff:ff","ac:de:48:00:11:22"])});import{networkInterfaces as uL}from"os";async function k0(i){return Sw||(Sw=(async()=>await pL(i)||ke())()),Sw}async function pL(i){try{let r=await import("crypto"),e=T0();return r.createHash("sha256").update(e,"utf8").digest("hex")}catch(r){i(r);return}}async function R0(i){if(W){let r=await import("@vscode/windows-registry");try{return r.GetStringRegKey("HKEY_LOCAL_MACHINE",fL,"MachineId")||""}catch(e){return i(e),""}}return""}async function qm(i){try{let e=await(await import("@vscode/deviceid")).getDeviceId();return Zp(e)}catch(r){return i(r),ke()}}var Fu,Sw,fL,Wu=w(()=>{Js();tr();_0();Y();Zt();Fu=new class{_isVirtualMachineMacAddress(i){return this._virtualMachineOUIs||(this._virtualMachineOUIs=jr.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=uL();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}};fL="Software\\Microsoft\\SQMClient"});import*as zm from"net";function A0(i,r,e,t=1){let n=!1;return new Promise(o=>{let s=setTimeout(()=>{if(!n)return n=!0,o(0)},e);xw(i,r,t,a=>{if(!n)return n=!0,clearTimeout(s),o(a)})})}function xw(i,r,e,t){if(r===0)return t(0);let n=new zm.Socket;n.once("connect",()=>(D0(n),xw(i+e,r-1,e,t))),n.once("data",()=>{}),n.once("error",o=>(D0(n),o.code!=="ECONNREFUSED"?xw(i+e,r-1,e,t):t(i))),n.connect(i,"127.0.0.1")}function L0(i,r){return Ew(i,0,r).then(e=>e!==0)}function Ew(i,r,e,t="127.0.0.1"){let n=!1,o,s=1,a=zm.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 Pw,Cw=w(()=>{Pw={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 Mz,Tw=w(()=>{te();Mz=M("nativeHostService")});import*as M0 from"fs";import*as O0 from"child_process";async function F0(i=!1){return(_w===void 0||i)&&(_w=mL()),_w}async function mL(){let i=await Mf();if(i===0)return!1;if(i>=22e3){let r=hL();if(r)return new Promise(e=>{try{O0.execFile(r,["--status"],t=>e(!t))}catch{e(!1)}})}else{let r=gL();if(r)try{if((await M0.promises.stat(r)).isFile())return!0}catch{}}return!1}function W0(i){let r=process.env.SystemRoot;if(r){let e=process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432");return B(r,e?"Sysnative":"System32",i)}}function hL(){return W0("wsl.exe")}function gL(){return W0("lxss\\LxssManager.dll")}var _w,U0=w(()=>{Pe();nl()});var Ul,N0=w(()=>{ge();ne();Ul=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 ut(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()}};Ul=C([g(2,N)],Ul)});import{createWriteStream as vL,promises as zz}from"fs";async function B0(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=vL(i);o.outputStream.pipe(s),o.outputStream.once("error",n),s.once("error",n),s.once("finish",()=>t(i))})}var yL,Qz,V0=w(()=>{ge();Pe();Me();lr();be();yL="end of central directory record signature not found",Qz=new RegExp(yL)});function wL(i){return i.res.statusCode&&i.res.statusCode>=200&&i.res.statusCode<300||i.res.statusCode===1223}function IL(i){return i.res.statusCode===204}async function Nl(i){if(!wL(i))throw new Error("Server returned "+i.res.statusCode);if(IL(i))return null;let e=(await Bs(i.stream)).toString();try{return JSON.parse(e)}catch(t){throw t.message+=`:
`+e,t}}function bL(i=!0,r=!0){if(H0===i&&$0===r)return;H0=i,$0=r;let e=pt.as(Ft.Configuration),t=kw;kw=[{id:"http",order:15,title:h(2618,null),type:"object",scope:2,properties:{"http.useLocalProxyConfiguration":{type:"boolean",default:r,markdownDescription:h(2633,null),restricted:!0}}},{id:"http",order:15,title:h(2618,null),type:"object",scope:1,properties:{"http.electronFetch":{type:"boolean",default:!1,description:h(2616,null),restricted:!0}}},{id:"http",order:15,title:h(2618,null),type:"object",scope:i?1:2,properties:{"http.proxy":{type:"string",pattern:"^(https?|socks|socks4a?|socks5h?)://([^:]*(:[^@]*)?@)?([^:]+|\\[[:0-9a-fA-F]+\\])(:\\d+)?/?$|^$",markdownDescription:h(2621,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.proxyStrictSSL":{type:"boolean",default:!0,markdownDescription:h(2629,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.proxyKerberosServicePrincipal":{type:"string",markdownDescription:h(2623,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.noProxy":{type:"array",items:{type:"string"},markdownDescription:h(2620,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.proxyAuthorization":{type:["null","string"],default:null,markdownDescription:h(2622,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.proxySupport":{type:"string",enum:["off","on","fallback","override"],enumDescriptions:[h(2626,null),h(2627,null),h(2625,null),h(2628,null)],default:"override",markdownDescription:h(2624,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.systemCertificates":{type:"boolean",default:!0,markdownDescription:h(2630,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.systemCertificatesNode":{type:"boolean",tags:["experimental"],default:Dw,markdownDescription:h(2631,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0,experiment:{mode:"auto"}},"http.experimental.systemCertificatesV2":{type:"boolean",tags:["experimental"],default:!1,markdownDescription:h(2632,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.fetchAdditionalSupport":{type:"boolean",default:!0,markdownDescription:h(2617,null,"`#http.useLocalProxyConfiguration#`","`#http.proxySupport#`","`#http.systemCertificates#`"),restricted:!0},"http.webSocketAdditionalSupport":{type:"boolean",default:!0,markdownDescription:h(2634,null,"`#http.useLocalProxyConfiguration#`","`#http.proxySupport#`","`#http.systemCertificates#`"),restricted:!0},"http.experimental.networkInterfaceCheckInterval":{type:"number",default:300,minimum:-1,tags:["experimental"],markdownDescription:h(2619,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0,experiment:{mode:"auto"}}}}],e.updateConfigurations({add:kw,remove:t})}var Un,Rw,jm,Dw,kw,H0,$0,as=w(()=>{ot();He();j();$();be();Zn();te();wn();Un=M("requestService"),Rw=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}},jm=class extends _{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 Rw(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,yr(s)),s}}};Dw=!1,kw=[];bL()});import*as Mw from"fs";import{exec as K0}from"child_process";import{app as Uu,BrowserWindow as Gm,clipboard as ls,contentTracing as q0,Menu as Nu,Notification as z0,powerMonitor as En,powerSaveBlocker as Aw,screen as Bu,shell as Lw,systemPreferences as xL,webContents as PL}from"electron";import{arch as EL,cpus as CL,freemem as TL,loadavg as _L,platform as kL,release as RL,totalmem as DL,type as AL}from"os";import{promisify as j0}from"util";var Nn,ra,Bl=w(()=>{Vo();j();$();qe();Pe();Y();le();Wu();lr();Cw();be();ea();Wt();te();_t();ne();Tw();cr();fl();ni();jt();Lr();ns();ot();U0();N0();Wl();He();V0();rt();Hy();as();ln();Tt();Nn=M("nativeHostMainService"),ra=class extends _{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 Ct);this.onDidOpenMainWindow=x.map(this.windowsMainService.onDidOpenWindow,v=>v.id),this.onDidTriggerWindowSystemContextMenu=x.any(x.map(this.windowsMainService.onDidTriggerSystemContextMenu,({window:v,x:S,y:I})=>({windowId:v.id,x:S,y:I})),x.map(this.auxiliaryWindowsMainService.onDidTriggerSystemContextMenu,({window:v,x:S,y:I})=>({windowId:v.id,x:S,y:I}))),this.onDidMaximizeWindow=x.any(x.map(this.windowsMainService.onDidMaximizeWindow,v=>v.id),x.map(this.auxiliaryWindowsMainService.onDidMaximizeWindow,v=>v.id)),this.onDidUnmaximizeWindow=x.any(x.map(this.windowsMainService.onDidUnmaximizeWindow,v=>v.id),x.map(this.auxiliaryWindowsMainService.onDidUnmaximizeWindow,v=>v.id)),this.onDidChangeWindowFullScreen=x.any(x.map(this.windowsMainService.onDidChangeFullScreen,v=>({windowId:v.window.id,fullscreen:v.fullscreen})),x.map(this.auxiliaryWindowsMainService.onDidChangeFullScreen,v=>({windowId:v.window.id,fullscreen:v.fullscreen}))),this.onDidChangeWindowAlwaysOnTop=x.any(x.None,x.map(this.auxiliaryWindowsMainService.onDidChangeAlwaysOnTop,v=>({windowId:v.window.id,alwaysOnTop:v.alwaysOnTop}))),this.onDidBlurMainWindow=x.filter(x.fromNodeEventEmitter(Uu,"browser-window-blur",(v,S)=>S.id),v=>!!this.windowsMainService.getWindowById(v)),this.onDidFocusMainWindow=x.any(x.map(x.filter(x.map(this.windowsMainService.onDidChangeWindowsCount,()=>this.windowsMainService.getLastActiveWindow()),v=>!!v),v=>v.id),x.filter(x.fromNodeEventEmitter(Uu,"browser-window-focus",(v,S)=>S.id),v=>!!this.windowsMainService.getWindowById(v))),this.onDidBlurMainOrAuxiliaryWindow=x.any(this.onDidBlurMainWindow,x.map(x.filter(x.fromNodeEventEmitter(Uu,"browser-window-blur",(v,S)=>this.auxiliaryWindowsMainService.getWindowByWebContents(S.webContents)),v=>!!v),v=>v.id)),this.onDidFocusMainOrAuxiliaryWindow=x.any(this.onDidFocusMainWindow,x.map(x.filter(x.fromNodeEventEmitter(Uu,"browser-window-focus",(v,S)=>this.auxiliaryWindowsMainService.getWindowByWebContents(S.webContents)),v=>!!v),v=>v.id)),this.onDidSuspendOS=x.fromNodeEventEmitter(En,"suspend"),this.onDidResumeOS=x.fromNodeEventEmitter(En,"resume"),this.onDidChangeOnBatteryPower=x.any(x.map(x.fromNodeEventEmitter(En,"on-ac"),()=>!1),x.map(x.fromNodeEventEmitter(En,"on-battery"),()=>!0)),this.onDidChangeThermalState=x.map(x.fromNodeEventEmitter(En,"thermal-state-change"),v=>v.state),this.onDidChangeSpeedLimit=x.map(x.fromNodeEventEmitter(En,"speed-limit-change"),v=>v.limit),this.onWillShutdownOS=x.fromNodeEventEmitter(En,"shutdown"),this.onDidLockScreen=x.fromNodeEventEmitter(En,"lock-screen"),this.onDidUnlockScreen=x.fromNodeEventEmitter(En,"unlock-screen"),this.onDidChangeColorScheme=this.themeMainService.onDidChangeColorScheme,this.onDidChangeDisplay=x.debounce(x.any(x.filter(x.fromNodeEventEmitter(Bu,"display-metrics-changed",(v,S,I)=>I),v=>!(Array.isArray(v)&&v.length===1&&v[0]==="workArea")),x.fromNodeEventEmitter(Bu,"display-added"),x.fromNodeEventEmitter(Bu,"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??jo(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){let n=await this.windowsMainService.openAgentsWindow({context:5,contextWindowId:e,cli:this.environmentMainService.args},t?.folderUri?P.revive(t.folderUri):void 0,t?.initialQuery,t?.sessionResource?P.revive(t.sessionResource):void 0,t?.preferredSessionType);n.length>0&&n[0].focus()}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=Bu.getCursorScreenPoint(),n=Bu.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=x.toPromise(x.once(x.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(!W)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 ar.stat(t);if(o&&!o.dangling){let s=await J.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(2566,null,this.productService.nameShort),buttons:[h(2558,null),h(2554,null)]});if(o===1)throw new Et;try{let s=`osascript -e "do shell script \\"mkdir -p /usr/local/bin && ln -sf '${n}' '${t}'\\" with administrator privileges"`;await j0(K0)(s)}catch{throw new Error(h(2555,null,t))}}async uninstallShellCommand(e){let{source:t}=await this.getShellCommandLink();try{await Mw.promises.unlink(t)}catch(n){switch(n.code){case"EACCES":{let{response:o}=await this.showMessageBox(e,{type:"info",message:h(2567,null,this.productService.nameShort),buttons:[h(2558,null),h(2554,null)]});if(o===1)throw new Et;try{let s=`osascript -e "do shell script \\"rm '${t}'\\" with administrator privileges"`;await j0(K0)(s)}catch{throw new Error(h(2556,null,t))}break}case"ENOENT":break;default:throw n}}}async getShellCommandLink(){let e=_r(this.environmentMainService.appRoot,"bin","code"),t=`/usr/local/bin/${this.productService.applicationName}`;if(!await J.exists(e))throw new Error(h(2561,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 ar.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){Lw.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{Rv(t,U.http,U.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(pe.sep)||o.includes(at.sep))&&!await J.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}});W||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 Lw.openExternal(t)}catch(n){let o,s;Rv(t,U.http,U.https)?(o=!0,s=h(2559,null)):(o=!1,s=h(2560,null));let{response:a}=await this.dialogMainService.showMessageBox({type:"error",message:s,detail:n.message,buttons:o?[h(2557,null),h(2554,null)]:[h(2558,null)]},this.windowById(e)?.win??void 0);if(a===1)return;this.writeClipboardText(e,t)}}moveItemToTrash(e,t){return Lw.trashItem(t)}async getMediaAccessStatus(e,t){return V?xL.getMediaAccessStatus(t):"granted"}async isAdmin(){let e;return W?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=Os(this.environmentMainService.userDataPath,"code-elevated");await J.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:V&&this.environmentMainService.isBuilt?B(tt(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 Mw.promises.unlink(a)}}async isRunningUnderARM64Translation(){return re||W?!1:Uu.runningUnderARM64Translation}get cliPath(){return W?this.environmentMainService.isBuilt?B(tt(process.execPath),"bin",`${this.productService.applicationName}.cmd`):B(this.environmentMainService.appRoot,"scripts","code-cli.bat"):re?this.environmentMainService.isBuilt?B(tt(process.execPath),"bin",`${this.productService.applicationName}`):B(this.environmentMainService.appRoot,"scripts","code-cli.sh"):this.environmentMainService.isBuilt?B(this.environmentMainService.appRoot,"bin","code"):B(this.environmentMainService.appRoot,"scripts","code-cli.sh")}async getOSStatistics(){return{totalmem:DL(),freemem:TL(),loadavg:_L()}}async getOSProperties(){return{arch:EL(),platform:kL(),release:RL(),type:AL(),cpus:CL()}}async getOSVirtualMachineHint(){return Fu.value()}async getOSColorScheme(){return this.themeMainService.getColorScheme()}async hasWSLFeatureInstalled(){return W&&F0()}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 uploadFileViaMobileApi(e,t,n,o,s,a){let{net:l}=await import("electron"),c=await l.fetch("https://api.github.com/mobile/upload/policy",{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({name:o,size:s.byteLength,content_type:a,repository_id:parseInt(n,10)})});if(!c.ok){let oe=await c.text();throw new Error(`Policy request failed ${c.status}: ${oe.substring(0,300)}`)}let d=await c.json(),u=d.asset,f=d.form,m=`----VSCodeUpload${Date.now()}`,y="";for(let[oe,O]of Object.entries(f))y+=`--${m}\r
Content-Disposition: form-data; name="${oe}"\r
\r
${O}\r
`;let v=String(u.name).replace(/[\r\n]+/g," ").replace(/[\\"]/g,"_");y+=`--${m}\r
Content-Disposition: form-data; name="file"; filename="${v}"\r
Content-Type: ${a}\r
\r
`;let S=`\r
--${m}--\r
`,I=Buffer.from(y,"utf-8"),T=Buffer.from(S,"utf-8"),D=Buffer.concat([I,s.buffer,T]),k=await l.fetch(d.upload_url,{method:"POST",headers:{"Content-Type":`multipart/form-data; boundary=${m}`},body:D});if(k.status!==204&&k.status!==201){let oe=await k.text();throw new Error(`S3 upload failed ${k.status}: ${oe.substring(0,300)}`)}let A=await l.fetch(`https://api.github.com${d.asset_upload_url}`,{method:"PUT",headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}});if(!A.ok){let oe=await A.text();throw new Error(`Asset upload confirmation failed ${A.status}: ${oe.substring(0,300)}`)}return{fileName:o,assetUrl:u.href,contentType: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=ls.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 ls.readImage().toPNG()}async writeClipboardText(e,t,n){return ls.writeText(t,n)}async readClipboardFindText(e){return ls.readFindText()}async writeClipboardFindText(e,t){return ls.writeFindText(t)}async writeClipboardBuffer(e,t,n,o){return ls.writeBuffer(t,Buffer.from(n.buffer),o)}async readClipboardBuffer(e,t){return H.wrap(ls.readBuffer(t))}async hasClipboard(e,t,n){return ls.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(){Nu.sendActionToFirstResponder("selectPreviousTab:")}async showNextWindowTab(){Nu.sendActionToFirstResponder("selectNextTab:")}async moveWindowTabToNewWindow(){Nu.sendActionToFirstResponder("moveTabToNewWindow:")}async mergeAllWindowTabs(){Nu.sendActionToFirstResponder("mergeAllWindows:")}async toggleWindowTabsBar(){Nu.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(ft(n.openedWorkspace)){let o=n.openedWorkspace.configPath;if(o.scheme===U.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 L0(t,1e3)}findFreePort(e,t,n,o,s=1){return A0(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(ml,Ri(),{forceNativeTitlebar:!0}),parent:e??void 0,...n},a=new Gm(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=Gm.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=Gm.fromId(this.contentTracingWindowId);e?.isMinimized()&&e?.restore(),e?.focus()}}async startTracing(e,t){if(this._isTracing)throw new Error(h(2565,null,"workbench.action.stopTracing"));let n=["record-until-full","enable-sampling"];await q0.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 q0.stopRecording(`${Os(this.environmentMainService.userHome.fsPath,this.productService.applicationName)}.trace.txt`);await this.dialogMainService.showMessageBox({type:"info",message:h(2563,null),detail:h(2562,null,t),buttons:[h(2564,null)]},Gm.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 Ul(o.win,t,this.logService).inspect(n)}async showToast(e,t){if(!z0.isSupported())return{supported:!1,clicked:!1};let n=new z0({title:t.title,body:t.body,silent:t.silent,actions:t.actions?.map(a=>({type:"button",text:a}))}),o=new Q;this.activeToasts.set(t.id,o);let s=new Je;return o.add(z(()=>{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(!W)return;let s=await import("@vscode/windows-registry");try{return s.GetStringRegKey(t,n,o)}catch{return}}async createZipFile(e,t,n){await B0(t.fsPath,n)}async getSystemIdleState(e,t){return En.getSystemIdleState(t)}async getSystemIdleTime(e){return En.getSystemIdleTime()}async getCurrentThermalState(e){return En.getCurrentThermalState()}async isOnBatteryPower(e){return En.isOnBatteryPower()}async startPowerSaveBlocker(e,t){return Aw.start(t)}async stopPowerSaveBlocker(e,t){return Aw.stop(t)}async isPowerSaveBlockerStarted(e,t){return Aw.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=PL.fromId(e);if(t)return this.auxiliaryWindowsMainService.getWindowByWebContents(t)}};C([ue],ra.prototype,"cliPath",1),ra=C([g(0,$e),g(1,oi),g(2,fn),g(3,ve),g(4,_e),g(5,N),g(6,Ae),g(7,Di),g(8,mn),g(9,de),g(10,Un),g(11,xu),g(12,qt)],ra)});import{clipboard as G0,Menu as LL,MenuItem as pr}from"electron";var Vu,na,Ow=w(()=>{j();$();Mu();Wt();te();ww();tr();jt();bw();Mi();yw();nr();be();Bl();Zt();pw();Vu=M("browserViewMainService"),na=class extends _{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 Ct);this._keybindings=Object.create(null);this._configuration={};this._onDidCreateBrowserView=this._register(new b);this.onDidCreateBrowserView=this._onDidCreateBrowserView.event}static isBrowserViewWebContents(e){return si.isBrowserViewWebContents(e)}async getOrCreateBrowserView(e,t){if(this.browserViews.has(e))return this.browserViews.get(e).getState();let n=this.windowsMainService.getWindowById(t.owner.mainWindowId);if(!n)throw new Error(`Owner window with ID ${t.owner.mainWindowId} not found`);let o=si.getOrCreate(e,t.scope,this.environmentMainService.workspaceStorageHome,n.openedWorkspace?.id),s=this.createBrowserView(e,t.owner,o);return t.initialState?.url&&s.loadURL(t.initialState.url),{...s.getState(),...t.initialState}}tryGetBrowserView(e){return this.browserViews.get(e)}async createTarget(e,t,n){let o=n?si.get(n):void 0;return this.openNew(e,{owner:t,session:o,openOptions:{preserveFocus:!0},source:"cdpCreated"})}_getBrowserView(e){let t=this.browserViews.get(e);if(!t)throw new Error(`Browser view ${e} not found`);return t}_getViewInfo(e){return{id:e.id,owner:e.owner,state:e.getState()}}async getBrowserViews(e){let t=[];for(let[,n]of this.browserViews)e!==void 0&&n.owner.mainWindowId!==e||t.push(this._getViewInfo(n));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}onDynamicDidFindInPage(e){return this._getBrowserView(e).onDidFindInPage}onDynamicDidClose(e){return this._getBrowserView(e).onDidClose}onDynamicDidSelectElement(e){return this._getBrowserView(e).inspector.onDidSelectElement}onDynamicDidChangeElementSelectionActive(e){return this._getBrowserView(e).inspector.onDidChangeElementSelectionActive}onDynamicDidPickArea(e){return this._getBrowserView(e).inspector.onDidPickArea}onDynamicDidChangeAreaSelectionActive(e){return this._getBrowserView(e).inspector.onDidChangeAreaSelectionActive}onDynamicDidChangeDeviceEmulation(e){return this._getBrowserView(e).emulator.onDidChange}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 setDeviceEmulation(e,t){return this._getBrowserView(e).emulator.setDevice(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=si.getOrCreateGlobal();e.connectStorage(this.applicationStorageMainService),await e.clearData()}async clearWorkspaceStorage(e){let t=si.getOrCreateWorkspace(e,this.environmentMainService.workspaceStorageHome);t.connectStorage(this.applicationStorageMainService),await t.clearData()}async getConsoleLogs(e){return this._getBrowserView(e).getConsoleLogs()}async toggleElementSelection(e,t){return this._getBrowserView(e).inspector.toggleElementSelection(t)}async toggleAreaSelection(e,t){return this._getBrowserView(e).inspector.toggleAreaSelection(t)}async updateTheme(e){this._theme=e;for(let[,t]of this.browserViews)t.inspector.setTheme(e)}async updateKeybindings(e){this._keybindings=e}async updateConfiguration(e){this._configuration=e}createBrowserView(e,t,n,o){if(this.browserViews.has(e))throw new Error(`Browser view with id ${e} already exists`);n.connectStorage(this.applicationStorageMainService);let s=this.instantiationService.createInstance(Wn,e,t,n,(a,l,c)=>{let d=this.createBrowserView(ke(),t,n,l);a&&d.loadURL(a).catch(()=>{});let u=this._getViewInfo(d);return this._onDidCreateBrowserView.fire({info:a?{...u,state:{...u.state,url:a}}:u,openOptions:c}),d},(a,l)=>this.showContextMenu(a,l),o);return this.browserViews.set(e,s),this._theme&&s.inspector.setTheme(this._theme),x.once(s.onDidClose)(()=>{this.browserViews.deleteAndDispose(e)}),s}async openNew(e,{owner:t,session:n,openOptions:o,source:s}){let a=ke(),l=this.createBrowserView(a,t,n||si.getOrCreateEphemeral(a));e&&l.loadURL(e).catch(()=>{}),Hm(this.telemetryService,s);let c=this._getViewInfo(l);return this._onDidCreateBrowserView.fire({info:e?{...c,state:{...c.state,url:e}}:c,openOptions:o}),l}async showContextMenu(e,t){let n=e.getElectronWindow();if(!n)return;let o=e.webContents;if(o.isDestroyed())return;let s=this._configuration.aiFeaturesDisabled?void 0:t.frame&&await e.inspector.getElementHandle("context-menu-target",t.frame),a=new LL;t.linkURL&&(a.append(new pr({label:h(2179,null),click:()=>{this.openNew(t.linkURL,{owner:e.owner,session:e.session,openOptions:{preserveFocus:!0,background:!0},source:"browserLinkBackground"})}})),a.append(new pr({label:h(2178,null),click:()=>{this.nativeHostMainService.openExternal(void 0,t.linkURL)}})),a.append(new pr({type:"separator"})),a.append(new pr({label:h(2174,null),click:()=>{G0.write({text:t.linkURL,html:`<a href="${encodeURI(t.linkURL)}">${o1(t.linkText||t.linkURL)}</a>`})}}))),t.hasImageContents&&t.srcURL&&(a.items.length>0&&a.append(new pr({type:"separator"})),a.append(new pr({label:h(2177,null),click:()=>{this.openNew(t.srcURL,{owner:e.owner,session:e.session,openOptions:{preserveFocus:!0,background:!0},source:"browserLinkBackground"})}})),a.append(new pr({label:h(2172,null),click:()=>{e.webContents.copyImageAt(t.x,t.y)}})),a.append(new pr({label:h(2173,null),click:()=>{G0.writeText(t.srcURL)}}))),t.isEditable?(a.append(new pr({role:"cut",enabled:t.editFlags.canCut})),a.append(new pr({role:"copy",enabled:t.editFlags.canCopy})),a.append(new pr({role:"paste",enabled:t.editFlags.canPaste})),a.append(new pr({role:"pasteAndMatchStyle",enabled:t.editFlags.canPaste})),a.append(new pr({role:"selectAll",enabled:t.editFlags.canSelectAll}))):t.selectionText&&a.append(new pr({role:"copy"})),a.items.length===0&&(o.navigationHistory.canGoBack()&&a.append(new pr({label:h(2171,null),accelerator:this._keybindings[Au.GoBack],click:()=>o.navigationHistory.goBack()})),o.navigationHistory.canGoForward()&&a.append(new pr({label:h(2175,null),accelerator:this._keybindings[Au.GoForward],click:()=>o.navigationHistory.goForward()})),a.append(new pr({label:h(2180,null),accelerator:this._keybindings[Au.Reload],click:()=>o.reload()}))),a.append(new pr({type:"separator"})),s&&(a.append(new pr({label:h(2170,null),click:()=>s.addToChat()})),s.highlight().catch(()=>{}),a.on("menu-will-close",()=>s.dispose())),a.append(new pr({label:h(2176,null),click:()=>o.inspectElement(t.x,t.y)}));let l=e.getWebContentsView().getBounds();a.popup({window:n,x:l.x+t.x,y:l.y+t.y,sourceType:t.menuSourceType})}};na=C([g(0,_e),g(1,qt),g(2,$e),g(3,Ke),g(4,Nn),g(5,xr)],na)});var $u,cs,Jm,Hu,hn,J0=w(()=>{$u={MethodNotFound:-32601,InvalidParams:-32602,InternalError:-32603,ServerError:-32e3},cs=class extends Error{constructor(e,t){super(e);this.code=t;this.name="CDPError"}},Jm=class extends cs{constructor(r){super(`Method not found: ${r}`,$u.MethodNotFound),this.name="CDPMethodNotFoundError"}},Hu=class extends cs{constructor(r){super(r,$u.InvalidParams),this.name="CDPInvalidParamsError"}},hn=class extends cs{constructor(r){super(r,$u.ServerError),this.name="CDPServerError"}}});var Ku,Q0=w(()=>{$();j();tr();J0();Ku=class extends _{constructor(e){super();this.browserTarget=e;this.sessionId=`browser-session-${ke()}`;this._isAttachedToBrowserTarget=!1;this._autoAttach=!1;this._discover=!1;this._sessions=this._register(new Ct);this._targets=this._register(new Ct);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 hn(`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 Jm(e);return await a(t,n)}let o=this._sessions.get(n);if(!o)throw new hn(`Session not found: ${n}`);return await o.sendCommand(e,t)??{}}catch(o){throw o instanceof cs?o:new hn(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 cs?s.code:$u.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 hn("Unable to resolve target");let o=this._targets.get(n);if(!o)throw new hn("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 hn("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 hn(`Session not found: ${t}`);return n.sendCommand("Target.setAutoAttach",e)}if(!e.flatten)throw new Hu("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 hn("Unable to resolve target");return{targetInfo:t.targetInfo}}async handleTargetAttachToTarget({targetId:e,flatten:t}){if(!t)throw new Hu("This implementation only supports attachToTarget with flatten=true");let n=this._targets.get(e);if(!n)throw new hn("Unable to resolve target");return{sessionId:(await n.attach()).sessionId}}async handleTargetDetachFromTarget({sessionId:e}){let t=this._sessions.get(e);if(!t)throw new hn(`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 hn("Unable to resolve target");return await this.browserTarget.closeTarget(t),{success:!0}}catch{return{success:!1}}}}});var wo,X0=w(()=>{j();$();wo=class extends _{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 Vl,Y0=w(()=>{$();j();ww();Q0();Ow();cr();bw();tr();X0();Vl=class extends _{constructor(e,t,n,o){super();this.id=e;this.owner=t;this.browserViewMainService=n;this.productService=o;this.views=new Map;this.viewTargets=this._register(new Ct);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 Ku(this));this._onTargetInfoChanged=this._register(new b);this.onTargetInfoChanged=this._onTargetInfoChanged.event;this.sessions=new Map;this.onSessionCreated=x.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=x.once(t.onDidClose)(()=>{this.removeView(e)}),o=await t.debugger.getTargetInfo();if(this.views.get(e)!==t){n.dispose();return}let s=new wo(t,o);this.viewTargets.set(t.id,s);let a=new Q;a.add(n),s.onClose(()=>a.dispose()),this.debugger.registerTarget(s);for(let l of t.debugger.knownTargets.values())this.debugger.registerTarget(new wo(t,l));a.add(t.debugger.onTargetDiscovered(l=>{this.debugger.registerTarget(new wo(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 wo))throw new Error("Can only get window for BrowserView targets");let n=e.view.getWebContentsView().getBounds();return{windowId:this.owner.mainWindowId,bounds:{left:n.x,top:n.y,width:n.width,height:n.height,windowState:"normal"}}}async attach(){return new Ku(this)}notifySessionCreated(){}get targetInfo(){return{targetId:this.id,type:"browser",title:this.getVersion().product,url:"",attached:!0,canAccessOpener:!1}}async createTarget(e,t){if(t&&!this.knownContextIds.has(t))throw new Error(`Unknown browser context ${t}`);let n=await this.browserViewMainService.createTarget(e,this.owner,t);return n instanceof Wn?(await this.addView(n.id),this.viewTargets.get(n.id)):n}async activateTarget(e){if(!(e instanceof wo))throw new Error("Can only activate BrowserView targets")}async closeTarget(e){if(!(e instanceof wo))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=si.getOrCreateEphemeral(ke(),"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()}};Vl=C([g(2,Vu),g(3,Ae)],Vl)});var Fw,Hl,Z0=w(()=>{$();j();te();tr();Y0();Fw=M("browserViewGroupMainService"),Hl=class extends _{constructor(e){super();this.instantiationService=e;this.groups=this._register(new Ct)}async createGroup(e){let t=ke(),n=this.instantiationService.createInstance(Vl,t,e);return this.groups.set(t,n),x.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}};Hl=C([g(0,qt)],Hl)});import ML from"assert";function OL(i,r){let e=(l,c)=>{console.warn(h(2290,null,l,c))},t=l=>{console.warn(h(2288,null,l))},n=(l,c)=>{console.warn(h(2287,null,l,c))},o=l=>({onUnknownOption:c=>{Ky.includes(l)||console.warn(h(2292,null,c,l))},onMultipleValues:e,onEmptyValue:t,onDeprecatedOption:n,getSubcommandReporter:Ky.includes(l)?o:void 0}),a=Eu(i,Pm,r?{onUnknownOption:l=>{console.warn(h(2291,null,l))},onMultipleValues:e,onEmptyValue:t,onDeprecatedOption:n,getSubcommandReporter:o}:void 0);return a.goto&&a._.forEach(l=>ML(/^(\w:)?[^:]+(:\d*){0,2}:?$/.test(l),h(2289,null))),a}function FL(i){let r=i.findIndex(e=>!/^-/.test(e));if(r>-1)return[...i.slice(0,r),...i.slice(r+1)]}function eE(i){let[,...r]=i;if(W&&r.length>0){let t=_r(r[0]).toLowerCase(),n=tt(process.execPath).toLowerCase()+"\\";t.startsWith(n)&&t.endsWith("\\resources\\app\\out\\cli.js")&&r.shift()}process.env.VSCODE_DEV&&(r=FL(r)||[]);let e=!ai(process.env);return OL(r,e)}function tE(i,...r){let e=i.indexOf("--");return e===-1?i.push(...r):i.splice(e,0,...r),i}function ai(i){return i.VSCODE_CLI==="1"}var $l=w(()=>{Pe();Y();be();qy()});import*as Ww from"os";function NL({useAlternateBitness:i=!1}={}){return i?qu===0?process.env["ProgramFiles(x86)"]||null:Kl===0&&process.env.ProgramW6432||null:process.env.ProgramFiles||null}async function Qm({useAlternateBitness:i=!1,findPreview:r=!1}={}){let e=NL({useAlternateBitness:i});if(!e)return null;let t=B(e,"PowerShell");if(!await ar.existsDirectory(t))return null;let n=-1,o=null;for(let l of await J.readdir(t)){let c=-1;if(r){let u=l.indexOf("-");if(u<0)continue;let f=l.substring(0,u);if(!rE.test(f)||l.substring(u+1)!=="preview")continue;c=parseInt(f,10)}else{if(!rE.test(l))continue;c=parseInt(l,10)}if(c<=n)continue;let d=B(t,l,"pwsh.exe");await ar.existsFile(d)&&(o=d,n=c)}if(!o)return null;let s=e.includes("x86")?" (x86)":"",a=r?" Preview":"";return new ia(o,`PowerShell${a}${s}`,!0)}async function nE({findPreview:i}={}){if(!process.env.LOCALAPPDATA)return null;let r=B(process.env.LOCALAPPDATA,"Microsoft","WindowsApps");if(!await ar.existsDirectory(r))return null;let{pwshMsixDirRegex:e,pwshMsixName:t}=i?{pwshMsixDirRegex:UL,pwshMsixName:"PowerShell Preview (Store)"}:{pwshMsixDirRegex:WL,pwshMsixName:"PowerShell (Store)"};for(let n of await J.readdir(r))if(e.test(n)){let o=B(r,n,"pwsh.exe");return new ia(o,t)}return null}function BL(){let i=B(Ww.homedir(),".dotnet","tools","pwsh.exe");return new ia(i,".NET Core PowerShell Global Tool")}function VL(){let i=B(Ww.homedir(),"scoop","apps"),r=B(i,"pwsh","current","pwsh.exe");return new ia(r,"PowerShell (Scoop)")}function HL(){let i=B(process.env.windir,qu===1&&Kl!==1?"SysNative":"System32","WindowsPowerShell","v1.0","powershell.exe");return new ia(i,"Windows PowerShell",!0)}async function*$L(){let i=await Qm();i&&(yield i),i=await Qm({useAlternateBitness:!0}),i&&(yield i),i=await nE(),i&&(yield i),i=BL(),i&&(yield i),i=await Qm({findPreview:!0}),i&&(yield i),i=await nE({findPreview:!0}),i&&(yield i),i=await Qm({useAlternateBitness:!0,findPreview:!0}),i&&(yield i),i=await VL(),i&&(yield i),i=HL(),i&&(yield i)}async function*Uw(){for await(let i of $L())await i.exists()&&(yield i)}async function iE(){for await(let i of Uw())return i;return null}var rE,WL,UL,qu,Kl,ia,Nw=w(()=>{Pe();lr();rE=/^\d+$/,WL=/^Microsoft.PowerShell_.*/,UL=/^Microsoft.PowerShellPreview_.*/;switch(process.arch){case"ia32":qu=1;break;case"arm":case"arm64":qu=2;break;default:qu=0;break}process.env.PROCESSOR_ARCHITEW6432?Kl=process.env.PROCESSOR_ARCHITEW6432==="ARM64"?2:0:process.env.PROCESSOR_ARCHITECTURE==="ARM64"?Kl=2:process.env.PROCESSOR_ARCHITECTURE==="X86"?Kl=1:Kl=0;ia=class{constructor(r,e,t){this.exePath=r;this.displayName=e;this.knownToExist=t}async exists(){return this.knownToExist===void 0&&(this.knownToExist=await ar.existsFile(this.exePath)),this.knownToExist}}});import*as Bw from"child_process";import{promises as oE}from"fs";function Xm(i=Vt){return i.comspec||"cmd.exe"}function sE(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))}})||W)&&(e=!0)};return{send:t}}async function KL(i){if(await J.exists(i)){let r;try{r=await oE.stat(i)}catch(e){e.message.startsWith("EACCES")&&(r=await oE.lstat(i))}return r?!r.isDirectory():!1}return!1}async function Io(i,r,e,t=Vt,n=KL){if(Do(i))return await n(i)?i:void 0;if(r===void 0&&(r=rn()),tt(i)!=="."){let l=B(r,i);return await n(l)?l:void 0}let s=go(t,"PATH");if(e===void 0&&Oe(s)&&(e=s.split(Np)),e===void 0||e.length===0){let l=B(r,i);return await n(l)?l:void 0}for(let l of e){let c;if(Do(l)?c=B(l,i):c=B(r,l,i),W){let u=(go(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=B(r,i);return await n(a)?a:void 0}async function aE(i,r=!1){let e;if(W){let t=process.env.WINDIR||"C:\\Windows",n=B(t,"System32","taskkill.exe"),o=["/T"];r&&o.push("/F"),o.push("/PID",String(i)),e=Bw.spawn(n,o,{stdio:["ignore","pipe","pipe"]})}else{let t=lt.asFileUri("vs/base/node/terminateProcess.sh").fsPath;e=Bw.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 oa=w(()=>{Qr();Pe();Y();kn();Du();Me();lr();qe()});import{userInfo as qL}from"os";async function Ym(i,r){return i===1?W?jL():Xm(r):zL(i,r)}function zL(i,r){if(re&&i===2||V&&i===3)return"/bin/bash";if(!Vw){let e;if(W)e="/bin/bash";else{if(e=r.SHELL,!e)try{e=qL().shell}catch{}e||(e="sh"),e==="/bin/false"&&(e="/bin/bash")}Vw=e}return Vw}async function jL(){return Hw||(Hw=(await iE()).exePath),Hw}var Vw,Hw,$w=w(()=>{Y();Nw();oa();Vw=null;Hw=null});function cE(i,r,e){return Math.min(Math.max(i,r),e)}var dE=w(()=>{Da()});import{spawn as GL}from"child_process";async function ds(i,r,e,t){return e["force-disable-user-env"]?(r.trace("resolveShellEnv(): skipped (--force-disable-user-env)"),{}):W?(r.trace("resolveShellEnv(): skipped (Windows)"),{}):ai(t)&&!e["force-user-env"]?(r.trace("resolveShellEnv(): skipped (VSCODE_CLI is set)"),{}):(ai(t)?r.trace("resolveShellEnv(): running (--force-user-env)"):r.trace("resolveShellEnv(): running (macOS/Linux)"),Kw||(Kw=bt.withAsyncBody(async(n,o)=>{let s=new Je,a=1e4,l=i.getValue("application.shellEnvironmentResolutionTimeout");typeof l=="number"&&(a=cE(l,1,120)*1e3);let c=setTimeout(()=>{s.dispose(!0),o(new Error(h(2637,null)))},a);try{n(await JL(r,s.token))}catch(d){!Rs(d)&&!s.token.isCancellationRequested?o(new Error(h(2635,null,Dr(d)))):n({})}finally{clearTimeout(c),s.dispose()}})),Kw)}async function JL(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=ke().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 Ym(Bt,s);return i.trace("getUnixShellEnvironment#shell",a),new Promise((l,c)=>{if(r.isCancellationRequested)return c(new Et);let d=xe(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=GL(a,[...f,u],{detached:!0,stdio:["ignore","pipe","pipe"],env:s});r.onCancellationRequested(()=>(y.kill(),c(new Et))),y.on("error",I=>{i.error("getUnixShellEnvironment#errorChildProcess",Dr(I)),c(I)});let v=[];y.stdout.on("data",I=>v.push(I));let S=[];y.stderr.on("data",I=>S.push(I)),y.on("close",(I,T)=>{let D=Buffer.concat(v).toString("utf8");i.trace("getUnixShellEnvironment#raw",D);let k=Buffer.concat(S).toString("utf8");if(k.trim()&&i.trace("getUnixShellEnvironment#stderr",k),I||T)return c(new Error(h(2636,null,I,T)));let A=o.exec(D),oe=A?A[1]:"{}";try{let O=JSON.parse(oe);e?O.ELECTRON_RUN_AS_NODE=e:delete O.ELECTRON_RUN_AS_NODE,t?O.ELECTRON_NO_ATTACH_CONSOLE=t:delete O.ELECTRON_NO_ATTACH_CONSOLE,delete O.VSCODE_RESOLVING_ENVIRONMENT,delete O.XDG_RUNTIME_DIR,i.trace("getUnixShellEnvironment#result",O),l(O)}catch(O){i.error("getUnixShellEnvironment#errorCaught",Dr(O)),c(O)}})})}var Kw,zu=w(()=>{Pe();be();Tt();No();He();Y();tr();$w();$l();ge();dE()});var qw,uE,pE,zw=w(()=>{te();qw=M("extensionHostStarter"),uE="extensionHostStarter",pE=6e3});var us,fE=w(()=>{ge();He();j();$();zw();_t();ne();nr();os();jt();rt();us=class extends _{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 zn();let e=String(++us._lastId),t=new is(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 zn();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:pE,correlationId:e}),{pid:await x.toPromise(n.onSpawn)}}async enableInspectPort(e){if(this._shutdown)throw zn();let t=this._extHosts.get(e);return t?t.enableInspectPort():!1}async kill(e){if(this._shutdown)throw zn();let t=this._extHosts.get(e);t&&t.kill()}async waitForExit(e,t){if(this._shutdown)throw zn();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 bt.settled(t).then(()=>{})}};us=C([g(0,N),g(1,ve),g(2,$e),g(3,Ke),g(4,de)],us)});var ju,mE=w(()=>{te();ju=M("externalTerminal")});var NQ,ql,hE=w(()=>{te();NQ=M("externalTerminal"),ql="Terminal.app"});import*as ps from"child_process";function sa(i){let r={...i.env};return i0(r),r}function vE(i){return i.errno==="ENOENT"&&i.path?new Error(h(2403,null,i.path)):i}function jw(i,r,e,t){let n="";i.on("error",o=>{e(vE(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(2406,null,t,o)))})}function QL(i){let r="";for(let e of i)e.indexOf(" ")>=0?r+='"'+e+'"':r+=e,r+=" ";return r}var gE,Gu,li,Ju,Zm,Qu,yE=w(()=>{Vo();qe();Pe();Y();Du();lr();oa();be();hE();gE=h(2402,null),Gu=class{async getDefaultTerminalForPlatforms(){return{windows:Ju.getDefaultTerminalWindows(),linux:await Qu.getDefaultTerminalLinuxReady(),osx:ql}}},li=class li extends Gu{static{this.CMD="cmd.exe"}openTerminal(r,e){return this.spawnTerminal(ps,r,Xm(),e)}spawnTerminal(r,e,t,n){let o=e.windowsExec||li.getDefaultTerminalWindows();n&&n[1]===":"&&(n=n[0].toUpperCase()+n.substr(1));let s=xe(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=sa(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||li.getDefaultTerminalWindows(),a=await li.getWtExePath();return new Promise((l,c)=>{let d=`"${e} - ${gE}"`,u=`"${t.join('" "')}" & pause`,f=Object.assign({},sa(process),n);Object.keys(f).filter(I=>f[I]===null).forEach(I=>delete f[I]);let m={cwd:e,env:f,windowsVerbatimArguments:!0},y,v;xe(s,".exe")==="wt"?(y=s,v=["-d",".",li.CMD,"/c",u]):a?(y=a,v=["-d",".",s,"/c",u]):(y=li.CMD,v=["/c","start",d,"/wait",s,"/c",`"${u}"`]),ps.spawn(y,v,m).on("error",I=>{c(vE(I))}),l(void 0)})}static getDefaultTerminalWindows(){if(!li._DEFAULT_TERMINAL_WINDOWS){let r=!!process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432");li._DEFAULT_TERMINAL_WINDOWS=`${process.env.windir?process.env.windir:"C:\\Windows"}\\${r?"Sysnative":"System32"}\\cmd.exe`}return li._DEFAULT_TERMINAL_WINDOWS}static async getWtExePath(){try{return await Io("wt")}catch{return}}};C([ue],li,"getWtExePath",1);Ju=li,Zm=class i extends Gu{static{this.OSASCRIPT="/usr/bin/osascript"}openTerminal(r,e){return this.spawnTerminal(ps,r,e)}runInTerminal(r,e,t,n,o){let s=o.osxExec||ql;return new Promise((a,l)=>{if(s===ql||s==="iTerm.app"){let c=s===ql?"TerminalHelper":"iTermHelper",u=[lt.asFileUri(`vs/workbench/contrib/externalTerminal/node/${c}.scpt`).fsPath,"-t",r||gE,"-w",e];for(let m of t)u.push("-a"),u.push(m);if(n){let m=Object.assign({},sa(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=ps.spawn(i.OSASCRIPT,u);jw(f,a,l,s)}else if(s==="Ghostty.app"){let c=Object.assign({},sa(process),n),d=["-na","Ghostty.app","--args"];d.push("--working-directory="+e),d.push("--wait-after-command=true"),d.push("-e",...t);let u=ps.spawn("/usr/bin/open",d,{env:c});jw(u,a,l,s)}else l(new Error(h(2404,null,s)))})}spawnTerminal(r,e,t){let n=e.osxExec||ql;return new Promise((o,s)=>{let a=["-a",n];t&&a.push(t);let l=sa(process),c=r.spawn("/usr/bin/open",a,{cwd:t,env:l});c.on("error",s),c.on("exit",()=>o())})}},Qu=class i extends Gu{static{this.WAIT_MESSAGE=h(2405,null)}openTerminal(r,e){return this.spawnTerminal(ps,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(xe(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=`${QL(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({},sa(process),n);Object.keys(a).filter(c=>a[c]===null).forEach(c=>delete a[c]);let l=ps.spawn(r,e,{cwd:t,env:a});jw(l,o,s,r)}static async getDefaultTerminalLinuxReady(){if(!i._DEFAULT_TERMINAL_LINUX_READY)if(!re)i._DEFAULT_TERMINAL_LINUX_READY=Promise.resolve("xterm");else{let r=await J.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=sa(process),d=xe(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 Gw,wE=w(()=>{te();Gw=M("sandboxHelper")});var eh,IE=w(()=>{Qr();Pe();Y();oa();eh=class i{static async checkSandboxDependenciesWith(r,e=re){if(!e)return;let[t,n]=await Promise.all([r("bwrap"),r("socat")]);return{bubblewrapInstalled:!!t,socatInstalled:!!n}}checkSandboxDependencies(){return i.checkSandboxDependenciesWith(Io)}async getWindowsMxcFilesystemPolicy(){if(!W)return;let{getAvailableToolsPolicy:r,getUserProfilePolicy:e,getTemporaryFilesPolicy:t}=await import("@microsoft/mxc-sdk"),n=r(process.env,{containerType:"processcontainer"}),o=e(),s=t(process.env),a=await this._getPSHome();return{readonlyPaths:[...new Set([...n.readonlyPaths,...o.readonlyPaths,...s.readonlyPaths,...a?[a]:[]])],readwritePaths:[...new Set([...n.readwritePaths,...o.readwritePaths,...s.readwritePaths])]}}async getWindowsMxcEnvironment(){if(!W)return;let r=[];for(let s of["SystemRoot","PATH","ComSpec","PATHEXT","PSModulePath"]){let a=go(process.env,s);typeof a=="string"&&a&&r.push(`${s}=${a}`)}let e=go(process.env,"USERPROFILE");typeof e=="string"&&e&&r.push(`USERPROFILE=${e}`);let t=go(process.env,"APPDATA");typeof t=="string"&&t&&r.push(`APPDATA=${t}`);let n=this._getLocalAppData();typeof n=="string"&&n&&r.push(`LOCALAPPDATA=${n}`);let o=await this._getPSHome();return o&&r.push(`PSHOME=${o}`),r}async buildWindowsMxcSandboxPayload(r,e,t,n,o="process"){if(!W)return;let{buildSandboxPayload:s}=await import("@microsoft/mxc-sdk");return s(r,e,t,n,o)}async _getPSHome(){let r=go(process.env,"PSHOME");if(typeof r=="string"&&r)return r;let e=await Io("pwsh")??await Io("powershell");return e?at.dirname(e):void 0}_getLocalAppData(){let r=go(process.env,"LOCALAPPDATA");return typeof r=="string"&&r?r:void 0}}});function SE(i,r){switch(i){case 0:return"";case 1:return`${rh}*?`;default:return`(?:${th}|${rh}+${th}${r?`|${th}${rh}+`:""})*?`}}function xE(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 _E(i){if(!i)return"";let r="",e=xE(i,bE);if(e.every(t=>t===zl))r=".*";else{let t=!1;e.forEach((n,o)=>{if(n===zl){if(t)return;r+=SE(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===bE?u="":u=Lo(d),c+=u;continue}switch(d){case"{":s=!0;continue;case"[":l=!0;continue;case"}":{let f=`(?:${xE(a,",").map(m=>_E(m)).join("|")})`;r+=f,s=!1,a="";break}case"]":{r+="["+c+"]",l=!1,c="";break}case"?":r+=rh;continue;case"*":r+=SE(1);continue;default:r+=Lo(d)}}o<e.length-1&&(e[o+1]!==zl||o+2<e.length)&&(r+=th)}t=n===zl})}return r}function Qw(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?qr:(l,c)=>l===c,endsWith:t?s1:(l,c)=>l.endsWith(c),isEqualOrParent:(l,c)=>Xi(l,c,r.ignoreCase??!re)},o=`${t?e.toLowerCase():e}_${!!r.trimForExclusions}_${t}`,s=PE.get(o);if(s)return CE(s,i,n);let a;return YL.test(e)?s=iM(e.substring(4),e,n):(a=ZL.exec(Jw(e,n)))?s=oM(a[1],e,n):(r.trimForExclusions?tM:eM).test(e)?s=sM(e,n):(a=rM.exec(Jw(e,n)))?s=TE(a[1].substring(1),e,!0,n):(a=nM.exec(Jw(e,n)))?s=TE(a[1],e,!1,n):s=aM(e,n),PE.set(o,s),CE(s,i,n)}function CE(i,r,e){if(typeof r=="string")return i;let t=function(n,o){return e.isEqualOrParent(n,r.base)?i(Iv(n.substring(r.base.length),$t),o):null};return t.allBasenames=i.allBasenames,t.allPaths=i.allPaths,t.basenames=i.basenames,t.patterns=i.patterns,t}function Jw(i,r){return r.trimForExclusions&&i.endsWith("/**")?i.substring(0,i.length-2):i}function iM(i,r,e){return function(t,n){return typeof t=="string"&&e.endsWith(t,i)?r:null}}function oM(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 sM(i,r){let e=RE(i.slice(1,-1).split(",").map(a=>Qw(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 TE(i,r,e,t){let n=$t===pe.sep,o=n?i:i.replace(XL,$t),s=$t+o,a=pe.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 aM(i,r){try{let e=new RegExp(`^${_E(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 kE(i,r={}){if(!i)return EE;if(typeof i=="string"||lM(i)){let e=Qw(i,r);if(e===Fi)return EE;let t=function(n,o){return!!e(n,o)};return e.allBasenames&&(t.allBasenames=e.allBasenames),e.allPaths&&(t.allPaths=e.allPaths),t}return cM(i,r)}function lM(i){let r=i;return r?typeof r.base=="string"&&typeof r.pattern=="string":!1}function cM(i,r){let e=RE(Object.getOwnPropertyNames(i).map(a=>dM(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;pf(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=xe(a)),d||(d=l.substring(0,l.length-Ca(a).length)));let v=y(a,l,d,c);if(typeof v=="string")return v;pf(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 dM(i,r,e){if(r===!1)return Fi;let t=Qw(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 pf(u)?u.then(f=>f?i:null):u?i:null};return o.requiresSiblings=!0,o}}return t}function RE(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 Xw(i,r){return Ao(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 zl,bE,th,rh,XL,YL,ZL,eM,tM,rM,nM,PE,EE,Fi,Yw=w(()=>{Yt();ge();Gn();ln();kr();Pe();Y();Zt();zl="**",bE="/",th="[/\\\\]",rh="[^/\\\\]",XL=/\//g;YL=/^\*\*\/\*\.[\w\.-]+$/,ZL=/^\*\*\/([\w\.-]+)\/?$/,eM=/^{\*\*\/\*?[\w\.-]+\/?(,\*\*\/\*?[\w\.-]+\/?)*}$/,tM=/^{\*\*\/\*?[\w\.-]+(\/(\*\*)?)?(,\*\*\/\*?[\w\.-]+(\/(\*\*)?)?)*}$/,rM=/^\*\*((\/[\w\.-]+)+)\/?$/,nM=/^([\w\.-]+(\/[\w\.-]+)*)\/?$/,PE=new Rn(1e4),EE=function(){return!1},Fi=function(){return null}});function sh(i){return typeof i.correlationId=="number"}function AE(i){return i.recursive===!0}function ah(i){return i.map(r=>({type:r.type,resource:P.revive(r.resource),cId:r.cId}))}function LE(i){let r=new Zw;for(let e of i)r.processEvent(e);return r.coalesce()}function uM(i,r){return typeof r=="string"&&!r.startsWith(zl)&&!Do(r)?{base:i,pattern:r}:r}function eI(i,r,e){let t=[];for(let n of r)t.push(kE(uM(i,n),{ignoreCase:e}));return t}function ME(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 OE(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 nh,ih,oh,Zw,aa=w(()=>{Yw();$();Pe();Y();le();ze();nh=class i extends _{constructor(e,t,n,o){super();this.onFileChanges=e;this.onLogMessage=t;this.verboseLogging=n;this.options=o;this.watcherDisposables=this._register(new St);this.requests=void 0;this.restartCounter=0}static{this.MAX_RESTARTS=5}init(){let e=new Q;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()}},ih=class extends nh{constructor(r,e,t){super(r,e,t,{type:"node.js",restartOnError:!1})}},oh=class extends nh{constructor(r,e,t){super(r,e,t,{type:"universal",restartOnError:!0})}};Zw=class{constructor(){this.coalesced=new Set;this.mapPathToChange=new Map}toKey(r){return re?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=>fP(t.resource.fsPath,n,!re))?!1:(e.push(t.resource.fsPath),!0)).concat(r)}}});var rI,FE=w(()=>{ot();No();He();j();$();Ns();tr();ze();aa();rI="localFilesystem"});async function ch(i,r,e,t,n,o){let s;try{await pM(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 pM(i,r,e,t,n,o){nI(o);let s=await i.open(r,{create:!1});try{nI(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)&&nI(o)&&fM(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 nI(i){if(i.isCancellationRequested)throw zn();return!0}function fM(i,r){if(typeof r?.limits?.size=="number"&&i>r.limits.size)throw Gr(h(2442,null),"EntryTooLarge");return!0}var iI=w(()=>{ot();He();be();ze()});var dh,WE=w(()=>{Yt();ge();He();j();ln();$();Pe();aa();ne();dh=class extends _{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 Rr(this.getRefreshWatchersDelay(this.universalWatchRequests.length)));this.nonRecursiveWatchRequests=[];this.nonRecursiveWatchRequestDelayer=this._register(new Rr(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=av(this.universalWatchRequests,n);return this.refreshUniversalWatchers(),z(()=>{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(AE(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=>ct(e))}doRefreshUniversalWatchers(){return this.universalWatcher||(this.universalWatcher=this._register(this.createUniversalWatcher(e=>this._onDidChangeFile.fire(ah(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=av(this.nonRecursiveWatchRequests,n);return this.refreshNonRecursiveWatchers(),z(()=>{o(),this.refreshNonRecursiveWatchers()})}refreshNonRecursiveWatchers(){this.nonRecursiveWatchRequestDelayer.trigger(()=>this.doRefreshNonRecursiveWatchers(),this.getRefreshWatchersDelay(this.nonRecursiveWatchRequests.length)).catch(e=>ct(e))}doRefreshNonRecursiveWatchers(){return this.nonRecursiveWatcher||(this.nonRecursiveWatcher=this._register(this.createNonRecursiveWatcher(e=>this._onDidChangeFile.fire(ah(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 Dt(e.fsPath)}toWatchPath(e){let t=this.toFilePath(e);return Pv(t)}}});function UE(i){let r=i;return r&&typeof r.type=="string"&&typeof r.severity=="string"}function mM(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 hM(i){if(!i)return i;let r=i.indexOf(`
`);return r===-1?i:i.substring(0,r)}function NE(i,r){let{args:e,stack:t}=mM(i),n=typeof e[0]=="string"&&e.length===1,o=hM(t);o&&(o=`(${o.trim()})`);let s=[];if(typeof e[0]=="string"?o&&n?s=[`%c[${r}] %c${e[0]} %c${o}`,jl("blue"),jl(""),jl("grey")]:s=[`%c[${r}] %c${e[0]}`,jl("blue"),jl(""),...e.slice(1)]:s=[`%c[${r}]%`,jl("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 jl(i){return`color: ${i}`}var BE=w(()=>{le()});import{fork as gM}from"child_process";var uh,VE=w(()=>{ge();ot();Tt();BE();He();j();$();Qr();oa();Du();Pi();uh=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 Yi(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=Te.None){if(!this.disposeDelayer)return Promise.reject(new Error("disposed"));if(n.isCancellationRequested)return Promise.reject(zn());this.disposeDelayer.cancel();let o=this.getCachedChannel(r),s=Xn(c=>o.call(e,t,c)),a=n.onCancellationRequested(()=>s.cancel()),l=z(()=>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 x.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={...dr(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-"))),Fm(e.env),this.child=gM(this.modulePath,r,e);let t=new b,o=x.fromNodeEventEmitter(this.child,"message",u=>u)(u=>{if(UE(u)){NE(u,`IPC Library: ${this.options.serverName}`);return}t.fire(H.wrap(Buffer.from(u,"base64")))}),s=this.options.useQueue?sE(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 Hs(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=>ht(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 ph,HE=w(()=>{qe();Pi();VE();aa();ph=class extends oh{constructor(r,e,t){super(r,e,t),this.init()}createWatcher(r){let e=r.add(new uh(lt.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)`))),nt.toService(Px(e.getChannel("watcher")))}}});import{watchFile as vM,unwatchFile as yM}from"fs";var fh,$E=w(()=>{$();aa();j();ze();le();ge();Ei();He();fh=class extends _{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 Ct);this.suspendedWatchRequestsWithPolling=new Set;this.updateWatchersDelayer=this._register(new Rr(this.getUpdateWatchersDelay()));this.suspendedWatchRequestPollingInterval=5007;this.joinWatch=new Ot;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 sh(e)}computeId(e){return this.isCorrelated(e)?e.correlationId:mr(e)}async watch(e){this.joinWatch.isSettled||this.joinWatch.complete(),this.joinWatch=new Ot;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=>ct(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 Q;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{vM(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(z(()=>{this.trace(`stopping fs.watchFile() on ${e.path} (correlationId: ${e.correlationId})`);try{yM(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: ${OE(e.filter)}, correlationId: ${typeof e.correlationId=="number"?e.correlationId:"<none>"})`}async setVerboseLogging(e){this.verboseLogging=e}}});import{watch as wM,promises as IM}from"fs";var mh,KE=w(()=>{ge();Tt();ln();$();xd();Pe();Y();It();le();lr();ze();aa();Ji();mh=class i extends _{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 Ka({maxWorkChunkSize:100,throttleDelay:200,maxBufferedWork:1e4},e=>this.onDidFilesChange(e)));this.fileChangesAggregator=this._register(new df(e=>this.handleFileChanges(e),i.FILE_CHANGES_HANDLER_DELAY));this.cts=new Je;this.realPath=new fr(async()=>{let e=this.request.path;try{e=await J.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=!re;this.excludes=eI(this.request.path,this.request.excludes,l),this.includes=this.request.includes?eI(this.request.path,this.request.includes,l):void 0,this.filter=sh(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 IM.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 Q;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 qS(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(V&&Xi(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 Je(this.cts.token);t.add(z(()=>o.dispose(!0)));let s=new Q;t.add(s);try{let a=P.file(this.request.path),l=xe(n),c=wM(n);s.add(z(()=>{c.removeAllListeners(),c.close()})),this.trace(`Started watching: '${n}'`);let d=new Set;if(e)try{for(let f of await J.readdir(n))d.add(f)}catch(f){this.error(f)}if(o.token.isCancellationRequested)return;let u=new Map;s.add(z(()=>{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(),V&&(y=Si(y))),!(!y||f!=="change"&&f!=="rename"))if(e)if(f==="rename"){u.get(y)?.dispose();let v=setTimeout(async()=>{if(u.delete(y),Fo(y,l,!re)&&!await J.exists(n)){this.onWatchedPathDeleted(a);return}if(o.token.isCancellationRequested)return;let S=await this.existsChildStrictCase(B(n,y));if(o.token.isCancellationRequested)return;let I;S?d.has(y)?I=0:(I=1,d.add(y)):(d.delete(y),I=2),this.onFileChange({resource:ce(a,y),type:I,cId:this.request.correlationId})},i.FILE_DELETE_HANDLER_DELAY);u.set(y,z(()=>clearTimeout(v)))}else{let v;d.has(y)?v=0:(v=1,d.add(y)),this.onFileChange({resource:ce(a,y),type:v,cId:this.request.correlationId})}else if(f==="rename"||!Fo(y,l,!re)){let v=setTimeout(async()=>{let S=await J.exists(n);o.token.isCancellationRequested||(S?(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(z(()=>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=LE(e),n=[];for(let s of t){if(ME(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(re)return J.exists(e);try{let t=xe(e);return(await J.readdir(tt(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 hh,qE=w(()=>{j();Yw();$E();Y();KE();ge();$();hh=class extends fh{constructor(e){super();this.recursiveWatcher=e;this.onDidError=x.None;this._watchers=new Map;this.worker=this._register(new St)}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&&Xw(s.request.excludes,o.excludes)&&Xw(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 Ka({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 re?e:e.toLowerCase()}startWatching(e){let t=new mh(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 gh,zE=w(()=>{aa();qE();gh=class extends ih{constructor(r,e,t){super(r,e,t),this.init()}createWatcher(r){return r.add(new hh(void 0))}}});import{constants as oI,promises as la}from"fs";var fs,vh=w(()=>{ge();kr();ot();j();ln();$();Pe();Y();It();Ns();lr();be();ze();iI();WE();HE();zE();fs=class i extends dh{constructor(){super(...arguments);this.onDidChangeCapabilities=x.None;this.resourceLocks=new yt(e=>Qe.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,re&&(this._capabilities|=1024)),this._capabilities}async stat(e){try{let{stat:t,symbolicLink:n}=await ar.stat(this.toFilePath(e)),o;return(t.mode&128)===0&&(o=2),(t.mode&oI.S_IXUSR||t.mode&oI.S_IXGRP||t.mode&oI.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 J.realpath(t)}async readdir(e){try{let t=await J.readdir(this.toFilePath(e),{withFileTypes:!0}),n=[];return await Promise.all(t.map(async o=>{try{let s;o.isSymbolicLink()?s=(await this.stat(ce(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 bi;return this.resourceLocks.set(e,o),this.traceLock(`[Disk FileSystemProvider]: createResourceLock() - new resource lock created (${t})`),z(()=>{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 la.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=Bo(s=>H.concat(s.map(a=>H.wrap(a))).buffer);return ch(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,ce(S1(e),`${zr(e)}${n.atomic.postfix}`),t,n):this.doWriteFile(e,t,n)}async canWriteFileAtomic(e){try{let t=this.toFilePath(e),{symbolicLink:n}=await ar.stat(t);if(n)return!1}catch{}return!0}async doWriteFileAtomic(e,t,n,o){let s=new Q;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 J.exists(a)){if(!n.overwrite)throw Gr(h(2447,null),"EntryExists")}else if(!n.create)throw Gr(h(2450,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;Qs(t)&&!n&&(s=await this.createResourceLock(e));let a;try{if(Qs(t)&&t.unlock)try{let{stat:l}=await ar.stat(o);l.mode&128||await la.chmod(o,l.mode|128)}catch(l){l.code!=="ENOENT"&&this.logService.trace(l)}if(W&&Qs(t)&&!t.append)try{a=await J.open(o,"r+"),await J.ftruncate(a,0)}catch(l){if(l.code!=="ENOENT"&&this.logService.trace(l),typeof a=="number"){try{await J.close(a)}catch(c){this.logService.trace(c)}a=void 0}}typeof a!="number"&&(a=await J.open(o,Qs(t)?t.append?"a":"w":"r"))}catch(l){throw s?.dispose(),Qs(t)?await this.toFileSystemProviderWriteError(e,l):this.toFileSystemProviderError(l)}if(this.mapHandleToPos.set(a,0),Qs(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 J.fdatasync(e)}catch(n){i.configureFlushOnWrite(!1),this.logService.error(n)}return await J.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 J.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 ff(()=>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 J.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 la.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=B(tt(n),`${xe(n)}${t.atomic.postfix}`)),await J.rm(n,1,o)}else try{await la.unlink(n)}catch(o){if(o.code==="EPERM"||o.code==="EISDIR"){let s=!1;try{let{stat:a,symbolicLink:l}=await ar.stat(n);s=a.isDirectory()&&!l}catch{}if(s)await la.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 J.rename(o,s)}catch(a){throw(a.code==="EINVAL"||a.code==="EBUSY"||a.code==="ENAMETOOLONG")&&(a=new Error(h(2451,null,xe(o),xe(tt(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 J.copy(o,s,{preserveSymlinks:!0})}catch(a){throw(a.code==="EINVAL"||a.code==="EBUSY"||a.code==="ENAMETOOLONG")&&(a=new Error(h(2445,null,xe(o),xe(tt(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=Fo(s,a,!0)),l){if(n==="copy")throw Gr(h(2446,null),"EntryExists");if(n==="move")return}let d=await this.statIgnoreError(e);if(!d)throw Gr(h(2449,null),"EntryNotFound");let u=await this.statIgnoreError(t);if(u){if(!o)throw Gr(h(2448,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(Fo(o,s,!a))return;let l=new Q;try{l.add(await this.createResourceLock(e)),l.add(await this.createResourceLock(t)),n&&await la.mkdir(tt(s),{recursive:!0}),await la.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 ph(o=>e(o),o=>t(o),n)}createNonRecursiveWatcher(e,t,n){return new gh(o=>e(o),o=>t(o),n)}toFileSystemProviderError(e){if(e instanceof ll)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 Gr(t,n)}async toFileSystemProviderWriteError(e,t){let n=this.toFileSystemProviderError(t);if(e&&n.code==="NoPermissions")try{let{stat:o}=await ar.stat(this.toFilePath(e));o.mode&128||(n=Gr(t,"EntryWriteLocked"))}catch(o){this.logService.trace(o)}return n}}});var yh,wh,GE=w(()=>{j();vh();$();ot();Ns();Tt();yh=class extends _{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 Je,a=new b({onDidRemoveLastListener:()=>{s.cancel()}}),l=this.provider.readFileStream(o,n,s.token);return Ga(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:()=>{ht(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&&(ht(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()}},wh=class extends _{constructor(e,t,n,o){super();this.uriTransformer=e;this.environmentService=o;this.watcherRequests=new Map;this.fileWatcher=this._register(new fs(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)),z(()=>{ht(this.watcherRequests.get(e)),this.watcherRequests.delete(e)})}dispose(){for(let[,e]of this.watcherRequests)e.dispose();this.watcherRequests.clear(),super.dispose()}}});var JE,QE=w(()=>{ot();nf();le();JE=new class{transformIncoming(i){return i}transformOutgoing(i){return i}transformOutgoingURI(i){return i}transformOutgoingScheme(i){return i}}});import{shell as SM}from"electron";var Ih,sI,XE=w(()=>{be();Y();le();ze();Pe();GE();QE();No();Ih=class extends yh{constructor(e,t,n){super(e,t);this.environmentService=n}getUriTransformer(e){return JE}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=Dt(o.fsPath);try{await SM.trashItem(s)}catch(a){throw Gr(W?h(2443,null,xe(s),Dr(a)):h(2444,null,xe(s),Dr(a)),"Unknown")}}createSessionFileWatcher(e,t){return new sI(e,t,this.logService,this.environmentService)}},sI=class extends wh{watch(r,e,t){if(t.recursive)throw Gr("Recursive file watching is not supported from main process for performance reasons.","Unavailable");return super.watch(r,e,t)}}});var he,Xu=w(()=>{he=class{constructor(r,e=[],t=!1){this.ctor=r,this.staticArguments=e,this.supportsDelayedInstantiation=t}}});var ms,bh=w(()=>{ms=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 Sh}from"child_process";import{totalmem as xM}from"os";function Yu(i){return new Promise((r,e)=>{let t,n=new Map,o=xM();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:W?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,S)=>v.pid-S.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=PM.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(lt.asFileUri("vs/base/node/cpuUsage.sh").fsPath);u+=" "+d.join(" "),Sh(u,{},(f,m,y)=>{if(f||y)e(f||new Error(y.toString()));else{let v=m.toString().split(`
`);for(let S=0;S<d.length;S++){let I=n.get(d[S]);I.load=parseFloat(v[S])}if(!t){e(new Error(`Root process ${i} not found`));return}r(t)}})};Sh("which ps",{},(c,d,u)=>{if(c||u)if(process.platform!=="linux")e(c||new Error(u.toString()));else{let f=JSON.stringify(lt.asFileUri("vs/base/node/ps.sh").fsPath);Sh(f,{},(m,y,v)=>{m||v?e(m||new Error(v.toString())):(YE(y,s),l())})}else{let f=d.toString().trim();Sh(`${f} -ax -o pid=,ppid=,pcpu=,pmem=,command=`,{maxBuffer:1e3*1024,env:{LC_NUMERIC:"en_US.UTF-8"}},(y,v,S)=>{y||S&&!S.includes("screen size is bogus")?e(y||new Error(S.toString())):(YE(v,s),process.platform==="linux"?l():t?r(t):e(new Error(`Root process ${i} not found`)))})}})}})}function YE(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 PM,aI=w(()=>{qe();Y();PM=/[a-zA-Z-]+\.js\b/g});var Gl,ZE=w(()=>{aI();be();Tm();aw();ne();os();Gl=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 ur.getAll())e.push([n,o]);let t=[];try{t.push({name:h(2572,null),rootProcess:await Yu(process.pid)}),(await this.diagnosticsMainService.getRemoteDiagnostics({includeProcesses:!0})).forEach(o=>{Tu(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(r){try{let[e,t]=await Promise.all([this.diagnosticsMainService.getMainDiagnostics(),this.diagnosticsMainService.getRemoteDiagnostics({includeProcesses:!0,includeWorkspaceMetadata:!0})]);return await this.diagnosticsService.getPerformanceInfo(e,t,r)}catch(e){throw this.logService.warn("issueService#getPerformanceInfo ",e.message),e}}};Gl=C([g(0,N),g(1,Cu),g(2,Ml)],Gl)});function eC(i){let r=i.getKeyMap(),e=i.getCurrentKeyboardLayout();return{keyboardMapping:r,keyboardLayoutInfo:e}}var lI,Jl,tC=w(()=>{Y();j();$();te();_t();lI=M("keyboardLayoutMainService"),Jl=class extends _{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=eC(e),cS||e.onDidChangeKeyboardLayout(()=>{this._keyboardLayoutData=eC(e),this._onDidChangeKeyboardLayout.fire(this._keyboardLayoutData)})}async getKeyboardLayoutData(){return await this._initialize(),this._keyboardLayoutData}};Jl=C([g(0,ve)],Jl)});var Ql,cI=w(()=>{te();Ql=M("urlService")});import{app as EM}from"electron";var CM,dI,Xl,rC=w(()=>{Yt();Y();le();lr();rt();$l();te();ne();cI();jt();CM="launchMainService",dI=M(CM),Xl=class{constructor(r,e,t,n){this.logService=r;this.windowsMainService=e;this.urlService=t;this.configurationService=n}async start(r,e){this.logService.trace("Received data from other instance: ",r,e),V&&EM.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?dt(r._urls.map(e=>{try{return{uri:P.parse(e),originalUrl:e}}catch{return null}})):[]}async startOpenWindow(r,e){let t=ai(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)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=!V}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,F1(o.fsPath)]).then(()=>{},()=>{})}async getMainProcessId(){return this.logService.trace("Received request for process ID from other instance."),process.pid}};Xl=C([g(0,N),g(1,$e),g(2,Ql),g(3,de)],Xl)});function uI(i){return i.submenu!==void 0}function pI(i){return i.id==="vscode.menubar.separator"}function fI(i){return i.uri!==void 0}function nC(i){return!uI(i)&&!pI(i)&&!fI(i)}var iC=w(()=>{});var se,hs,Wi=w(()=>{Me();te();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})},hs=M("updateService")});import{app as ca}from"electron";var gs,Pr,Zu=w(()=>{Yt();ge();j();ro();$();qe();Y();It();le();lr();be();te();_t();ne();po();Mi();Om();Lr();ns();kr();ea();Wt();gs=M("workspacesHistoryMainService"),Pr=class extends _{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 Rr(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(Mm(s))!this.workspacesManagementMainService.isUntitledWorkspace(s.workspace)&&!this.containsWorkspace(t,s.workspace)&&t.push(s);else if(Ru(s))this.containsFolder(t,s.folderUri)||t.push(s);else{let a=this.containsFile(n,s.fileUri),l=s.fileUri.scheme===U.file&&Pr.COMMON_FILES_FILTER.indexOf(zr(s.fileUri))>=0;!a&&!l&&(n.push(s),W&&s.fileUri.scheme===U.file&&!this.environmentMainService.isPortable&&ca.addRecentDocument(s.fileUri.fsPath))}let o=await this.mergeEntriesFromStorage({workspaces:t,files:n});t=o.workspaces,n=o.files,t.length>Pr.MAX_TOTAL_RECENT_ENTRIES&&(t.length=Pr.MAX_TOTAL_RECENT_ENTRIES),n.length>Pr.MAX_TOTAL_RECENT_ENTRIES&&(n.length=Pr.MAX_TOTAL_RECENT_ENTRIES),await this.saveRecentlyOpened({workspaces:t,files:n}),this._onDidChangeRecentlyOpened.fire(),V&&!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(Qe.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(),V&&!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(3089,null),h(3088,null)],message:h(3091,null),detail:h(3090,null),cancelId:1});if(t!==0)return}await this.saveRecentlyOpened({workspaces:[],files:[]}),this.environmentMainService.isPortable||ca.clearRecentDocuments(),this._onDidChangeRecentlyOpened.fire()}async getRecentlyOpened(){return this.mergeEntriesFromStorage()}async mergeEntriesFromStorage(e){let t=new yt(s=>Qe.getComparisonKey(s));if(e?.workspaces)for(let s of e.workspaces)t.set(this.location(s),s);let n=new yt(s=>Qe.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(Pr.RECENTLY_OPENED_STORAGE_KEY,-2);if(typeof t=="string")try{e=JSON.parse(t)}catch(n){this.logService.error("Unexpected error parsing opened paths list",n)}return r0(e,this.logService)}async saveRecentlyOpened(e){await this.applicationStorageMainService.whenReady,this.applicationStorageMainService.store(Pr.RECENTLY_OPENED_STORAGE_KEY,JSON.stringify(n0(e)),-2,1)}location(e){return Ru(e)?e.folderUri:QP(e)?e.fileUri:e.workspace.configPath}containsWorkspace(e,t){return!!e.find(n=>Mm(n)&&n.workspace.id===t.id)}containsFolder(e,t){return!!e.find(n=>Ru(n)&&Qe.isEqual(n.folderUri,t))}containsFile(e,t){return!!e.find(n=>Qe.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(){W&&(this.environmentMainService.isPortable||(await this.updateWindowsJumpList(),this._register(this.onDidChangeRecentlyOpened(()=>this.updateWindowsJumpList()))))}async updateWindowsJumpList(){if(!W)return;let e=[];if(e.push({type:"tasks",items:[{type:"task",title:h(3092,null),description:h(3093,null),program:process.execPath,args:"-n",iconPath:process.execPath,iconIndex:0}]}),(await this.getRecentlyOpened()).workspaces.length>0){let t=[];for(let s of ca.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=dt((await this.getRecentlyOpened()).workspaces.slice(0,Pr.MAX_WINDOWS_JUMP_LIST_ENTRIES).map(s=>{let a=Mm(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(3095,null):h(3094,null),items:o})}e.push({type:"recent"});try{let t=ca.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:cx(t).name,description:t};if(P.isUri(e))return{title:zr(e),description:this.renderJumpListPathDescription(e)};if(this.workspacesManagementMainService.isUntitledWorkspace(e))return{title:h(3096,null),description:""};let n=zr(e.configPath);return n.endsWith(fu)&&(n=n.substr(0,n.length-fu.length-1)),{title:h(3097,null,n),description:this.renderJumpListPathDescription(e.configPath)}}renderJumpListPathDescription(e){return e.scheme==="file"?Dd(e.fsPath):e.toString()}async updateMacOSRecentDocuments(){if(!V)return;ca.clearRecentDocuments();let e=await this.getRecentlyOpened(),t=[],n=0;for(let s=0;s<e.workspaces.length&&n<Pr.MAX_MACOS_DOCK_RECENT_WORKSPACES;s++){let a=this.location(e.workspaces[s]);if(a.scheme===U.file){let l=wr(a);await J.exists(l)&&(t.push(l),n++)}}let o=[];for(let s=0;s<e.files.length&&n<Pr.MAX_MACOS_DOCK_RECENT_ENTRIES_TOTAL;s++){let a=this.location(e.files[s]);if(a.scheme===U.file){let l=wr(a);if(Pr.COMMON_FILES_FILTER.includes(zr(a))||t.includes(l))continue;await J.exists(l)&&(o.push(l),n++)}}o.reverse().forEach(s=>ca.addRecentDocument(s)),t.reverse().forEach(s=>ca.addRecentDocument(s))}};Pr=C([g(0,N),g(1,mn),g(2,ve),g(3,xr),g(4,fn),g(5,_e)],Pr)});import{app as TM,BrowserWindow as xh,Menu as ir,MenuItem as Ye}from"electron";function bo(){return new Ye({type:"separator"})}var Ph,So,oC=w(()=>{ge();Tt();ro();Y();le();be();Wl();rt();Wt();_t();ne();iC();Bl();cr();Pn();nr();Wi();Qo();jt();Zu();$();Ph="menu",So=class extends _{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 Ir(()=>this.doUpdateMenu(),0)),this.menuGC=this._register(new Ir(()=>{this.oldMenus=[]},1e4)),this.menubarMenus=Object.create(null),this.keybindings=Object.create(null),this.showNativeMenu=Ry(t),(V||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(So.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:Ph}}),this.fallbackMenuHandlers["workbench.action.files.openFolder"]=(a,l,c)=>this.nativeHostMainService.pickFolderAndOpen(void 0,{forceNewWindow:this.isOptionClick(c),telemetryExtraData:{from:Ph}}),this.fallbackMenuHandlers["workbench.action.openWorkspace"]=(a,l,c)=>this.nativeHostMainService.pickWorkspaceAndOpen(void 0,{forceNewWindow:this.isOptionClick(c),telemetryExtraData:{from:Ph}}),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(yn){let a=o.indexOf("?")>0?"&":"?";this.openUrl(`${o}${a}lang=${yn}`,"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())),this._register(this.updateService.onStateChange(()=>this.scheduleUpdateMenu()))}get currentEnableMenuBarMnemonics(){let e=this.configurationService.getValue("window.enableMenuBarMnemonics");return typeof e!="boolean"?!0:e}get currentEnableNativeTabs(){if(!V)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(So.lastKnownMenubarStorageKey,e),this.scheduleUpdateMenu()}scheduleUpdateMenu(){this.menuUpdater.schedule()}doUpdateMenu(){this.willShutdown||setTimeout(()=>{this.willShutdown||this.install()},10)}onDidChangeWindowsCount(e){V&&(e.oldCount===0&&e.newCount>0||e.oldCount>0&&e.newCount===0)&&(this.closedLastWindow=e.newCount===0,this.scheduleUpdateMenu())}onDidChangeWindowFocus(){if(!V)return;let e=xh.getFocusedWindow();this.noActiveMainWindow=!e||!!this.auxiliaryWindowsMainService.getWindowByWebContents(e.webContents),this.scheduleUpdateMenu()}install(){let e=ir.getApplicationMenu();if(e&&this.oldMenus.push(e),Object.keys(this.menubarMenus).length===0){this.doSetApplicationMenu(V?new ir:null);return}let t=new ir,n;if(V){let s=new ir;n=new Ye({label:this.productService.nameShort,submenu:s}),this.setMacApplicationMenu(s),t.append(n)}if(V&&!this.appMenuInstalled){this.appMenuInstalled=!0;let s=new ir;s.append(new Ye({label:this.mnemonicLabel(h(2527,null)),click:()=>this.windowsMainService.openEmptyWindow({context:1})})),TM.dock.setMenu(s)}if(this.shouldDrawMenu("File")){let s=new ir,a=new Ye({label:this.mnemonicLabel(h(2516,null)),submenu:s});this.setMenuById(s,"File"),t.append(a)}if(this.shouldDrawMenu("Edit")){let s=new ir,a=new Ye({label:this.mnemonicLabel(h(2515,null)),submenu:s});this.setMenuById(s,"Edit"),t.append(a)}if(this.shouldDrawMenu("Selection")){let s=new ir,a=new Ye({label:this.mnemonicLabel(h(2537,null)),submenu:s});this.setMenuById(s,"Selection"),t.append(a)}if(this.shouldDrawMenu("View")){let s=new ir,a=new Ye({label:this.mnemonicLabel(h(2543,null)),submenu:s});this.setMenuById(s,"View"),t.append(a)}if(this.shouldDrawMenu("Go")){let s=new ir,a=new Ye({label:this.mnemonicLabel(h(2517,null)),submenu:s});this.setMenuById(s,"Go"),t.append(a)}if(this.shouldDrawMenu("Run")){let s=new ir,a=new Ye({label:this.mnemonicLabel(h(2536,null)),submenu:s});this.setMenuById(s,"Run"),t.append(a)}if(this.shouldDrawMenu("Terminal")){let s=new ir,a=new Ye({label:this.mnemonicLabel(h(2542,null)),submenu:s});this.setMenuById(s,"Terminal"),t.append(a)}let o;if(this.shouldDrawMenu("Window")){let s=new ir;o=new Ye({label:this.mnemonicLabel(h(2544,null)),submenu:s,role:"window"}),this.setMacWindowMenu(s)}if(o&&t.append(o),this.shouldDrawMenu("Help")){let s=new ir,a=new Ye({label:this.mnemonicLabel(h(2518,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(ir.setApplicationMenu(e),e)for(let t of this.auxiliaryWindowsMainService.getWindows())t.win?.setMenu(null)}setMacApplicationMenu(e){let t=this.createMenuItem(h(2513,null,this.productService.nameLong),"workbench.action.showAboutDialog"),n=this.getUpdateMenuItems(),o;if(this.shouldDrawMenu("Preferences")){let m=new ir;this.setMenuById(m,"Preferences"),o=new Ye({label:this.mnemonicLabel(h(2528,null)),submenu:m})}let s=new ir,a=new Ye({label:h(2538,null),role:"services",submenu:s}),l=new Ye({label:h(2519,null,this.productService.nameLong),role:"hide",accelerator:"Command+H"}),c=new Ye({label:h(2520,null),role:"hideOthers",accelerator:"Command+Alt+H"}),d=new Ye({label:h(2539,null),role:"unhide"}),u=new Ye(this.likeAction("workbench.action.quit",{label:h(2529,null,this.productService.nameLong),click:async(m,y,v)=>{let S=this.windowsMainService.getLastActiveWindow();(this.windowsMainService.getWindowCount()===0||xh.getFocusedWindow()||S?.win?.isMinimized())&&await this.confirmBeforeQuit(v)&&this.nativeHostMainService.quit(void 0)}})),f=[t];f.push(...n),o&&f.push(bo(),o),f.push(bo(),a,bo(),l,c,d,bo(),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:[V?h(2546,null):h(2512,null),h(2511,null)],message:V?h(2548,null):h(2547,null)});return n===0}return!0}shouldDrawMenu(e){if(!V&&!this.showNativeMenu)return!1;switch(e){case"File":case"Help":if(V)return this.windowsMainService.getWindowCount()===0&&this.closedLastWindow||this.windowsMainService.getWindowCount()>0&&this.noActiveMainWindow||!!this.menubarMenus&&!!this.menubarMenus[e];case"Window":if(V)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(pI(n))e.append(bo());else if(uI(n)){let o=new ir,s=new Ye({label:this.mnemonicLabel(n.label),submenu:o});this.setMenu(o,n.submenu.items),e.append(s)}else fI(n)?e.append(this.createOpenRecentMenuItem(n)):nC(n)&&(n.id==="workbench.action.showAboutDialog"&&this.insertCheckForUpdatesItems(e),V?this.windowsMainService.getWindowCount()===0&&this.closedLastWindow||this.windowsMainService.getWindowCount()>0&&this.noActiveMainWindow?this.fallbackMenuHandlers[n.id]?e.append(new Ye(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(bo()))}createOpenRecentMenuItem(e){let t=P.revive(e.uri),n=e.id,o=n==="openRecentFile"?{fileUri:t}:n==="openRecentWorkspace"?{workspaceUri:t}:{folderUri:t};return new Ye(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&&(!V&&(e.ctrlKey||e.shiftKey)||V&&(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 Ye(this.withKeybinding(t,o))}setMacWindowMenu(e){let t=new Ye({label:h(2533,null),role:"minimize",accelerator:"Command+M",enabled:this.windowsMainService.getWindowCount()>0}),n=new Ye({label:h(2545,null),role:"zoom",enabled:this.windowsMainService.getWindowCount()>0}),o=new Ye({label:h(2514,null),role:"front",enabled:this.windowsMainService.getWindowCount()>0}),s=this.createMenuItem(h(2531,null),"workbench.action.switchWindow"),a=[];this.currentEnableNativeTabs&&(a.push(bo()),a.push(this.createMenuItem(h(2535,null),"workbench.action.newWindowTab")),a.push(this.createRoleMenuItem(h(2541,null),"workbench.action.showPreviousWindowTab","selectPreviousTab")),a.push(this.createRoleMenuItem(h(2540,null),"workbench.action.showNextWindowTab","selectNextTab")),a.push(this.createRoleMenuItem(h(2534,null),"workbench.action.moveWindowTabToNewWindow","moveTabToNewWindow")),a.push(this.createRoleMenuItem(h(2532,null),"workbench.action.mergeAllWindowTabs","mergeAllWindows"))),[t,n,bo(),s,...a,bo(),o].forEach(l=>e.append(l))}getUpdateMenuItems(){switch(this.updateService.state.type){case"idle":return[new Ye({label:this.mnemonicLabel(h(2521,null)),click:()=>setTimeout(()=>{this.reportMenuActionTelemetry("CheckForUpdate"),this.updateService.checkForUpdates(!0)},0)})];case"checking for updates":return[new Ye({label:h(2522,null),enabled:!1})];case"available for download":return[new Ye({label:this.mnemonicLabel(h(2524,null)),click:()=>{this.updateService.downloadUpdate(!0)}})];case"downloading":case"overwriting":return[new Ye({label:h(2523,null),enabled:!1})];case"downloaded":return V?[]:[new Ye({label:this.mnemonicLabel(h(2526,null)),click:()=>{this.reportMenuActionTelemetry("InstallUpdate"),this.updateService.applyUpdate()}})];case"updating":return[new Ye({label:h(2525,null),enabled:!1})];case"ready":return[new Ye({label:this.mnemonicLabel(h(2530,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),V&&(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:()=>ir.sendActionToFirstResponder("undo:")}):t==="redo"?d.click=this.makeContextAwareClickHandler(a,{inDevTools:u=>u.redo(),inNoWindow:()=>ir.sendActionToFirstResponder("redo:")}):t==="editor.action.selectAll"&&(d.click=this.makeContextAwareClickHandler(a,{inDevTools:u=>u.selectAll(),inNoWindow:()=>ir.sendActionToFirstResponder("selectAll:")}))),new Ye(this.withKeybinding(t,d))}makeContextAwareClickHandler(e,t){return(n,o,s)=>{let a=xh.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=xh.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),V&&!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",Te.None,o)}else{let o={userSettingsLabel:e.userSettingsLabel};n.sendWhenReady("vscode:runKeybinding",Te.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:Ph})}mnemonicLabel(e){return lx(e,!this.currentEnableMenuBarMnemonics)}};So=C([g(0,hs),g(1,de),g(2,$e),g(3,_e),g(4,Ke),g(5,gs),g(6,Lt),g(7,ve),g(8,N),g(9,Nn),g(10,Ae),g(11,oi)],So)});var mI,Yl,sC=w(()=>{te();_t();ne();oC();$();mI=M("menubarMainService"),Yl=class extends _{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(So))}async updateMenubar(e,t){this.logService.trace("menubarService#updateMenubar",e),(await this.menubar).updateMenu(t,e)}};Yl=C([g(0,qt),g(1,ve),g(2,N)],Yl)});var Xr,hI,Eh,vs=w(()=>{j();$();te();Xr=M("meteredConnectionService"),hI="network.meteredConnection",Eh=class extends _{constructor(e,t){super();this._onDidChangeIsConnectionMetered=this._register(new b);this.onDidChangeIsConnectionMetered=this._onDidChangeIsConnectionMetered.event;this._isBrowserConnectionMetered=t,this._meteredConnectionSetting=e.getValue(hI),this._isConnectionMetered=this._meteredConnectionSetting==="on"||this._meteredConnectionSetting!=="off"&&this._isBrowserConnectionMetered,this._register(e.onDidChangeConfiguration(n=>{if(n.affectsConfiguration(hI)){let o=e.getValue(hI);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,vI=w(()=>{j();$();gI="meteredConnection"});var Ch,aC=w(()=>{vI();Ch=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 Zl,lC=w(()=>{rt();vs();Zl=class extends Eh{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()}};Zl=C([g(0,de)],Zl)});var Bn,da,ec,ci=w(()=>{j();ud();$();te();Bn=M("policy"),da=class extends _{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),wi.reduce(this.policies.entries(),(n,[o,s])=>({...n,[o]:s}),{})}getPolicyValue(e){return this.policies.get(e)}serialize(){return wi.reduce(Object.entries(this.policyDefinitions),(e,[t,n])=>({...e,[t]:{definition:n,value:this.policies.get(t)}}),{})}},ec=class{constructor(){this.onDidChange=x.None;this.policyDefinitions={}}async updatePolicyDefinitions(){return{}}getPolicyValue(){}serialize(){}}});async function _M(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 cC(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 dC(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 Th,uC=w(()=>{ze();ne();Th=class extends Gs{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&&dC(this._logger,a)}))}async _createSpdLogLogger(e,t,n,o){let s=n?6:1,a=30/s*_i.MB,l=await _M(e,t,a,s,o);if(l){this._logger=l,dC(this._logger,this.getLevel());for(let{level:c,message:d}of this.buffer)cC(this._logger,c,d);this.buffer=[]}}log(e,t){this._logger?cC(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 _h,pC=w(()=>{tr();ne();uC();_h=class extends lu{doCreateLogger(r,e,t){return new Th(ke(),r.fsPath,!t?.donotRotate,!!t?.donotUseFormatters,e)}}});var di,kh,tc=w(()=>{kr();j();te();ne();pC();di=un,kh=class extends _h{constructor(){super(...arguments);this.loggerResourcesByWindow=new yt}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 x.filter(this.onDidChangeLogLevel,t=>cu(t)||this.isInterestedLoggerResource(t[0],e))}getOnDidChangeVisibilityEvent(e){return x.filter(this.onDidChangeVisibility,([t])=>this.isInterestedLoggerResource(t,e))}getOnDidChangeLoggersEvent(e){return x.filter(x.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 kM(i){if(qi===2&&/^penguin(\.|$)/i.test(i))return"chromebook"}function fC(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=ke()+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"]=Ap(qi),u["common.nodePlatform"]=Op,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}}),Lp&&(u["common.snap"]="true");let y=kM(r);return y&&(u["common.platformDetail"]=y),u}function mC(i){let r=Vt.USERDNSDOMAIN;if(!r)return!1;let e=r.toLowerCase();return i.some(t=>e===t)}var yI=w(()=>{Y();kn();tr()});function Rh(i,r){return!r.isBuilt&&!r.disableTelemetry?!0:!(r.disableTelemetry||!i.enableTelemetry)}function nc(i){let r=i.getValue(gl),e=i.getValue(hm);if(i.getValue(yu)===!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 hC(i,r){let e=i.msftInternalDomains||[],t=r.getValue("telemetry.internalTesting");return mC(e)||t}function gC(i){return[i.appRoot,i.extensionsPath,i.userHome.fsPath,i.tmpDir.fsPath,i.userDataPath]}function LM(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 MM(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 vC(i,r){return i?$P(i,e=>{if(e instanceof rc||Object.hasOwnProperty.call(e,"isTrustedTelemetryValue"))return e.value;if(typeof e=="string"){let t=e.replaceAll("%20"," ");t=LM(t,r);for(let n of r)t=t.replace(n,"");return t=MM(t),t}}):{}}var rc,wI,Ui,AM,Lie,xo=w(()=>{Qr();Me();be();Dl();yI();nr();rc=class{constructor(r){this.value=r;this.isTrustedTelemetryValue=!0}},wI=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(){}},Ui=new wI,AM="telemetry",Lie={id:AM,name:h(2658,null)}});var Dh,bI,SI,yC=w(()=>{Dh={exit:"vscode:electron-main->shared-process=exit",ipcReady:"vscode:shared-process->electron-main=ipc-ready",initDone:"vscode:shared-process->electron-main=init-done"},bI={request:"vscode:createSharedProcessChannelConnection",response:"vscode:createSharedProcessChannelConnectionResult"},SI={request:"vscode:createSharedProcessRawConnection",response:"vscode:createSharedProcessRawConnectionResult"}});var ic,wC=w(()=>{Ln();ge();$();Wt();_t();ne();ri();ci();tc();os();xo();Xd();Me();yC();j();ic=class extends _{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 bi;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(){Xe.on(bI.request,(e,t)=>this.onWindowConnection(e,t,bI.response)),Xe.on(SI.request,(e,t)=>this.onWindowConnection(e,t,SI.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(Dh.exit),this.utilityProcess=void 0}whenReady(){return this._whenReady||(this._whenReady=(async()=>{await this.whenIpcReady;let e=new Ot;this.utilityProcess?.once(Dh.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 Ot;this.utilityProcess?.once(Dh.ipcReady,()=>e.complete()),await e.p,this.logService.trace("[SharedProcess] IPC ready")})()),this._whenIpcReady}createUtilityProcess(){this.utilityProcess=this._register(new ur(this.logService,Ui,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=Zx(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,yi(this.utilityProcess).connect(e)}};ic=C([g(3,_e),g(4,Mr),g(5,ve),g(6,N),g(7,di),g(8,Bn)],ic)});var OM,ys,Ah=w(()=>{te();OM="signService",ys=M(OM)});var Lh,IC=w(()=>{j();$();Od();Ny();Lr();Lh=class i extends _{constructor(e,t){super();this.logService=e;this.storageMainService=t;this.onDidChangeApplicationStorageEmitter=this._register(new b);this.onDidChangeApplicationSharedStorageEmitter=this._register(new b);this.mapProfileToOnDidChangeProfileStorageEmitter=new Map;this.registerStorageChangeListeners(t.applicationStorage,this.onDidChangeApplicationStorageEmitter),this.registerStorageChangeListeners(t.applicationSharedStorage,this.onDidChangeApplicationSharedStorageEmitter)}static{this.STORAGE_CHANGE_DEBOUNCE_TIME=100}registerStorageChangeListeners(e,t){this._register(x.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?ei(n.profile):void 0;if(!o)return n.applicationShared?this.onDidChangeApplicationSharedStorageEmitter.event: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?ei(n.profile):void 0,s=mP(n.workspace),a=n.applicationShared,l=await this.withStorageInitialized(o,s,a);switch(t){case"getItems":{let c=new Map(l.items);return Array.from(c.entries())}case"getFallbackApplicationStorageItems":return l instanceof yl?Array.from(l.applicationStorageItems.entries()):[];case"updateItems":{let c=n;if(c.insert)for(let[d,u]of c.insert)l.set(d,u);c.delete?.forEach(d=>l.delete(d));break}case"optimize":return l.optimize();case"isUsed":{let c=n.payload;return typeof c=="string"?this.storageMainService.isUsed(c):!1}default:throw new Error(`Call not found: ${t}`)}}async withStorageInitialized(e,t,n){let o;t?o=this.storageMainService.workspaceStorage(t):e?o=this.storageMainService.profileStorage(e):n?o=this.storageMainService.applicationSharedStorage:o=this.storageMainService.applicationStorage;try{await o.init()}catch(s){this.logService.error(`StorageIPC#init: Unable to init ${t?"workspace":e?"profile":n?"application-shared":"application"} storage due to ${s}`)}return o}}});var Mh,bC=w(()=>{Mh=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 FM(){let i=h(2655,null,er.nameLong),r=er.privacyStatementUrl?h(2641,null,"https://aka.ms/vscode-telemetry",er.privacyStatementUrl):h(2642,null,"https://aka.ms/vscode-telemetry"),e=Xt?"":h(2647,null),t=h(2640,null),n=h(2645,null),o=h(2656,null),s=h(2654,null),a=`
|       | ${t} | ${n} | ${o} |
|:------|:-------------:|:---------------:|:----------:|
| all   |       \u2713       |        \u2713        |     \u2713      |
| error |       \u2713       |        \u2713        |     -      |
| crash |       \u2713       |        -        |     -      |
| off   |       -       |        -        |     -      |
`,l=h(2650,null);return`
${i} ${r} ${e}

&nbsp;

${s}
${a}

&nbsp;

${l}
`}var Po,WM,SC=w(()=>{$();Qr();Y();Td();Zt();be();rt();Zn();Ws();cr();wn();nr();xo();Po=class{constructor(r,e,t){this._configurationService=e;this._productService=t;this._experimentProperties={};this._pendingEvents=[];this._isExperimentPropertySet=!1;this._disposables=new Q;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(Lo(n),"gi")),n.indexOf("\\")>=0&&this._cleanupPatterns.push(new RegExp(Lo(n.replace(/\\/g,"/")),"gi"));this._updateTelemetryLevel(),this._disposables.add(this._configurationService.onDidChangeConfiguration(n=>{(n.affectsConfiguration(gl)||n.affectsConfiguration(yu)||n.affectsConfiguration(hm))&&this._updateTelemetryLevel()})),r.waitForExperimentProperties?this._flushTimeout=setTimeout(()=>this._flushPendingEvents(),Po.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 rc(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=nc(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<Po.MAX_BUFFER_SIZE&&this._pendingEvents.push({eventName:r,eventLevel:e,data:t});return}this._doLog(r,e,t)}}_doLog(r,e,t){t=Dm(t,this._experimentProperties),t=vC(t,this._cleanupPatterns),t=Dm(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)}};Po=C([g(1,de),g(2,Ae)],Po);WM=pt.as(Ft.Configuration);WM.registerConfiguration({id:_P,order:1,type:"object",title:h(2657,null),properties:{[gl]:{type:"string",enum:["all","error","crash","off"],enumDescriptions:[h(2649,null),h(2651,null),h(2648,null),h(2652,null)],markdownDescription:FM(),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(2653,null)},enumDescriptions:[{key:"telemetry.telemetryLevel.default",value:h(2649,null)},{key:"telemetry.telemetryLevel.error",value:h(2651,null)},{key:"telemetry.telemetryLevel.crash",value:h(2648,null)},{key:"telemetry.telemetryLevel.off",value:h(2652,null)}]}}},"telemetry.feedback.enabled":{type:"boolean",default:!0,description:h(2646,null),policy:{name:"EnableFeedback",category:"Telemetry",minimumVersion:"1.99",localization:{description:{key:"telemetry.feedback.enabled",value:h(2646,null)}}}},[yu]:{type:"boolean",markdownDescription:er.privacyStatementUrl?h(2644,null,er.nameLong,er.privacyStatementUrl):h(2643,null,er.nameLong),default:!0,restricted:!0,markdownDeprecationMessage:h(2639,null,`\`#${gl}#\``),scope:1,tags:["usesOnlineServices","telemetry"]}}})});var Oh,xC=w(()=>{j();$();Wi();Oh=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}`)}}});import xI from"electron";var Fh,PC=w(()=>{j();$();Y();be();Wi();Fh=class extends _{constructor(e,t){super();this.dialogMainService=t;this.macAppActive=V;V&&(this._register(x.fromNodeEventEmitter(xI.app,"did-become-active")(()=>this.macAppActive=!0)),this._register(x.fromNodeEventEmitter(xI.app,"did-resign-active")(()=>this.macAppActive=!1))),this._register(e.onStateChange(n=>{n.type==="idle"&&n.notAvailable&&!n.error&&this.show()}))}show(){let e=xI.BrowserWindow.getFocusedWindow();!e&&!(V&&this.macAppActive)||this.dialogMainService.showMessageBox({type:"info",message:h(3045,null)},e??void 0)}}});import*as CC from"os";function oc(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 sc(i){if(V){let r=CC.release();return{"User-Agent":`Code/${i} Darwin/${r}`}}if(W){let r=Mx().match(/^(\d+\.\d+)/);if(r)return{"User-Agent":`Code/${i} Electron/${process.versions.electron} Windows NT ${r[1]}`}}}var EC,Ni,Uh=w(()=>{ge();Tt();j();Y();nl();vs();rt();Wt();_t();ne();cr();as();po();Mi();nr();Wi();EC="abstractUpdateService/lastKnownVersion";Ni=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 lf;this._internalOrg=void 0;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(EC,-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(EC,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 ut(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)}}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 Je,o=ut(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=Te.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=sc(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(){}};Ni=C([g(0,ve),g(1,de),g(2,_e),g(3,Un),g(4,N),g(5,Ae),g(6,Ke),g(7,xr),g(8,Xr)],Ni)});import*as Bi from"electron";var ui,TC=w(()=>{Tt();Vo();j();Ei();$();rt();Wt();_t();ne();cr();as();Mi();nr();Wi();vs();Uh();ui=class extends Ni{constructor(e,t,n,o,s,a,l,c,d){super(e,t,o,s,a,l,n,c,d,!0);this.disposables=new Q;e.setRelaunchHandler(this)}get onRawError(){return x.fromNodeEventEmitter(Bi.autoUpdater,"error",(e,t)=>t)}get onRawCheckingForUpdate(){return x.fromNodeEventEmitter(Bi.autoUpdater,"checking-for-update")}get onRawUpdateNotAvailable(){return x.fromNodeEventEmitter(Bi.autoUpdater,"update-not-available")}get onRawUpdateAvailable(){return x.fromNodeEventEmitter(Bi.autoUpdater,"update-available")}get onRawUpdateDownloaded(){return x.fromNodeEventEmitter(Bi.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(mr(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=oc(this.productService.updateUrl,o,e,t,n),a=sc(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}),Bi.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}),Bi.autoUpdater.checkForUpdates()}async checkForUpdateNoDownload(e,t){let n=sc(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"},Te.None),s=o.res.statusCode;this.logService.trace("update#checkForUpdateNoDownload - response",{statusCode:s});let a=await Nl(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(){this.logService.trace("update#onUpdateAvailable - Electron autoUpdater reported update available"),!(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.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.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)),Bi.autoUpdater.checkForUpdates()}doQuitAndInstall(){this.logService.trace("update#quitAndInstall(): running raw#quitAndInstall()"),Bi.autoUpdater.quitAndInstall()}dispose(){this.disposables.dispose()}};C([ue],ui.prototype,"onRawError",1),C([ue],ui.prototype,"onRawCheckingForUpdate",1),C([ue],ui.prototype,"onRawUpdateNotAvailable",1),C([ue],ui.prototype,"onRawUpdateAvailable",1),C([ue],ui.prototype,"onRawUpdateDownloaded",1),ui=C([g(0,ve),g(1,de),g(2,Ke),g(3,_e),g(4,Un),g(5,N),g(6,Ae),g(7,xr),g(8,Xr)],ui)});var ac,_C=w(()=>{Tt();rt();Wt();_t();ne();vs();Bl();cr();as();Mi();nr();Wi();Uh();ac=class extends Ni{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 oc(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"},Te.None).then(Nl).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))}};ac=C([g(0,ve),g(1,de),g(2,_e),g(3,Un),g(4,N),g(5,Nn),g(6,Ae),g(7,Ke),g(8,xr),g(9,Xr)],ac)});import{spawn as NM}from"child_process";import{realpath as BM,watch as VM}from"fs";var tp,lc,kC=w(()=>{ge();j();Pe();Wt();_t();ne();Wi();vs();tp=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 ut(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){}};tp=C([g(0,ve),g(1,_e),g(2,N),g(3,Xr)],tp);lc=class extends tp{constructor(e,t,n,o,s,a){super(n,o,s,a);this.snap=e;this.snapRevision=t;let l=VM(tt(this.snap)),c=x.fromNodeEventEmitter(l,"change",(m,y)=>y),d=x.filter(c,m=>m==="current"),f=x.debounce(d,(m,y)=>y,2e3)(()=>this.checkForUpdates(!1));x.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()"),NM("sleep 3 && "+xe(process.argv[0]),{shell:!0,detached:!0,stdio:"ignore"})}async isUpdateAvailable(){let e=await new Promise((n,o)=>BM(`${tt(this.snap)}/current`,(s,a)=>s?o(s):n(a))),t=xe(e);return this.snapRevision!==t}isLatestVersion(){return this.isUpdateAvailable().then(void 0,e=>{this.logService.error("update#checkForSnapUpdate(): Could not get realpath of application.")})}};lc=C([g(2,ve),g(3,_e),g(4,N),g(5,Xr)],lc)});import*as RC from"crypto";import*as DC from"fs";async function AC(i,r){if(await new Promise((n,o)=>{let s=DC.createReadStream(i),a=RC.createHash("sha256");s.pipe(a);let l=Gi((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 LC=w(()=>{_a()});import{spawn as PI}from"child_process";import{app as MC}from"electron";import{existsSync as HM,unlinkSync as $M}from"fs";import{mkdir as KM,readFile as EI,unlink as qM}from"fs/promises";import{release as zM,tmpdir as jM}from"os";function ua(){return typeof CI>"u"&&(CI=HM(B(tt(process.execPath),"unins000.exe"))?0:1),CI}var CI,pa,OC=w(()=>{ge();ot();Tt();Vo();Ei();Pe();Pe();Ns();le();LC();lr();oa();nl();rt();Wt();ze();_t();ne();vs();Bl();cr();as();Mi();nr();Wi();Uh();pa=class extends Ni{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=B(jM(),`vscode-${this.productService.quality}-${this.productService.target}-${process.arch}`);return KM(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;MC.setPath("appUpdate",n),await this.unlink(B(n,"session-ending.flag"))}let e=await Lx(),t=zM();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=MC.getPath("exe"),t=tt(e),n=B(t,"updating_version");if(await J.exists(n))try{let o=(await EI(n,"utf8")).trim();this.logService.info(`update#doCheckForUpdates - application was updating to version ${o}`);let s=await this.getUpdatePackagePath(o);await J.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=B(t,s,"tools","inno_updater.exe"),l=xe(e);await new Promise(c=>{PI(a,["--gc",e,s,l],{stdio:["ignore","ignore","ignore"],windowsHide:!0,timeout:12e4}).once("exit",()=>c())})}}buildUpdateFeedUrl(e,t,n){let o=`win32-${process.arch}`;return ua()===1?o+="-archive":this.productService.target==="user"&&(o+="-user"),oc(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=sc(this.productService.version);this.requestService.request({url:s,headers:a,callSite:"updateService.win32.checkForUpdates"},Te.None).then(Nl).then(l=>{let c=ua();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=>J.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"},Te.None).then(y=>{let v=y.res.headers["content-length"],S=typeof v=="string"?v:void 0,I=S?parseInt(S,10):void 0,T=0,D=new Yi(500),k=Ja(y.stream,{data:A=>(T+=A.byteLength,D.trigger(()=>{this.setState(se.Downloading(l,e,this._overwrite,T,I,d))}),A)},A=>H.concat(A));return this.fileService.writeFile(P.file(m),k).finally(()=>D.dispose())}).then(l.sha256hash?()=>AC(m,l.sha256hash):()=>{}).then(()=>J.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(mr(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(ua(),c))})}async doDownloadUpdate(e){e.update.url&&this.nativeHostMainService.openExternal(void 0,e.update.url),this.setState(se.Idle(ua()))}async getUpdatePackagePath(e){let t=await this.cachePath;return B(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 J.readdir(n)).filter(t).map(a=>this.unlink(B(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=B(n,"session-ending.flag"),s=B(n,"cancel.flag");await this.unlink(s);let a=B(n,"update-progress");await this.unlink(a),this.availableUpdate.updateFilePath=B(n,`CodeSetup-${this.productService.quality}-${e.version}.flag`),this.availableUpdate.cancelFilePath=s,await J.writeFile(this.availableUpdate.updateFilePath,"flag");let l=PI(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(ua()))});let c=`${this.productService.win32MutexName}-ready`,d=await import("@vscode/windows-mutex");this.updateCancellationTokenSource?.dispose(!0);let u=this.updateCancellationTokenSource=new Je,f=u.token,m=async()=>{for(;this.state.type==="updating"&&!f.isCancellationRequested;){if(d.isActive(c)){this.setState(se.Ready(e,t,this._overwrite));return}try{let v=await EI(a,"utf8");if(!f.isCancellationRequested){let[S,I]=v.split(","),T=parseInt(S,10),D=parseInt(I,10);!isNaN(T)&&!isNaN(D)&&this.state.type==="updating"&&(this.state.currentProgress!==T||this.state.maxProgress!==D)&&this.setState(se.Updating(e,t,T,D))}}catch{}await ut(500)}},y=new cf(()=>{this.logService.warn("update#doApplyUpdate: polling timed out waiting for update to be ready"),this.setState(se.Idle(ua(),"Update did not complete within expected time"))},3600*1e3);y.schedule(),m().finally(()=>{y.dispose(),this.updateCancellationTokenSource===u&&(this.updateCancellationTokenSource=void 0),u.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 J.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,ut(30*1e3).then(()=>!1)]);s&&!a&&(this.logService.trace("update#cancelPendingUpdate: process did not exit gracefully, killing process tree"),await aE(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{$M(this.availableUpdate.updateFilePath)}catch{}else PI(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=B(t,"update-metadata.json");await J.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=B(e,"update-metadata.json");if(await J.exists(t)){let n=await EI(t,"utf8");return JSON.parse(n)}}catch(e){this.logService.error("update#loadUpdateMetadata: failed to load",e)}}getUpdateType(){return ua()}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 qM(e)}catch(t){let n=t;if(n&&n.code==="ENOENT")return;this.logService.warn(`update#unlink: failed to unlink ${xe(e)}`,t)}}};C([ue],pa.prototype,"cachePath",1),pa=C([g(0,ve),g(1,de),g(2,Ke),g(3,_e),g(4,Un),g(5,N),g(6,Le),g(7,Nn),g(8,Ae),g(9,xr),g(10,Xr)],pa)});var Nh,Bh,FC=w(()=>{le();Nh=class{constructor(r){this.channel=r}handleURL(r,e){return this.channel.call("handleURL",[r.toJSON(),e])}},Bh=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 TI,cc,WC=w(()=>{ge();$();le();cr();TI=class extends _{constructor(){super(...arguments);this.handlers=new Set}open(e,t){let n=[...this.handlers.values()];return D1(n.map(o=>()=>o.handleURL(e,t)),void 0,!1).then(o=>o||!1)}registerHandler(e){return this.handlers.add(e),z(()=>this.handlers.delete(e))}},cc=class extends TI{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})}};cc=C([g(0,Ae)],cc)});import{app as UC}from"electron";var Vh,NC=w(()=>{ge();j();$();Y();le();Vh=class extends _{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),W&&!o.isPortable){let d=o.isBuilt?[]:[`"${o.appRoot}"`];d.push("--open-url","--"),UC.setAsDefaultProtocolClient(s.urlProtocol,process.execPath,d)}let l=x.map(x.fromNodeEventEmitter(UC,"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(x.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,R1(()=>this.flush(),500,this._store))}}});var _I,BC=w(()=>{te();_I=M("webviewManagerService")});import{protocol as VC}from"electron";var ws,HC=w(()=>{qe();le();ze();ws=class{constructor(r){this._fileService=r;let e=this.handleWebviewRequest.bind(this);VC.handle(U.vscodeWebview,e)}static{this.validWebviewFilePaths=new Map([["/index.html",{mime:"text/html"}],["/fake.html",{mime:"text/html"}],["/service-worker.js",{mime:"application/javascript"}]])}dispose(){VC.unhandle(U.vscodeWebview)}async handleWebviewRequest(r){try{let e=P.parse(r.url),t=ws.validWebviewFilePaths.get(e.path);if(t){let n=`vs/workbench/contrib/webview/browser/pre${e.path}`,o=lt.asFileUri(n),s=await this._fileService.readFile(o);return new Response(s.value.buffer,{headers:{"Content-Type":t.mime,...Va.getHeadersFromQuery(r.url),"Cross-Origin-Resource-Policy":"cross-origin"}})}else return new Response(null,{status:403})}catch{}return new Response(null,{status:500})}};ws=C([g(0,Le)],ws)});import{webContents as GM}from"electron";var dc,$C=w(()=>{j();$();HC();jt();ze();dc=class extends _{constructor(e,t){super();this.windowsMainService=t;this._onFoundInFrame=this._register(new b);this.onFoundInFrame=this._onFoundInFrame.event;this._register(new ws(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=GM.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}};dc=C([g(0,Le),g(1,$e)],dc)});var uc,Hh=w(()=>{te();uc=M("protocolMainService")});async function KC(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=Ex(o)?o:null}catch{t=null}if(!t){t=ke();try{await r.writeFile(i.serviceMachineIdResource,H.fromString(t))}catch{}}return e?.store("storage.serviceMachineId",t,-1,1),t}var qC=w(()=>{ot();tr();po()});async function zC(i,r,e,t,n,o,s){let a={"X-Market-Client-Id":`VSCode ${i}`,"User-Agent":`VSCode ${i} (${r.nameShort})`};if(Rh(r,e)&&nc(t)===3){let l=await KC(e,n,o);a["X-Market-User-Id"]=l,a["VSCode-SessionId"]=s.machineId||l}return a}var jC=w(()=>{qC();nr();xo()});function p(i,r){if(Oe(r)){let e=GC[r];if(e===void 0)throw new Error(`${i} references an unknown codicon: ${r}`);r=e}return GC[i]=r,{id:i}}var GC,kI=w(()=>{Me();GC=Object.create(null)});var JC,QC=w(()=>{kI();JC={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),chatImport:p("chat-import",60550),chatExport:p("chat-export",60551),shareWindow:p("share-window",60552),circleSlashCompact:p("circle-slash-compact",60553),copilotCompact:p("copilot-compact",60554),folderOpenedCompact:p("folder-opened-compact",60555),folderCompact:p("folder-compact",60556),gearCompact:p("gear-compact",60557),gitBranchCompact:p("git-branch-compact",60558),libraryCompact:p("library-compact",60559),recordKeysCompact:p("record-keys-compact",60560),remoteCompact:p("remote-compact",60561),repoForkedCompact:p("repo-forked-compact",60562),repoCompact:p("repo-compact",60563),shieldCompact:p("shield-compact",60564),sparkleCompact:p("sparkle-compact",60565),symbolColorCompact:p("symbol-color-compact",60566),windowCompact:p("window-compact",60567),errorCompact:p("error-compact",60568),warningCompact:p("warning-compact",60569),passCompact:p("pass-compact",60570),important:p("important",60571),importantCompact:p("important-compact",60572),rocketCompact:p("rocket-compact",60573),unpin:p("unpin",60574),addCompact:p("add-compact",60575),attachCompact:p("attach-compact",60576),beakerCompact:p("beaker-compact",60577),checkCompact:p("check-compact",60578),checklistCompact:p("checklist-compact",60579),chevronDownCompact:p("chevron-down-compact",60580),chevronLeftCompact:p("chevron-left-compact",60581),chevronRightCompact:p("chevron-right-compact",60582),chevronUpCompact:p("chevron-up-compact",60583),circleFilledCompact:p("circle-filled-compact",60584),circleSmallFilledCompact:p("circle-small-filled-compact",60585),closeCompact:p("close-compact",60586),collapseAllCompact:p("collapse-all-compact",60587),commentCompact:p("comment-compact",60588),commentUnresolvedCompact:p("comment-unresolved-compact",60589),debugConnectedCompact:p("debug-connected-compact",60590),debugDisconnectCompact:p("debug-disconnect-compact",60591),editCompact:p("edit-compact",60592),fileMediaCompact:p("file-media-compact",60593),gitFetch:p("git-fetch",60594),lightbulbCompact:p("lightbulb-compact",60595),loadingCompact:p("loading-compact",60596),passFilledCompact:p("pass-filled-compact",60597),projectCompact:p("project-compact",60598),refreshCompact:p("refresh-compact",60599),searchCompact:p("search-compact",60600),sessionInProgressCompact:p("session-in-progress-compact",60601),syncCompact:p("sync-compact",60602),terminalCompact:p("terminal-compact",60603),vmPending:p("vm-pending",60604),worktreeCompact:p("worktree-compact",60605),developerTools:p("developer-tools",60606),cloudCompact:p("cloud-compact",60607)}});function RI(){return Object.values(gt)}var JM,gt,rp=w(()=>{kI();QC();JM={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)},gt={...JC,...JM}});var XC,pc,DI=w(()=>{rp();(r=>{function i(e){return!!e&&typeof e=="object"&&typeof e.id=="string"}r.isThemeColor=i})(XC||={});(I=>{I.iconNameSegment="[A-Za-z0-9]+",I.iconNameExpression="[A-Za-z0-9-]+",I.iconModifierExpression="~[A-Za-z]+",I.iconNameCharacter="[A-Za-z0-9~-]";let n=new RegExp(`^(${I.iconNameExpression})(${I.iconModifierExpression})?$`);function o(T){let D=n.exec(T.id);if(!D)return o(gt.error);let[,k,A]=D,oe=["codicon","codicon-"+k];return A&&oe.push("codicon-modifier-"+A.substring(1)),oe}I.asClassNameArray=o;function s(T){return o(T).join(" ")}I.asClassName=s;function a(T){return"."+o(T).join(".")}I.asCSSSelector=a;function l(T){return!!T&&typeof T=="object"&&typeof T.id=="string"&&(typeof T.color>"u"||XC.isThemeColor(T.color))}I.isThemeIcon=l;let c=new RegExp(`^\\$\\((${I.iconNameExpression}(?:${I.iconModifierExpression})?)\\)$`);function d(T){let D=c.exec(T);if(!D)return;let[,k]=D;return{id:k}}I.fromString=d;function u(T){return{id:T}}I.fromId=u;function f(T,D){let k=T.id,A=k.lastIndexOf("~");return A!==-1&&(k=k.substring(0,A)),D&&(k=`${k}~${D}`),{id:k}}I.modify=f;function m(T){let D=T.id.lastIndexOf("~");if(D!==-1)return T.id.substring(D+1)}I.getModifier=m;function y(T,D){return T.id===D.id&&T.color?.id===D.color?.id}I.isEqual=y;function v(T){return T?.id===gt.file.id}I.isFile=v;function S(T){return T?.id===gt.folder.id}I.isFolder=S})(pc||={})});import gn,{screen as QM}from"electron";import{release as YC}from"os";var AI,np,fa,LI,MI=w(()=>{ge();Tt();No();j();$();qe();mi();Y();le();be();El();rt();ea();Wt();$l();ze();_t();ne();cr();Hh();jC();Mi();nr();DI();fl();Qo();jt();Lr();ns();ni();ci();Pn();ts();tc();te();ot();He();Tw();Ay();AI=class i{constructor(){this.windows=new Set}static{this.INSTANCE=new i}acquireBadge(r){return this.windows.add(r.id),gn.app.setBadgeCount(re?1:void 0),{dispose:()=>{this.windows.delete(r.id),this.windows.size===0&&gn.app.setBadgeCount(0)}}}},np=class i extends _{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 St);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(x.fromNodeEventEmitter(e,"maximize")(()=>{if(W&&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(x.fromNodeEventEmitter(e,"unmaximize")(()=>{W&&this.environmentMainService.enableRDPDisplayTracking&&this.maximizedWindowState&&(this.maximizedWindowState=void 0,this.logService.debug(`Cleared maximized window ${this.id} state`)),this._onDidUnmaximize.fire()})),this._register(x.fromNodeEventEmitter(e,"closed")(()=>{this._onDidClose.fire(),this.dispose()})),this._register(x.fromNodeEventEmitter(e,"focus")(()=>{this.clearNotifyFocus(),this._lastFocusTime=Date.now()})),this._register(x.fromNodeEventEmitter(this._win,"enter-full-screen")(()=>this._onDidEnterFullScreen.fire())),this._register(x.fromNodeEventEmitter(this._win,"leave-full-screen")(()=>this._onDidLeaveFullScreen.fire())),this._register(x.fromNodeEventEmitter(this._win,"always-on-top-changed",(o,s)=>s)(o=>this._onDidChangeAlwaysOnTop.fire(o)));let n=!Jo(this.configurationService,t?.titleBarStyle==="hidden"?"custom":void 0);if(V&&n&&e.setSheetOffset(rv(YC())?32:28),n&&gu(this.configurationService)){let o=this.stateService.getItem(i.windowControlHeightStateStorageKey);o?this.updateWindowControls({height:o}):this.updateWindowControls({height:IP})}(W||re)&&n&&this._register(x.fromNodeEventEmitter(e,"system-context-menu",(o,s)=>({event:o,point:s}))(o=>{let[s,a]=e.getPosition(),l=gn.screen.screenToDipPoint(o.point),c=Math.floor(l.x)-s,d=Math.floor(l.y)-a;re&&c>35&&(o.event.preventDefault(),this._onDidTriggerSystemContextMenu.fire({x:c,y:d}))})),this.environmentMainService.args["open-devtools"]===!0&&e.webContents.openDevTools(),V&&(this._register(this.onDidEnterFullScreen(()=>{this.joinNativeFullScreenTransition?.complete(!0)})),this._register(this.onDidLeaveFullScreen(()=>{this.joinNativeFullScreenTransition?.complete(!0)}))),W&&this.environmentMainService.enableRDPDisplayTracking&&this._register(x.fromNodeEventEmitter(QM,"display-added",(o,s)=>({event:o,display:s}))(o=>{this.onDisplayAdded(o.display)}))}onDisplayAdded(e){let t=this.maximizedWindowState;t&&this._win&&hl.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=gn.screen.getAllDisplays().length>0){let n=this.configurationService.getValue("window"),o=V&&n?.nativeTabs===!0;(V||W)&&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){V?this.win?.setRepresentedFilename(e):this.representedFilename=e}getRepresentedFilename(){return V?this.win?.getRepresentedFilename():this.representedFilename}setDocumentEdited(e){V&&this.win?.setDocumentEdited(e),this.documentEdited=e}isDocumentEdited(){return V?!!this.win?.isDocumentEdited():!!this.documentEdited}focus(e){switch(e?.mode??0){case 0:this.doFocusWindow();break;case 1:this.showNotifyFocus();break;case 2:V&&gn.app.focus({steal:!0}),this.doFocusWindow();break}}showNotifyFocus(){let e=new Q;this.notifyFocusDisposable.value=e,e.add(AI.INSTANCE.acquireBadge(this)),W||re?(this.win?.flashFrame(!0),e.add(z(()=>this.win?.flashFrame(!1)))):V&&gn.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(fa.windowControlHeightStateStorageKey,e.height),!V&&gu(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(V&&e.height!==void 0){let n=rv(YC())?14:16,o=Math.floor((e.height-n)/2);o?t.setWindowButtonPosition({x:o+1,y:o}):t.setWindowButtonPosition(null)}}}dimColor(e){let t=Zo.Format.CSS.parse(e);if(!t)return e;let n=.5,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){dm(this.configurationService)?this.setNativeFullScreen(e,t):this.setSimpleFullScreen(e)}get isFullScreen(){if(V&&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(V){this.transientIsNativeFullScreen=e;let o=this.joinNativeFullScreenTransition=new Ot;(async()=>{let s=await Promise.race([o.p,ut(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}},fa=class extends np{constructor(e,t,n,o,s,a,l,c,d,u,f,m,y,v,S,I,T,D,k,A,oe){super(u,A,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=S;this.lifecycleMainService=I;this.productService=T;this.windowsMainService=k;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 St);{this.configObjectUrl=this._register(D.createIPCObjectUrl());let[G,Ee]=this.restoreWindowState(e.state);this.windowState=G,this.logService.trace("window#ctor: using window state",G);let Mt={preload:lt.asFileUri("vs/base/parts/sandbox/electron-browser/preload.js").fsPath,additionalArguments:[`--vscode-window-config=${this.configObjectUrl.resource.toString()}`],v8CacheOptions:this.environmentMainService.useCodeCache?"bypassHeatCheck":"none"};e.isSessionsWindow&&(Mt.backgroundThrottling=!1);let je=oe.invokeFunction(ml,this.windowState,void 0,Mt);Be("code/willCreateCodeBrowserWindow"),this._win=new gn.BrowserWindow(je),Be("code/didCreateCodeBrowserWindow"),this._id=this._win.id,this.setWin(this._win,je),this.applyState(this.windowState,Ee),this._lastFocusTime=Date.now()}let O=parseInt(this.environmentMainService.args["unresponsive-sample-interval"]||"1000"),ee=parseInt(this.environmentMainService.args["unresponsive-sample-period"]||"15000");(O<=0||ee<=0||O>ee)&&(this.logService.warn(`Invalid unresponsive sample interval (${O}ms) or period (${ee}ms), using defaults.`),O=1e3,ee=15e3),this.jsCallStackMap=new Map,this.jsCallStackEffectiveSampleCount=Math.round(ee/O),this.jsCallStackCollector=this._register(new Yi(O)),this.jsCallStackCollectorStopScheduler=this._register(new Ir(()=>{this.stopCollectingJScallStacks()},ee)),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??jo(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(x.fromNodeEventEmitter(this._win,"unresponsive")(()=>this.onWindowError(1))),this._register(x.fromNodeEventEmitter(this._win,"responsive")(()=>this.onWindowError(4))),this._register(x.fromNodeEventEmitter(this._win.webContents,"render-process-gone",(t,n)=>n)(t=>this.onWindowError(2,{...t}))),this._register(x.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(x.fromNodeEventEmitter(this._win.webContents,"will-prevent-unload")(t=>t.preventDefault())),this._register(x.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",Te.None)})),this._register(this.onDidLeaveFullScreen(()=>{this.sendWhenReady("vscode:leaveFullScreen",Te.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=zC(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(3074,null),h(3070,null),h(3075,null)],message:h(3068,null),detail:h(3069,null),checkboxLabel:this._config?.workspace?h(3071,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(3066,null,t.reason,t.exitCode??"<unknown>"):n=h(3064,null);let{response:o,checkboxChecked:s}=await this.dialogMainService.showMessageBox({type:"warning",buttons:[this._config?.workspace?h(3074,null):h(3073,null),h(3070,null)],message:n,detail:this._config?.workspace?h(3067,null):h(3065,null),checkboxLabel:this._config?.workspace?h(3071,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;zt(n)?o={folderUri:n.uri}:ft(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(V&&(!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:""}),gn.app.setProxy({proxyRules:s,proxyBypassRules:a,pacScript:""})}}}registerSwipeListener(){this.swipeListenerDisposable.value=x.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){V&&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=lt.asBrowserUri(`vs/sessions/electron-browser/sessions${this.environmentMainService.isBuilt?"":"-dev"}.html`).toString(!0):n=lt.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 Ir(()=>{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=ai(n)&&!ai(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=Pp(),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=gn.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(ft(e.workspace)){let t=e.workspace.configPath;if(t.scheme===U.file&&!await this.fileService.exists(t))return}else if(zt(e.workspace)){let t=e.workspace.uri;if(t.scheme===U.file&&!await this.fileService.exists(t))return}return e.workspace}serializeWindowState(){if(!this._win)return Ri();if(this.isFullScreen){let n;try{n=gn.screen.getDisplayMatching(this.getBounds())}catch{}let o=Ri();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(!V&&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=gn.screen.getAllDisplays();t=n.length>1,e=hl.validateWindowState(this.logService,e,n)}catch(n){this.logService.warn(`Unexpected error validating window state: ${n}
${n.stack}`)}}return Be("code/didRestoreCodeWindowState"),[e||Ri(),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",Te.None),this.currentMenuBarVisibility&&this.setMenuBarVisibility(this.currentMenuBarVisibility,!1)}getMenuBarVisibility(){let e=yP(this.configurationService);return["visible","toggle","hidden"].indexOf(e)<0&&(e="classic"),e}setMenuBarVisibility(e,t=!0){V||(e==="toggle"&&t&&this.send("vscode:showInfoMessage",h(3072,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}: ${Dr(n)}`)}}}updateTouchBar(e){V&&this.touchBarGroups.forEach((t,n)=>{let o=e[n];t.segments=this.createTouchBarGroupSegments(o)})}createTouchBar(){if(V){for(let e=0;e<10;e++){let t=this.createTouchBarGroup();this.touchBarGroups.push(t)}this._win.setTouchBar(new gn.TouchBar({items:this.touchBarGroups}))}}createTouchBarGroup(e=[]){let t=this.createTouchBarGroupSegments(e),n=new gn.TouchBar.TouchBarSegmentedControl({segments:t,mode:"buttons",segmentStyle:"automatic",change:o=>{this.sendWhenReady("vscode:runAction",Te.None,{id:n.segments[o].id,from:"touchbar"})}});return n}createTouchBarGroupSegments(e=[]){return e.map(n=>{let o;n.icon&&!pc.isThemeIcon(n.icon)&&n.icon?.dark?.scheme===U.file&&(o=gn.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 LI(o,this.id,this._win?.webContents.getOSProcessId());ks.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)}};fa=C([g(1,N),g(2,di),g(3,_e),g(4,Bn),g(5,Br),g(6,Le),g(7,xr),g(8,Ys),g(9,de),g(10,Di),g(11,mn),g(12,Oi),g(13,Ke),g(14,fn),g(15,ve),g(16,Ae),g(17,uc),g(18,$e),g(19,Lt),g(20,qt)],fa);LI=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 fc from"electron";function XM(i){let r={openedWindows:[]},e=i||{openedWindows:[]};return e.lastActiveWindow&&(r.lastActiveWindow=OI(e.lastActiveWindow)),e.lastPluginDevelopmentHostWindow&&(r.lastPluginDevelopmentHostWindow=OI(e.lastPluginDevelopmentHostWindow)),Array.isArray(e.openedWindows)&&(r.openedWindows=e.openedWindows.map(t=>OI(t))),r}function OI(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 YM(i){return{lastActiveWindow:i.lastActiveWindow&&FI(i.lastActiveWindow),lastPluginDevelopmentHostWindow:i.lastPluginDevelopmentHostWindow&&FI(i.lastPluginDevelopmentHostWindow),openedWindows:i.openedWindows.map(r=>FI(r))}}function FI(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 Eo,ZC=w(()=>{$();Y();It();le();rt();_t();ne();Pn();jt();ni();Lr();Eo=class extends _{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=XM(this.stateService.getItem(Eo.windowsStateStorageKey)),this.registerListeners()}static{this.windowsStateStorageKey="windowsState"}get state(){return this._state}registerListeners(){fc.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)?V&&!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)?V&&a.windowId!==t.lastActiveWindow?.windowId&&!s.win?.isSimpleFullScreen()&&(a.uiState.mode=1):e.add(a.uiState.display)),a}));let o=YM(t);this.stateService.setItem(Eo.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=ft(e.openedWorkspace)&&n.workspace?.id===e.openedWorkspace.id,s=zt(e.openedWorkspace)&&n.folderUri&&Qe.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:ft(e.openedWorkspace)?e.openedWorkspace:void 0,folderUri:zt(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(ft(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(zt(c)){let u=this.state.openedWindows.filter(f=>f.folderUri&&Qe.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=fc.screen.getAllDisplays();if(o.length===1)n=o[0];else{if(V){let c=fc.screen.getCursorScreenPoint();n=fc.screen.getDisplayNearestPoint(c)}!n&&t&&(n=fc.screen.getDisplayMatching(t.getBounds())),n||(n=fc.screen.getPrimaryDisplay()||o[0])}let s=Ri(void 0,ft(e.workspace)||zt(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}};Eo=C([g(0,$e),g(1,Lt),g(2,ve),g(3,N),g(4,de)],Eo)});function eT(){return ZM.value}var ZM,tT=w(()=>{Ji();ZM=new fr(async()=>(await import("@vscode/ripgrep-universal")).rgPath.replace(/\bnode_modules\.asar\b/,"node_modules.asar.unpacked"))});import{spawn as eO}from"child_process";var $h,mc,WI=w(()=>{Pe();qe();tT();As();dn();te();ne();$h=M("ICSSDevelopmentService"),mc=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 eT();return await new Promise(e=>{let t=an.create(),n=[],o=lt.asFileUri("").fsPath,s=eO(r,["-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=>Up(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)`)})})}};mc=C([g(0,bn),g(1,N)],mc)});import*as rT from"fs";import{app as tO,BrowserWindow as Kh,shell as rO}from"electron";import{hostname as nO,release as iO,arch as oO}from"os";function ip(i){return ft(i?.workspace)}function hc(i){return zt(i?.workspace)}var UI,gc,nT=w(()=>{qa();Yt();Tt();Gn();j();ln();ro();$();qe();Pe();mi();Y();kn();It();Me();le();be();El();rt();ea();Wt();ze();te();_t();ne();Ws();Hh();Dl();Pn();Qo();MI();jt();Yy();ZC();Lr();xm();Zu();ns();ni();fl();ci();ts();tc();Wl();WI();kr();ot();UI=Object.create(null);gc=class extends _{constructor(e,t,n,o,s,a,l,c,d,u,f,m,y,v,S,I,T,D,k,A,oe,O){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=S;this.instantiationService=I;this.dialogMainService=T;this.fileService=D;this.protocolMainService=k;this.themeMainService=A;this.auxiliaryWindowsMainService=oe;this.cssDevelopmentService=O;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 Eo(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 Q;if(t.add(x.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,t,n,o,s){this.logService.trace("windowsManager#openAgentsWindow");let a=await this.open(await this.ensureAgentsWindow(e));return(t||n||o||s)&&a.length>0&&a[0].sendWhenReady("vscode:selectAgentsFolder",Te.None,t?.toJSON(),n,o?.toJSON(),s),a}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:!0}}async open(e){this.logService.trace("windowsManager#open"),(e.addMode||e.removeMode)&&(e.initialStartup||!this.getLastActiveWindow())&&(e.addMode=!1,e.removeMode=!1);let t=[],n=[],o=[],s=[],a=[],l=[],c,d=!1,u=await this.getPathsToOpen(e);this.logService.trace("windowsManager#open pathsToOpen",u);for(let S of u)hc(S)?e.addMode?t.push(S):e.removeMode?n.push(S):o.push(S):ip(S)?s.push(S):S.fileUri?(c||(c={filesToOpenOrCreate:[],filesToDiff:[],filesToMerge:[],remoteAuthority:S.remoteAuthority}),c.filesToOpenOrCreate.push(S)):S.backupPath?l.push({backupFolder:xe(S.backupPath),remoteAuthority:S.remoteAuthority}):d=!0;e.diffMode&&c&&c.filesToOpenOrCreate.length>=2&&(c.filesToDiff=c.filesToOpenOrCreate.slice(0,2),c.filesToOpenOrCreate=[]),e.mergeMode&&c&&c.filesToOpenOrCreate.length===4&&(c.filesToMerge=c.filesToOpenOrCreate.slice(0,4),c.filesToOpenOrCreate=[],c.filesToDiff=[]),c&&e.waitMarkerFileURI&&(c.filesToWait={paths:dt([...c.filesToDiff,c.filesToMerge[3],...c.filesToOpenOrCreate]),waitMarkerFileUri:e.waitMarkerFileURI}),e.initialStartup?(a.push(...this.workspacesManagementMainService.getUntitledWorkspaces()),s.push(...a),l.push(...this.backupMainService.getEmptyWindowBackups())):l.length=0;let{windows:f,filesOpenedInWindow:m}=await this.doOpen(e,s,o,l,d,c,t,n);if(this.logService.trace(`windowsManager#open used window count ${f.length} (workspacesToOpen: ${s.length}, foldersToOpen: ${o.length}, emptyToRestore: ${l.length}, maybeOpenEmptyWindow: ${d})`),f.length>1)if(m)m.focus();else{let S=this.windowsStateHandler.state.lastActiveWindow&&!e.forceEmpty&&!e.cli._.length&&!e.cli["file-uri"]&&!e.cli["folder-uri"]&&!e.urisToOpen?.length,I=!0,T=!0;if(S){let D=f.filter(k=>this.windowsStateHandler.state.lastActiveWindow&&k.backupPath===this.windowsStateHandler.state.lastActiveWindow.backupPath);D.length&&(D[0].focus(),I=!1,T=!1)}if(I)for(let D=f.length-1;D>=0;D--){let k=f[D];if(!(k.openedWorkspace&&a.some(A=>k.openedWorkspace&&A.workspace.id===k.openedWorkspace.id)||k.backupPath&&l.some(A=>k.backupPath&&A.backupFolder===xe(k.backupPath)))){k.focus(),T=!1;break}}T&&f[f.length-1].focus()}let y=c&&c.filesToDiff.length>0,v=c&&c.filesToMerge.length>0;if(!f.some(S=>S.isExtensionDevelopmentHost)&&!y&&!v&&!e.noRecentEntry){let S=[];for(let I of u)ip(I)&&!I.transient?S.push({label:I.label,workspace:I.workspace,remoteAuthority:I.remoteAuthority}):hc(I)?S.push({label:I.label,folderUri:I.workspace.uri,remoteAuthority:I.remoteAuthority}):I.fileUri&&S.push({label:I.label,fileUri:I.fileUri,remoteAuthority:I.remoteAuthority});this.workspacesHistoryMainService.addRecentlyOpened(S)}return this.handleWaitMarkerFile(e,f),this.handleChatRequest(e,f),f}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=vo(t,P.file(o)))}n&&(n.sendWhenReady("vscode:handleChatRequest",Te.None,e.cli.chat),n.focus())}async doOpen(e,t,n,o,s,a,l,c){let d=[],u;function f(D,k){d.push(D),k&&(u=D,a=void 0)}let{openFolderInNewWindow:m,openFilesInNewWindow:y}=this.shouldOpenNewWindow(e);if(!e.initialStartup&&(l.length>0||c.length>0)){let D=l.at(0)?.remoteAuthority??c.at(0)?.remoteAuthority,k=this.getLastActiveWindowForAuthority(D);k&&f(this.doAddRemoveFoldersInExistingWindow(k,l.map(A=>A.workspace.uri),c.map(A=>A.workspace.uri)))}let v=n.length+t.length+o.length;if(a&&v===0){let D=a.filesToOpenOrCreate[0]||a.filesToDiff[0]||a.filesToMerge[3],k=this.getWindows().filter(oe=>a&&Ur(oe.remoteAuthority,a.remoteAuthority)),A;D?.fileUri&&!y&&((e.context===4||e.context===0||e.context===1||e.context===6)&&(A=await qP(k,D.fileUri,async oe=>oe.configPath.scheme===U.file?this.workspacesManagementMainService.resolveLocalWorkspace(oe.configPath):void 0)),A||(A=this.doGetLastActiveWindow(k))),A?ft(A.openedWorkspace)?t.push({workspace:A.openedWorkspace,remoteAuthority:A.remoteAuthority}):zt(A.openedWorkspace)?n.push({workspace:A.openedWorkspace,remoteAuthority:A.remoteAuthority}):f(this.doOpenFilesInExistingWindow(e,A,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 S=Wr(t,D=>D.workspace.id);if(S.length>0){let D=dt(S.map(k=>vo(this.getWindows(),k.workspace.configPath)));if(D.length>0){let k=D[0],A=Ur(a?.remoteAuthority,k.remoteAuthority)?a:void 0;f(this.doOpenFilesInExistingWindow(e,k,A),!!A),m=!0}for(let k of S){if(D.some(O=>O.openedWorkspace&&O.openedWorkspace.id===k.workspace.id))continue;let A=k.remoteAuthority,oe=Ur(a?.remoteAuthority,A)?a:void 0;f(await this.doOpenFolderOrWorkspace(e,k,m,oe),!!oe),m=!0}}let I=Wr(n,D=>Qe.getComparisonKey(D.workspace.uri));if(I.length>0){let D=dt(I.map(k=>vo(this.getWindows(),k.workspace.uri)));if(D.length>0){let k=D[0],A=Ur(a?.remoteAuthority,k.remoteAuthority)?a:void 0;f(this.doOpenFilesInExistingWindow(e,k,A),!!A),m=!0}for(let k of I){if(D.some(O=>zt(O.openedWorkspace)&&Qe.isEqual(O.openedWorkspace.uri,k.workspace.uri)))continue;let A=k.remoteAuthority,oe=Ur(a?.remoteAuthority,A)?a:void 0;f(await this.doOpenFolderOrWorkspace(e,k,m,oe),!!oe),m=!0}}let T=Wr(o,D=>D.backupFolder);if(T.length>0)for(let D of T){let k=D.remoteAuthority,A=Ur(a?.remoteAuthority,k)?a:void 0;f(await this.doOpenEmpty(e,!0,k,A,D),!!A),m=!0}if(a||s&&(e.forceEmpty||d.length===0)){let D=a?a.remoteAuthority:e.remoteAuthority;f(await this.doOpenEmpty(e,m,D,a),!!a)}return{windows:Wr(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",Te.None,o),t}focusMainOrChildWindow(e){let t=e,n=Kh.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",Te.None,o),e}resolveContextWindow(e,t){if(!t&&typeof e.contextWindowId=="number"){let n=this.getWindowById(e.contextWindowId);return n?.config?.isSessionsWindow?{windowToUse:void 0,forceNewWindow:!0}:{windowToUse:n,forceNewWindow:t}}return{windowToUse:void 0,forceNewWindow:t}}doOpenEmpty(e,t,n,o,s){this.logService.trace("windowsManager#doOpenEmpty",{restore:!!s,remoteAuthority:n,filesToOpen:o,forceNewWindow:t});let a=this.resolveContextWindow(e,t);return this.openInBrowserWindow({userEnv:e.userEnv,cli:e.cli,initialStartup:e.initialStartup,remoteAuthority:n,forceNewWindow:a.forceNewWindow,forceNewTabbedWindow:e.forceNewTabbedWindow,filesToOpen:o,windowToUse:a.windowToUse,emptyWindowBackupInfo:s,forceProfile:e.forceProfile,forceTempProfile:e.forceTempProfile})}doOpenFolderOrWorkspace(e,t,n,o,s){if(this.logService.trace("windowsManager#doOpenFolderOrWorkspace",{folderOrWorkspace:t,filesToOpen:o}),!s){let a=this.resolveContextWindow(e,n);s=a.windowToUse,n=a.forceNewWindow}return 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=[UI]:e.cli._.length||e.cli["folder-uri"]||e.cli["file-uri"]?(t=await this.doExtractPathsFromCLI(e.cli),t.length===0&&t.push(UI),n=!0):(t=await this.doGetPathsFromLastSession(),t.length===0&&t.push(UI),o=!0),!e.addMode&&!e.removeMode&&n){let s=t.filter(a=>hc(a));if(s.length>1){let a=s[0].remoteAuthority;if(s.every(l=>Ur(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=>!hc(d))}}}if(e.initialStartup&&!o&&this.configurationService.getValue("window")?.restoreWindows==="preserve"){let s=await this.doGetPathsFromLastSession();t.unshift(...s.filter(a=>ip(a)||hc(a)||a.backupPath))}return t}async doExtractPathsFromAPI(e){let t={gotoLineMode:e.gotoLineMode,remoteAuthority:e.remoteAuthority},n=await Promise.all(dt(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(3082,null)],message:a.scheme===U.file?h(3084,null):h(3086,null),detail:a.scheme===U.file?h(3083,null,to(a,{os:Bt,tildify:this.environmentMainService})):h(3085,null,a.toString(!0))},Kh.getFocusedWindow()??void 0)}));return dt(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(...dt(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(ki(c)?{workspaceUri:d}:{fileUri:d},n)}));t.push(...dt(l))}let a=await Promise.all(e._.map(l=>n.remoteAuthority?this.doResolveRemotePath(l,n):this.doResolveFilePath(l,n)));return t.push(...dt(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(ip(s))return s}else if(o.folderUri){let s=await this.resolveOpenable({folderUri:o.folderUri},{remoteAuthority:o.remoteAuthority});if(hc(s))return s}else if(e!=="folders"&&o.backupPath)return{backupPath:o.backupPath,remoteAuthority:o.remoteAuthority}}));return dt(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=>ip(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 ka(o,c=>Qe.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===U.file?(ky(e)&&(t={...t,forceOpenWorkspaceAsFile:!0}),this.doResolveFilePath(n.fsPath,t)):this.doResolveRemoteOpenable(e,t)}doResolveRemoteOpenable(e,t){let n=this.resourceFromOpenable(e),o=yo(n)||t.remoteAuthority;if(n=P1(sf(n)),ky(e)){if(t.gotoLineMode){let{path:s,line:a,column:l}=Na(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(hu(e))return{workspace:mo(n),remoteAuthority:o};return{workspace:Sm(n),remoteAuthority:o}}resourceFromOpenable(e){return hu(e)?e.workspaceUri:cm(e)?e.folderUri:e.fileUri}async doResolveFilePath(e,t,n){let o,s;t.gotoLineMode&&({path:e,line:o,column:s}=Na(e)),e=rf(Dt(e),rn());try{let a=await rT.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:Sm(P.file(e),a),type:2,exists:!0};if(!W&&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(3076,null),h(3077,null),h(3081,null)],message:h(3079,null,n.authority),detail:h(3078,null,to(n,{os:Bt,tildify:this.environmentMainService})),checkboxLabel:h(3080,null,n.authority),cancelId:1});if(o===0){if(eo(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 rO.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}=Na(e)),n!==47&&(tf(n)&&e.charCodeAt(e.charCodeAt(1))===58&&(e=Ii(e)),e=`/${e}`);let l=P.from({scheme:U.vscodeRemote,authority:o,path:e});if(e.charCodeAt(e.length-1)!==47){if(ki(e))return t.forceOpenWorkspaceAsFile?{fileUri:l,options:{selection:s?{startLineNumber:s,startColumn:a||1}:void 0},remoteAuthority:t.remoteAuthority}:{workspace:mo(l),remoteAuthority:o};if(t.gotoLineMode||pe.basename(e).indexOf(".")!==-1)return{fileUri:l,options:{selection:s?{startLineNumber:s,startColumn:a||1}:void 0},remoteAuthority:o}}return{workspace:Sm(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:(V?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=zP(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===U.file?a=[u.fsPath]:o=[u.toString()]:u.configPath.scheme===U.file?a=[wr(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=yo(u);f&&(l?Ur(f,l)||this.logService.error("more than one extension development path authority"):l=f)}a=a.filter(d=>{let u=P.file(d);return vo(this.getWindows(),u)?!1:Ur(yo(u),l)}),o=o.filter(d=>{let u=this.cliArgToUri(d);return u&&vo(this.getWindows(),u)?!1:u?Ur(yo(u),l):!1}),s=s.filter(d=>{let u=this.cliArgToUri(d);return u&&vo(this.getWindows(),u)?!1:u?Ur(yo(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?.isAgentsWindowProfile?void 0:n?.profile)??this.userDataProfilesMainService.defaultProfile,a;!e.forceNewWindow&&!e.forceNewTabbedWindow&&(a=e.windowToUse||(n?.config?.isSessionsWindow?void 0: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?B(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:U.file}).fsPath,tmpDir:this.environmentMainService.tmpDir.with({scheme:U.file}).fsPath,userDataDir:this.environmentMainService.userDataPath,remoteAuthority:e.remoteAuthority,workspace:e.workspace,userEnv:{...this.initialUserEnv,...e.userEnv},nls:{messages:Xg(),language:sd()},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:U.file}).fsPath,product:er,isInitialStartup:e.initialStartup,perfMarks:Pp(),os:{release:iO(),hostname:nO(),arch:oO()},autoDetectHighContrast:t?.autoDetectHighContrast??!0,autoDetectColorScheme:t?.autoDetectColorScheme??!1,accessibilitySupport:tO.accessibilitySupportEnabled,colorScheme:this.themeMainService.getColorScheme(),policiesData:this.policyService.serialize(),continueOn:this.environmentMainService.continueOn,cssModules:this.cssDevelopmentService.isEnabled?await this.cssDevelopmentService.getCssModules():void 0,isSessionsWindow:ft(e.workspace)&&yd(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(fa,{state:c,extensionDevelopmentPath:l.extensionDevelopmentPath,isExtensionTestHost:!!l.extensionTestsPath,isSessionsWindow:l.isSessionsWindow});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 Q;u.add(d.onDidSignalReady(()=>this._onDidSignalReadyWindow.fire(d))),u.add(x.once(d.onDidClose)(()=>this.onWindowClosed(d,u))),u.add(x.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=yi(d.win?.webContents);f.removeAllListeners("devtools-reload-page"),u.add(x.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||(ft(t.workspace)?t.backupPath=this.backupMainService.registerWorkspaceBackup({workspace:t.workspace,remoteAuthority:t.remoteAuthority}):zt(t.workspace)?t.backupPath=this.backupMainService.registerFolderBackup({folderUri:t.workspace.uri,remoteAuthority:t.remoteAuthority}):t.backupPath=this.backupMainService.registerEmptyWindowBackup({backupFolder:n.emptyWindowBackupInfo?.backupFolder??Pu().id,remoteAuthority:t.remoteAuthority}));let s=t.workspace??jo(t.backupPath,!1);if(t.isSessionsWindow)t.profiles.profile=this.userDataProfilesMainService.profiles.find(a=>a.isAgentsWindowProfile)??await this.userDataProfilesMainService.createAgentsWindowProfile();else{let 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=Kh.getFocusedWindow();if(e)return this.getWindowById(e.id)}getLastActiveWindow(){return this.doGetLastActiveWindow(this.getWindows())}getLastActiveWindowForAuthority(e){return this.doGetLastActiveWindow(this.getWindows().filter(t=>Ur(t.remoteAuthority,e)))}doGetLastActiveWindow(e){return pm(e)}sendToFocused(e,...t){(this.getFocusedWindow()||this.getLastActiveWindow())?.sendWhenReady(e,Te.None,...t)}sendToOpeningWindow(e,...t){this._register(x.once(this.onDidSignalReadyWindow)(n=>{n.sendWhenReady(e,Te.None,...t)}))}sendToAll(e,t,n){for(let o of this.getWindows())n&&n.indexOf(o.id)>=0||o.sendWhenReady(e,Te.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=Kh.fromWebContents(e);if(!t)return;let n=this.getWindowById(t.id);return n?.matches(e)?n:void 0}};gc=C([g(4,N),g(5,di),g(6,Lt),g(7,Bn),g(8,_e),g(9,Br),g(10,ve),g(11,Oi),g(12,de),g(13,gs),g(14,mn),g(15,qt),g(16,fn),g(17,Le),g(18,uc),g(19,Di),g(20,oi),g(21,$h)],gc)});var qh,iT=w(()=>{ge();j();$();qh=class extends _{constructor({onDidOpenMainWindow:e,onDidFocusMainWindow:t,getActiveWindowId:n}){super();this.disposables=this._register(new Q);x.latch(x.any(e,t))(this.setActiveWindow,this,this.disposables),this.firstActiveWindowIdPromise=Xn(()=>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 vc,oT=w(()=>{El();jt();Zu();ns();vc=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()}};vc=C([g(0,mn),g(1,$e),g(2,gs),g(3,Oi)],vc)});var zh,sT=w(()=>{j();$();ci();zh=class{constructor(r){this.service=r;this.disposables=new Q;this.onDidChangeEvent=x.map(this.service.onDidChange,e=>e.reduce((t,n)=>({...t,[n]:this.service.getPolicyValue(n)??null}),{}),this.disposables)}listen(r,e){if(e==="onDidChange")return this.onDidChangeEvent;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 cT(i){return i.map(r=>{let[e,t]=r.split("@");return{proposalName:e,version:t?parseInt(t):void 0}})}function dT(i){return i.map(r=>r.split("@")[0])}var aT,lT,Gh,Co,jh,xpe,op=w(()=>{Zt();te();Dl();aT="extensions.user.cache",lT="extensions.builtin.cache",Gh="undefined_publisher",Co=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 qr(t,n)}return r._lower===e._lower}static toKey(r){return typeof r=="string"?r.toLowerCase():r._lower}},jh=class{constructor(){this._map=new Map}clear(){this._map.clear()}delete(r){this._map.delete(Co.toKey(r))}get(r){return this._map.get(Co.toKey(r))}has(r){return this._map.has(Co.toKey(r))}set(r,e){this._map.set(Co.toKey(r),e)}values(){return this._map.values()}forEach(r){this._map.forEach(r)}[Symbol.iterator](){return this._map[Symbol.iterator]()}};xpe=M("IBuiltinExtensionsScannerService")});function pT(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 fT(i){let r=i;return!!r&&typeof r=="object"&&typeof r.id=="string"&&(!r.uuid||typeof r.uuid=="string")}var sO,Bpe,Vpe,Hpe,$pe,Kpe,qpe,zpe,jpe,aO,NI=w(()=>{Y();Td();be();Zn();op();ze();te();wn();sO="^([a-z0-9A-Z][a-z0-9-A-Z]*)\\.([a-z0-9A-Z][a-z0-9-A-Z]*)$",Bpe=new RegExp(sO);Vpe=M("extensionGalleryService"),Hpe=M("extensionManagementService"),$pe=M("IGlobalExtensionEnablementService"),Kpe=M("IExtensionTipsService"),qpe=M("IAllowedExtensionsService"),zpe=Yg(2314,"Extensions"),jpe=Yg(2331,"Preferences"),aO="extensions.allowed";pt.as(Ft.Configuration).registerConfiguration({id:"extensions",order:30,title:h(2330,null),type:"object",properties:{[aO]:{type:"object",markdownDescription:h(2320,null),default:"*",defaultSnippets:[{body:{},description:h(2325,null)},{body:{"*":!0},description:h(2321,null)}],scope:1,policy:{name:"AllowedExtensions",category:"Extensions",minimumVersion:"1.96",localization:{description:{key:"extensions.allowed.policy",value:h(2326,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(2318,null),enumDescriptions:[h(2324,null),h(2322,null),h(2323,null)]},{type:"array",items:{type:"string"},description:h(2319,null)}]},"([a-z0-9A-Z][a-z0-9-A-Z]*)$":{type:["boolean","string"],enum:[!0,!1,"stable"],description:h(2313,null),enumDescriptions:[h(2329,null),h(2327,null),h(2328,null)]},"\\*":{type:"boolean",enum:[!0,!1],description:h(2315,null),enumDescriptions:[h(2317,null),h(2316,null)]}}}}})});function ma(i,r){return i.uuid&&r.uuid?i.uuid===r.uuid:i.id===r.id?!0:gd(i.id,r.id)===0}function mT(i,r){return`${i}.${r}`}function lO(i){return i.toLowerCase()}function hT(i,r){return lO(mT(i??Gh,r))}async function cO(i,r){if(!re)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.",yr(n))}}return!!e&&(e.match(/^ID=([^\u001b\r\n]*)/m)||[])[1]==="alpine"}async function gT(i,r){let e=await cO(i,r),t=pT(e?"alpine":qi,mS);return r.debug("ComputeTargetPlatform:",t),t}var cfe,BI=w(()=>{Zt();NI();op();Y();le();He();kn();xo();Me();cfe=new Co("pprice.better-merge")});function vT(i){let r=i;return Ge(r)&&fT(r.identifier)&&(dO(r.location)||Oe(r.location)&&!!r.location)&&(Kr(r.relativeLocation)||Oe(r.relativeLocation))&&!!r.version&&Oe(r.version)}function dO(i){if(!i)return!1;let r=i;return typeof r?.path=="string"&&typeof r?.scheme=="string"}var ha,Is,yc,sp=w(()=>{ge();ot();$();j();kr();le();NI();BI();ze();te();ne();ri();ti();Me();He();ha=class extends Error{constructor(e,t){super(e);this.code=t}},Is=M("IExtensionsProfileScannerService"),yc=class extends _{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 yt}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])=>ma(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=>ma(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])=>ma({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=>ma(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 ha(yr(a),"ERROR_PROFILE_NOT_FOUND")}if(s){Array.isArray(s)||this.throwInvalidConentError(e);let a=!1;for(let l of s){vT(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)}Kr(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 ha(`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=>vT(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 An,this.resourcesAccessQueueMap.set(e,t)),t}};yc=C([g(1,Le),g(2,Mr),g(3,At),g(4,N)],yc)});function Jh(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 yT=w(()=>{be();ii()});var Qh,Ue,Ffe,Wfe,wT,Ufe,Nfe,Bfe,Vfe,Hfe,$fe,Kfe,IT,qfe,zfe,jfe,bT,Gfe,Jfe,Qfe,Xfe,Yfe,Zfe,eme,tme,rme,nme,ime,ome,sme,ame,lme,cme,dme,ume,pme,fme,mme,hme,VI=w(()=>{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=Ze,n=typeof t=="object"&&t.env&&t.env.NODE_DEBUG&&/\bsemver\b/i.test(t.env.NODE_DEBUG)?function(){var E=Array.prototype.slice.call(arguments,0);E.unshift("SEMVER"),console.log.apply(console,E)}: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 S=c++;l[S]="(?:"+l[u]+"|"+l[f]+")";var I=c++;l[I]="(?:-("+l[v]+"(?:\\."+l[v]+")*))";var T=c++;l[T]="(?:-?("+l[S]+"(?:\\."+l[S]+")*))";var D=c++;l[D]="[0-9A-Za-z-]+";var k=c++;l[k]="(?:\\+("+l[D]+"(?:\\."+l[D]+")*))";var A=c++,oe="v?"+l[m]+l[I]+"?"+l[k]+"?";l[A]="^"+oe+"$";var O="[v=\\s]*"+l[y]+l[T]+"?"+l[k]+"?",ee=c++;l[ee]="^"+O+"$";var G=c++;l[G]="((?:<|>)?=?)";var Ee=c++;l[Ee]=l[u]+"|x|X|\\*";var Mt=c++;l[Mt]=l[d]+"|x|X|\\*";var je=c++;l[je]="[v=\\s]*("+l[Mt]+")(?:\\.("+l[Mt]+")(?:\\.("+l[Mt]+")(?:"+l[I]+")?"+l[k]+"?)?)?";var Se=c++;l[Se]="[v=\\s]*("+l[Ee]+")(?:\\.("+l[Ee]+")(?:\\.("+l[Ee]+")(?:"+l[T]+")?"+l[k]+"?)?)?";var Pt=c++;l[Pt]="^"+l[G]+"\\s*"+l[je]+"$";var K=c++;l[K]="^"+l[G]+"\\s*"+l[Se]+"$";var q=c++;l[q]="(?:^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])";var X=c++;l[X]="(?:~>?)";var Z=c++;l[Z]="(\\s*)"+l[X]+"\\s+",a[Z]=new RegExp(l[Z],"g");var ie=c++;l[ie]="^"+l[X]+l[je]+"$";var fe=c++;l[fe]="^"+l[X]+l[Se]+"$";var ye=c++;l[ye]="(?:\\^)";var Re=c++;l[Re]="(\\s*)"+l[ye]+"\\s+",a[Re]=new RegExp(l[Re],"g");var st=c++;l[st]="^"+l[ye]+l[je]+"$";var or=c++;l[or]="^"+l[ye]+l[Se]+"$";var Ut=c++;l[Ut]="^"+l[G]+"\\s*("+O+")$|^$";var sr=c++;l[sr]="^"+l[G]+"\\s*("+oe+")$|^$";var Hr=c++;l[Hr]="(\\s*)"+l[G]+"\\s*("+O+"|"+l[je]+")",a[Hr]=new RegExp(l[Hr],"g");var pi=c++;l[pi]="^\\s*("+l[je]+")\\s+-\\s+("+l[je]+")\\s*$";var ed=c++;l[ed]="^\\s*("+l[Se]+")\\s+-\\s+("+l[Se]+")\\s*$";var td=c++;l[td]="(<|>)?=?\\s*\\*";for(var Ro=0;Ro<35;Ro++)n(Ro,l[Ro]),a[Ro]||(a[Ro]=new RegExp(l[Ro]));function me(E,L){if(E instanceof Ze)return E;if(typeof E!="string"||E.length>o||!(L?a[ee]:a[A]).test(E))return null;try{return new Ze(E,L)}catch{return null}}function Ze(E,L){if(E instanceof Ze){if(E.loose===L)return E;E=E.version}else if(typeof E!="string")throw new TypeError("Invalid Version: "+E);if(E.length>o)throw new TypeError("version is longer than "+o+" characters");if(!(this instanceof Ze))return new Ze(E,L);n("SemVer",E,L),this.loose=L;var F=E.trim().match(L?a[ee]:a[A]);if(!F)throw new TypeError("Invalid Version: "+E);if(this.raw=E,this.major=+F[1],this.minor=+F[2],this.patch=+F[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");F[4]?this.prerelease=F[4].split(".").map((function(ae){if(/^[0-9]+$/.test(ae)){var Ie=+ae;if(Ie>=0&&Ie<s)return Ie}return ae})):this.prerelease=[],this.build=F[5]?F[5].split("."):[],this.format()}r.parse=me,r.valid=function(E,L){var F=me(E,L);return F?F.version:null},r.clean=function(E,L){var F=me(E.trim().replace(/^[=v]+/,""),L);return F?F.version:null},r.SemVer=Ze,Ze.prototype.format=function(){return this.version=this.major+"."+this.minor+"."+this.patch,this.prerelease.length&&(this.version+="-"+this.prerelease.join(".")),this.version},Ze.prototype.toString=function(){return this.version},Ze.prototype.compare=function(E){return n("SemVer.compare",this.version,this.loose,E),E instanceof Ze||(E=new Ze(E,this.loose)),this.compareMain(E)||this.comparePre(E)},Ze.prototype.compareMain=function(E){return E instanceof Ze||(E=new Ze(E,this.loose)),xa(this.major,E.major)||xa(this.minor,E.minor)||xa(this.patch,E.patch)},Ze.prototype.comparePre=function(E){if(E instanceof Ze||(E=new Ze(E,this.loose)),this.prerelease.length&&!E.prerelease.length)return-1;if(!this.prerelease.length&&E.prerelease.length)return 1;if(!this.prerelease.length&&!E.prerelease.length)return 0;var L=0;do{var F=this.prerelease[L],ae=E.prerelease[L];if(n("prerelease compare",L,F,ae),F===void 0&&ae===void 0)return 0;if(ae===void 0)return 1;if(F===void 0)return-1;if(F!==ae)return xa(F,ae)}while(++L)},Ze.prototype.inc=function(E,L){switch(E){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",L);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",L);break;case"prepatch":this.prerelease.length=0,this.inc("patch",L),this.inc("pre",L);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",L),this.inc("pre",L);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 F=this.prerelease.length;--F>=0;)typeof this.prerelease[F]=="number"&&(this.prerelease[F]++,F=-2);F===-1&&this.prerelease.push(0)}L&&(this.prerelease[0]===L?isNaN(this.prerelease[1])&&(this.prerelease=[L,0]):this.prerelease=[L,0]);break;default:throw new Error("invalid increment argument: "+E)}return this.format(),this.raw=this.version,this},r.inc=function(E,L,F,ae){typeof F=="string"&&(ae=F,F=void 0);try{return new Ze(E,F).inc(L,ae).version}catch{return null}},r.diff=function(E,L){if(Fg(E,L))return null;var F=me(E),ae=me(L);if(F.prerelease.length||ae.prerelease.length){for(var Ie in F)if((Ie==="major"||Ie==="minor"||Ie==="patch")&&F[Ie]!==ae[Ie])return"pre"+Ie;return"prerelease"}for(var Ie in F)if((Ie==="major"||Ie==="minor"||Ie==="patch")&&F[Ie]!==ae[Ie])return Ie},r.compareIdentifiers=xa;var Wb=/^[0-9]+$/;function xa(E,L){var F=Wb.test(E),ae=Wb.test(L);return F&&ae&&(E=+E,L=+L),F&&!ae?-1:ae&&!F?1:E<L?-1:E>L?1:0}function Hi(E,L,F){return new Ze(E,F).compare(new Ze(L,F))}function Ip(E,L,F){return Hi(E,L,F)>0}function bp(E,L,F){return Hi(E,L,F)<0}function Fg(E,L,F){return Hi(E,L,F)===0}function Ub(E,L,F){return Hi(E,L,F)!==0}function Wg(E,L,F){return Hi(E,L,F)>=0}function Ug(E,L,F){return Hi(E,L,F)<=0}function Sp(E,L,F,ae){var Ie;switch(L){case"===":typeof E=="object"&&(E=E.version),typeof F=="object"&&(F=F.version),Ie=E===F;break;case"!==":typeof E=="object"&&(E=E.version),typeof F=="object"&&(F=F.version),Ie=E!==F;break;case"":case"=":case"==":Ie=Fg(E,F,ae);break;case"!=":Ie=Ub(E,F,ae);break;case">":Ie=Ip(E,F,ae);break;case">=":Ie=Wg(E,F,ae);break;case"<":Ie=bp(E,F,ae);break;case"<=":Ie=Ug(E,F,ae);break;default:throw new TypeError("Invalid operator: "+L)}return Ie}function _n(E,L){if(E instanceof _n){if(E.loose===L)return E;E=E.value}if(!(this instanceof _n))return new _n(E,L);n("comparator",E,L),this.loose=L,this.parse(E),this.semver===rd?this.value="":this.value=this.operator+this.semver.version,n("comp",this)}r.rcompareIdentifiers=function(E,L){return xa(L,E)},r.major=function(E,L){return new Ze(E,L).major},r.minor=function(E,L){return new Ze(E,L).minor},r.patch=function(E,L){return new Ze(E,L).patch},r.compare=Hi,r.compareLoose=function(E,L){return Hi(E,L,!0)},r.rcompare=function(E,L,F){return Hi(L,E,F)},r.sort=function(E,L){return E.sort((function(F,ae){return r.compare(F,ae,L)}))},r.rsort=function(E,L){return E.sort((function(F,ae){return r.rcompare(F,ae,L)}))},r.gt=Ip,r.lt=bp,r.eq=Fg,r.neq=Ub,r.gte=Wg,r.lte=Ug,r.cmp=Sp,r.Comparator=_n;var rd={};function Nt(E,L){if(E instanceof Nt)return E.loose===L?E:new Nt(E.raw,L);if(E instanceof _n)return new Nt(E.value,L);if(!(this instanceof Nt))return new Nt(E,L);if(this.loose=L,this.raw=E,this.set=E.split(/\s*\|\|\s*/).map((function(F){return this.parseRange(F.trim())}),this).filter((function(F){return F.length})),!this.set.length)throw new TypeError("Invalid SemVer Range: "+E);this.format()}function $r(E){return!E||E.toLowerCase()==="x"||E==="*"}function oR(E,L,F,ae,Ie,gr,et,Zr,Jt,Or,fi,Qt,Er){return((L=$r(F)?"":$r(ae)?">="+F+".0.0":$r(Ie)?">="+F+"."+ae+".0":">="+L)+" "+(Zr=$r(Jt)?"":$r(Or)?"<"+(+Jt+1)+".0.0":$r(fi)?"<"+Jt+"."+(+Or+1)+".0":Qt?"<="+Jt+"."+Or+"."+fi+"-"+Qt:"<="+Zr)).trim()}function sR(E,L){for(var F=0;F<E.length;F++)if(!E[F].test(L))return!1;if(L.prerelease.length){for(F=0;F<E.length;F++)if(n(E[F].semver),E[F].semver!==rd&&E[F].semver.prerelease.length>0){var ae=E[F].semver;if(ae.major===L.major&&ae.minor===L.minor&&ae.patch===L.patch)return!0}return!1}return!0}function xp(E,L,F){try{L=new Nt(L,F)}catch{return!1}return L.test(E)}function Ng(E,L,F,ae){var Ie,gr,et,Zr,Jt;switch(E=new Ze(E,ae),L=new Nt(L,ae),F){case">":Ie=Ip,gr=Ug,et=bp,Zr=">",Jt=">=";break;case"<":Ie=bp,gr=Wg,et=Ip,Zr="<",Jt="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(xp(E,L,ae))return!1;for(var Or=0;Or<L.set.length;++Or){var fi=L.set[Or],Qt=null,Er=null;if(fi.forEach((function(en){en.semver===rd&&(en=new _n(">=0.0.0")),Qt=Qt||en,Er=Er||en,Ie(en.semver,Qt.semver,ae)?Qt=en:et(en.semver,Er.semver,ae)&&(Er=en)})),Qt.operator===Zr||Qt.operator===Jt||(!Er.operator||Er.operator===Zr)&&gr(E,Er.semver)||Er.operator===Jt&&et(E,Er.semver))return!1}return!0}_n.prototype.parse=function(E){var L=this.loose?a[Ut]:a[sr],F=E.match(L);if(!F)throw new TypeError("Invalid comparator: "+E);this.operator=F[1],this.operator==="="&&(this.operator=""),F[2]?this.semver=new Ze(F[2],this.loose):this.semver=rd},_n.prototype.toString=function(){return this.value},_n.prototype.test=function(E){return n("Comparator.test",E,this.loose),this.semver===rd||(typeof E=="string"&&(E=new Ze(E,this.loose)),Sp(E,this.operator,this.semver,this.loose))},_n.prototype.intersects=function(E,L){if(!(E instanceof _n))throw new TypeError("a Comparator is required");var F;if(this.operator==="")return F=new Nt(E.value,L),xp(this.value,F,L);if(E.operator==="")return F=new Nt(this.value,L),xp(E.semver,F,L);var ae=!(this.operator!==">="&&this.operator!==">"||E.operator!==">="&&E.operator!==">"),Ie=!(this.operator!=="<="&&this.operator!=="<"||E.operator!=="<="&&E.operator!=="<"),gr=this.semver.version===E.semver.version,et=!(this.operator!==">="&&this.operator!=="<="||E.operator!==">="&&E.operator!=="<="),Zr=Sp(this.semver,"<",E.semver,L)&&(this.operator===">="||this.operator===">")&&(E.operator==="<="||E.operator==="<"),Jt=Sp(this.semver,">",E.semver,L)&&(this.operator==="<="||this.operator==="<")&&(E.operator===">="||E.operator===">");return ae||Ie||gr&&et||Zr||Jt},r.Range=Nt,Nt.prototype.format=function(){return this.range=this.set.map((function(E){return E.join(" ").trim()})).join("||").trim(),this.range},Nt.prototype.toString=function(){return this.range},Nt.prototype.parseRange=function(E){var L=this.loose;E=E.trim(),n("range",E,L);var F=L?a[ed]:a[pi];E=E.replace(F,oR),n("hyphen replace",E),E=E.replace(a[Hr],"$1$2$3"),n("comparator trim",E,a[Hr]),E=(E=(E=E.replace(a[Z],"$1~")).replace(a[Re],"$1^")).split(/\s+/).join(" ");var ae=L?a[Ut]:a[sr],Ie=E.split(" ").map((function(gr){return(function(et,Zr){return n("comp",et),et=(function(Jt,Or){return Jt.trim().split(/\s+/).map((function(fi){return(function(Qt,Er){n("caret",Qt,Er);var en=Er?a[or]:a[st];return Qt.replace(en,(function(Kn,Ce,Ne,vt,Rt){var Cr;return n("caret",Qt,Kn,Ce,Ne,vt,Rt),$r(Ce)?Cr="":$r(Ne)?Cr=">="+Ce+".0.0 <"+(+Ce+1)+".0.0":$r(vt)?Cr=Ce==="0"?">="+Ce+"."+Ne+".0 <"+Ce+"."+(+Ne+1)+".0":">="+Ce+"."+Ne+".0 <"+(+Ce+1)+".0.0":Rt?(n("replaceCaret pr",Rt),Rt.charAt(0)!=="-"&&(Rt="-"+Rt),Cr=Ce==="0"?Ne==="0"?">="+Ce+"."+Ne+"."+vt+Rt+" <"+Ce+"."+Ne+"."+(+vt+1):">="+Ce+"."+Ne+"."+vt+Rt+" <"+Ce+"."+(+Ne+1)+".0":">="+Ce+"."+Ne+"."+vt+Rt+" <"+(+Ce+1)+".0.0"):(n("no pr"),Cr=Ce==="0"?Ne==="0"?">="+Ce+"."+Ne+"."+vt+" <"+Ce+"."+Ne+"."+(+vt+1):">="+Ce+"."+Ne+"."+vt+" <"+Ce+"."+(+Ne+1)+".0":">="+Ce+"."+Ne+"."+vt+" <"+(+Ce+1)+".0.0"),n("caret return",Cr),Cr}))})(fi,Or)})).join(" ")})(et,Zr),n("caret",et),et=(function(Jt,Or){return Jt.trim().split(/\s+/).map((function(fi){return(function(Qt,Er){var en=Er?a[fe]:a[ie];return Qt.replace(en,(function(Kn,Ce,Ne,vt,Rt){var Cr;return n("tilde",Qt,Kn,Ce,Ne,vt,Rt),$r(Ce)?Cr="":$r(Ne)?Cr=">="+Ce+".0.0 <"+(+Ce+1)+".0.0":$r(vt)?Cr=">="+Ce+"."+Ne+".0 <"+Ce+"."+(+Ne+1)+".0":Rt?(n("replaceTilde pr",Rt),Rt.charAt(0)!=="-"&&(Rt="-"+Rt),Cr=">="+Ce+"."+Ne+"."+vt+Rt+" <"+Ce+"."+(+Ne+1)+".0"):Cr=">="+Ce+"."+Ne+"."+vt+" <"+Ce+"."+(+Ne+1)+".0",n("tilde return",Cr),Cr}))})(fi,Or)})).join(" ")})(et,Zr),n("tildes",et),et=(function(Jt,Or){return n("replaceXRanges",Jt,Or),Jt.split(/\s+/).map((function(fi){return(function(Qt,Er){Qt=Qt.trim();var en=Er?a[K]:a[Pt];return Qt.replace(en,(function(Kn,Ce,Ne,vt,Rt,Cr){n("xRange",Qt,Kn,Ce,Ne,vt,Rt,Cr);var Nb=$r(Ne),nd=Nb||$r(vt),id=nd||$r(Rt);return Ce==="="&&id&&(Ce=""),Nb?Kn=Ce===">"||Ce==="<"?"<0.0.0":"*":Ce&&id?(nd&&(vt=0),id&&(Rt=0),Ce===">"?(Ce=">=",nd?(Ne=+Ne+1,vt=0,Rt=0):id&&(vt=+vt+1,Rt=0)):Ce==="<="&&(Ce="<",nd?Ne=+Ne+1:vt=+vt+1),Kn=Ce+Ne+"."+vt+"."+Rt):nd?Kn=">="+Ne+".0.0 <"+(+Ne+1)+".0.0":id&&(Kn=">="+Ne+"."+vt+".0 <"+Ne+"."+(+vt+1)+".0"),n("xRange return",Kn),Kn}))})(fi,Or)})).join(" ")})(et,Zr),n("xrange",et),et=(function(Jt,Or){return n("replaceStars",Jt,Or),Jt.trim().replace(a[td],"")})(et,Zr),n("stars",et),et})(gr,L)})).join(" ").split(/\s+/);return this.loose&&(Ie=Ie.filter((function(gr){return!!gr.match(ae)}))),Ie=Ie.map((function(gr){return new _n(gr,L)}))},Nt.prototype.intersects=function(E,L){if(!(E instanceof Nt))throw new TypeError("a Range is required");return this.set.some((function(F){return F.every((function(ae){return E.set.some((function(Ie){return Ie.every((function(gr){return ae.intersects(gr,L)}))}))}))}))},r.toComparators=function(E,L){return new Nt(E,L).set.map((function(F){return F.map((function(ae){return ae.value})).join(" ").trim().split(" ")}))},Nt.prototype.test=function(E){if(!E)return!1;typeof E=="string"&&(E=new Ze(E,this.loose));for(var L=0;L<this.set.length;L++)if(sR(this.set[L],E))return!0;return!1},r.satisfies=xp,r.maxSatisfying=function(E,L,F){var ae=null,Ie=null;try{var gr=new Nt(L,F)}catch{return null}return E.forEach((function(et){gr.test(et)&&(ae&&Ie.compare(et)!==-1||(Ie=new Ze(ae=et,F)))})),ae},r.minSatisfying=function(E,L,F){var ae=null,Ie=null;try{var gr=new Nt(L,F)}catch{return null}return E.forEach((function(et){gr.test(et)&&(ae&&Ie.compare(et)!==1||(Ie=new Ze(ae=et,F)))})),ae},r.validRange=function(E,L){try{return new Nt(E,L).range||"*"}catch{return null}},r.ltr=function(E,L,F){return Ng(E,L,"<",F)},r.gtr=function(E,L,F){return Ng(E,L,">",F)},r.outside=Ng,r.prerelease=function(E,L){var F=me(E,L);return F&&F.prerelease.length?F.prerelease:null},r.intersects=function(E,L,F){return E=new Nt(E,F),L=new Nt(L,F),E.intersects(L)},r.coerce=function(E){if(E instanceof Ze)return E;if(typeof E!="string")return null;var L=E.match(a[q]);return L==null?null:me((L[1]||"0")+"."+(L[2]||"0")+"."+(L[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(S){if(e===setTimeout)return setTimeout(S,0);if((e===o||!e)&&setTimeout)return e=setTimeout,setTimeout(S,0);try{return e(S,0)}catch{try{return e.call(null,S,0)}catch{return e.call(this,S,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 S=a(f);d=!0;for(var I=c.length;I;){for(l=c,c=[];++u<I;)l&&l[u].run();u=-1,I=c.length}l=null,d=!1,(function(T){if(t===clearTimeout)return clearTimeout(T);if((t===s||!t)&&clearTimeout)return t=clearTimeout,clearTimeout(T);try{t(T)}catch{try{return t.call(null,T)}catch{return t.call(this,T)}}})(S)}}function y(S,I){this.fun=S,this.array=I}function v(){}n.nextTick=function(S){var I=new Array(arguments.length-1);if(arguments.length>1)for(var T=1;T<arguments.length;T++)I[T-1]=arguments[T];c.push(new y(S,I)),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(S){return[]},n.binding=function(S){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(S){throw new Error("process.chdir is not supported")},n.umask=function(){return 0}}])}));Ffe=Ue.exports.SEMVER_SPEC_VERSION,Wfe=Ue.exports.parse,wT=Ue.exports.valid,Ufe=Ue.exports.coerce,Nfe=Ue.exports.clean,Bfe=Ue.exports.inc,Vfe=Ue.exports.major,Hfe=Ue.exports.minor,$fe=Ue.exports.patch,Kfe=Ue.exports.prerelease,IT=Ue.exports.gt,qfe=Ue.exports.gte,zfe=Ue.exports.lt,jfe=Ue.exports.lte,bT=Ue.exports.eq,Gfe=Ue.exports.neq,Jfe=Ue.exports.cmp,Qfe=Ue.exports.compare,Xfe=Ue.exports.rcompare,Yfe=Ue.exports.compareIdentifiers,Zfe=Ue.exports.rcompareIdentifiers,eme=Ue.exports.compareBuild,tme=Ue.exports.sort,rme=Ue.exports.rsort,nme=Ue.exports.diff,ime=Ue.exports.validRange,ome=Ue.exports.satisfies,sme=Ue.exports.maxSatisfying,ame=Ue.exports.minSatisfying,lme=Ue.exports.minVersion,cme=Ue.exports.gtr,dme=Ue.exports.ltr,ume=Ue.exports.outside,pme=Ue.exports.intersects,fme=Ue.exports.SemVer,mme=Ue.exports.Comparator,hme=Ue.exports.Range});var uO,xT,PT=w(()=>{uO={activeComment:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.activeComment.d.ts"},agentSessionsWorkspace:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.agentSessionsWorkspace.d.ts"},agentsWindowConfiguration:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.agentsWindowConfiguration.d.ts"},aiRelatedInformation:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.aiRelatedInformation.d.ts"},aiSettingsSearch:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.aiSettingsSearch.d.ts"},aiTextSearchProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.aiTextSearchProvider.d.ts",version:2},authIssuers:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authIssuers.d.ts"},authLearnMore:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authLearnMore.d.ts"},authProviderSpecific:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authProviderSpecific.d.ts"},authSession:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authSession.d.ts"},authSessionAudience:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authSessionAudience.d.ts"},authenticationChallenges:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authenticationChallenges.d.ts"},browser:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.browser.d.ts"},canonicalUriProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.canonicalUriProvider.d.ts"},chatContextProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatContextProvider.d.ts"},chatDebug:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatDebug.d.ts",version:4},chatHooks:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatHooks.d.ts",version:6},chatInputNotification:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatInputNotification.d.ts"},chatOutputRenderer:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatOutputRenderer.d.ts"},chatParticipantAdditions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts",version:3},chatParticipantPrivate:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts",version:15},chatPromptFiles:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatPromptFiles.d.ts",version:2},chatProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatProvider.d.ts",version:5},chatReferenceBinaryData:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatReferenceBinaryData.d.ts"},chatReferenceDiagnostic:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatReferenceDiagnostic.d.ts"},chatSessionCustomizationProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatSessionCustomizationProvider.d.ts"},chatSessionsProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatSessionsProvider.d.ts",version:3},chatStatusItem:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatStatusItem.d.ts"},chatTab:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatTab.d.ts"},codeActionAI:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.codeActionAI.d.ts"},codeActionRanges:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.codeActionRanges.d.ts"},codiconDecoration:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.codiconDecoration.d.ts"},commentReactor:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentReactor.d.ts"},commentReveal:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentReveal.d.ts"},commentThreadApplicability:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts"},commentingRangeHint:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentingRangeHint.d.ts"},commentsDraftState:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentsDraftState.d.ts"},contribAccessibilityHelpContent:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribAccessibilityHelpContent.d.ts"},contribChatEditorInlineGutterMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribChatEditorInlineGutterMenu.d.ts"},contribCommentEditorActionsMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribCommentEditorActionsMenu.d.ts"},contribCommentPeekContext:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribCommentPeekContext.d.ts"},contribCommentThreadAdditionalMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribCommentThreadAdditionalMenu.d.ts"},contribCommentsViewThreadMenus:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribCommentsViewThreadMenus.d.ts"},contribDebugCreateConfiguration:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribDebugCreateConfiguration.d.ts"},contribDiffEditorGutterToolBarMenus:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribDiffEditorGutterToolBarMenus.d.ts"},contribEditSessions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribEditSessions.d.ts"},contribEditorContentMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribEditorContentMenu.d.ts"},contribLabelFormatterWorkspaceTooltip:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribLabelFormatterWorkspaceTooltip.d.ts"},contribLanguageModelToolSets:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribLanguageModelToolSets.d.ts"},contribMenuBarHome:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribMenuBarHome.d.ts"},contribMergeEditorMenus:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribMergeEditorMenus.d.ts"},contribMultiDiffEditorMenus:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribMultiDiffEditorMenus.d.ts"},contribNotebookStaticPreloads:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribNotebookStaticPreloads.d.ts"},contribRemoteHelp:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribRemoteHelp.d.ts"},contribShareMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribShareMenu.d.ts"},contribSourceControlArtifactGroupMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlArtifactGroupMenu.d.ts"},contribSourceControlArtifactMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlArtifactMenu.d.ts"},contribSourceControlHistoryItemMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlHistoryItemMenu.d.ts"},contribSourceControlHistoryTitleMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlHistoryTitleMenu.d.ts"},contribSourceControlInputBoxMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlInputBoxMenu.d.ts"},contribSourceControlTitleMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlTitleMenu.d.ts"},contribStatusBarItems:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribStatusBarItems.d.ts"},contribViewContainerTitle:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribViewContainerTitle.d.ts"},contribViewsRemote:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribViewsRemote.d.ts"},contribViewsWelcome:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribViewsWelcome.d.ts"},css:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.css.d.ts"},customEditorDiffs:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.customEditorDiffs.d.ts"},customEditorMove:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.customEditorMove.d.ts"},customEditorPriority:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.customEditorPriority.d.ts"},dataChannels:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.dataChannels.d.ts"},debugVisualization:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.debugVisualization.d.ts"},defaultChatParticipant:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts",version:4},devDeviceId:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.devDeviceId.d.ts"},diffCommand:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.diffCommand.d.ts"},diffContentOptions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.diffContentOptions.d.ts"},documentDiff:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.documentDiff.d.ts"},documentFiltersExclusive:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.documentFiltersExclusive.d.ts"},editSessionIdentityProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.editSessionIdentityProvider.d.ts"},editorHoverVerbosityLevel:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.editorHoverVerbosityLevel.d.ts"},editorInsets:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.editorInsets.d.ts"},embeddings:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.embeddings.d.ts"},envIsConnectionMetered:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.envIsConnectionMetered.d.ts"},environmentPower:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.environmentPower.d.ts"},extensionAffinity:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.extensionAffinity.d.ts"},extensionRuntime:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.extensionRuntime.d.ts"},extensionsAny:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.extensionsAny.d.ts"},externalUriOpener:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.externalUriOpener.d.ts"},fileSearchProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.fileSearchProvider.d.ts"},fileSearchProvider2:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.fileSearchProvider2.d.ts"},findFiles2:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.findFiles2.d.ts",version:2},findTextInFiles:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.findTextInFiles.d.ts"},findTextInFiles2:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.findTextInFiles2.d.ts"},fsChunks:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.fsChunks.d.ts"},inlineCompletionsAdditions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts"},interactive:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.interactive.d.ts"},interactiveWindow:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.interactiveWindow.d.ts"},ipc:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.ipc.d.ts"},languageModelCapabilities:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelCapabilities.d.ts"},languageModelPricing:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelPricing.d.ts"},languageModelProxy:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelProxy.d.ts"},languageModelSystem:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelSystem.d.ts"},languageModelThinkingPart:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelThinkingPart.d.ts",version:1},languageModelToolResultAudience:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelToolResultAudience.d.ts"},languageModelToolSupportsModel:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelToolSupportsModel.d.ts",version:1},languageStatusText:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageStatusText.d.ts"},mappedEditsProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts"},markdownAlertSyntax:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.markdownAlertSyntax.d.ts"},mcpServerDefinitions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.mcpServerDefinitions.d.ts",version:1},mcpToolDefinitions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.mcpToolDefinitions.d.ts"},multiDocumentHighlightProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.multiDocumentHighlightProvider.d.ts"},nativeWindowHandle:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.nativeWindowHandle.d.ts"},newSymbolNamesProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.newSymbolNamesProvider.d.ts"},notebookCellExecution:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookCellExecution.d.ts"},notebookControllerAffinityHidden:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookControllerAffinityHidden.d.ts"},notebookDeprecated:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookDeprecated.d.ts"},notebookExecution:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookExecution.d.ts"},notebookKernelSource:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookKernelSource.d.ts"},notebookLiveShare:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookLiveShare.d.ts"},notebookMessaging:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookMessaging.d.ts"},notebookMime:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookMime.d.ts"},notebookReplDocument:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookReplDocument.d.ts"},notebookVariableProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts"},portsAttributes:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.portsAttributes.d.ts"},profileContentHandlers:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.profileContentHandlers.d.ts"},quickDiffProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.quickDiffProvider.d.ts"},quickPickItemTooltip:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.quickPickItemTooltip.d.ts"},quickPickSortByLabel:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.quickPickSortByLabel.d.ts"},remoteCodingAgents:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.remoteCodingAgents.d.ts"},resolvers:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.resolvers.d.ts"},scmActionButton:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmActionButton.d.ts"},scmArtifactProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmArtifactProvider.d.ts"},scmHistoryProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts"},scmMultiDiffEditor:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmMultiDiffEditor.d.ts"},scmProviderOptions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmProviderOptions.d.ts"},scmSelectedProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmSelectedProvider.d.ts"},scmTextDocument:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmTextDocument.d.ts"},scmValidation:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmValidation.d.ts"},shareProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.shareProvider.d.ts"},speech:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.speech.d.ts"},statusBarItemTooltip:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.statusBarItemTooltip.d.ts"},tabInputMultiDiff:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tabInputMultiDiff.d.ts"},tabInputTextMerge:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tabInputTextMerge.d.ts"},taskExecutionTerminal:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.taskExecutionTerminal.d.ts"},taskPresentationGroup:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.taskPresentationGroup.d.ts"},taskProblemMatcherStatus:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.taskProblemMatcherStatus.d.ts"},taskRunOptions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.taskRunOptions.d.ts"},telemetry:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.telemetry.d.ts"},terminalCompletionProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalCompletionProvider.d.ts"},terminalDataWriteEvent:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalDataWriteEvent.d.ts"},terminalDimensions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalDimensions.d.ts"},terminalExecuteCommandEvent:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalExecuteCommandEvent.d.ts"},terminalQuickFixProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalQuickFixProvider.d.ts"},terminalSelection:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalSelection.d.ts"},terminalShellEnv:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalShellEnv.d.ts"},terminalTitle:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalTitle.d.ts"},testObserver:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.testObserver.d.ts"},testRelatedCode:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.testRelatedCode.d.ts"},textDocumentChangeReason:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textDocumentChangeReason.d.ts"},textEditorDiffInformation:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textEditorDiffInformation.d.ts"},textSearchComplete2:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textSearchComplete2.d.ts"},textSearchProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textSearchProvider.d.ts"},textSearchProvider2:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textSearchProvider2.d.ts"},timeline:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.timeline.d.ts"},tokenInformation:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tokenInformation.d.ts"},toolInvocationApproveCombination:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.toolInvocationApproveCombination.d.ts"},toolProgress:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.toolProgress.d.ts"},treeItemMarkdownLabel:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.treeItemMarkdownLabel.d.ts"},treeViewActiveItem:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.treeViewActiveItem.d.ts"},treeViewMarkdownMessage:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.treeViewMarkdownMessage.d.ts"},treeViewReveal:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.treeViewReveal.d.ts"},tunnelFactory:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tunnelFactory.d.ts"},tunnels:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tunnels.d.ts"},valueSelectionInQuickPick:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.valueSelectionInQuickPick.d.ts"},workspaceTrust:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.workspaceTrust.d.ts"}},xT=Object.freeze(uO)});function fO(i){return i=i.trim(),i==="*"||ET.test(i)}function $I(i){if(!fO(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(ET);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 KI(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=pO.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 mO(i,r,e){let t;typeof i=="string"?t=KI($I(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=KI($I(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 CT(i,r,e,t,n,o){let s=[];if(typeof t.publisher<"u"&&typeof t.publisher!="string")return s.push([We.Error,h(2395,null)]),s;if(typeof t.name!="string")return s.push([We.Error,h(2394,null,"name")]),s;if(typeof t.version!="string")return s.push([We.Error,h(2396,null,"version")]),s;if(!t.engines)return s.push([We.Error,h(2387,null,"engines")]),s;if(typeof t.engines.vscode!="string")return s.push([We.Error,h(2388,null,"engines.vscode")]),s;if(typeof t.extensionDependencies<"u"&&!HI(t.extensionDependencies))return s.push([We.Error,h(2390,null,"extensionDependencies")]),s;if(typeof t.extensionAffinity<"u"&&!HI(t.extensionAffinity))return s.push([We.Error,h(2389,null,"extensionAffinity")]),s;if(typeof t.activationEvents<"u"){if(!HI(t.activationEvents))return s.push([We.Error,h(2383,null,"activationEvents")]),s;if(typeof t.main>"u"&&typeof t.browser>"u")return s.push([We.Error,h(2384,null,"activationEvents","main","browser")]),s}if(typeof t.extensionKind<"u"&&typeof t.main>"u"&&s.push([We.Warning,h(2391,null,"extensionKind")]),typeof t.main<"u"){if(typeof t.main!="string")return s.push([We.Error,h(2392,null,"main")]),s;{let c=ce(e,t.main);Av(c,e)||s.push([We.Warning,h(2393,null,c.path,e.path)])}}if(typeof t.browser<"u"){if(typeof t.browser!="string")return s.push([We.Error,h(2385,null,"browser")]),s;{let c=ce(e,t.browser);Av(c,e)||s.push([We.Warning,h(2386,null,c.path,e.path)])}}if(!wT(t.version))return s.push([We.Error,h(2397,null)]),s;let a=[];if(!hO(i,r,t,n,a))for(let c of a)s.push([We.Error,c]);if(o&&t.enabledApiProposals?.length){let c=[];if(!gO([...t.enabledApiProposals],c))for(let d of c)s.push([We.Error,d])}return s}function hO(i,r,e,t,n){return t||typeof e.main>"u"&&typeof e.browser>"u"?!0:vO(i,r,e.engines.vscode,n)}function gO(i,r){if(i.length===0)return!0;let e=Array.isArray(r)?r:void 0,t=(Array.isArray(r)?void 0:r)??xT,n=[],o=cT(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(2381,null,n[0])):e.push(h(2382,null,n.slice(0,n.length-1).map(s=>`'${s}'`).join(", "),n[n.length-1]))),!1):!0}function vO(i,r,e,t=[]){let n=KI($I(e));if(!n)return t.push(h(2401,null,e)),!1;if(n.majorBase===0){if(!n.majorMustEqual||!n.minorMustEqual)return t.push(h(2399,null,e)),!1}else if(!n.majorMustEqual)return t.push(h(2400,null,e)),!1;return mO(i,r,n)?!0:(t.push(h(2398,null,i,e)),!1)}function HI(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 ET,pO,TT=w(()=>{It();_u();be();VI();op();PT();ET=/^(\^|>=)?((\d+)|x)\.((\d+)|x)\.((\d+)|x)(\-.*)?$/,pO=/^-(\d{4})(\d{2})(\d{2})(\d{2})?(\d{2})?$/});function _T(i,r,e,t){try{yO(i,r,e,t)}catch(n){i.error(n?.message??n)}return r}function yO(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(2364,null,u)}`);return}if(a&&(s==="title"||s==="category")&&v&&v!==m){let S={value:m,original:v};o[s]=S}else o[s]=m}}else if(Ge(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 kT=w(()=>{Me();be()});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 RT,AT,ap,ga,wc,Ic,Xh,qI=w(()=>{Yt();ge();Qr();ot();He();ii();yT();$();qe();Pe();Y();It();VI();_u();le();be();dn();BI();op();TT();ze();te();ne();cr();j();Od();sp();ri();ti();kT();(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})(RT||={});AT=M("IExtensionsScannerService"),ap=class extends _{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(Ic,o)),this.userExtensionsCachedScanner=this._register(this.instantiationService.createInstance(Ic,o)),this.extensionsScanner=this._register(this.instantiationService.createInstance(wc)),this._register(this.systemExtensionsCachedScanner.onDidChangeCache(()=>this._onDidChangeCache.fire(0))),this._register(this.userExtensionsCachedScanner.onDidChangeCache(()=>this._onDidChangeCache.fire(1)))}getTargetPlatform(){return this._targetPlatformPromise||(this._targetPlatformPromise=gT(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 ha&&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===U.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=>ma(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=ce(e,"package.json"),o=(await this.fileService.readFile(n)).value.toString(),s=JSON.parse(o);s.__metadata={...s.__metadata,...t},await this.fileService.writeFile(ce(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 ha&&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(),yr(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=xe(o.location.fsPath),l=xe(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&&IT(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(bT(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 jh;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(Dt(B(lt.asFileUri("").fsPath,"..",".build","builtInExtensions")));for(let c of n){let d=o[c.name]||"marketplace";switch(d){case"disabled":break;case"marketplace":s.push(ce(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),dt(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??yn),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 ga(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}}};ap=C([g(4,Mr),g(5,Is),g(6,Le),g(7,N),g(8,bn),g(9,Ae),g(10,At),g(11,qt)],ap);ga=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 yd(r.location,e.location)&&r.mtime===e.mtime&&yd(r.applicationExtensionslocation,e.applicationExtensionslocation)&&r.applicationExtensionslocationMtime===e.applicationExtensionslocationMtime&&r.profile===e.profile&&pn(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&&RT.equals(r.translations,e.translations)}},wc=class extends _{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&&zr(o.resource).indexOf(".")===0)return null;let s=new ga(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 dt(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 ga(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 dt(s)}async scanOneOrMultipleExtensions(e){try{if(await this.fileService.exists(ce(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}:`,yr(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,yr(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=Gh);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=hT(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,ga.createNlsConfiguration(e))}catch(m){this.logService.warn("Failed to translate manifest",yr(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=dT([...s.enabledApiProposals])),f}validate(e,t){let n=e.isValid,o=this.environmentService.isBuilt&&this.extensionsEnabledWithApiProposalVersion.includes(e.identifier.id.toLowerCase()),s=CT(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=ce(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(2365,null,t.path,s.message))),s}let o;try{o=JSON.parse(n)}catch(s){let a=[];Fn(n,a);for(let l of a)this.logService.error(this.formatMessage(e,h(2367,null,t.path,l.offset,l.length,Jh(l.error))));throw s}if(rs(o)!=="object"){let s=this.formatMessage(e,h(2368,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(2369,null,o.default?.path,Jh(c.error))))}),t;if(rs(o)!=="object")return this.logService.error(this.formatMessage(e,h(2366,null,o.default?.path))),t;let l=o.values||Object.create(null);return _T(this.logService,t,l,a)}catch{}return t}async getLocalizedMessages(e,t,n){let o=ce(e,"package.nls.json"),s=(d,u)=>{u.forEach(f=>{this.logService.error(this.formatMessage(e,h(2369,null,d?.path,Jh(f.error))))})},a=d=>{this.logService.error(this.formatMessage(e,h(2366,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=Fn(u,f);return f.length>0?(s(d,f),{values:void 0,default:o}):rs(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=Fn(f,m);return m.length>0?(s(u.localized,m),{values:void 0,default:u.original}):rs(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 Fn(n,t)}catch{}}findMessageBundles(e,t){return new Promise((n,o)=>{let s=a=>{let l=ce(e,`package.nls.${a}.json`);this.fileService.exists(l).then(c=>{c&&n({localized:l,original:ce(e,"package.nls.json")});let d=a.lastIndexOf("-");d===-1?n({localized:ce(e,"package.nls.json"),original:null}):(a=a.substring(0,d),s(a))})};if(t.devMode||t.pseudo||!t.language)return n({localized:ce(e,"package.nls.json"),original:null});s(t.language)})}formatMessage(e,t){return`[${e.path}]: ${t}`}};wc=C([g(0,Is),g(1,At),g(2,Le),g(3,Ae),g(4,bn),g(5,N)],wc);Ic=class extends wc{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 Rr(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&&ga.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:ei(n.input)}}catch(t){Jr(t)!==1&&this.logService.debug("Error while reading the extension cache file:",e.path,yr(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,yr(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(!pn(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?lT:aT)}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}};Ic=C([g(1,Mr),g(2,Is),g(3,At),g(4,Le),g(5,Ae),g(6,bn),g(7,N)],Ic);Xh=class extends ap{constructor(r,e,t,n,o,s,a,l,c,d,u,f){super(r,e,ce(t,".vscode-oss-dev","extensions","control.json"),n,o,s,a,l,c,d,u,f),this.translationsPromise=(async()=>{if(ev)try{let m=await this.fileService.readFile(P.file(ev));return JSON.parse(m.value.toString())}catch{}return Object.create(null)})()}getTranslations(r){return this.translationsPromise}}});var bc,LT=w(()=>{le();dn();sp();qI();ze();te();ne();cr();ti();ri();bc=class extends Xh{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)}};bc=C([g(0,Mr),g(1,Is),g(2,Le),g(3,N),g(4,br),g(5,Ae),g(6,At),g(7,qt)],bc)});var Sc,MT=w(()=>{$();_t();ni();ts();Lr();ge();jt();Sc=class extends _{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 Ir(()=>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??jo(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)}};Sc=C([g(0,ve),g(1,Br),g(2,$e)],Sc)});var Yh,OT=w(()=>{j();$();po();Yh=class extends _{constructor(e,t,n){super();this.storageMainService=e;this.userDataProfilesService=t;this.logService=n;let o=this._register(new St);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 Q;return e.add(x.debounce(this.storageMainService.applicationStorage.onDidChangeStorage,(t,n)=>(t?t.push(n.key):t=[n.key],t),100)(t=>this.onDidChangeApplicationStorage(t))),e.add(x.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=am(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=am(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 FT(i,r){let e=i.getItem(fm);return(typeof e!="string"||V&&e==="6c9d2bc8f91b89624add29c0abeae7fb42bf539fa1cdb2e3e57cd668fa9bcead")&&(e=await k0(r.error.bind(r))),e}async function WT(i,r){let e=i.getItem(mm);return typeof e!="string"&&(e=await R0(r.error.bind(r))),e}async function zI(i,r){let e=i.getItem(vu);return typeof e!="string"&&(e=await qm(r.error.bind(r))),Zp(e)}var UT=w(()=>{Y();Zt();Wu();nr()});async function NT(i,r){r.trace("Resolving machine identifier...");let e=await FT(i,r);return i.setItem(fm,e),r.trace(`Resolved machine identifier: ${e}`),e}async function BT(i,r){r.trace("Resolving SQM identifier...");let e=await WT(i,r);return i.setItem(mm,e),r.trace(`Resolved SQM identifier: ${e}`),e}async function VT(i,r){r.trace("Resolving devDevice identifier...");let e=await zI(i,r);return i.setItem(vu,e),r.trace(`Resolved devDevice identifier: ${e}`),e}async function HT(i,r){let e=await qm(r.error.bind(r)),t=await zI(i,r);e!==t&&i.setItem(vu,e)}var $T=w(()=>{Wu();nr();UT()});var xc,KT=w(()=>{ne();ri();ti();sp();ze();dn();le();xc=class extends yc{constructor(r,e,t,n,o){super(P.file(r.extensionsPath),e,t,n,o)}};xc=C([g(0,br),g(1,Le),g(2,Mr),g(3,At),g(4,N)],xc)});var Zh,qT=w(()=>{$();kr();le();ne();Zh=class extends _{constructor(e){super();this.loggerService=e;this.loggers=new yt;this._register(this.loggerService.onDidChangeLoggers(({removed:t})=>{for(let n of t)this.loggers.delete(n.resource)}))}listen(e,t,n){switch(t){case"onDidChangeLoggers":return n?this.loggerService.getOnDidChangeLoggersEvent(n):this.loggerService.onDidChangeLoggers;case"onDidChangeLogLevel":return n?this.loggerService.getOnDidChangeLogLevelEvent(n):this.loggerService.onDidChangeLogLevel;case"onDidChangeVisibility":return n?this.loggerService.getOnDidChangeVisibilityEvent(n):this.loggerService.onDidChangeVisibility}throw new Error(`Event not found: ${t}`)}async call(e,t,n){switch(t){case"createLogger":this.createLogger(P.revive(n[0]),n[1],n[2]);return;case"log":return this.log(P.revive(n[0]),n[1]);case"consoleLog":return this.consoleLog(n[0],n[1]);case"setLogLevel":return cu(n[0])?this.loggerService.setLogLevel(n[0]):this.loggerService.setLogLevel(P.revive(n[0]),n[1]);case"setVisibility":return this.loggerService.setVisibility(P.revive(n[0]),n[1]);case"registerLogger":return this.loggerService.registerLogger({...n[0],resource:P.revive(n[0].resource)},n[1]);case"deregisterLogger":return this.loggerService.deregisterLogger(P.revive(n[0]))}throw new Error(`Call not found: ${t}`)}createLogger(e,t,n){this.loggers.set(e,this.loggerService.createLogger(e,t,n))}consoleLog(e,t){let n=console.log;switch(e){case 5:n=console.error;break;case 4:n=console.warn;break;case 3:n=console.info;break}n.call(console,...t)}log(e,t){let n=this.loggers.get(e);if(n)for(let[o,s]of t)ol(n,o,s)}}});var jI,Pc,lp,zT=w(()=>{$();te();ne();jt();os();nr();Ei();j();ge();_t();jI=M("utilityProcessWorker"),Pc=class extends _{constructor(e,t,n,o){super();this.logService=e;this.windowsMainService=t;this.telemetryService=n;this.lifecycleMainService=o;this.workers=this._register(new Ct)}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 lp(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 Ot;return x.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}`),s.complete({reason:a}),this.workers.get(n)===o&&this.workers.deleteAndLeak(n),o.dispose()}),s.p}hash(e){return mr({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())}};Pc=C([g(0,N),g(1,$e),g(2,Ke),g(3,ve)],Pc);lp=class extends _{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 is(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()}};lp=C([g(0,N),g(1,$e),g(2,Ke),g(3,ve)],lp)});var jT,GT=w(()=>{jT="utilityProcessWorker"});var Cge,wO,GI,JI,Tge,Ec=w(()=>{te();wn();Cge=M("ptyService"),wO={Backend:"workbench.contributions.terminal.processBackend"},GI=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()??""}};pt.add(wO.Backend,new GI);JI=M("localPtyService"),Tge=M("terminalLogService")});var Cc,JT=w(()=>{Wt();Xd();_t();ne();xo();Ec();os();Uf();Ln();$();j();Qr();Me();rt();qe();Cc=class extends _{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())),Xe.on("vscode:createPtyHostMessageChannel",(a,l)=>this._onWindowConnection(a,l)),this._register(z(()=>{Xe.removeHandler("vscode:createPtyHostMessageChannel")}))}start(){this.utilityProcess=new ur(this._logService,Ui,this._lifecycleMainService);let e=Xx(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:U.file}).fsPath],env:this._createPtyHostConfiguration()});let n=this.utilityProcess.connect(),o=new qo(n,"ptyHost"),s=new Q;return s.add(o),s.add(z(()=>{this.utilityProcess?.kill(),this.utilityProcess?.dispose(),this.utilityProcess=void 0})),{client:o,store:s,onDidProcessExit:this.utilityProcess.onExit}}_createPtyHostConfiguration(){this._environmentMainService.unsetSnapExportedVariables();let e={...dr(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&&jn(t)&&(e.VSCODE_LATENCY=String(t));let n=this._configurationService.getValue("terminal.integrated.developer.ptyHost.startupDelay");return n&&jn(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])}};Cc=C([g(1,de),g(2,_e),g(3,ve),g(4,N)],Cc)});var Tc,QI=w(()=>{le();j();ne();$();Tc=class extends _{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 _c,QT=w(()=>{ge();Tt();j();$();ne();_c=class extends _{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(z(()=>{for(let n of this._pendingRequestDisposables.values())ht(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 Je;ut(this._timeout,s.token).then(()=>n(`Request ${o} timed out (${this._timeout}ms)`)),this._pendingRequestDisposables.set(o,[z(()=>s.cancel())])})}acceptReply(e,t){let n=this._pendingRequests.get(e);n?(this._pendingRequests.delete(e),ht(this._pendingRequestDisposables.get(e)||[]),this._pendingRequestDisposables.delete(e),n(t)):this._logService.warn(`RequestStore#acceptReply was called without receiving a matching request ${e}`)}};_c=C([g(1,N)],_c)});function XT(i,r){let e=[{name:null,description:h(2693,null)}];return e.push(...i.map(t=>({name:t.profileName,description:IO(t)}))),r&&e.push(...r.map(t=>({name:t.title,description:bO(t)}))),{values:e.map(t=>t.name),markdownDescriptions:e.map(t=>t.description)}}function IO(i){let r=`$(${pc.isThemeIcon(i.icon)?i.icon.id:i.icon?i.icon:gt.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 bO(i){return`$(${pc.isThemeIcon(i.icon)?i.icon.id:i.icon?i.icon:gt.terminal.id}) ${i.title}
- extensionIdentifier: ${i.extensionIdentifier}`}var YT=w(()=>{rp();le();be();DI();Me()});function YI(i){let r=i===2?"linux":i===1?"osx":"windows";return h(2672,null,Ap(i),'```json\n"terminal.integrated.profile.'+r+'": {\n  "bash": null\n}\n```',"[","](https://code.visualstudio.com/docs/terminal/profiles)")}function ZT(){pt.as(Ft.Configuration).registerConfiguration(PO),EO()}function EO(i,r){let e=pt.as(Ft.Configuration),t;i&&(t=XT(i?.profiles,r));let n=ZI;ZI={id:"terminal",order:100,title:h(2676,null),type:"object",properties:{"terminal.integrated.defaultProfile.linux":{restricted:!0,markdownDescription:h(2667,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(2668,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(2669,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:[ZI],remove:n?[n]:[]})}var SO,xO,Rc,XI,kc,PO,ZI,e_=w(()=>{rp();Y();be();Zn();wn();Ec();YT();SO={type:["string","null"],enum:["terminal.ansiBlack","terminal.ansiRed","terminal.ansiGreen","terminal.ansiYellow","terminal.ansiBlue","terminal.ansiMagenta","terminal.ansiCyan","terminal.ansiWhite"],default:null},xO={type:"string",enum:Array.from(RI(),i=>i.id),markdownEnumDescriptions:Array.from(RI(),i=>`$(${i.id})`)},Rc={args:{description:h(2677,null),type:"array",items:{type:"string"}},icon:{description:h(2680,null),...xO},color:{description:h(2678,null),...SO},env:{markdownDescription:h(2679,null),type:"object",additionalProperties:{type:["string","null"]},default:{}}},XI={type:"object",required:["path"],properties:{path:{description:h(2688,null),type:["string","array"],items:{type:"string"}},overrideName:{description:h(2687,null),type:"boolean"},...Rc}},kc={type:"object",required:["path"],properties:{path:{description:h(2675,null),type:["string"],items:{type:"string"}},...Rc}};PO={id:"terminal",order:100,title:h(2676,null),type:"object",properties:{"terminal.integrated.automationProfile.linux":{restricted:!0,markdownDescription:h(2663,null),type:["object","null"],default:null,anyOf:[{type:"null"},kc],defaultSnippets:[{body:{path:"${1}",icon:"${2}"}}]},"terminal.integrated.automationProfile.osx":{restricted:!0,markdownDescription:h(2664,null),type:["object","null"],default:null,anyOf:[{type:"null"},kc],defaultSnippets:[{body:{path:"${1}",icon:"${2}"}}]},"terminal.integrated.automationProfile.windows":{restricted:!0,markdownDescription:h(2665,null,"`terminal.integrated.automationShell.windows`"),type:["object","null"],default:null,anyOf:[{type:"null"},kc],defaultSnippets:[{body:{path:"${1}",icon:"${2}"}}]},"terminal.integrated.agentHostProfile.linux":{restricted:!0,markdownDescription:h(2660,null,"`#terminal.integrated.profiles.linux#`","`#terminal.integrated.defaultProfile.linux#`"),type:["string","object","null"],default:null,anyOf:[{type:"null"},{type:"string"},kc],defaultSnippets:[{body:{path:"${1}",icon:"${2}"}}]},"terminal.integrated.agentHostProfile.osx":{restricted:!0,markdownDescription:h(2661,null,"`#terminal.integrated.profiles.osx#`","`#terminal.integrated.defaultProfile.osx#`"),type:["string","object","null"],default:null,anyOf:[{type:"null"},{type:"string"},kc],defaultSnippets:[{body:{path:"${1}",icon:"${2}"}}]},"terminal.integrated.agentHostProfile.windows":{restricted:!0,markdownDescription:h(2662,null,"`#terminal.integrated.profiles.windows#`","`#terminal.integrated.defaultProfile.windows#`"),type:["string","object","null"],default:null,anyOf:[{type:"null"},{type:"string"},kc],defaultSnippets:[{body:{path:"${1}",icon:"${2}"}}]},"terminal.integrated.profiles.windows":{restricted:!0,markdownDescription:YI(3),type:"object",default:{PowerShell:{source:"PowerShell",icon:gt.terminalPowershell.id},"Command Prompt":{path:["${env:windir}\\Sysnative\\cmd.exe","${env:windir}\\System32\\cmd.exe"],args:[],icon:gt.terminalCmd.id},"Git Bash":{source:"Git Bash",icon:gt.terminalGitBash.id}},additionalProperties:{anyOf:[{type:"object",required:["source"],properties:{source:{description:h(2692,null),enum:["PowerShell","Git Bash"]},...Rc}},{type:"object",required:["extensionIdentifier","id","title"],properties:{extensionIdentifier:{description:h(2690,null),type:"string"},id:{description:h(2689,null),type:"string"},title:{description:h(2691,null),type:"string"},...Rc}},{type:"null"},XI]}},"terminal.integrated.profiles.osx":{restricted:!0,markdownDescription:YI(1),type:"object",default:{bash:{path:"bash",args:["-l"],icon:gt.terminalBash.id},zsh:{path:"zsh",args:["-l"]},fish:{path:"fish",args:["-l"]},tmux:{path:"tmux",icon:gt.terminalTmux.id},pwsh:{path:"pwsh",icon:gt.terminalPowershell.id}},additionalProperties:{anyOf:[{type:"object",required:["extensionIdentifier","id","title"],properties:{extensionIdentifier:{description:h(2685,null),type:"string"},id:{description:h(2684,null),type:"string"},title:{description:h(2686,null),type:"string"},...Rc}},{type:"null"},XI]}},"terminal.integrated.profiles.linux":{restricted:!0,markdownDescription:YI(2),type:"object",default:{bash:{path:"bash",icon:gt.terminalBash.id},zsh:{path:"zsh"},fish:{path:"fish"},tmux:{path:"tmux",icon:gt.terminalTmux.id},pwsh:{path:"pwsh",icon:gt.terminalPowershell.id}},additionalProperties:{anyOf:[{type:"object",required:["extensionIdentifier","id","title"],properties:{extensionIdentifier:{description:h(2682,null),type:"string"},id:{description:h(2681,null),type:"string"},title:{description:h(2683,null),type:"string"},...Rc}},{type:"null"},XI]}},"terminal.integrated.useWslProfiles":{description:h(2674,null),type:"boolean",default:!0},"terminal.integrated.inheritEnv":{scope:1,description:h(2670,null),type:"boolean",default:!0},"terminal.integrated.persistentSessionScrollback":{scope:1,markdownDescription:h(2671,null),type:"number",default:100},"terminal.integrated.showLinkHover":{scope:1,description:h(2673,null),type:"boolean",default:!0},"terminal.integrated.ignoreProcessNames":{markdownDescription:h(2666,null,"`#terminal.integrated.confirmOnKill#`"),type:"array",items:{type:"string",uniqueItems:!0},default:["starship","oh-my-posh","bash","zsh"]}}}});import*as n_ from"fs";import*as i_ from"child_process";function o_(i,r,e,t,n=process.env,o,s,a,l){return o=o||{existsFile:ar.existsFile,readFile:n_.promises.readFile},W?CO(e,o,n,s,t.getValue("terminal.integrated.useWslProfiles")!==!1,i&&Ge(i)?{...i}:t.getValue("terminal.integrated.profiles.windows"),Oe(r)?r:t.getValue("terminal.integrated.defaultProfile.windows"),l,a):LO(o,s,e,i&&Ge(i)?{...i}:t.getValue(re?"terminal.integrated.profiles.linux":"terminal.integrated.profiles.osx"),Oe(r)?r:t.getValue(re?"terminal.integrated.defaultProfile.linux":"terminal.integrated.defaultProfile.osx"),l,a,n)}async function CO(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 Mf()>=19041;await _O(a);let f=new Map;if(i){f.set("PowerShell",{source:"PowerShell",icon:gt.terminalPowershell,isAutoDetected:!0}),f.set("Windows PowerShell",{path:`${d}\\WindowsPowerShell\\v1.0\\powershell.exe`,icon:gt.terminalPowershell,isAutoDetected:!0}),f.set("Git Bash",{source:"Git Bash",icon:gt.terminalGitBash,isAutoDetected:!0}),f.set("Command Prompt",{path:`${d}\\cmd.exe`,icon:gt.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:gt.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})}a_(o,f);let m=await s_(f.entries(),s,r,e,t,l);if(i&&n&&u)try{let y=await DO(`${d}\\wsl.exe`,s);for(let v of y)(!o||!Object.prototype.hasOwnProperty.call(o,v.profileName))&&m.push(v)}catch{t_&&(t?.trace("WSL is not installed, so could not detect WSL profiles"),t_=!1)}return m}async function s_(i,r,e,t=process.env,n,o){let s=[];for(let[a,l]of i)s.push(TO(a,l,r,e,t,n,o));return(await Promise.all(s)).filter(a=>!!a)}async function TO(i,r,e,t,n=process.env,o,s){if(r===null)return;let a,l,c;if(Dn(r,{source:!0})){let m=cp?.get(r.source);if(!m)return;a=m.paths,l=r.args||m.args,r.icon?c=r_(r.icon):m.icon&&(c=m.icon)}else a=Array.isArray(r.path)?r.path:[r.path],l=W||Array.isArray(r.args)?r.args:void 0,c=r_(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 tg(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 r_(i){return Oe(i)?{id:i}:i}async function _O(i){if(cp&&!i)return;let[r,e]=await Promise.all([kO(),i||RO()]);cp=new Map,cp.set("Git Bash",{profileName:"Git Bash",paths:r,args:["--login","-i"]}),cp.set("PowerShell",{profileName:"PowerShell",paths:e,icon:gt.terminalPowershell})}async function kO(){let i=new Set,r=await Io("git.exe");if(r){let n=tt(r);i.add(_r(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 RO(){let i=[];for await(let r of Uw())i.push(r.exePath);return i}async function DO(i,r){let e=[],t=await new Promise((o,s)=>{i_.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:AO(o),isAutoDetected:!1};e.push(a)}return e}function AO(i){return i.includes("Ubuntu")?gt.terminalUbuntu:i.includes("Debian")?gt.terminalDebian:gt.terminalLinux}async function LO(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=xe(f),y=u.get(m)||0;y++,y>1&&(m=`${m} (${y})`),u.set(m,y),l.set(m,{path:f,isAutoDetected:!0})}}return a_(t,l),await s_(l.entries(),n,i,a,r,s)}function a_(i,r){if(i)for(let[e,t]of Object.entries(i))t===null||!Ge(t)||!Dn(t,{path:!0})&&!Dn(t,{source:!0})?r.delete(e):(t.icon=t.icon||r.get(e)?.icon,r.set(e,t))}async function tg(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 tg(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(xe(f)===f){let v=n.PATH?n.PATH.split(Np):void 0,S=await Io(f,void 0,v,void 0,t.existsFile);return S?(m.path=S,m.isFromPath=!0,m):tg(i,r,e,t,n,o)}return await t.existsFile(Dt(f))?m:tg(i,r,e,t,n,o,s,a,l)}var cp,t_,l_=w(()=>{rp();Pe();Y();oa();Me();lr();Nw();Ec();nl();t_=!0});var Dc,c_=w(()=>{j();$();Y();Pi();rt();ne();QI();zu();QT();Ec();e_();l_();$w();As();Dc=class extends _{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;ZT(),this._register(this._ptyHostStarter),this._register(z(()=>this._disposePtyHost())),this._resolveVariablesRequestStore=this._register(new _c(void 0,this._logService)),this._register(this._resolveVariablesRequestStore.onCreateRequest(this._onPtyHostRequestResolveVariables.fire,this._onPtyHostRequestResolveVariables)),this._ptyHostStarter.onRequestConnection&&this._register(x.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(W)return process.env;try{return await ds(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/,"")),nt.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=nt.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 Tc(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 an,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)??Ym(e??Bt,process.env)}async getProfiles(e,t,n,o=!1){let s=await this._resolveShellEnv();return o_(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)}};Dc=C([g(1,de),g(2,N),g(3,un)],Dc)});function d_(i){return!Xt&&!!i.getValue(eb)}function u_(i,r){let e={},t=(n,o)=>{o===void 0||o===""||r[n]!==void 0||(e[n]=o)};return i.enabled&&t(Ac.Enabled,"true"),t(Ac.ExporterType,i.exporterType),t(Ac.OtlpEndpoint,i.otlpEndpoint),t(Ac.FilePath,i.outfile),i.captureContent!==void 0&&t(Ac.CaptureContent,i.captureContent?"true":"false"),i.dbSpanExporterEnabled&&t(Ac.DbSpanExporterEnabled,"true"),e}var eb,rg,ng,tb,ig,og,sg,ag,lg,cg,Ac,OO,Oye,Fye,Lc=w(()=>{Y();le();te();eb="chat.agentHost.enabled";rg="chat.agentHost.rubberDuck.enabled",ng="chat.agentHost.claudeAgent.path",tb="VSCODE_AGENT_HOST_CLAUDE_SDK_PATH",ig="chat.agentHost.otel.enabled",og="chat.agentHost.otel.exporterType",sg="chat.agentHost.otel.otlpEndpoint",ag="chat.agentHost.otel.captureContent",lg="chat.agentHost.otel.outfile",cg="chat.agentHost.otel.dbSpanExporter.enabled",Ac=Object.freeze({Enabled:"COPILOT_OTEL_ENABLED",ExporterType:"COPILOT_OTEL_EXPORTER_TYPE",OtlpEndpoint:"OTEL_EXPORTER_OTLP_ENDPOINT",OtlpEndpointAlt:"COPILOT_OTEL_ENDPOINT",OtlpProtocol:"OTEL_EXPORTER_OTLP_PROTOCOL",OtlpHeaders:"OTEL_EXPORTER_OTLP_HEADERS",CaptureContent:"OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT",FilePath:"COPILOT_OTEL_FILE_EXPORTER_PATH",SourceName:"COPILOT_OTEL_SOURCE_NAME",DbSpanExporterEnabled:"COPILOT_OTEL_DB_SPAN_EXPORTER_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})(OO||={});Oye=M("agentService"),Fye=M("agentHostService")});var FO,p_=w(()=>{Y();be();Zn();Ws();wn();Lc();FO=pt.as(Ft.Configuration);FO.registerConfiguration({id:"chatAgentHost",title:h(1853,null),type:"object",properties:{[eb]:{type:"boolean",description:h(1852,null),default:!Xt&&er.quality!=="stable",tags:["experimental","advanced"]}}})});var WO,f_=w(()=>{be();Zn();Ws();wn();Lc();WO=pt.as(Ft.Configuration);WO.registerConfiguration({id:"chatAgentHostStarter",title:h(1895,null),type:"object",properties:{[rg]:{type:"boolean",description:h(1894,null),default:!1,tags:["experimental","advanced"],included:er.quality!=="stable"},[ng]:{type:"string",description:h(1887,null),default:"",tags:["experimental","advanced"],included:er.quality!=="stable"},[ig]:{type:"boolean",markdownDescription:h(1890,null),default:!1,tags:["experimental","advanced"]},[og]:{type:"string",enum:["otlp-http","otlp-grpc","console","file"],markdownDescription:h(1891,null),default:"otlp-http",tags:["experimental","advanced"]},[sg]:{type:"string",markdownDescription:h(1892,null),default:"",tags:["experimental","advanced"]},[ag]:{type:"boolean",markdownDescription:h(1888,null),default:!1,tags:["experimental","advanced"]},[lg]:{type:"string",markdownDescription:h(1893,null),default:"",tags:["experimental","advanced"]},[cg]:{type:"boolean",markdownDescription:h(1889,null),default:!1,tags:["experimental","advanced"]}}})});var bs,m_=w(()=>{$();ge();j();Ln();Uf();rt();Wt();Xd();_t();ne();qe();zu();xo();os();Lc();Qr();p_();f_();bs=class extends _{constructor(e,t,n,o){super();this._configurationService=e;this._environmentMainService=t;this._lifecycleMainService=n;this._logService=o;this.utilityProcess=void 0;this.utilityProcessStarted=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 s=(a,l)=>this._onWindowConnection(a,l);Xe.on("vscode:createAgentHostMessageChannel",s),this._register(z(()=>{Xe.removeListener("vscode:createAgentHostMessageChannel",s)}))}async start(){this.utilityProcess=new ur(this._logService,Ui,this._lifecycleMainService),this.utilityProcessStarted=new Ot;let e=Yx(this._environmentMainService.args,this._environmentMainService.isBuilt),t=e.port?["--nolazy",`--inspect${e.break?"-brk":""}=${e.port}`]:void 0,n=await this._resolveShellEnv(),o=this._configurationService.getValue(ng)||process.env[tb]||"",s=u_({enabled:this._configurationService.getValue(ig),exporterType:this._configurationService.getValue(og),otlpEndpoint:this._configurationService.getValue(sg),captureContent:this._configurationService.getValue(ag),outfile:this._configurationService.getValue(lg),dbSpanExporterEnabled:this._configurationService.getValue(cg)},process.env),a=this._configurationService.getValue(rg),l=["--logsPath",this._environmentMainService.logsHome.with({scheme:U.file}).fsPath,"--user-data-dir",this._environmentMainService.userDataPath];this._environmentMainService.disableTelemetry&&l.push("--disable-telemetry"),this.utilityProcess.start({type:"agentHost",name:"agent-host",entryPoint:"vs/platform/agentHost/node/agentHostMain",execArgv:t,args:l,env:{...dr(process.env),...n,VSCODE_ESM_ENTRYPOINT:"vs/platform/agentHost/node/agentHostMain",VSCODE_PIPE_LOGGING:"true",VSCODE_VERBOSE_LOGGING:"true",...o?{[tb]:o}:{},...s,...a?{RUBBER_DUCK_AGENT:"true"}:{}}}),this.utilityProcessStarted.complete();let c=this.utilityProcess.connect(),d=new qo(c,"agentHost"),u=new Q;return u.add(d),u.add(this.utilityProcess.onStderr(f=>{this._isExpectedStderr(f)||this._logService.error(`[AgentHost:stderr] ${f}`)})),u.add(z(()=>{this.utilityProcess?.kill(),this.utilityProcess?.dispose(),this.utilityProcess=void 0,this.utilityProcessStarted=void 0})),{client:d,store:u,onDidProcessExit:this.utilityProcess.onExit}}async _resolveShellEnv(){try{return await ds(this._configurationService,this._logService,this._environmentMainService.args,process.env)}catch(e){return this._logService.error("AgentHostStarter was unable to resolve shell environment",e),{}}}async _onWindowConnection(e,t){if(this._onRequestConnection.fire(),await this.utilityProcessStarted?.p,!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 bs._expectedStderrPatterns.some(t=>e.includes(t))}};bs=C([g(0,de),g(1,_e),g(2,ve),g(3,N)],bs)});var Mc,h_=w(()=>{j();$();ne();QI();Lc();Mc=class extends _{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(x.once(this._starter.onRequestConnection)(()=>this._ensureStarted())),this._starter.onWillShutdown&&this._register(this._starter.onWillShutdown(()=>this._wasQuitRequested=!0))}_ensureStarted(){this._started||this._start()}async _start(){this._started=!0;try{let e=await this._starter.start();if(this._store.isDisposed){e.store.dispose();return}this._logService.info("AgentHostProcessManager: agent host started"),this._register(new Tc(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(z(()=>e.store.dispose()))}catch(e){this._started=!1,this._logService.error("AgentHostProcessManager: failed to start agent host",e)}}};Mc=C([g(1,N),g(2,un)],Mc)});var rb,g_,dg,v_=w(()=>{rb="request",g_="remoteResourceHandler",dg=class{async routeCall(r,e,t){if(e!==rb)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 UO}from"electron";var Oc,y_=w(()=>{Y();rt();Wt();_t();ne();Pn();Qo();ni();MI();Oc=class extends np{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=UO.fromWebContents(this.webContents);t&&(this.logService.trace("[aux window] Claimed browser window instance"),this.setWin(t,e),t.setMenu(null),(W||re)&&Jo(this.configurationService,e?.titleBarStyle==="hidden"?"custom":void 0)&&t.setAutoHideMenuBar(!0),this.lifecycleMainService.registerAuxWindow(this))}matches(e){return this.webContents.id===e.id}};Oc=C([g(1,_e),g(2,N),g(3,de),g(4,Lt),g(5,ve)],Oc)});import{BrowserWindow as NO,app as BO}from"electron";var Fc,w_=w(()=>{j();$();qe();Ln();y_();te();ne();ni();jt();Fc=class extends _{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(){BO.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 Q;o.add(x.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(x.fromNodeEventEmitter(t,"closed")(()=>o.dispose()))}}),Xe.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(ml,t,n,{preload:lt.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=hl.validateWindowState(this.logService,t)??PP();return this.logService.trace("[aux window] using window state",s),{state:s,overrides:n}}registerWindow(e){let t=new Q,n=this.instantiationService.createInstance(Oc,e);this.windows.set(n.id,n),t.add(z(()=>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}))),x.once(n.onDidClose)(()=>t.dispose())}getWindowByWebContents(e){let t=this.windows.get(e.id);return t?.matches(e)?t:void 0}getFocusedWindow(){let e=NO.getFocusedWindow();if(e)return this.getWindowByWebContents(e.webContents)}getLastActiveWindow(){return pm(Array.from(this.windows.values()))}getWindows(){return Array.from(this.windows.values())}};Fc=C([g(0,qt),g(1,N)],Fc)});var nb,I_,b_=w(()=>{te();nb=M("INativeMcpDiscoveryHelperService"),I_="NativeMcpDiscoveryHelper"});import{homedir as VO}from"os";var ug,S_=w(()=>{Y();le();ug=class{constructor(){}load(){return Promise.resolve({platform:qi,homedir:P.file(VO()),winAppData:this.uriFromEnvVariable("APPDATA"),xdgHome:this.uriFromEnvVariable("XDG_CONFIG_HOME")})}uriFromEnvVariable(r){let e=process.env[r];if(e)return P.file(e)}}});var dp,x_,P_,ib=w(()=>{te();dp=M("IMcpGatewayService"),x_="mcpGateway",P_="mcpGatewayToolBroker"});function HO(i){return"method"in i&&"id"in i&&(typeof i.id=="string"||typeof i.id=="number")}function ob(i){return Dn(i,{id:!0,result:!0})||Dn(i,{id:!0,error:!0})}function sb(i){return Dn(i,{method:!0})&&!Dn(i,{id:!0})}function $O(i){return typeof i=="object"&&i!==null&&"then"in i&&typeof i.then=="function"}var Vn,Wc,ab=w(()=>{ge();Tt();He();$();Me();Vn=class extends Error{constructor(e,t,n){super(t);this.code=e;this.data=n}},Wc=class i extends _{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=Te.None,n){if(this._store.isDisposed)return Promise.reject(new Et);let o=this._nextRequestId++,s=new Ot,a=new Je;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(ob(e)){Dn(e,{result:!0})?this._handleResult(e):this._handleError(e);return}if(HO(e))return this._handleRequest(e);sb(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 Vn(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 Je;this._register(z(()=>t.dispose(!0)));try{let n=this._handlers.handleRequest(e,t.token),o=$O(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 Vn?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 E_(i){let r=Array.isArray(i)?i[0]:i;return!r||!Dn(r,{method:!0})?!1:r.method==="initialize"}var KO,qO,zO,jO,up,pg,C_=w(()=>{ab();$();Me();KO="2025-11-25",qO=["2025-11-25","2025-06-18","2025-03-26","2024-11-05","2024-10-07"],zO=-32600,jO=-32601,up=-32602,pg=class extends _{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 Wc(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(ob(e)){this._logService.debug(`[McpGateway][session ${this.id}] --> response: ${JSON.stringify(e)}`);return}if(sb(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 Vn(zO,"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 Vn(jO,`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&&qO.includes(n)?n:KO;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 Vn(up,"Missing tool call params");if(t.arguments&&typeof t.arguments!="object")throw new Vn(up,"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 Vn(up,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 Vn(up,"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 Vn(up,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 Uc,lb,T_=w(()=>{ge();j();ab();$();le();tr();ne();C_();Uc=class extends _{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=ke(),o=new Set,s=new Map;this._gatewayRoutes.set(n,o),this._gatewayServerRoutes.set(n,s);let a=new Q;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=ke(),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 lb(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 Ot;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()}};Uc=C([g(0,un)],Uc);lb=class i extends _{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(Wc.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(!E_(t)){this._respondHttpError(n,400,"Missing Mcp-Session-Id header");return}let o=ke();this._logger.info(`[McpGateway][route ${this.routeId}] Creating new session ${o}`);let s=new pg(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 GO(i,r){return i.getChannel(P_,e=>e.ctx===r)}var Nc,__=w(()=>{j();$();ne();ib();Nc=class extends _{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 Ct);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=GO(this._ipcServer,e),l=await a.call("listServers"),c=a.listen("onDidChangeServers"),d=await this.mcpGatewayService.createGateway(e,{onDidChangeServers:x.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 Q;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}`)}};Nc=C([g(1,dp),g(2,un)],Nc)});var cb,zIe,k_=w(()=>{te();cb=M("IWebContentExtractorService"),zIe=M("ISharedWebContentExtractorService")});function D_(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(JO.has(a)||!QO.has(a))return}return o?`*.${s}`:s}}function XO(i){let r=i.trim();if(r==="*"||!r.includes("://"))return r;try{return P.parse(r).authority}catch{return r}}function R_(i,r){let e=D_(XO(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 db(i){return D_(i.authority,!0)}function A_(i,r,e){return r.length===0&&e.length===0||e.some(t=>R_(i,t))?!1:r.length===0?!0:r.some(t=>R_(i,t))}var JO,QO,L_=w(()=>{le();JO=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"]),QO=new Set(["ai","cloud","com","dev","io","me","net","org","tech"])});var M_=w(()=>{});var fg,Bc,ub=w(()=>{j();$();kr();be();rt();te();L_();M_();fg=M("agentNetworkFilterService"),Bc=class extends _{constructor(e){super();this.configurationService=e;this.networkFilterEnabled=!1;this.allowedPatterns=[];this.deniedPatterns=[];this.domainCache=new Rn(100);this.onDidChangeEmitter=this._register(new b);this.onDidChange=this.onDidChangeEmitter.event;this.readConfiguration(),this._register(this.configurationService.onDidChangeConfiguration(t=>{(t.affectsConfiguration("chat.agent.networkFilter")||t.affectsConfiguration("chat.agent.allowedNetworkDomains")||t.affectsConfiguration("chat.agent.deniedNetworkDomains"))&&(this.readConfiguration(),this.onDidChangeEmitter.fire())}))}readConfiguration(){let e=this.configurationService.getValue("chat.agent.networkFilter")??!1;this.networkFilterEnabled=e,this.allowedPatterns=this.configurationService.getValue("chat.agent.allowedNetworkDomains")??[],this.deniedPatterns=this.configurationService.getValue("chat.agent.deniedNetworkDomains")??[],this.domainCache.clear()}isUriAllowed(e){if(!this.shouldFilter()||e.scheme==="file"||!e.authority)return!0;let t=db(e);if(!t)return!0;let n=this.domainCache.get(t);return n===void 0&&(n=A_(t,this.allowedPatterns,this.deniedPatterns),this.domainCache.set(t,n)),n}shouldFilter(){return this.networkFilterEnabled}formatError(e){let t=db(e);return h(2568,null,t??e.authority,"chat.agent.allowedNetworkDomains","chat.agent.deniedNetworkDomains")}};Bc=C([g(0,de)],Bc)});function pb(i){let r=typeof i=="string"?P.parse(i):i;return r.with({path:r.path.replace(/\/+$/,""),query:null,fragment:null})}function O_(i,r){let e=pb(i),t;if(/^[^./:]*:\/\//.test(r))t=pb(r);else{if(e.scheme!=="http"&&e.scheme!=="https")return!1;t=pb(`${e.scheme}://${r}`)}return fb(e.scheme,t.scheme)&&fb(e.authority,t.authority,!0)&&(t.path==="/"||fb(e.path,t.path))}function fb(i,r,e=!1){let t=Array.from({length:i.length+1}).map(()=>Array.from({length:r.length+1}).map(()=>{}));return To(t,e,i,r,0,0)}function To(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(To(i,r,e,t,n+1,o+1)),t[o]+t[o+1]==="*."&&(["/",":"].includes(e[n])||s.push(To(i,r,e,t,n+1,o)),(n===0||e[n-1]===".")&&s.push(To(i,r,e,t,n,o+2))),t[o]==="*"&&(n+1===e.length?s.push(To(i,r,e,t,n+1,o+1)):s.push(To(i,r,e,t,n+1,o)),s.push(To(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(To(i,r,e,t,a,o+2))}else s.push(To(i,r,e,t,n,o+2));return i[n][o]=s.some(a=>a===!0)}var F_=w(()=>{le()});function U_(i,r){if(i=P.parse(W_(i)),r=r.map(W_),tF(i.authority))return!0;for(let e=0;e<r.length;e++)if(r[e]==="*"||O_(i,r[e]))return!0;return!1}function W_(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 tF(i){return YO.test(i)||ZO.test(i)||eF.test(i)}var YO,ZO,eF,N_=w(()=>{le();F_();YO=/^(.+\.)?localhost(:\d+)?$/i,ZO=/^127\.0\.0\.1(:\d+)?$/,eF=/^(\[::1\]|\[0:0:0:0:0:0:0:1\])(:\d+)?$/});var mg,B_=w(()=>{kr();It();mg=class i{constructor(){this._cache=new Rn(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}${Ha.getComparisonKey(r)}`}}});function rF(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 H_(i,r){let e=rF(r);if(e.length===0)return"";let t=[],n=[];for(let s of e){let a=nF(i,s),l=uF(s);a.trim().length>0&&t.push(a),n.push(...l)}return t.join(`

`)+(n.length>0?`

## Additional Links
`+n.join(`
`):"")}function nF(i,r){let e=[];return _o(i,r,e,0,!0),e.join("")}function _o(i,r,e,t,n){switch(ko(r.node)){case"navigation":return;case"heading":aF(i,r,e,t);return;case"paragraph":sF(i,r,e,t,n);return;case"list":e.push(`
`);for(let s of r.children)_o(i,s,e,t+1,!0);e.push(`
`);return;case"ListMarker":e.push(Vi(r.node,n));return;case"listitem":{let s=[];for(let l of r.children)_o(i,l,s,t+1,!0);let a=hb(r.node)>1?" ".repeat(hb(r.node)):"";e.push(`${a}${s.join("").trim()}
`);return}case"link":if(!$_(r)){let s=Vi(r.node,n),a=gb(r.node);oF(i,r.node)?e.push(s):e.push(`[${s}](${a})`)}return;case"StaticText":{let s=Vi(r.node,n);s&&e.push(s);break}case"image":{let s=Vi(r.node,n)||"Image",a=iF(r.node);a?e.push(`![${s}](${a})

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

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

`);break;case"generic":e.push(" ");break;case"code":{dF(i,r,e,t);return}case"pre":e.push("```\n"+Vi(r.node,!1)+"\n```\n\n");break;case"table":cF(r,e);return}for(let s of r.children)_o(i,s,e,t+1,n)}function ko(i){return i.role?.value||""}function Vi(i,r){let e=i.name?.value||i.value?.value||"";if(!r||e.length<=mb)return e;let t=e.split(""),n=-1;for(let o=1;o<t.length;o++)t[o]===" "&&(n=o),o%mb===0&&n!==-1&&(t[n]=`
`,n=o);return t.join("")}function hb(i){let r=i.properties?.find(e=>e.name==="level");return r?Math.min(Number(r.value.value)||1,6):1}function gb(i){return i.properties?.find(e=>e.name==="url")?.value.value||"#"}function iF(i){return i.properties?.find(e=>e.name==="url")?.value.value||null}function $_(i){let r=i;for(;r;){let e=ko(r.node);if(["navigation","menu","menubar"].includes(e))return!0;r=r.parent}return!1}function oF(i,r){let e=gb(r);try{let t=P.parse(e);return t.scheme===i.scheme&&t.authority===i.authority&&t.path===i.path}catch{return!1}}function sF(i,r,e,t,n){e.push(`
`);for(let o of r.children)_o(i,o,e,t+1,n);e.push(`

`)}function aF(i,r,e,t){e.push(`
`);let n=hb(r.node);e.push(`${"#".repeat(n)} `);for(let o of r.children)ko(o.node)==="StaticText"?e.push(Vi(o.node,!1)):_o(i,o,e,t+1,!1);e.push(`

`)}function lF(i,r,e,t){e.push(`
`);for(let n of r.children)if(ko(n.node)==="term"){e.push("- **");for(let o of n.children)_o(i,o,e,t+1,!0);e.push("** ")}else if(ko(n.node)==="definition"){for(let o of n.children)_o(i,o,e,t+1,!0);e.push(`
`)}e.push(`
`)}function V_(i){return i==="cell"||i==="gridcell"||i==="columnheader"||i==="rowheader"}function cF(i,r){r.push(`
`);let e=i.children.filter(t=>ko(t.node).includes("row"));if(e.length>0){let t=e[0].children.filter(o=>V_(ko(o.node))),n=t.map(o=>Vi(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=>V_(ko(l.node))).map(l=>Vi(l.node,!1)||" ");r.push("| "+a.join(" | ")+` |
`)}}r.push(`
`)}function dF(i,r,e,t){let n=[];for(let s of r.children)_o(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>mb&&(e.push(`
`),s=0),e.push(a),e.push("`")}}function uF(i){let r=[];return K_(i,r),r}function K_(i,r){if(ko(i.node)==="link"&&$_(i)){let t=Vi(i.node,!0),n=gb(i.node),o=i.node.description?.value||"";r.push(`- [${t}](${n})${o?" - "+o:""}`)}for(let t of i.children)K_(t,r)}var mb,q_=w(()=>{le();mb=80});var hg,z_=w(()=>{ge();Tt();_a();$();le();tr();q_();hg=class i extends _{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 An);this._timeout=this._register(new bd);this._idleDebounceTimer=this._register(new bd);this._onResult=e=>{};this._didFinishLoad=!1;this._window=e({width:800,height:600,show:!1,webPreferences:{partition:ke(),javascript:!0,offscreen:!0,sandbox:!0,webgl:!1}}),this._register(z(()=>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=Gi(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 Ov(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 Je;try{await Ov((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 H_(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 pF}from"electron";var Vc,j_=w(()=>{ge();$();ne();ub();N_();B_();z_();Vc=class extends _{constructor(e,t){super();this._logger=e;this._agentNetworkFilterService=t;this._limiter=new Id(3);this._webContentsCache=new mg;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 hg(s=>new pF(s),this._logger,e,t,s=>U_(s,t?.trustedDomains||[]),this._agentNetworkFilterService);try{let s=await o.load();return this._webContentsCache.add(e,t,s),s}finally{o.dispose()}}};Vc=C([g(0,N),g(1,fg)],Vc)});var G_,gg,J_=w(()=>{Y();te();G_=M("terminalSandboxService"),gg=class{async isEnabled(){return!1}async isSandboxAllowNetworkEnabled(){return!1}async getOS(){return Bt}async checkForSandboxingPrereqs(){return{enabled:!1,sandboxConfigPath:void 0,failedCheck:void 0}}async 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 fF(i){if(!i||typeof i!="object")return{callstack:void 0,msg:Am(i)};let r=Array.isArray(i.stack)?i.stack.join(`
`):i.stack,e=i.message?i.message:Am(i);return{callstack:r,msg:e}}var Q_,pp,X_=w(()=>{Yt();He();j();$();Qr();ze();(r=>{function i(e,t){return e.callstack<t.callstack?-1:e.callstack>t.callstack?1:0}r.compare=i})(Q_||={});pp=class i{constructor(r,e=i.ERROR_FLUSH_TIMEOUT){this._flushHandle=void 0;this._buffer=[];this._disposables=new Q;this._telemetryService=r,this._flushDelay=e;let t=ks.addListener(n=>this._onErrorEvent(n));this._disposables.add(z(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),sn.isErrorNoTelemetry(r)||r instanceof rr||Vp.is(r)||typeof r?.message=="string"&&r.message.includes("Unable to read file")))return;let{callstack:e,msg:t}=fF(r);if(!e)return;let n={msg:t,callstack:e};Wa.is(r)&&(n.kind=r.kind,n.listenerCount=r.listenerCount),this._enqueue(n)}_enqueue(r){let e=_S(this._buffer,r,Q_.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 va,Y_=w(()=>{He();X_();nr();va=class extends pp{constructor(e,t){super(t);this.logService=e}installErrorListeners(){Hp(e=>this.onUnexpectedError(e)),process.on("uncaughtException",e=>{bS(e)||ct(e)}),process.on("unhandledRejection",e=>ct(e))}onUnexpectedError(e){this.logService.error(`[uncaught exception in main]: ${e}`),e.stack&&this.logService.error(e.stack)}};va=C([g(1,Ke)],va)});import{app as Cn,BrowserWindow as mF,desktopCapturer as Z_,powerMonitor as Hc,protocol as ek,screen as Ss,session as ya,systemPreferences as tk}from"electron";import{hostname as hF,release as gF}from"os";var xs,rk=w(()=>{qa();Ln();nl();ot();No();j();Jg();ro();$();qe();Pe();Y();Me();le();tr();Bx();Pi();$x();Uf();Hy();be();El();FP();rt();NP();Tm();aw();ea();Nf();a0();Mu();d0();Ow();Z0();Wt();$l();zu();zw();fE();mE();yE();wE();IE();FE();ze();XE();vh();Xu();te();bh();ZE();tC();rC();_t();ne();sC();Bl();vs();vI();aC();lC();cr();Dl();wC();Ah();Pn();IC();Mi();yI();nr();bC();SC();xo();Wi();xC();PC();TC();_C();kC();OC();cI();FC();WC();NC();BC();$C();Qo();jt();nT();iT();Lr();Om();Zu();oT();ns();ci();sT();ts();sp();qI();LT();MT();OT();ge();Tt();$T();KT();qT();tc();zT();GT();Ec();JT();c_();m_();h_();Lc();v_();Ji();Wl();w_();xd();WI();b_();S_();ib();T_();__();k_();j_();ub();J_();Y_();xs=class extends _{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={[U.file]:"security.promptForLocalFileProtocolHandling",[U.vscodeRemote]:"security.promptForRemoteFileProtocolHandling"}}configureSession(){let e=v=>v?.startsWith(`${U.vscodeFileResource}://${Ba}`),t=v=>v?.startsWith(`${U.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"]);ya.defaultSession.setPermissionRequestHandler((v,S,I,T)=>t(T.requestingUrl)?I(o.has(S)):e(T.requestingUrl)?I(s.has(S)):I(!1)),ya.defaultSession.setPermissionCheckHandler((v,S,I,T)=>t(T.requestingUrl)?o.has(S):e(T.requestingUrl)?s.has(S):!1);let a,l=()=>{a=void 0};Ss.on("display-added",l),Ss.on("display-removed",l),Ss.on("display-metrics-changed",l),this._register(z(()=>{Ss.off("display-added",l),Ss.off("display-removed",l),Ss.off("display-metrics-changed",l)})),ya.defaultSession.setDisplayMediaRequestHandler(async(v,S)=>{try{let I=v.frame,T=I?mF.getAllWindows().find(O=>O.webContents.mainFrame===I):void 0,k=Ss.getAllDisplays()[0];if(T){let O=T.getBounds();k=Ss.getDisplayNearestPoint({x:O.x+O.width/2,y:O.y+O.height/2})}a||(a=await Z_.getSources({types:["screen"],thumbnailSize:{width:0,height:0}}));let A=a.find(O=>O.display_id===String(k.id));A||(a=await Z_.getSources({types:["screen"],thumbnailSize:{width:0,height:0}}),A=a.find(O=>O.display_id===String(k.id)));let oe=A??a[0];if(!oe){S({});return}S({video:oe})}catch{S({})}});let c=new Set([U.file,U.vscodeFileResource,U.vscodeRemoteResource,U.vscodeManagedRemoteResource,"devtools"]),d=v=>{for(let S=v;S;S=S.parent)if(S.url.startsWith(`${U.vscodeWebview}://`))return!0;return!1},u=v=>v.resourceType==="xhr"||d(v.frame),f=v=>{let S=v.frame;if(!S||!this.windowsMainService)return!1;let I=Ai();for(let T of I)if(S.processId===T.webContents.mainFrame.processId)return!0;return!1},m=(v,S)=>{if(v.path!=="/index.html")return!0;let I=S.frame;if(!I||!this.windowsMainService)return!1;for(let T of this.windowsMainService.getWindows())if(T.win&&I.processId===T.win.webContents.mainFrame.processId)return!0;return!1};ya.defaultSession.webRequest.onBeforeRequest((v,S)=>{let I=P.parse(v.url);return I.scheme===U.vscodeWebview&&!m(I,v)?(this.logService.error("Blocked vscode-webview request",v.url),S({cancel:!0})):I.scheme===U.vscodeFileResource&&!f(v)?(this.logService.error("Blocked vscode-file request",v.url),S({cancel:!0})):I.path.endsWith(".svg")&&!c.has(I.scheme)?S({cancel:!u(v)}):S({cancel:!1})}),ya.defaultSession.webRequest.onHeadersReceived((v,S)=>{let I=v.responseHeaders,T=I["content-type"]||I["Content-Type"];if(T&&Array.isArray(T)){let D=P.parse(v.url);if(D.path.endsWith(".svg")&&c.has(D.scheme))return I["Content-Type"]=["image/svg+xml"],S({cancel:!1,responseHeaders:I});if(!D.path.endsWith(U.vscodeRemoteResource)&&T.some(k=>k.toLowerCase().includes("image/svg")))return S({cancel:!u(v)})}return S({cancel:!1})}),ya.defaultSession.webRequest.onHeadersReceived((v,S)=>{if(v.url.startsWith("https://vscode.download.prss.microsoft.com/")){let I=v.responseHeaders??Object.create(null);if(I["Access-Control-Allow-Origin"]===void 0)return I["Access-Control-Allow-Origin"]=["*"],S({cancel:!1,responseHeaders:I})}return S({cancel:!1})});let y=ya.defaultSession;typeof y.setCodeCachePath=="function"&&this.environmentMainService.codeCachePath&&y.setCodeCachePath(B(this.environmentMainService.codeCachePath,"chrome")),W&&(this.configurationService.getValue("security.restrictUNCAccess")===!1?$1():eo(this.configurationService.getValue("security.allowedUNCHosts")))}registerListeners(){x.once(this.lifecycleMainService.onWillShutdown)(()=>this.dispose()),Ux(),Cn.on("accessibility-support-changed",(n,o)=>{this.windowsMainService?.sendToAll("vscode:accessibilitySupportChanged",o)}),Cn.on("activate",async(n,o)=>{this.logService.trace("app#activate"),o||await this.windowsMainService?.openEmptyWindow({context:1})}),Cn.on("web-contents-created",(n,o)=>{o?.opener?.url.startsWith(`${U.vscodeFileResource}://${Ba}/`)&&(this.logService.trace('[aux window]  app.on("web-contents-created"): Registering auxiliary window'),this.auxiliaryWindowsMainService?.registerWindow(o)),o.on("will-navigate",s=>{na.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;Cn.on("open-file",(n,o)=>{o=Si(o),this.logService.trace("app#open-file: ",o),n.preventDefault(),e.push(ki(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)}),Cn.on("new-window-for-tab",async()=>{await this.windowsMainService?.openEmptyWindow({context:4})}),Xe.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)}),Xe.on("vscode:toggleDevTools",n=>n.sender.toggleDevTools()),Xe.on("vscode:openDevTools",n=>n.sender.openDevTools()),Xe.on("vscode:reloadWindow",n=>n.sender.reload()),Xe.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;W&&e&&Cn.setAppUserModelId(e);try{V&&this.configurationService.getValue("window.nativeTabs")===!0&&!tk.getUserDefault("NSUseImprovedLayoutPass","boolean")&&tk.setUserDefault("NSUseImprovedLayoutPass","boolean",!0)}catch(f){this.logService.error(f)}let t=new Ff;x.once(this.lifecycleMainService.onWillShutdown)(f=>{f.reason===2&&t.dispose()});let[n,o,s]=await Promise.all([NT(this.stateService,this.logService),BT(this.stateService,this.logService),VT(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 va(f.get(N),f.get(Ke)))),c.invokeFunction(f=>{f.get(Xr).setTelemetryService(f.get(Ke))}),c.invokeFunction(f=>f.get(xu)),this._register(c.createInstance(Sc)),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 Ir(()=>{this._register(Sd(()=>{this.lifecycleMainService.phase=4,this.eventuallyAfterWindowOpen()},2500))},2500)).schedule()}async setupProtocolUrlHandlers(e,t){let n=this.windowsMainService=e.get($e),o=e.get(Ql),s=this.nativeHostMainService=e.get(Nn),a=e.get(fn),l=this;o.registerHandler({async handleURL(y,v){return l.handleProtocolUrl(n,a,o,y,v)}});let c=this._register(new qh({onDidOpenMainWindow:s.onDidOpenMainWindow,onDidFocusMainWindow:s.onDidFocusMainWindow,getActiveWindowId:()=>s.getActiveWindowId(-1)})),d=new Rf(y=>c.getActiveClientId().then(v=>y===v)),u=new Bh(d,this.logService),f=t.getChannel("urlHandler",u);o.registerHandler(new Nh(f));let m=await this.resolveInitialProtocolUrls(n,a);return this._register(new Vh(m?.urls,o,n,this.environmentMainService,this.productService,this.logService)),m}setupManagedRemoteResourceUrlHandler(e){let t=()=>({statusCode:404,data:"Not found"}),n=new fr(()=>e.getChannel(g_,new dg));ek.registerBufferProtocol(U.vscodeManagedRemoteResource,(o,s)=>{let a=P.parse(o.url);if(!a.authority.startsWith("window:"))return s(t());n.value.call(rb,[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(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(hu(e)?(o=e.workspaceUri,s=h(159,null,o.scheme===U.file?to(o,{os:Bt,tildify:this.environmentMainService}):o.toString(!0),this.productService.nameShort)):cm(e)?(o=e.folderUri,s=h(158,null,o.scheme===U.file?to(o,{os:Bt,tildify:this.environmentMainService}):o.toString(!0),this.productService.nameShort)):(o=e.fileUri,s=h(157,null,o.scheme===U.file?to(o,{os:Bt,tildify:this.environmentMainService}):o.toString(!0),this.productService.nameShort)),o.scheme!==U.file&&o.scheme!==U.vscodeRemote||this.configurationService.getValue(xs.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===U.file?h(160,null):h(161,null),cancelId:1});if(l!==0)return!0;if(c){let d={channel:"vscode:disablePromptForProtocolHandling",args:o.scheme===U.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===U.file){let t=P.file(e.fsPath);return ki(t)?{workspaceUri:t}:{fileUri:t}}else if(e.authority===U.vscodeRemote){let t=e.path.indexOf(pe.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:U.vscodeRemote,authority:n,path:o,query:s,fragment:e.fragment});return ki(o)?{workspaceUri:l}:/:[\d]+$/.test(o)?{fileUri:l}:{folderUri:l}}}}async handleProtocolUrl(e,t,n,o,s){this.logService.trace("app#handleProtocolUrl():",o.toString(!0),s),o.scheme===this.productService.urlProtocol&&o.path==="workspace"&&(o=o.with({authority:U.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):V&&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",Te.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:yo(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(ic,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 qo(l,"main")})();return{sharedProcessReady:(async()=>(await o.whenReady(),s))(),sharedProcessClient:s}}async initServices(e,t,n,o){let s=new ms;switch(process.platform){case"win32":s.set(hs,new he(pa));break;case"linux":Lp?s.set(hs,new he(lc,[process.env.SNAP,process.env.SNAP_REVISION])):s.set(hs,new he(ac));break;case"darwin":s.set(hs,new he(ui));break}s.set($e,new he(gc,[e,t,n,this.userEnv],!1)),s.set(oi,new he(Fc,void 0,!1));let a=new kl(this.logService,this.productService);s.set(fn,a),s.set(dI,new he(Xl,void 0,!1)),s.set(Ml,new he(Ll,void 0,!1)),s.set(Cu,nt.toService(Nd(o.then(m=>m.getChannel("diagnostics"))))),s.set(Jd,new he(Ol)),s.set(Vu,new he(na,void 0,!1)),s.set(Fw,new he(Hl,void 0,!1)),s.set(lI,new he(Jl)),s.set(Nn,new he(ra,void 0,!1));let l=new Zl(this.configurationService);s.set(Xr,l),s.set(G_,new he(gg)),s.set(fg,new he(Bc,void 0,!0)),s.set(cb,new he(Vc,void 0,!1)),s.set(_I,new he(dc)),s.set(mI,new he(Yl)),s.set(qw,new he(us)),s.set(Ys,new he(bl)),s.set(xr,new he(Sl));let c=new Cc({graceTime:6e4,shortGraceTime:6e3,scrollback:this.configurationService.getValue("terminal.integrated.persistentSessionScrollback")??100},this.configurationService,this.environmentMainService,this.lifecycleMainService,this.logService),d=new Dc(c,this.configurationService,this.logService,this.loggerService);if(s.set(JI,d),d_(this.configurationService)){let m=new bs(this.configurationService,this.environmentMainService,this.lifecycleMainService,this.logService);this._register(new Mc(m,this.logService,this.loggerService))}W?s.set(ju,new he(Ju)):V?s.set(ju,new he(Zm)):re&&s.set(ju,new he(Qu)),s.set(Gw,new he(eh));let u=new ho(this.environmentMainService,this.configurationService,this.logService,this.stateService);s.set(Oi,u);let f=new Al(this.environmentMainService,this.logService,this.userDataProfilesMainService,u,a);if(s.set(mn,f),s.set(iw,new he(vc,void 0,!1)),s.set(gs,new he(Pr,void 0,!1)),s.set(Ql,new he(cc,void 0,!1)),Rh(this.productService,this.environmentMainService)){let m=hC(this.productService,this.configurationService),y=Nd(o.then(D=>D.getChannel("telemetryAppender"))),v=new Mh(y),S=fC(gF(),hF(),process.arch,this.productService.commit,this.productService.version,e,t,n,m,this.productService.date),I=gC(this.environmentMainService),T={appenders:[v],commonProperties:S,piiPaths:I,sendErrorTelemetry:!0};s.set(Ke,new he(Po,[T],!1))}else s.set(Ke,Ui);return s.set(Is,new he(xc,void 0,!0)),s.set(AT,new he(bc,void 0,!0)),s.set(jI,new he(Pc,void 0,!0)),s.set(xu,new he(Pl)),s.set(nb,new he(ug)),s.set(dp,new he(Uc)),s.set($h,new he(mc,void 0,!0)),await bt.settled([u.initialize(),f.initialize()]),this.mainInstantiationService.createChild(s)}initChannels(e,t,n){let o=this._register(new Q),s=nt.fromService(e.get(dI),o,{disableMarshalling:!0});this.mainProcessNodeIpcServer.registerChannel("launch",s);let a=nt.fromService(e.get(Ml),o,{disableMarshalling:!0});this.mainProcessNodeIpcServer.registerChannel("diagnostics",a);let l=o.add(new zh(e.get(Bn)));t.registerChannel("policy",l),n.then(Re=>Re.registerChannel("policy",l));let c=this.fileService.getProvider(U.file);HS(c instanceof fs);let d=o.add(new Ih(c,this.logService,this.environmentMainService));t.registerChannel(rI,d),n.then(Re=>Re.registerChannel(rI,d));let u=nt.fromService(e.get(Br),o);t.registerChannel("userDataProfiles",u),n.then(Re=>Re.registerChannel("userDataProfiles",u));let f=e.get(hs),m=new Oh(f);t.registerChannel("update",m),this._register(new Fh(f,e.get(fn)));let y=new Ch(e.get(Xr));t.registerChannel(gI,y),n.then(Re=>Re.registerChannel(gI,y));let v=nt.fromService(new Gl(this.logService,e.get(Cu),e.get(Ml)),o);t.registerChannel("process",v);let S=nt.fromService(e.get(Jd),o);t.registerChannel("encryption",S);let I=nt.fromService(e.get(Vu),o);t.registerChannel(lw,I),n.then(Re=>Re.registerChannel(lw,I));let T=nt.fromService(e.get(Fw),o);t.registerChannel(cw,T),n.then(Re=>Re.registerChannel(cw,T));let D=nt.fromService(e.get(ys),o);t.registerChannel("sign",D);let k=nt.fromService(e.get(lI),o);t.registerChannel("keyboardLayout",k),this.nativeHostMainService=e.get(Nn);let A=nt.fromService(this.nativeHostMainService,o);t.registerChannel("nativeHost",A),n.then(Re=>Re.registerChannel("nativeHost",A));let oe=nt.fromService(e.get(cb),o);t.registerChannel("webContentExtractor",oe);let O=nt.fromService(e.get(iw),o);t.registerChannel("workspaces",O);let ee=nt.fromService(e.get(mI),o);t.registerChannel("menubar",ee);let G=nt.fromService(e.get(Ql),o);t.registerChannel("url",G);let Ee=nt.fromService(e.get(_I),o);t.registerChannel("webview",Ee);let Mt=o.add(new Lh(this.logService,e.get(Ys)));t.registerChannel("storage",Mt),n.then(Re=>Re.registerChannel("storage",Mt));let je=o.add(new Yh(e.get(Ys),e.get(Br),this.logService));n.then(Re=>Re.registerChannel("profileStorageListener",je));let Se=nt.fromService(e.get(JI),o);t.registerChannel("localPty",Se);let Pt=nt.fromService(e.get(ju),o);t.registerChannel("externalTerminal",Pt);let K=nt.fromService(e.get(Gw),o);t.registerChannel("sandboxHelper",K);let q=nt.fromService(e.get(nb),o);t.registerChannel(I_,q);let X=this._register(new Nc(t,e.get(dp),e.get(di)));t.registerChannel(x_,X);let Z=this._register(new Zh(e.get(di)));t.registerChannel("logger",Z),n.then(Re=>Re.registerChannel("logger",Z));let ie=new Cm(e.get($e));t.registerChannel("extensionhostdebugservice",ie);let fe=nt.fromService(e.get(qw),o);t.registerChannel(uE,fe);let ye=nt.fromService(e.get(jI),o);t.registerChannel(jT,ye)}async openFirstWindow(e,t){let n=this.windowsMainService=e.get($e);this.auxiliaryWindowsMainService=e.get(oi);let o=ai(process.env)?0:4,s=this.environmentMainService.args;if(s.agents)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 S of t.urls){let I=new URLSearchParams(S.uri.query);if(I.get("windowId")==="_blank")return I.delete("windowId"),S.originalUrl=S.uri.toString(!0),S.uri=S.uri.with({query:I.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(S=>(S=Si(S),ki(S)?{workspaceUri:P.file(S)}:{fileUri:P.file(S)})),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){W&&Lf(),this.installMutex(),ek.registerHttpProtocol(U.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(),V&&Cn.runningUnderARM64Translation&&this.windowsMainService?.sendToFocused("vscode:showTranslatedBuildWarning"),e.invokeFunction(t=>{let n=t.get(Ke),o=()=>({idleState:Hc.getSystemIdleState(60),idleTime:Hc.getSystemIdleTime(),thermalState:Hc.getCurrentThermalState(),onBattery:Hc.isOnBatteryPower()});this._register(x.fromNodeEventEmitter(Hc,"suspend")(()=>{n.publicLog2("power.suspend",o())})),this._register(x.fromNodeEventEmitter(Hc,"resume")(()=>{n.publicLog2("power.resume",o())}))}),V&&e.invokeFunction(t=>{let n=t.get(Ke);if(Cn.getGPUFeatureStatus().skia_graphite==="enabled"){let a=x.fromNodeEventEmitter(Cn,"gpu-info-update"),l=this._register(new St);this._register(x.fromNodeEventEmitter(Cn,"child-process-gone",(c,d)=>({event:c,details:d}))(({details:c})=>{c.type==="GPU"&&c.reason==="crashed"&&(l.value=x.once(a)(()=>{let d=Cn.getGPUFeatureStatus();if(d.rasterization!=="enabled"){let f=[],m=Cn;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=Cn;e.invokeFunction(n=>{let o=n.get(Ke);this._register(x.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(x.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(W&&e)try{let t=await import("@vscode/windows-mutex"),n=new t.Mutex(e);x.once(this.lifecycleMainService.onWillShutdown)(()=>n.release())}catch(t){this.logService.error(t)}}async resolveShellEnvironment(e,t,n){try{return await ds(this.configurationService,this.logService,e,t)}catch(o){let s=Dr(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=Cp(t),s=nc(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": "${ke()}"`,"}"],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(){HT(this.stateService,this.logService)}};xs=C([g(2,qt),g(3,N),g(4,un),g(5,_e),g(6,ve),g(7,de),g(8,Lt),g(9,Le),g(10,Ae),g(11,Br)],xs)});function fp(i){return Object.isFrozen(i)?i:VP(i)}function Ps(i,r){let{added:e,removed:t,updated:n}=nk(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=nk({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 nk(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=_d(r.contents,o),a=_d(i.contents,o);pn(s,a)||n.push(o)}}return{added:e,removed:t,updated:n}}var kt,vg,yg,vb,$c,wg,yb=w(()=>{Yt();j();ii();$();kr();Qr();Me();le();rt();Zn();ze();wn();kt=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 vg("",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?_d(this.contents,r):this.contents}inspect(r,e){let t=this;return{get value(){return fp(t.rawConfiguration.getValue(r))},get override(){return e?fp(t.rawConfiguration.getOverrideValue(r,e)):void 0},get merged(){return fp(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?fp(n):void 0}}}getOverrideValue(r,e){let t=this.getContentsForOverrideIdentifer(e);return t?r?_d(t,r):t:void 0}getKeysForOverrideIdentifier(r){let e=[];for(let t of this.overrides)t.identifiers.includes(r)&&e.push(...t.keys);return Wr(e)}getAllOverrideIdentifiers(){let r=[];for(let e of this.overrides)r.push(...e.identifiers);return Wr(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=dr(this.contents),t=dr(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=>Ao(c.identifiers,a.identifiers));l?(this.mergeContents(l.contents,a.contents),l.keys.push(...a.keys),l.keys=Wr(l.keys)):t.push(dr(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 Wr([...Object.keys(this.contents),...Object.keys(e)])){let o=this.contents[n],s=e[n];s&&(typeof o=="object"&&typeof s=="object"?(o=dr(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&&Ge(r[t])&&Ge(e[t])){this.mergeContents(r[t],e[t]);continue}r[t]=dr(e[t])}}getContentsForOverrideIdentifer(r){let e=null,t=null,n=o=>{o&&(t?this.mergeContents(t,o):t=dr(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),j1(this.contents,r),xi.test(r)&&this.overrides.splice(this.overrides.findIndex(t=>Ao(t.identifiers,ja(r))),1))}updateValue(r,e,t){if(Uv(this.contents,r,e,n=>this.logService.error(n)),t=t||this.keys.indexOf(r)===-1,t&&this.keys.push(r),xi.test(r)){let n=this.contents[r],o=ja(r),s={identifiers:o,keys:Object.keys(n),contents:vf(n,l=>this.logService.error(l))},a=this.overrides.findIndex(l=>Ao(l.identifiers,o));a!==-1?this.overrides[a]=s:this.overrides.push(s)}}},vg=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||kt.createEmptyModel(this.logService)}get restrictedConfigurations(){return this._restrictedConfigurations}get errors(){return this._parseErrors}parse(r,e){if(!Kt(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 kt(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{_l(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=pt.as(Ft.Configuration),n=t.getConfigurationProperties(),o=t.getExcludedConfigurationProperties(),s=this.filter(r,n,o,!0,e);r=s.raw;let a=vf(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(xi.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(xi.test(n)){let o={},s=r[n];for(let a in s)o[a]=s[a];t.push({identifiers:ja(n),keys:Object.keys(o),contents:vf(o,e)})}return t}},yg=class extends _{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 vg(this.userSettingsResource.toString(),s),this._register(this.fileService.watch(n.dirname(this.userSettingsResource))),this._register(this.fileService.watch(this.userSettingsResource)),this._register(x.any(x.filter(this.fileService.onDidFilesChange,a=>a.contains(this.userSettingsResource)),x.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 kt.createEmptyModel(this.logService)}}reparse(e){return e&&(this.parseOptions=e),this.parser.reparse(this.parseOptions),this.parser.configurationModel}getRestrictedSettings(){return this.parser.restrictedConfigurations}},vb=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 fp(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)}},$c=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 yt;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=kt.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 vb(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}=Ps(this._defaultConfiguration,r);e=[...n,...o,...s]}for(let n of e)for(let o of ja(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=>!pn(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}=Ps(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}=Ps(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}=Ps(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}=Ps(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}=Ps(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}=Ps(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}=Ps(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 kt(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 yt);return new i(t,n,o,s,a,l,c,kt.createEmptyModel(e),new yt,e)}static parseConfigurationModel(r,e){return new kt(r.contents,r.keys,r.overrides,r.raw,e)}},wg=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=$c.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!pn(a,l)}return!0}}});var Ig,bg,Kc,ik=w(()=>{Yt();j();$();Qr();Me();yb();Zn();ne();ci();wn();He();ii();Ig=class extends _{constructor(e){super();this.logService=e;this._onDidChangeConfiguration=this._register(new b);this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;this._configurationModel=kt.createEmptyModel(e)}get configurationModel(){return this._configurationModel}async initialize(){return this.resetConfigurationModel(),this._register(pt.as(Ft.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,pt.as(Ft.Configuration).getConfigurationProperties()),this._onDidChangeConfiguration.fire({defaults:this.configurationModel,properties:e})}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=kt.createEmptyModel(this.logService);let e=pt.as(Ft.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,this.getDefaultValue(o,a)):this._configurationModel.removeValue(o)}}getDefaultValue(e,t){return dr(t.default)}},bg=class{constructor(){this.onDidChangeConfiguration=x.None;this.configurationModel=kt.createEmptyModel(new Gf)}async initialize(){return this.configurationModel}},Kc=class extends _{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=kt.createEmptyModel(this.logService),this.configurationRegistry=pt.as(Ft.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,restrictedValue:d}=l.policy;n.push(a),t[l.policy.name]={type:l.type==="number"?"number":l.type==="boolean"?"boolean":"string",value:c,restrictedValue:d}}}return Gp(t)||await this.policyService.updatePolicyDefinitions(t),n}onDidChangePolicies(e){this.logService.trace("PolicyConfiguration#onDidChangePolicies",e);let t=this.configurationRegistry.getPolicyConfigurations(),n=dt(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}:`,yr(f));continue}(a?u!==void 0:!pn(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=kt.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&&(_l(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=>yr(d.error)).join(`
`));return t}};Kc=C([g(1,Bn),g(2,N)],Kc)});var Sg,wb,ok=w(()=>{Yt();ge();ot();j();ii();nw();$();kr();Qr();Y();It();rt();yb();Zn();ik();ze();ci();Sg=class extends _{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 Ig(o)),this.policyConfiguration=n instanceof ec?new bg:this._register(new Kc(this.defaultConfiguration,n,o)),this.userConfiguration=this._register(new yg(this.settingsResource,{},Qe,t,o)),this.configuration=new $c(this.defaultConfiguration.configurationModel,this.policyConfiguration.configurationModel,kt.createEmptyModel(o),kt.createEmptyModel(o),kt.createEmptyModel(o),kt.createEmptyModel(o),new yt,kt.createEmptyModel(o),new yt,o),this.configurationEditing=new wb(e,t,this),this.reloadConfigurationScheduler=this._register(new Ir(()=>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 $c(e,t,kt.createEmptyModel(this.logService),n,kt.createEmptyModel(this.logService),kt.createEmptyModel(this.logService),new yt,kt.createEmptyModel(this.logService),new yt,this.logService)}getConfigurationData(){return this.configuration.toData()}getValue(e,t){let n=typeof e=="string"?e:void 0,o=gf(e)?e:gf(t)?t:{};return this.configuration.getValue(n,o,void 0)}async updateValue(e,t,n,o,s){let a=z1(n)?n:gf(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=Wr(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(pn(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=>Ao([...m.identifiers].sort(),u));f&&(a.overrideIdentifiers=f.identifiers)}let d=a?.overrideIdentifiers?.length?[rx(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 wg(e,{data:t},this.configuration,void 0,this.logService);o.source=n,this._onDidChangeConfiguration.fire(o)}},wb=class{constructor(r,e,t){this.settingsResource=r;this.fileService=e;this.configurationService=t;this.queue=new An}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(Fn(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=rw(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 tw(r,e,t,{tabSize:n,insertSpaces:o,eol:s})}get formattingOptions(){if(!this._formattingOptions){let r=Bt===3||Bt===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 sk from"fs";import*as Gt from"os";async function bb(i,r,e){let t=`${i}::${r.join(":")}::${e?.unbounded?"unbounded":"bounded"}`;if(e?.skipCache)Ib.delete(t);else{let d=Ib.get(t);if(d)return d}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=e?.unbounded?Number.POSITIVE_INFINITY:2e4;function l(d,u,f,m){let y=u.substring(d.length+1);return bt.withAsyncBody(async v=>{if(m.count>=a){m.maxReached=!0,v();return}let S;m.readdirCount++;try{S=await J.readdir(u,{withFileTypes:!0})}catch{v();return}if(m.count>=a){m.maxReached=!0,v();return}let I=S.length;if(I===0){v();return}for(let T of S)if(T.isDirectory()){if(f.includes(T.name)||await l(d,B(u,T.name),f,m),--I===0){v();return}}else{if(m.count>=a){m.maxReached=!0,v();return}m.count++;let D=T.name.lastIndexOf("."),k;D>=0&&(k=T.name.substring(D+1)||void 0),o.set(k??qc,(o.get(k??qc)??0)+1);for(let A of n)A.relativePathPattern?.test(y)!==!1&&A.filePattern.test(T.name)&&s.set(A.tag,(s.get(A.tag)??0)+1);if(--I===0){v();return}}})}let c=bt.withAsyncBody(async d=>{let u={count:0,maxReached:!1,readdirCount:0},f=new an(!0);await l(i,i,r,u);let m=await wF(i);d({configFiles:Sb(s),fileTypes:Sb(o),fileCount:u.count,maxFilesReached:u.maxReached,launchConfigFiles:m,totalScanTime:f.elapsed(),totalReaddirCount:u.readdirCount})});return Ib.set(t,c),c}function Sb(i){return Array.from(i.entries(),([r,e])=>({name:r,count:e})).sort((r,e)=>e.count-r.count)}function yF(){let i={os:`${Gt.type()} ${Gt.arch()} ${Gt.release()}`,memory:`${(Gt.totalmem()/_i.GB).toFixed(2)}GB (${(Gt.freemem()/_i.GB).toFixed(2)}GB free)`,vmHint:`${Math.round(Fu.value()*100)}%`},r=Gt.cpus();return r&&r.length>0&&(i.cpus=`${r[0].model} (${r.length} x ${r[0].speed})`),i}async function wF(i){try{let r=new Map,e=B(i,".vscode","launch.json"),t=await sk.promises.readFile(e),n=[],o=Fn(t.toString(),n);if(n.length)return console.log(`Unable to parse ${e}`),[];if(rs(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 Sb(r)}catch{return[]}}var Ib,qc,zc,ak=w(()=>{ge();ii();qe();Pe();Y();As();le();Wu();lr();aI();Tm();ze();cr();nr();Ib=new Map,qc="\0no-extension";zc=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:       ${Gt.type()} ${Gt.arch()} ${Gt.release()}`);let t=Gt.cpus();return t&&t.length>0&&e.push(`CPUs:             ${t[0].model} (${t.length} x ${t[0].speed})`),e.push(`Memory (System):  ${(Gt.totalmem()/_i.GB).toFixed(2)}GB (${(Gt.freemem()/_i.GB).toFixed(2)}GB free)`),W||e.push(`Load (avg):       ${Gt.loadavg().map(n=>Math.round(n)).join(", ")}`),e.push(`VM:               ${Math.round(Fu.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,t){return Promise.all([Yu(r.mainPID),this.formatWorkspaceMetadata(r,t)]).then(async n=>{let[o,s]=n,a=this.formatProcessList(r,o);return e.forEach(l=>{if(Tu(l))a+=`
${l.errorMessage}`,s+=`
${l.errorMessage}`;else if(a+=`

Remote: ${l.hostName}`,l.processes&&(a+=`
${this.formatProcessList(r,l.processes)}`),l.workspaceMetadata){s+=`
|  Remote: ${l.hostName}`;for(let c of Object.keys(l.workspaceMetadata)){let d=l.workspaceMetadata[c],u=`${d.fileCount} files`;d.maxFilesReached&&(u=`more than ${u}`),s+=`|    Folder (${c}): ${u}`,s+=this.formatWorkspaceStats(d)}}}),{processInfo:a,workspaceInfo:s}})}async getSystemInfo(r,e){let{memory:t,vmHint:n,os:o,cpus:s}=yF(),a={os:o,memory:t,cpus:s,vmHint:n,processArgs:`${r.mainArguments.join(" ")}`,gpuStatus:r.gpuFeatureStatus,screenReader:`${r.screenReader?"yes":"no"}`,remoteData:e};return W||(a.load=`${Gt.loadavg().map(l=>Math.round(l)).join(", ")}`),re&&(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 Yu(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(Tu(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=(f,m)=>{let y=` ${f}(${m})`;n+y.length>60?(e.push(s),s="|                 ",n=s.length):n+=y.length,s+=y},s="|      File types:",a=10,l=r.fileTypes.filter(f=>f.name!==qc),c=r.fileTypes.filter(f=>f.name===qc).reduce((f,m)=>f+m.count,0),d=Math.min(l.length,a);for(let f=0;f<d;f++){let m=l[f];o(m.name,m.count)}let u=c;for(let f=d;f<l.length;f++)u+=l[f].count;if(u>0&&o("other",u),e.push(s),r.configFiles.length>=0&&(s="|      Conf files:",n=0,r.configFiles.forEach(f=>{o(f.name,f.count)}),e.push(s)),r.launchConfigFiles.length>0){let f="|      Launch Configs:";r.launchConfigFiles.forEach(m=>{let y=m.count>1?` ${m.name}(${m.count})`:` ${m.name}`;f+=y}),e.push(f)}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,e){let t=[],n=[];return r.windows.forEach(o=>{o.folderURIs.length===0||o.remoteAuthority||(t.push(`|  Window (${o.title})`),o.folderURIs.forEach(s=>{let a=P.revive(s);if(a.scheme===U.file){let l=a.fsPath;n.push(bb(l,["node_modules",".git"],e).then(c=>{let d=`${c.fileCount} files`;c.maxFilesReached&&(d=`more than ${d}`),t.push(`|    Folder (${xe(l)}): ${d}`),t.push(this.formatWorkspaceStats(c))}).catch(c=>{t.push(`|      Error: Unable to collect workspace stats for folder ${l} (${c.toString()})`)}))}else t.push(`|    Folder (${a.toString()}): Workspace stats not available.`)}))}),Promise.all(n).then(o=>t.join(`
`)).catch(o=>`Unable to collect workspace stats: ${o}`)}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:Gt.totalmem()*(n.mem/100);t.push(`${n.load.toFixed(0).padStart(5," ")}	${(l/_i.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!==U.file)continue;let o=n.fsPath;try{(await bb(o,["node_modules",".git"])).fileTypes.forEach(a=>{a.name!==qc&&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!==U.file)continue;let n=t.fsPath;try{let o=await bb(n,["node_modules",".git"]);this.telemetryService.publicLog2("workspace.stats",{"workspace.id":r.telemetryId,rendererSessionId:r.rendererSessionId}),o.fileTypes.forEach(s=>{s.name!==qc&&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{}}}};zc=C([g(0,Ke),g(1,Ae)],zc)});import{writeFileSync as IF}from"fs";import{tmpdir as bF}from"os";function lk(i){let r=Os(bF());try{return IF(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 ck=w(()=>{ln()});var Es,dk=w(()=>{Yt();ge();ot();Tt();j();Ei();ud();$();Js();qe();mi();It();Ns();be();ze();iI();ne();He();Es=class extends _{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 $a)}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 Q;return this.provider.set(e,t),this._onDidChangeFileSystemProviderRegistrations.fire({added:!0,scheme:e,provider:t}),n.add(t.onDidChangeFile(o=>{let s=new Xf(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}))),z(()=>{this._onDidChangeFileSystemProviderRegistrations.fire({added:!1,scheme:e,provider:t}),this.provider.delete(e),ht(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 bt.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 wi.map(this.provider,([e,t])=>({scheme:e,capabilities:t.capabilities}))}async withProvider(e){if(!x1(e))throw new rr(h(2431,null,this.resourceForError(e)),8);await this.activateProvider(e.scheme);let t=this.provider.get(e.scheme);if(!t){let n=new sn;throw n.message=h(2433,null,e.toString()),n}return t}async withReadProvider(e){let t=await this.withProvider(e);if(lo(t)||xn(t)||Zf(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)||xn(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 pu(n)==="EntryNotFound"?new rr(h(2428,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=jr.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:Ey({mtime:n.mtime,size:n.size}),children:void 0};if(c.isDirectory&&a(c,o)){try{let d=await e.readdir(t),u=await bt.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=dt(u)}catch(d){this.logService.trace(d),c.children=[]}return c}return c}async resolveAll(e){return bt.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(uP(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 rr(h(2424,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(Py(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)||xn(o)&&c instanceof H||xn(o)&&Py(o)&&a?.atomic?await this.doWriteUnbuffered(o,e,a,c):await this.doWriteBuffered(o,e,a,c instanceof H?gx(c):c),this._onDidRunOperation.fire(new ao(e,4))}catch(l){throw new rr(h(2423,null,this.resourceForError(e),co(l).toString()),Jr(l),a)}return this.resolve(e,{resolveMetadata:!0})}async peekBufferForWriting(e,t){let n;if(xn(e)&&!(t instanceof H))if(Ld(t)){let o=await px(t,3);o.ended?n=H.concat(o.buffer):n=o}else n=ux(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(2441,null,this.resourceForError(t)));if(o?.append&&!dP(e))throw new rr(h(2420,null,this.resourceForError(t)),6);if(!!o?.atomic){if(!(e.capabilities&32768))throw new Error(h(2439,null,this.resourceForError(t)));if(!(e.capabilities&2))throw new Error(h(2440,null,this.resourceForError(t)));if(s)throw new Error(h(2438,null,this.resourceForError(t)))}let l;try{l=await e.stat(t)}catch{return Object.create(null)}if((l.type&2)!==0)throw new rr(h(2426,null,this.resourceForError(t)),0,o);this.throwIfFileIsReadonly(t,l);let c;if(typeof o?.mtime=="number"&&typeof o.etag=="string"&&o.etag!==rm&&typeof l.mtime=="number"&&typeof l.size=="number"&&o.mtime<l.mtime&&o.etag!==Ey({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 rr(h(2427,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 Bs(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 Je(o),a=n;em(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!==rm&&await l,a?.atomic&&em(e)||!(lo(e)||Zf(e))||xn(e)&&a?.preferUnbuffered?c=this.readFileUnbuffered(e,t,a):Zf(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 _f(c),this.restoreReadError(d,t,a)}}restoreReadError(e,t,n){let o=h(2421,null,this.resourceForError(t),co(e).toString());return e instanceof dl?new dl(o,e.stat,n):e instanceof cl?new cl(o,e.fileOperationResult,e.size,e.options):new rr(o,Jr(e),n)}readFileStreamed(e,t,n,o=Object.create(null)){let s=e.readFileStream(t,o,n);return Ja(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=wx();return ch(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=Bo(s=>H.concat(s));return(async()=>{try{let s;n?.atomic&&em(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 rr(h(2425,null,this.resourceForError(e)),0,t);if(typeof t?.etag=="string"&&t.etag!==rm&&t.etag===n.etag)throw new dl(h(2429,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 cl(h(2430,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&&uu(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)&&xn(n))return this.doPipeBufferedToUnbuffered(e,t,n,o);if(xn(e)&&lo(n))return this.doPipeUnbufferedToBuffered(e,t,n,o);if(xn(e)&&xn(n))return this.doPipeUnbuffered(e,t,n,o)}async doCopyFolder(e,t,n,o){await n.mkdir(o),Array.isArray(t.children)&&await bt.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(2434,null,this.resourceForError(t),this.resourceForError(o)));if(!l&&d.isEqualOrParent(o,t))throw new Error(h(2435,null,this.resourceForError(t),this.resourceForError(o)))}let c=await this.exists(o);if(c&&!l){if(!a)throw new rr(h(2436,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(2437,null,this.resourceForError(t),this.resourceForError(o)))}}return{exists:c,isSameResourceWithDifferentPathCase:l}}getExtUri(e){let t=this.isPathCaseSensitive(e);return{providerExtUri:t?Fe:Ha,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(2432,null,this.resourceForError(t)));break}catch(s){if(pu(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(pu(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(2419,null,this.resourceForError(e)));let s=t?.atomic;if(s&&!(n.capabilities&65536))throw new Error(h(2415,null,this.resourceForError(e)));if(o&&s)throw new Error(h(2418,null,this.resourceForError(e)));let a;try{a=await n.stat(e)}catch{}if(a)this.throwIfFileIsReadonly(e,a);else throw new rr(h(2417,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(2416,null,this.resourceForError(e)))}return n}async del(e,t){let n=await this.doValidateDelete(e,t),o=t;if(pP(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&&Yf(n)?n.cloneFile(e,t):(await this.mkdirp(o,this.getExtUri(o).providerExtUri.dirname(t)),n===o&&uu(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:Es.WATCHER_CORRELATION_IDS++})}watch(e,t={recursive:!1,excludes:[]}){let n=new Q,o=!1,s=()=>{o=!0};n.add(z(()=>s())),(async()=>{try{let l=await this.doWatch(e,t);o?ht(l):s=()=>ht(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=mr([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,z(()=>{s&&(s.count--,s.count===0&&(ht(s.disposable),this.activeWatchers.delete(o)))})}dispose(){super.dispose();for(let[,e]of this.activeWatchers)ht(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{Ld(o)||Tf(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(Tf(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)=>{Ga(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:Ld(o)?s=await Bs(o):Tf(o)?s=await vx(o):s=hx(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 bt.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 Bs(this.readFileBuffered(e,t,Te.None));await this.doWriteUnbuffered(n,o,void 0,s)}throwIfFileSystemIsReadonly(e,t){if(e.capabilities&2048)throw new rr(h(2422,null,this.resourceForError(t)),6);return e}throwIfFileIsReadonly(e,t){if((t.permissions??0)&1)throw new rr(h(2422,null,this.resourceForError(e)),6)}resourceForError(e){return e.scheme===U.file?e.fsPath:e.toString(!0)}};Es=C([g(0,N)],Es)});var xb,mp,uk=w(()=>{xb=class{constructor(r,e){this.key=r;this.data=e;this.incoming=new Map;this.outgoing=new Map}},mp=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 xb(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 SF,xg,Pg,hp,pk=w(()=>{ge();He();$();Xu();uk();te();bh();fv();SF=!1,xg=class extends Error{constructor(r){super("cyclic dependency between services"),this.message=r.findCycleSlow()??`UNABLE to detect cycle, dumping graph: 
${r.toString()}`}},Pg=class i{constructor(r=new ms,e=!1,t,n=SF){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(qt,this),this._globalGraph=n?t?._globalGraph??new mp(o=>o):void 0}dispose(){if(!this._isDisposed){this._isDisposed=!0,ht(this._children),this._children.clear();for(let r of this._servicesToMaybeDispose)Jp(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=hp.traceInvocation(this._enableTracing,r),n=!1;try{return r({get:s=>{if(n)throw $p("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 he?(t=hp.traceCreation(this._enableTracing,r.ctor),n=this._createInstance(r.ctor,r.staticArguments.concat(e),t)):(t=hp.traceCreation(this._enableTracing,r),n=this._createInstance(r,e,t)),t.stop(),n}_createInstance(r,e=[],t){let n=Yn.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 he)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 he?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 mp(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 xg(n);for(let c of Yn.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 he){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 xg(n);break}for(let{data:c}of l){if(this._getServiceInstanceOrDescriptor(c.id)instanceof he){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 he)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 uf(()=>{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 Ma,l.set(u,y)),(S,I,T)=>{if(c.isInitialized)return c.value[u](S,I,T);{let D={listener:[S,I,T],disposable:void 0},k=y.push(D);return z(()=>{k(),D.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)}},hp=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 Eg,fk=w(()=>{$();ne();Eg=class extends Gs{constructor(e=du){super();this.buffer=[];this._logger=void 0;this._logLevelDisposable=this._register(new St);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)ol(e,t,n);this.buffer=[]}log(e,t){this._logger?ol(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 xF}from"electron";var jc,mk=w(()=>{$();qe();Pe();Y();Js();le();tr();Ln();dn();ne();ri();jc=class extends _{constructor(e,t,n){super();this.environmentService=e;this.logService=n;this.validRoots=jr.forPaths(!re);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:U.file}).fsPath),this.addValidFileRoot(e.workspaceStorageHome.with({scheme:U.file}).fsPath),this.handleProtocols()}handleProtocols(){let{defaultSession:e}=xF;e.protocol.registerFileProtocol(U.vscodeFileResource,(t,n)=>this.handleResourceRequest(t,n)),e.protocol.interceptFileProtocol(U.file,(t,n)=>this.handleFileRequest(t,n)),this._register(z(()=>{e.protocol.unregisterProtocol(U.vscodeFileResource),e.protocol.uninterceptProtocol(U.file)}))}addValidFileRoot(e){let t=Dt(e);return this.validRoots.get(t)?_.None:(this.validRoots.set(t,!0),z(()=>this.validRoots.delete(t)))}handleFileRequest(e,t){let n=P.parse(e.url);return this.logService.error(`Refused to load resource ${n.fsPath} from ${U.file}: protocol (original URL: ${e.url})`),t({error:-3})}handleResourceRequest(e,t){let n=this.requestToNormalizedFilePath(e),o=xe(n),s;return this.environmentService.crossOriginIsolated&&(o==="workbench.html"||o==="workbench-dev.html"?s=Va.CoopAndCoep:s=Va.getHeadersFromQuery(e.url)),this.environmentService.isBuilt||(s={...s,...y1}),(o==="workbench.html"||o==="workbench-dev.html")&&(s={...s,...w1}),this.validRoots.findSubstr(n)?t({path:n,headers:s}):this.validExtensions.has(Ca(n).toLowerCase())?t({path:n,headers:s}):(this.logService.error(`${U.vscodeFileResource}: Refused to load resource ${n} from ${U.vscodeFileResource}: protocol (original URL: ${e.url})`),t({error:-3}))}requestToNormalizedFilePath(e){let t=P.parse(e.url),n=lt.uriToFileUri(t);return Dt(n.fsPath)}createIPCObjectUrl(){let e,t=P.from({scheme:"vscode",path:ke()}),n=t.toString(),o=async()=>e;return Xe.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}.`),Xe.removeHandler(n)}}}};jc=C([g(0,br),g(1,Mr),g(2,N)],jc)});function gk(i){return!!i.forwardPort}function PF(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 Cg(i){return Pb.indexOf(i)>=0}function Jc(i){return Eb.indexOf(i)>=0}function vk(i,r,e,t){if(e===1)return!1;if(e===2&&Jc(r)){let n=/(\d+)\.(\d+)\.(\d+)/g.exec(t);if(n?.length===4&&parseInt(n[1])>=18)return!1}return i<1024}var hk,FCe,Pb,Eb,Gc,Cb=w(()=>{j();$();Y();le();rt();te();ne();hk=M("tunnelService"),FCe=M("sharedTunnelsService");Pb=["localhost","127.0.0.1","0:0:0:0:0:0:0:1","::1"];Eb=["0.0.0.0","0:0:0:0:0:0:0:0","::"];Gc=class extends _{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){(Jc(e)||Cg(e))&&(e=Pb[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];Cg(e)?(n.push(...Pb),n.push(...Eb)):Jc(e)&&n.push(...Eb);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!!PF(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}};Gc=C([g(0,N),g(1,de)],Gc)});var VCe,Qc,yk=w(()=>{He();te();VCe=M("remoteAuthorityResolverService"),Qc=class i extends sn{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 _b(i){switch(i){case 1:return"Management";case 2:return"ExtensionHost";case 3:return"Tunnel"}}function Ik(i){let r=new Je;return setTimeout(()=>r.cancel(),i),r.token}function CF(i,r){if(i.isCancellationRequested||r.isCancellationRequested)return Te.Cancelled;let e=new Je;return i.onCancellationRequested(()=>e.cancel()),r.onCancellationRequested(()=>e.cancel()),e.token}function TF(i,r){let e=new vp(r);return e.registerDisposable(i.onControlMessage(t=>{let n=JSON.parse(t.toString()),o=AF(n);o?e.reject(o):e.resolve(n)})),e.promise}function _F(i,r,e,t,n,o,s,a){let l=new vp(a),c=an.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 Tb(i,r){let e=new vp(r);return i.then(t=>{e.didTimeout||e.resolve(t)},t=>{e.didTimeout||e.reject(t)}),e.promise}async function kF(i,r,e,t){let n=Pk(i,r);i.logService.trace(`${n} 1/6. invoking socketFactory.connect().`);let o;try{o=await _F(i.logService,i.remoteSocketFactoryService,i.connectTo,Dv.getServerRootPath(),`reconnectionToken=${i.reconnectionToken}&reconnection=${i.reconnectionProtocol?"true":"false"}`,_b(r),`renderer-${_b(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 Df({socket:o}),a=!0),i.logService.trace(`${n} 3/6. sending AuthRequest control message.`);let l=await Tb(i.signService.createNewMessage(ke()),t),c={type:"auth",auth:i.connectionToken||"00000000000000000000",data:l.data};s.sendControl(H.fromString(JSON.stringify(c)));try{let d=await TF(s,CF(t,Ik(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 Tb(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 Tb(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&&xk(s),d}}async function RF(i,r,e){let t=Date.now(),n=Pk(i,3),{protocol:o}=await kF(i,3,r,e);return i.logService.trace(`${n} 6/6. handshake finished, connection is up and running after ${FF(t)}!`),o}async function bk(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 Sk(i,r,e){let t=await bk(i,ke(),null);return await RF(t,{host:r,port:e},Te.None)}function DF(i){return Xn(r=>new Promise((e,t)=>{let n=setTimeout(e,i*1e3);r.onCancellationRequested(()=>{clearTimeout(n),e()})}))}function xk(i){try{i.acceptDisconnect();let r=i.getSocket();i.dispose(),r.dispose()}catch(r){ct(r)}}function AF(i){if(i&&i.type==="error"){let r=new Error(`Connection error: ${i.reason}`);return r.code="VSCODE_CONNECTION_ERROR",r}return null}function LF(i,r){return typeof i!="number"||!isFinite(i)||i<0?r:i>Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:Math.floor(i)}function MF(i,r){for(;i.length<r;)i+=" ";return i}function OF(i,r){return`[remote-connection][${MF(_b(i),13)}][${r.substr(0,5)}\u2026]`}function gp(i,r,e){return`${OF(i,r)}[${e?"reconnect":"initial"}]`}function Pk(i,r){return`${gp(r,i.reconnectionToken,!!i.reconnectionProtocol)}[${i.connectTo}]`}function FF(i){return`${Date.now()-i} ms`}var EF,vp,kb,Rb,Db,Tg,Ab,wk,Ek=w(()=>{ge();ot();Tt();He();j();$();qe();mi();As();tr();ey();yk();EF=30*1e3;vp=class{get didTimeout(){return this._state==="timedout"}constructor(r){this._state="pending",this._disposables=new Q,{promise:this.promise,resolve:this._resolvePromise,reject:this._rejectPromise}=k1(),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))}};kb=class{constructor(r,e){this.reconnectionToken=r;this.millisSinceLastIncomingData=e;this.type=0}},Rb=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()}},Db=class{constructor(r,e,t){this.reconnectionToken=r;this.millisSinceLastIncomingData=e;this.attempt=t;this.type=2}},Tg=class{constructor(r,e,t){this.reconnectionToken=r;this.millisSinceLastIncomingData=e;this.attempt=t;this.type=4}},Ab=class{constructor(r,e,t,n){this.reconnectionToken=r;this.millisSinceLastIncomingData=e;this.attempt=t;this.handled=n;this.type=3}},wk=class i extends _{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 Tg(this.reconnectionToken,0,0)),this._register(o.onSocketClose(a=>{let l=gp(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=gp(this._connectionType,this.reconnectionToken,!0);this._options.logService.info(`${l} received socket timeout event (reason: ${a.reason}, unacknowledgedMsgCount: ${a.unacknowledgedMsgCount}, timeSinceOldestUnacknowledgedMsg: ${a.timeSinceOldestUnacknowledgedMsg}, timeSinceLastReceivedSomeData: ${a.timeSinceLastReceivedSomeData}).`),this._beginReconnecting()})),i._instances.push(this),this._register(z(()=>{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=LF(e,108e5),n=gp(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=gp(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 kb(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=DF(a);this._onDidStateChange.fire(new Rb(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 Db(this.reconnectionToken,this.protocol.getMillisSinceLastIncomingData(),s+1)),this._options.logService.info(`${e} resolving connection...`);let l=await bk(this._options,this.reconnectionToken,this.protocol);this._options.logService.info(`${e} connecting to ${l.connectTo}...`),await this._reconnect(l,Ik(EF)),this._options.logService.info(`${e} reconnected!`),this._onDidStateChange.fire(new Tg(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(Qc.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(Rs(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 Qc){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,Qc.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 Ab(this.reconnectionToken,e,t,n)),xk(this.protocol)}_pauseSocketWriting(){this.protocol.pauseSocketWriting()}}});var _g,Ck=w(()=>{$();te();_g=M("remoteSocketFactoryService")});import*as Tk from"net";import*as _k from"os";async function WF(i,r,e,t,n){let o;for(let s=3;s&&(o?.dispose(),o=await new Lb(i,r,e,t,n).waitForReady(),!(n&&Pw[n]||!Pw[o.tunnelLocalPort]));s--);return o}var Lb,yp,wa,kg,kk=w(()=>{Cw();qd();ge();$();Y();rt();ne();cr();Ek();Ck();Ah();Cb();ot();Lb=class extends _{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=Tk.createServer(),this._barrier=new bi,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=Jc(this.defaultTunnelHost)?"0.0.0.0":"127.0.0.1",n=await Ew(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=Cg(this.tunnelRemoteHost)||Jc(this.tunnelRemoteHost)?"localhost":this.tunnelRemoteHost,n=await Sk(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)}},yp=class extends Gc{constructor(e,t,n,o,s){super(t,s);this.remoteSocketFactoryService=e;this.signService=n;this.productService=o}isPortPrivileged(e){return vk(e,this.defaultTunnelHost,Bt,_k.release())}retainOrCreateTunnel(e,t,n,o,s,a,l,c){let d=this.getTunnelFromMap(t,n);if(d)return++d.refcount,d.value;if(gk(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=WF(u,o,t,n,s);return this.logService.trace("ForwardedPorts: (TunnelService) Tunnel created without provider."),this.addTunnelToMap(t,n,f),f}}};yp=C([g(0,_g),g(1,N),g(2,ys),g(3,Ae),g(4,de)],yp);wa=class extends yp{constructor(r,e,t,n,o){super(r,e,t,n,o)}};wa=C([g(0,_g),g(1,N),g(2,ys),g(3,Ae),g(4,de)],wa);kg=class extends _{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 wa(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)}};kg=C([g(0,_g),g(1,N),g(2,Ae),g(3,ys),g(4,de)],kg)});import{parse as Rk}from"url";function UF(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 Dk(i,r,e={}){let t=Rk(i),n=e.proxyUrl||UF(t,r);if(!n)return null;let o=Rk(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:jp(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 Ak=w(()=>{Me()});import{parse as Lk}from"url";import{createGunzip as NF}from"zlib";function HF(i){if(i instanceof Error){let r=i.code;return!!r&&BF.has(r)}return!1}async function $F(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 KF(i){return(Lk(i.url).protocol==="https:"?await import("https"):await import("http")).request}async function Mk(i,r){let t,n=VF.test(i.type||"GET");for(let o=1;o<=3;o++)try{return await qF(i,r)}catch(s){if(t=s,s instanceof Et||!n||!HF(s)||o===3)throw s;await ut(100*o,r)}throw t}async function qF(i,r){return bt.withAsyncBody(async(e,t)=>{let n=Lk(i.url),o=i.getRawRequest?i.getRawRequest(i):await KF(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:jp(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=jn(i.followRedirects)?i.followRedirects:3;if(c.statusCode&&c.statusCode>=300&&c.statusCode<400&&d>0&&c.headers.location)Mk({...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(NF())),e({res:c,stream:yx(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 Et)});a.on("response",()=>l.dispose()),a.on("error",()=>l.dispose())})}var BF,VF,Xc,Ok=w(()=>{ge();ot();He();Me();rt();dn();zu();ne();as();Ak();BF=new Set(["EAI_AGAIN","ECONNREFUSED","EHOSTDOWN","EHOSTUNREACH","ENETDOWN","ENETUNREACH","EPROTO"]),VF=/^(GET|HEAD|OPTIONS)$/i;Xc=class extends jm{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 ds(this.configurationService,this.logService,this.environmentService.args,process.env)}catch(c){this.shellEnvErrorLogged||(this.shellEnvErrorLogged=!0,this.logService.error("resolving shell environment failed",yr(c)))}let a={...process.env,...s},l=e.agent?e.agent:await Dk(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,()=>Mk(e,t))}async resolveProxy(e){}async lookupAuthorization(e){}async lookupKerberosAuthorization(e){try{let t=this.getConfigValue("http.proxyKerberosServicePrincipal");return"Negotiate "+await $F(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",Dw),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}};Xc=C([g(1,de),g(2,br),g(3,N)],Xc)});import{net as zF}from"electron";function jF(i){return zF.request}var Yc,Fk=w(()=>{Ok();rt();dn();ne();Yc=class extends Xc{constructor(r,e,t){super("local",r,e,t)}request(r,e){return super.request({...r||{},getRawRequest:jF,isChromiumNetwork:!0},e)}};Yc=C([g(0,de),g(1,br),g(2,N)],Yc)});var Rg,Wk=w(()=>{Rg=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 Dg,Uk=w(()=>{Wk();Dg=class extends Rg{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 Ia,Nk=w(()=>{ci();ge();$();ne();Ia=class extends da{constructor(e,t){super();this.logService=e;this.productName=t;this.throttler=this._register(new wd);this.watcher=this._register(new St)}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))}};Ia=C([g(0,N)],Ia)});function GF(i,r){let e=[];for(let t of new Set(wi.concat(i.keys(),r.keys())))i.get(t)!==r.get(t)&&e.push(t);return e}var ba,Bk=w(()=>{ge();j();ud();Me();ze();ne();ci();ba=class extends da{constructor(e,t,n){super();this.file=e;this.fileService=t;this.logService=n;this.throttledDelayer=this._register(new Rr(500));let o=x.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(!Ge(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=GF(this.policies,e);this.policies=e,t.length>0&&this._onDidChange.fire(t)}};ba=C([g(1,Le),g(2,N)],ba)});function Vk(i,r,e){r instanceof he||(r=new he(r,[],!!e)),JF.push([i,r])}var JF,Hk=w(()=>{Xu();JF=[]});var Ag,Sa,$k=w(()=>{ti();le();Hk();ze();It();j();$();Yt();Ag=class i{constructor(r){this.uri=r;this.time=i._clock++}static{this._clock=0}touch(){return this.time=i._clock++,this}},Sa=class{constructor(r){this._fileService=r;this._dispooables=new Q;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(x.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 Fs(t),this._canonicalUris=new Map}dispose(){this._dispooables.dispose(),this._canonicalUris.clear()}asCanonicalUri(r){this._fileService.hasProvider(r)&&(r=sf(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 Ag(r)),this._checkTrim(),r)}_checkTrim(){if(this._canonicalUris.size<this._limit)return;Ag._clock=1;let r=[...this._canonicalUris.values()].map(t=>t.time),e=Kp(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}};Sa=C([g(0,Le)],Sa);Vk(At,Sa,1)});var Lg,Kk=w(()=>{$();ne();Lg=class extends _{constructor(r,e=[]){super(),this.logger=new jf([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 Mg,qk=w(()=>{j();$();ze();Js();kr();Mg=class extends _{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=jr.forUris(()=>!(this.capabilities&1024)),this.atomicReadWriteResources=new ka(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 z(()=>{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(uu(this.fileSystemProvider))return this.fileSystemProvider.copy(this.toFileSystemResource(e),this.toFileSystemResource(t),n);throw new Error("copy not supported")}cloneFile(e,t){if(Yf(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 zk=w(()=>{});import Vr from"electron";var QF,XF,YF,ZF,jk,Gk,Jk,Qk,vn,Yr,Xk=w(()=>{j();$();Y();rt();Pn();zk();Yt();jt();ne();QF="#FFFFFF",XF="#1F1F1F",YF="#000000",ZF="#FFFFFF",jk="theme",Gk="themeBackground",Jk="windowSplash",Qk="windowSplashWorkspaceOverride",vn=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")))(vn||={});Yr=class extends _{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;re||this._register(this.configurationService.onDidChangeConfiguration(o=>{(o.affectsConfiguration(vn.SYSTEM_COLOR_THEME.key)||o.affectsConfiguration(vn.DETECT_COLOR_SCHEME.key))&&(this.updateSystemColorTheme(),this.logThemeSettings())})),this.updateSystemColorTheme(),this.logThemeSettings(),this._register(x.fromNodeEventEmitter(Vr.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(vn.DETECT_COLOR_SCHEME)}, ${e(vn.DETECT_HC)}, ${e(vn.SYSTEM_COLOR_THEME)}`);let t=n=>`${String(n)}=${Vr.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(re||this.isAutoDetectColorScheme())Vr.nativeTheme.themeSource="system";else switch(vn.SYSTEM_COLOR_THEME.getValue(this.configurationService)){case"dark":Vr.nativeTheme.themeSource="dark";break;case"light":Vr.nativeTheme.themeSource="light";break;case"auto":switch(this.getPreferredBaseTheme()??this.getStoredBaseTheme()){case"vs":Vr.nativeTheme.themeSource="light";break;case"vs-dark":Vr.nativeTheme.themeSource="dark";break;default:Vr.nativeTheme.themeSource="system"}break;default:Vr.nativeTheme.themeSource="system";break}}getColorScheme(){if(W){if(Vr.nativeTheme.shouldUseHighContrastColors)return{dark:Vr.nativeTheme.shouldUseInvertedColorScheme,highContrast:!0}}else if(V){if(Vr.nativeTheme.shouldUseInvertedColorScheme||Vr.nativeTheme.shouldUseHighContrastColors)return{dark:Vr.nativeTheme.shouldUseDarkColors,highContrast:!0}}else if(re&&Vr.nativeTheme.shouldUseHighContrastColors)return{dark:!0,highContrast:!0};return{dark:Vr.nativeTheme.shouldUseDarkColors,highContrast:!1}}getPreferredBaseTheme(){let e=this.getColorScheme();if(vn.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!!vn.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(Gk,null);if(n)return n}switch(e??t){case"vs":return QF;case"hc-black":return YF;case"hc-light":return ZF;default:return XF}}getStoredBaseTheme(){switch(this.stateService.getItem(jk,"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(dt([{key:jk,data:n.baseTheme},{key:Gk,data:n.colorInfo.background},{key:Jk,data:n},o?{key:Qk,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>=Yr.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(Jk);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||Yr.DEFAULT_BAR_WIDTH:o=0;let s=vn.AUXILIARYBAR_DEFAULT_VISIBILITY.getValue(this.configurationService),a=vn.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||Yr.DEFAULT_BAR_WIDTH:c===!1?l=0:a!=="agentSessionsWelcomePage"&&(s==="visible"||s==="visibleInWorkspace")?l=n.layoutInfo.auxiliaryBarWidth||t.layoutInfo.auxiliaryBarWidth||Yr.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(Qk);return e?.layoutInfo||(e={layoutInfo:{sideBarWidth:Yr.DEFAULT_BAR_WIDTH,auxiliaryBarWidth:Yr.DEFAULT_BAR_WIDTH,workspaces:{}}}),e.layoutInfo.sideBarWidth||(e.layoutInfo.sideBarWidth=Yr.DEFAULT_BAR_WIDTH),e.layoutInfo.auxiliaryBarWidth||(e.layoutInfo.auxiliaryBarWidth=Yr.DEFAULT_BAR_WIDTH),e.layoutInfo.workspaces||(e.layoutInfo.workspaces={}),e}};Yr=C([g(0,Lt),g(1,de),g(2,N)],Yr)});var iW={};import{app as eW,dialog as tW}from"electron";import{unlinkSync as rW,promises as Yk}from"fs";var Mb,nW,Zk=w(()=>{ix();le();Yt();ge();No();He();ln();j();ro();qe();Pe();mi();Y();kn();Zt();lr();Pi();qd();rk();be();rt();ok();ak();Wt();$l();ck();ze();dk();vh();Xu();pk();bh();_t();fk();ne();Ws();cr();Hh();mk();Cb();kk();as();Fk();Ah();Uk();Pn();xo();fl();ts();ci();Nk();Bk();$();ti();$k();tc();Kk();Xy();Vy();qk();qa();Xk();Td();Mb=class{main(){try{this.startup()}catch(r){console.error(r.message),eW.exit(1)}}async startup(){Hp(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(N),u=c.get(ve),f=c.get(Le),m=c.get(un),y=await this.claimInstance(d,t,u,r,a,!0);if(J.writeFile(t.mainLockfile,String(process.pid)).catch(S=>{d.warn(`app#startup(): Error writing main lockfile: ${S.stack}`)}),s.logger=m.createLogger("main",{name:h(164,null)}),x.once(u.onWillShutdown)(S=>{f.dispose(),n.dispose(),S.join("instanceLockfile",Yk.unlink(t.mainLockfile).catch(()=>{}))}),await this.checkInnoSetupMutex(a,d)){let S=`${a.nameShort} is currently being updated. Please wait for the update to complete before launching.`;r.invokeFunction(this.quit,new Error(S));return}return r.createInstance(xs,y,e).startup()})}catch(c){r.invokeFunction(this.quit,c)}}createServices(){let r=new ms,e=new Q;process.once("exit",()=>e.dispose());let t={_serviceBrand:void 0,...er};r.set(Ae,t);let n=new Sn(this.resolveArgs(),t),o=this.patchEnvironment(n);r.set(_e,n);let s=new kh(lP(n),n.logsHome);r.set(di,s);let a=new Eg(s.getLogLevel()),l=e.add(new Lg(a,[new zf(s.getLogLevel())]));!n.isBuilt&&sP&&e.add(aP(l)),r.set(N,l);let c=new Es(l);r.set(Le,c);let d=new fs(l);c.registerProvider(U.file,d);let u=new Sa(c);r.set(At,u);let f=new wl(1,n,l,c);r.set(lm,f),r.set(Lt,f);let m=new Il(f,u,n,c,l,t);r.set(Br,m),c.registerProvider(U.vscodeUserData,new Mg(U.file,d,U.vscodeUserData,m,u,l));let y,v=W?t.parentPolicyConfig?.win32RegValueName??t.win32RegValueName:t.parentPolicyConfig?.darwinBundleIdentifier??t.darwinBundleIdentifier;W&&v?y=e.add(new Ia(l,v)):V&&v?y=e.add(new Ia(l,v)):re?y=e.add(new ba(P.file(q1),c,l)):n.policyFile?y=e.add(new ba(n.policyFile,c,l)):y=new ec,r.set(Bn,y);let S=new Sg(m.defaultProfile.settingsResource,c,y,l);return r.set(de,S),r.set(ve,new he(Li,void 0,!1)),r.set(Un,new he(Yc,void 0,!0)),r.set(Di,new he(Yr)),r.set(ys,new he(Dg,void 0,!1)),r.set(hk,new he(wa)),r.set(uc,new jc(n,m,l)),[new Pg(r,!0),o,n,S,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 bt.settled([Promise.all([this.allowWindowsUNCPath(r.extensionsPath),r.codeCachePath,r.logsHome.with({scheme:U.file}).fsPath,e.defaultProfile.globalStorageHome.with({scheme:U.file}).fsPath,r.workspaceStorageHome.with({scheme:U.file}).fsPath,r.localHistoryHome.with({scheme:U.file}).fsPath,r.backupHome].map(s=>s?Yk.mkdir(s,{recursive:!0}):void 0)),n.init(),t.initialize()]),e.init()}allowWindowsUNCPath(r){if(W){let e=hf(r);e&&eo(e)}return r}async claimInstance(r,e,t,n,o,s){let a;try{Be("code/willStartMainServer"),a=await Dx(e.mainIPCHandle),Be("code/didStartMainServer"),x.once(t.onWillShutdown)(()=>a.dispose())}catch(l){if(l.code!=="EADDRINUSE")throw this.handleStartupDataDirError(e,o,l),l;let c;try{c=await Ax(e.mainIPCHandle,"main")}catch(m){if(!s||W||m.code!=="ECONNREFUSED")throw m.code==="EPERM"&&this.showStartupWarningDialog(h(165,null,o.nameShort),h(166,null),o),m;try{rW(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=nt.toService(c.getChannel("launch"),{disableMarshalling:!0}),f=nt.toService(c.getChannel("diagnostics"),{disableMarshalling:!0});if(e.args.status)return n.invokeFunction(async()=>{let m=new zc(Ui,o),y=await f.getMainDiagnostics(),v=await f.getRemoteDiagnostics({includeProcesses:!0,includeWorkspaceMetadata:!0}),S=await m.getDiagnostics(y,v);throw console.log(S),new Ta});throw W&&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 Ta("Sent env to running instance. Terminating...")}if(e.args.status)throw console.log(h(171,null,o.nameShort)),new Ta("Terminating...");return process.env.VSCODE_PID=String(process.pid),a}handleStartupDataDirError(r,e,t){if(t.code==="EACCES"||t.code==="EPERM"){let n=dt([r.userDataPath,r.extensionsPath,Af]).map(o=>to(P.file(o),{os:Bt,tildify:r}));this.showStartupWarningDialog(h(169,null),h(170,null,Dr(t),n.join(`
`)),e)}}showStartupWarningDialog(r,e,t){tW.showMessageBoxSync(Lm({type:"warning",buttons:[h(163,null)],message:r,detail:e},t).options)}async windowsAllowSetForegroundWindow(r,e){if(W){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(N),n=r.get(ve),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,e){if(!(W&&r.win32MutexName&&r.win32VersionedUpdate))return!1;try{let t=`${r.win32MutexName}-updating`,n=await import("@vscode/windows-mutex");if(!n.isActive(t))return!1;let o=250,s=120;e.info(`checkInnoSetupMutex: ${t} is held, waiting up to ${o*s/1e3}s for setup to finish...`);let a=Date.now();try{return await ff(async()=>{if(n.isActive(t))throw new Error("mutex still held")},o,s),e.info(`checkInnoSetupMutex: ${t} released after ${Date.now()-a}ms`),!1}catch{return e.warn(`checkInnoSetupMutex: ${t} still held after ${Date.now()-a}ms, giving up`),!0}}catch(t){return e.error("Failed to check Inno Setup mutex:",t),!1}}resolveArgs(){let r=this.validatePaths(eE(process.argv));if(r.wait&&!r.waitMarkerFilePath){let e=lk(r.verbose);e&&(tE(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._=[rn()]),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=rn(),n=r.map(a=>{let l=String(a),c;e&&(c=Na(l),l=c.path),l&&(l=this.preparePath(t,l));let d=rf(l,t),u=xe(d);return u&&!u1(u)?null:e&&c?(c.path=d,this.toPath(c)):d}),o=W||V,s=Wr(n,a=>a&&o?a.toLowerCase():a||"");return dt(s)}preparePath(r,e){return W&&(e=Jn(e,'"')),e=wv(wv(e," "),"	"),W&&(e=_r(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(":")}},nW=new Mb;nW.main()});import*as Hn from"node:path";import*as $n from"original-fs";import*as rR from"node:os";import{performance as oW}from"node:perf_hooks";import*as Tr from"node:path";import*as Vg from"node:fs";import{createRequire as fR}from"node:module";var CW=fR(import.meta.url),TW=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 mR(){try{typeof process.env.VSCODE_CWD!="string"&&(process.env.VSCODE_CWD=process.cwd()),process.platform==="win32"&&process.chdir(Tr.dirname(process.execPath))}catch(i){console.error(i)}}mR();function zb(i){let r=Tr.dirname(import.meta.dirname);function e(){return process.env.VSCODE_DEV?r:process.platform==="darwin"?Tr.dirname(Tr.dirname(Tr.dirname(r))):process.platform==="win32"&&i.win32VersionedUpdate?Tr.dirname(Tr.dirname(Tr.dirname(r))):Tr.dirname(Tr.dirname(r))}function t(){if(process.env.VSCODE_PORTABLE)return process.env.VSCODE_PORTABLE;if(process.platform==="win32"||process.platform==="linux")return Tr.join(e(),"data");let l=i.portable||`${i.applicationName}-portable-data`;return Tr.join(Tr.dirname(e()),l)}let n=t(),o=!("target"in i)&&Vg.existsSync(n),s=Tr.join(n,"tmp"),a=o&&Vg.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 Ep from"node:fs";import{register as yR}from"node:module";import{createRequire as hR}from"node:module";var $g=hR(import.meta.url),od={BUILD_INSERT_PRODUCT_CONFIGURATION:"BUILD_INSERT_PRODUCT_CONFIGURATION"};od.BUILD_INSERT_PRODUCT_CONFIGURATION&&(od=$g("../product.json"));var Hg={"name":"Code","version":"1.123.0","distro":"6a5606319f079b27f14d9a4947bf9cd2bff41528","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-all2 -lp compile-client compile-copilot","compile-client":"npm run gulp compile","compile-copilot":"npm --prefix extensions/copilot run 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 --experimental-strip-types --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","extensions-ci":"npm run gulp extensions-ci","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/sdk":"^0.82.0","@github/copilot":"1.0.55-3","@github/copilot-sdk":"1.0.0-beta.8","@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","@microsoft/mxc-sdk":"0.3.0","@parcel/watcher":"^2.5.6","@types/semver":"^7.5.8","@vscode/codicons":"^0.0.46-14","@vscode/copilot-api":"^0.4.2","@vscode/deviceid":"^0.1.1","@vscode/diff":"0.0.2-7","@vscode/iconv-lite-umd":"0.7.1","@vscode/native-watchdog":"^1.4.6","@vscode/policy-watcher":"^1.3.2","@vscode/proxy-agent":"^0.42.0","@vscode/ripgrep-universal":"^1.18.0","@vscode/sandbox-runtime":"0.0.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.7.0","@vscode/windows-registry":"^1.2.0","@xterm/addon-clipboard":"^0.3.0-beta.220","@xterm/addon-image":"^0.10.0-beta.220","@xterm/addon-ligatures":"^0.11.0-beta.220","@xterm/addon-progress":"^0.3.0-beta.220","@xterm/addon-search":"^0.17.0-beta.220","@xterm/addon-serialize":"^0.15.0-beta.220","@xterm/addon-unicode11":"^0.10.0-beta.220","@xterm/addon-webgl":"^0.20.0-beta.219","@xterm/headless":"^6.1.0-beta.220","@xterm/xterm":"^6.1.0-beta.220","chrome-remote-interface":"^0.33.0","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.13","open":"^10.1.2","playwright-core":"1.59.1","ssh2":"^1.16.0","tas-client":"0.3.1","undici":"^7.24.0","vscode-oniguruma":"1.7.0","vscode-regexpp":"^3.1.0","vscode-textmate":"^9.3.2","ws":"^8.19.0","yauzl":"^3.3.1","yazl":"^2.4.3","zod":"^3.25.76"},"devDependencies":{"@anthropic-ai/claude-agent-sdk":"0.2.128","@playwright/cli":"^0.1.9","@playwright/test":"^1.56.1","@stylistic/eslint-plugin-ts":"^2.8.0","@types/chrome-remote-interface":"^0.33.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":"24.x","@types/sinon":"^10.0.2","@types/sinon-test":"^2.4.2","@types/source-map-support":"^0.5.10","@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.20260429","@vscode/component-explorer":"^0.2.1-27","@vscode/component-explorer-cli":"^0.2.1-27","@vscode/gulp-electron":"1.41.3","@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","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":"42.2.0","eslint":"^9.36.0","eslint-formatter-compact":"^8.40.0","eslint-plugin-header":"3.1.1","eslint-plugin-import":"^2.32.0","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.5.21","tar":"^7.5.9","tsec":"0.2.7","tslib":"^2.6.3","typescript":"^6.0.0-dev.20260416","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"},"yauzl":"^3.3.1"},"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"};Hg.BUILD_INSERT_PACKAGE_CONFIGURATION&&(Hg=$g("../package.json"));var jb={};if(process.env.VSCODE_DEV)try{jb=$g("../product.overrides.json"),od=Object.assign(od,jb)}catch{}var Fr=od,Gb=Hg;mi();(process.env.ELECTRON_RUN_AS_NODE||process.versions.electron)&&yR(`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={...Fr};globalThis._VSCODE_PACKAGE_JSON={...Gb};globalThis._VSCODE_FILE_ROOT=import.meta.dirname;var jg;function wR(){return jg||(jg=IR()),jg}async function IR(){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 Ep.promises.readFile(r)).toString())}catch(e){if(console.error(`Error reading NLS messages file ${r}: ${e}`),i?.languagePack?.corruptMarkerFile)try{await Ep.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 Ep.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 Jb(){await wR()}var nR=$b(Gg(),1);import{app as it,protocol as sW,crashReporter as aW,Menu as lW,contentTracing as cW}from"electron";Jg();Qg();mi();Pe();mi();lr();import{promises as Zi}from"fs";async function Wv({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 Cd(i,r,n);try{let o=await ZD(e);if(!o)return Cd(i,r,n);let s=e2(o,i);if(!s)return Cd(i,r,n);let a=o[s],l=a?.translations?.vscode;if(!a||typeof a.hash!="string"||!a.translations||typeof l!="string"||!await J.exists(l))return Cd(i,r,n);let c=`${a.hash}.${s}`,d=B(e,"clp",c),u=B(d,t),f=B(u,"nls.messages.json"),m=B(d,"tcf.json"),y=B(d,"corrupted.info");await J.exists(y)&&await Zi.rm(d,{recursive:!0,force:!0,maxRetries:3});let v={userLocale:i,osLocale:r,resolvedLanguage:s,defaultMessagesFile:B(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 J.exists(f))return t2(u).catch(()=>{}),Be("code/didGenerateNls"),v;let[S,I,T]=await Promise.all([Zi.readFile(B(n,"nls.keys.json"),"utf-8").then(A=>JSON.parse(A)),Zi.readFile(B(n,"nls.messages.json"),"utf-8").then(A=>JSON.parse(A)),Zi.readFile(l,"utf-8").then(A=>JSON.parse(A))]),D=[],k=0;for(let[A,oe]of S){let O=T.contents[A];for(let ee of oe)D.push(O?.[ee]||I[k]),k++}return await Zi.mkdir(u,{recursive:!0}),await Promise.all([Zi.writeFile(f,JSON.stringify(D),"utf-8"),Zi.writeFile(m,JSON.stringify(a.translations),"utf-8")]),Be("code/didGenerateNls"),v}catch(o){console.error("Generating translation files failed.",o)}return Cd(i,r,n)}async function ZD(i){let r=B(i,"languagepacks.json");try{return JSON.parse(await Zi.readFile(r,"utf-8"))}catch{return}}function e2(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 Cd(i,r,e){return Be("code/didGenerateNls"),{userLocale:i,osLocale:r,resolvedLanguage:"en",defaultMessagesFile:B(e,"nls.messages.json"),locale:i,availableLanguages:{}}}function t2(i){let r=new Date;return Zi.utimes(i,r,r)}qa();Be("code/didStartMain");Be("code/willLoadMainBundle",{startTime:Math.floor(oW.timeOrigin)});Be("code/didLoadMainBundle");var dW=zb(Fr),Tn=yW(),Og=pW(Tn);Tn.sandbox&&!Tn["disable-chromium-sandbox"]&&!Og["disable-chromium-sandbox"]?it.enableSandbox():it.commandLine.hasSwitch("no-sandbox")&&!it.commandLine.hasSwitch("disable-gpu-sandbox")?it.commandLine.appendSwitch("disable-gpu-sandbox"):(it.commandLine.appendSwitch("no-sandbox"),it.commandLine.appendSwitch("disable-gpu-sandbox"));var Zc=Tp(Tn,Fr.nameShort??"code-oss-dev");if(process.platform==="win32"){let i=hf(Zc);i&&eo(i)}it.setPath("userData",Zc);var eR=IW();lW.setApplicationMenu(null);Be("code/willStartCrashReporter");(Tn["crash-reporter-directory"]||Og["enable-crash-reporter"]&&!Tn["disable-crash-reporter"])&&gW();Be("code/didStartCrashReporter");dW.isPortable&&it.setAppLogsPath(Hn.join(Zc,"logs"));sW.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}},{scheme:"vscode-remote-resource",privileges:{secure:!0,supportFetchAPI:!0,corsEnabled:!0}}]);wW();var Ob,Fb=iR((it.getPreferredSystemLanguages()?.[0]??"en").toLowerCase()),wp=xW(Og);wp&&(Ob=Wv({userLocale:wp,osLocale:Fb,commit:Fr.commit,userDataPath:Zc,nlsMetadataPath:import.meta.dirname}));if(process.platform==="win32"||process.platform==="linux"){let i=!wp||wp==="qps-ploc"?"en":wp;it.commandLine.appendSwitch("lang",i)}it.once("ready",function(){if(Tn.trace){let i;if(Tn["trace-memory-infra"]){let r=Tn["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:Tn["trace-category-filter"]||"*",traceOptions:Tn["trace-options"]||"record-until-full,enable-sampling"};cW.startRecording(i).finally(()=>tR())}else tR()});async function tR(){Be("code/mainAppReady");try{let[,i]=await Promise.all([bW(eR),SW()]);await uW(eR,i)}catch(i){console.error(i)}}async function uW(i,r){process.env.VSCODE_NLS_CONFIG=JSON.stringify(r),process.env.VSCODE_CODE_CACHE_PATH=i||"",await Jb(),await Promise.resolve().then(()=>(Zk(),iW)),Be("code/didRunMainBundle")}function pW(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=fW();Object.keys(t).forEach(l=>{let c=t[l];if(r.indexOf(l)!==-1){if(c===!0||c==="true")l==="disable-hardware-acceleration"?it.disableHardwareAcceleration():it.commandLine.appendSwitch(l);else if(typeof c=="string"&&c)if(l==="password-store"){let d=c;(c==="gnome"||c==="gnome-keyring")&&(d="gnome-libsecret"),it.commandLine.appendSwitch(l,d)}else it.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,${it.commandLine.getSwitchValue("enable-features")}`;it.commandLine.appendSwitch("enable-features",n);let o=`CalculateNativeWinOcclusion,${it.commandLine.getSwitchValue("disable-features")}`;it.commandLine.appendSwitch("disable-features",o);let s=`FontMatchingCTMigration,StandardizedBrowserZoom,${it.commandLine.getSwitchValue("disable-blink-features")}`;it.commandLine.appendSwitch("disable-blink-features",s);let a=vW(i,t);return a&&it.commandLine.appendSwitch("js-flags",a),it.commandLine.appendSwitch("xdg-portal-required-version","4"),it.commandLine.appendSwitch("max-active-webgl-contexts","32"),t}function fW(){let i=hW(),r;try{r=Cp($n.readFileSync(i).toString())}catch(e){e&&e.code==="ENOENT"?mW(i):console.warn(`Unable to read argv.json configuration file in ${i}, falling back to defaults (${e})`)}return r||(r={}),r}function mW(i){try{let r=Hn.dirname(i);$n.existsSync(r)||$n.mkdirSync(r),$n.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 hW(){let i=process.env.VSCODE_PORTABLE;if(i)return Hn.join(i,"argv.json");let r=Fr.dataFolderName;return process.env.VSCODE_DEV&&(r=`${r}-dev`),Hn.join(rR.homedir(),r,"argv.json")}function gW(){let i=Tn["crash-reporter-directory"],r="";if(i){if(i=Hn.normalize(i),Hn.isAbsolute(i)||(console.error(`The path '${i}' specified for --crash-reporter-directory must be absolute.`),it.exit(1)),!$n.existsSync(i))try{$n.mkdirSync(i,{recursive:!0})}catch{console.error(`The path '${i}' specified for --crash-reporter-directory does not seem to exist or cannot be created.`),it.exit(1)}console.log(`Found --crash-reporter-directory argument. Setting crashDumps directory to be '${i}'`),it.setPath("crashDumps",i)}else{let o=Fr.appCenter;if(o){let s=process.platform==="win32",a=process.platform==="linux",l=process.platform==="darwin",c=Og["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(Fr.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=(Fr.crashReporter?Fr.crashReporter.productName:void 0)||Fr.nameShort,t=(Fr.crashReporter?Fr.crashReporter.companyName:void 0)||"Microsoft",n=!!(!process.env.VSCODE_DEV&&r&&!i);aW.start({companyName:t,productName:process.env.VSCODE_DEV?`${e} Dev`:e,submitURL:r,uploadToServer:n,compress:!0,ignoreSystemCrashHandler:!0})}function vW(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"]),e.length>0?e.join(" "):null}function yW(){return(0,nR.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 wW(){let i=[];globalThis.macOpenFiles=i,it.on("open-file",function(t,n){i.push(n)});let r=[],e=function(t,n){t.preventDefault(),r.push(n)};it.on("will-finish-launching",function(){it.on("open-url",e)}),globalThis.getOpenUrls=function(){return it.removeListener("open-url",e),r}}function IW(){if(process.argv.indexOf("--no-cached-data")>0||process.env.VSCODE_DEV)return;let i=Fr.commit;if(i)return Hn.join(Zc,"CachedData",i)}async function bW(i){if(typeof i=="string")try{return await $n.promises.mkdir(i,{recursive:!0}),i}catch{}}function iR(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 SW(){let i=Ob?await Ob:void 0;if(i)return i;let r=it.getLocale();return r?(r=iR(r.toLowerCase()),Wv({userLocale:r,osLocale:Fb,commit:Fr.commit,userDataPath:Zc,nlsMetadataPath:import.meta.dirname})):{userLocale:"en",osLocale:Fb,resolvedLanguage:"en",defaultMessagesFile:Hn.join(import.meta.dirname,"nls.messages.json"),locale:"en",availableLanguages:{}}}function xW(i){let r=Tn.locale;return r?r.toLowerCase():typeof i?.locale=="string"?i.locale.toLowerCase():void 0}
//# sourceMappingURL=https://main.vscode-cdn.net/sourcemaps/6a44c352bd24569c417e530095901b649960f9f8/core/main.js.map
