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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

export function __importStar(mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
}

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

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

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

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

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

}

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

export function __disposeResources(env) {
    function fail(e) {
        env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
        env.hasError = true;
    }
    function next() {
        while (env.stack.length) {
            var rec = env.stack.pop();
            try {
                var result = rec.dispose && rec.dispose.call(rec.value);
                if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
            }
            catch (e) {
                fail(e);
            }
        }
        if (env.hasError) throw env.error;
    }
    return next();
}

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

var fl=Object.defineProperty;var hl=Object.getOwnPropertyDescriptor;var f=(r,e,t,n)=>{for(var i=n>1?void 0:n?hl(e,t):e,o=r.length-1,s;o>=0;o--)(s=r[o])&&(i=(n?s(e,t,i):s(i))||i);return n&&i&&fl(e,t,i),i},he=(r,e)=>(t,n)=>e(t,n,r);var we=class{constructor(e){this.executor=e;this._state=0}get hasValue(){return this._state===2}get value(){if(this._state===0){this._state=1;try{this._value=this.executor()}catch(e){this._error=e}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 ci=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?Le.isErrorNoTelemetry(e)?new Le(e.message+`

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

`+e.stack):e},0)}}addListener(e){return this.listeners.push(e),()=>{this._removeListener(e)}}emit(e){this.listeners.forEach(t=>{t(e)})}_removeListener(e){this.listeners.splice(this.listeners.indexOf(e),1)}setUnexpectedErrorHandler(e){this.unexpectedErrorHandler=e}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}},gl=new ci;function De(r){vl(r)||gl.onUnexpectedError(r)}var ui="Canceled";function vl(r){return r instanceof Ee?!0:r instanceof Error&&r.name===ui&&r.message===ui}var Ee=class extends Error{constructor(){super(ui),this.name=this.message}},Fo=class r extends Error{static{this._name="PendingMigrationError"}static is(e){return e instanceof r||e instanceof Error&&e.name===r._name}constructor(e){super(e),this.name=r._name}};function Uo(r){return r?new Error(`Illegal state: ${r}`):new Error("Illegal state")}var Le=class r extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof r)return e;let t=new r;return t.message=e.message,t.stack=e.stack,t}static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}},Qe=class r extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,r.prototype)}};function yl(r,e,t=0,n=r.length){let i=t,o=n;for(;i<o;){let s=Math.floor((i+o)/2);e(r[s])?i=s+1:o=s}return i-1}var Bo=class r{constructor(e){this._array=e;this._findLastMonotonousLastIdx=0}static{this.assertInvariants=!1}findLastMonotonous(e){if(r.assertInvariants){if(this._prevFindLastPredicate){for(let n of this._array)if(this._prevFindLastPredicate(n)&&!e(n))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=e}let t=yl(this._array,e,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=t+1,t===-1?void 0:this._array[t]}};function Ko(r){return r.filter(e=>!!e)}function di(r,e){let t;if(typeof e=="number"){let n=e;t=()=>{let i=Math.sin(n++)*179426549;return i-Math.floor(i)}}else t=Math.random;for(let n=r.length-1;n>0;n-=1){let i=Math.floor(t()*(n+1)),o=r[n];r[n]=r[i],r[i]=o}}function Wo(r){return r[Math.floor(Math.random()*r.length)]}var zo;(a=>{function r(l){return l<0}a.isLessThan=r;function e(l){return l<=0}a.isLessThanOrEqual=e;function t(l){return l>0}a.isGreaterThan=t;function n(l){return l===0}a.isNeitherLessOrGreaterThan=n,a.greaterThan=1,a.lessThan=-1,a.neitherLessOrGreaterThan=0})(zo||={});function qo(r,e){return(t,n)=>e(r(t),r(n))}var $o=(r,e)=>r-e;var Vo=class r{constructor(e){this.iterate=e}static{this.empty=new r(e=>{})}forEach(e){this.iterate(t=>(e(t),!0))}toArray(){let e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(e){return new r(t=>this.iterate(n=>e(n)?t(n):!0))}map(e){return new r(t=>this.iterate(n=>t(e(n))))}some(e){let t=!1;return this.iterate(n=>(t=e(n),!t)),t}findFirst(e){let t;return this.iterate(n=>e(n)?(t=n,!1):!0),t}findLast(e){let t;return this.iterate(n=>(e(n)&&(t=n),!0)),t}findLastMaxBy(e){let t,n=!0;return this.iterate(i=>((n||zo.isGreaterThan(e(i,t)))&&(n=!1,t=i),!0)),t}};function Xo(r,e){let t=Object.create(null);for(let n of r){let i=e(n),o=t[i];o||(o=t[i]=[]),o.push(n)}return t}var Ho,Go,jo=class{constructor(e,t){this.toKey=t;this._map=new Map;this[Ho]="SetWithKey";for(let n of e)this.add(n)}get size(){return this._map.size}add(e){let t=this.toKey(e);return this._map.set(t,e),this}delete(e){return this._map.delete(this.toKey(e))}has(e){return this._map.has(this.toKey(e))}*entries(){for(let e of this._map.values())yield[e,e]}keys(){return this.values()}*values(){for(let e of this._map.values())yield e}clear(){this._map.clear()}forEach(e,t){this._map.forEach(n=>e.call(t,n,n,this))}[(Go=Symbol.iterator,Ho=Symbol.toStringTag,Go)](){return this.values()}};var pi=class{constructor(e,t){this.uri=e;this.value=t}};function _l(r){return Array.isArray(r)}var Yo,lt=class r{constructor(e,t){this[Yo]="ResourceMap";if(e instanceof r)this.map=new Map(e.map),this.toKey=t??r.defaultToKey;else if(_l(e)){this.map=new Map,this.toKey=t??r.defaultToKey;for(let[n,i]of e)this.set(n,i)}else this.map=new Map,this.toKey=e??r.defaultToKey}static{this.defaultToKey=e=>e.toString()}set(e,t){return this.map.set(this.toKey(e),new pi(e,t)),this}get(e){return this.map.get(this.toKey(e))?.value}has(e){return this.map.has(this.toKey(e))}get size(){return this.map.size}clear(){this.map.clear()}delete(e){return this.map.delete(this.toKey(e))}forEach(e,t){typeof t<"u"&&(e=e.bind(t));for(let[n,i]of this.map)e(i.value,i.uri,this)}*values(){for(let e of this.map.values())yield e.value}*keys(){for(let e of this.map.values())yield e.uri}*entries(){for(let e of this.map.values())yield[e.uri,e.value]}*[(Yo=Symbol.toStringTag,Symbol.iterator)](){for(let[,e]of this.map)yield[e.uri,e.value]}},Jo,Qo=class{constructor(e,t){this[Jo]="ResourceSet";!e||typeof e=="function"?this._map=new lt(e):(this._map=new lt(t),e.forEach(this.add,this))}get size(){return this._map.size}add(e){return this._map.set(e,e),this}clear(){this._map.clear()}delete(e){return this._map.delete(e)}forEach(e,t){this._map.forEach((n,i)=>e.call(t,i,i,this))}has(e){return this._map.has(e)}entries(){return this._map.entries()}keys(){return this._map.keys()}values(){return this._map.keys()}[(Jo=Symbol.toStringTag,Symbol.iterator)](){return this.keys()}};var Zo,mi=class{constructor(){this[Zo]="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(e){return this._map.has(e)}get(e,t=0){let n=this._map.get(e);if(n)return t!==0&&this.touch(n,t),n.value}set(e,t,n=0){let i=this._map.get(e);if(i)i.value=t,n!==0&&this.touch(i,n);else{switch(i={key:e,value:t,next:void 0,previous:void 0},n){case 0:this.addItemLast(i);break;case 1:this.addItemFirst(i);break;case 2:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){let n=this._state,i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this,t=this._state,n=this._head,i={[Symbol.iterator](){return i},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){let o={value:n.key,done:!1};return n=n.next,o}else return{value:void 0,done:!0}}};return i}values(){let e=this,t=this._state,n=this._head,i={[Symbol.iterator](){return i},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){let o={value:n.value,done:!1};return n=n.next,o}else return{value:void 0,done:!0}}};return i}entries(){let e=this,t=this._state,n=this._head,i={[Symbol.iterator](){return i},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){let o={value:[n.key,n.value],done:!1};return n=n.next,o}else return{value:void 0,done:!0}}};return i}[(Zo=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}trimNew(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._tail,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.previous,n--;this._tail=t,this._size=n,t&&(t.next=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(t!==1&&t!==2)){if(t===1){if(e===this._head)return;let n=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(n.previous=i,i.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===2){if(e===this._tail)return;let n=e.next,i=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=i,i.next=n),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((t,n)=>{e.push([n,t])}),e}fromJSON(e){this.clear();for(let[t,n]of e)this.set(t,n)}},fi=class extends mi{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=2){return super.get(e,t)}peek(e){return super.get(e,0)}set(e,t){return super.set(e,t,2),this}checkTrim(){this.size>this._limit&&this.trim(Math.round(this._limit*this._ratio))}},Lt=class extends fi{constructor(e,t=1){super(e,t)}trim(e){this.trimOld(e)}set(e,t){return super.set(e,t),this.checkTrim(),this}};var Gn=class{constructor(){this.map=new Map}add(e,t){let n=this.map.get(e);n||(n=new Set,this.map.set(e,n)),n.add(t)}delete(e,t){let n=this.map.get(e);n&&(n.delete(t),n.size===0&&this.map.delete(e))}forEach(e,t){let n=this.map.get(e);n&&n.forEach(t)}get(e){let t=this.map.get(e);return t||new Set}};function es(r,e){if(r===e)return!0;if(r.size!==e.size)return!1;for(let[t,n]of r)if(!e.has(t)||e.get(t)!==n)return!1;for(let[t]of e)if(!r.has(t))return!1;return!0}function on(r,e){let t=this,n=!1,i;return function(){if(n)return i;if(n=!0,e)try{i=r.apply(t,arguments)}finally{e()}else i=r.apply(t,arguments);return i}}function Xn(r,e){if(!r)throw new Error(e?`Assertion failed (${e})`:"Assertion Failed")}function Qn(r,e="unexpected state"){if(!r)throw typeof e=="string"?new Qe(`Assertion Failed: ${e}`):e}function G(r){return typeof r=="string"}function hi(r){return typeof r=="object"&&r!==null&&!Array.isArray(r)&&!(r instanceof RegExp)&&!(r instanceof Date)}function Ae(r){return typeof r=="number"&&!isNaN(r)}function ts(r){return!!r&&typeof r[Symbol.iterator]=="function"}function Il(r){return typeof r>"u"}function gi(r){return Il(r)||r===null}function ns(r,e){if(!r)throw new Error(e?`Unexpected type, expected '${e}'`:"Unexpected type")}function ct(r){return typeof r=="function"}function Yn(r,e){for(let t in e)if(!(t in r))return!1;return!0}var yi;(li=>{function r(S){return!!S&&typeof S=="object"&&typeof S[Symbol.iterator]=="function"}li.is=r;let e=Object.freeze([]);function t(){return e}li.empty=t;function*n(S){yield S}li.single=n;function i(S){return r(S)?S:n(S)}li.wrap=i;function o(S){return S??e}li.from=o;function*s(S){for(let M=S.length-1;M>=0;M--)yield S[M]}li.reverse=s;function a(S){return!S||S[Symbol.iterator]().next().done===!0}li.isEmpty=a;function l(S){return S[Symbol.iterator]().next().value}li.first=l;function c(S,M){let q=0;for(let ue of S)if(M(ue,q++))return!0;return!1}li.some=c;function p(S,M){let q=0;for(let ue of S)if(!M(ue,q++))return!1;return!0}li.every=p;function u(S,M){for(let q of S)if(M(q))return q}li.find=u;function*d(S,M){for(let q of S)M(q)&&(yield q)}li.filter=d;function*m(S,M){let q=0;for(let ue of S)yield M(ue,q++)}li.map=m;function*h(S,M){let q=0;for(let ue of S)yield*M(ue,q++)}li.flatMap=h;function*b(...S){for(let M of S)ts(M)?yield*M:yield M}li.concat=b;function P(S,M,q){let ue=q;for(let ot of S)ue=M(ue,ot);return ue}li.reduce=P;function j(S){let M=0;for(let q of S)M++;return M}li.length=j;function*$(S,M,q=S.length){for(M<-S.length&&(M=0),M<0&&(M+=S.length),q<0?q+=S.length:q>S.length&&(q=S.length);M<q;M++)yield S[M]}li.slice=$;function B(S,M=Number.POSITIVE_INFINITY){let q=[];if(M===0)return[q,S];let ue=S[Symbol.iterator]();for(let ot=0;ot<M;ot++){let Hn=ue.next();if(Hn.done)return[q,li.empty()];q.push(Hn.value)}return[q,{[Symbol.iterator](){return ue}}]}li.consume=B;async function Te(S){let M=[];for await(let q of S)M.push(q);return M}li.asyncToArray=Te;async function ai(S){let M=[];for await(let q of S)M=M.concat(q);return M}li.asyncToArrayFlat=ai})(yi||={});var Tl=!1,Dt=null;var rs=class r{constructor(){this.livingDisposables=new Map}static{this.idx=0}getDisposableData(e){let t=this.livingDisposables.get(e);return t||(t={parent:null,source:null,isSingleton:!1,value:e,idx:r.idx++},this.livingDisposables.set(e,t)),t}trackDisposable(e){let t=this.getDisposableData(e);t.source||(t.source=new Error().stack)}setParent(e,t){let n=this.getDisposableData(e);n.parent=t}markAsDisposed(e){this.livingDisposables.delete(e)}markAsSingleton(e){this.getDisposableData(e).isSingleton=!0}getRootParent(e,t){let n=t.get(e);if(n)return n;let i=e.parent?this.getRootParent(this.getDisposableData(e.parent),t):e;return t.set(e,i),i}getTrackedDisposables(){let e=new Map;return[...this.livingDisposables.entries()].filter(([,n])=>n.source!==null&&!this.getRootParent(n,e).isSingleton).flatMap(([n])=>n)}computeLeakingDisposables(e=10,t){let n;if(t)n=t;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 p=new Set(c.map(u=>u.value));if(n=c.filter(u=>!(u.parent&&p.has(u.parent))),n.length===0)throw new Error("There are cyclic diposable chains!")}if(!n)return;function i(l){function c(u,d){for(;u.length>0&&d.some(m=>typeof m=="string"?m===u[0]:u[0].match(m));)u.shift()}let p=l.source.split(`
`).map(u=>u.trim().replace("at ","")).filter(u=>u!=="");return c(p,["Error",/^trackDisposable \(.*\)$/,/^DisposableTracker.trackDisposable \(.*\)$/]),p.reverse()}let o=new Gn;for(let l of n){let c=i(l);for(let p=0;p<=c.length;p++)o.add(c.slice(0,p).join(`
`),l)}n.sort(qo(l=>l.idx,$o));let s="",a=0;for(let l of n.slice(0,e)){a++;let c=i(l),p=[];for(let u=0;u<c.length;u++){let d=c[u];d=`(shared with ${o.get(c.slice(0,u+1).join(`
`)).size}/${n.length} leaks) at ${d}`;let h=o.get(c.slice(0,u).join(`
`)),b=Xo([...h].map(P=>i(P)[u]),P=>P);delete b[c[u]];for(let[P,j]of Object.entries(b))j&&p.unshift(`    - stacktraces of ${j.length} other leaks continue with ${P}`);p.unshift(d)}s+=`


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

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


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

`),{leaks:n,details:s}}};function wl(r){Dt=r}if(Tl){let r="__is_disposable_tracked__";wl(new class{trackDisposable(e){let t=new Error("Potentially leaked disposable").stack;setTimeout(()=>{e[r]||console.log(t)},3e3)}setParent(e,t){if(e&&e!==C.None)try{e[r]=!0}catch{}}markAsDisposed(e){if(e&&e!==C.None)try{e[r]=!0}catch{}}markAsSingleton(e){}})}function sn(r){return Dt?.trackDisposable(r),r}function an(r){Dt?.markAsDisposed(r)}function ut(r,e){Dt?.setParent(r,e)}function El(r,e){if(Dt)for(let t of r)Dt.setParent(t,e)}function is(r){return typeof r=="object"&&r!==null&&typeof r.dispose=="function"&&r.dispose.length===0}function Se(r){if(yi.is(r)){let e=[];for(let t of r)if(t)try{t.dispose()}catch(n){e.push(n)}if(e.length===1)throw e[0];if(e.length>1)throw new AggregateError(e,"Encountered errors while disposing of store");return Array.isArray(r)?[]:r}else if(r)return r.dispose(),r}function os(...r){let e=Y(()=>Se(r));return El(r,e),e}var bi=class{constructor(e){this._isDisposed=!1,this._fn=e,sn(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,an(this),this._fn()}}};function Y(r){return new bi(r)}var fe=class r{constructor(){this._toDispose=new Set;this._isDisposed=!1;sn(this)}static{this.DISABLE_DISPOSED_WARNING=!1}dispose(){this._isDisposed||(an(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{Se(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e||e===C.None)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return ut(e,this),this._isDisposed?r.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(e),e}delete(e){if(e){if(e===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(e),e.dispose()}}deleteAndLeak(e){e&&this._toDispose.delete(e)&&ut(e,null)}assertNotDisposed(){this._isDisposed&&De(new Qe("Object disposed"))}},C=class{constructor(){this._store=new fe;sn(this),ut(this._store,this)}static{this.None=Object.freeze({dispose(){}})}dispose(){an(this),this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}},At=class{constructor(){this._isDisposed=!1;sn(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&ut(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,an(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e&&ut(e,null),e}},Jn=class{constructor(e){this._disposable=new At;this._isDisposed=!1;this._disposable.value=e}get value(){return this._disposable.value}set value(e){this._isDisposed||e===this._disposable.value||(this._disposable.value=e)}dispose(){this._isDisposed=!0,this._disposable.dispose()}};var Ot=class{constructor(e=new Map){this._isDisposed=!1;this._store=e,sn(this)}dispose(){an(this),this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{Se(this._store.values())}finally{this._store.clear()}}has(e){return this._store.has(e)}get size(){return this._store.size}get(e){return this._store.get(e)}set(e,t,n=!1){this._isDisposed&&console.warn(new Error("Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!").stack),n||this._store.get(e)?.dispose(),this._store.set(e,t),ut(t,this)}deleteAndDispose(e){this._store.get(e)?.dispose(),this._store.delete(e)}deleteAndLeak(e){let t=this._store.get(e);return t&&ut(t,null),this._store.delete(e),t}keys(){return this._store.keys()}values(){return this._store.values()}[Symbol.iterator](){return this._store[Symbol.iterator]()}};var ln=typeof Buffer<"u",Sl=new we(()=>new Uint8Array(256)),_i,xi,ee=class r{static alloc(e){return ln?new r(Buffer.allocUnsafe(e)):new r(new Uint8Array(e))}static wrap(e){return ln&&!Buffer.isBuffer(e)&&(e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)),new r(e)}static fromString(e,t){return!(t?.dontUseNodeBuffer||!1)&&ln?new r(Buffer.from(e)):(_i||(_i=new TextEncoder),new r(_i.encode(e)))}static fromByteArray(e){let t=r.alloc(e.length);for(let n=0,i=e.length;n<i;n++)t.buffer[n]=e[n];return t}static concat(e,t){if(typeof t>"u"){t=0;for(let o=0,s=e.length;o<s;o++)t+=e[o].byteLength}let n=r.alloc(t),i=0;for(let o=0,s=e.length;o<s;o++){let a=e[o];n.set(a,i),i+=a.byteLength}return n}static isNativeBuffer(e){return ln&&Buffer.isBuffer(e)}constructor(e){this.buffer=e,this.byteLength=this.buffer.byteLength}clone(){let e=r.alloc(this.byteLength);return e.set(this),e}toString(){return ln?this.buffer.toString():(xi||(xi=new TextDecoder(void 0,{ignoreBOM:!0})),xi.decode(this.buffer))}slice(e,t){return new r(this.buffer.subarray(e,t))}set(e,t){if(e instanceof r)this.buffer.set(e.buffer,t);else if(e instanceof Uint8Array)this.buffer.set(e,t);else if(e instanceof ArrayBuffer)this.buffer.set(new Uint8Array(e),t);else if(ArrayBuffer.isView(e))this.buffer.set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),t);else throw new Error("Unknown argument 'array'")}readUInt32BE(e){return kl(this.buffer,e)}writeUInt32BE(e,t){Rl(this.buffer,e,t)}readUInt32LE(e){return Ll(this.buffer,e)}writeUInt32LE(e,t){Dl(this.buffer,e,t)}readUInt8(e){return Al(this.buffer,e)}writeUInt8(e,t){Ol(this.buffer,e,t)}indexOf(e,t=0){return Cl(this.buffer,e instanceof r?e.buffer:e,t)}equals(e){return this===e?!0:this.byteLength!==e.byteLength?!1:this.buffer.every((t,n)=>t===e.buffer[n])}};function Cl(r,e,t=0){let n=e.byteLength,i=r.byteLength;if(n===0)return 0;if(n===1)return r.indexOf(e[0],t);if(n>i-t)return-1;let o=Sl.value;o.fill(e.length);for(let c=0;c<e.length;c++)o[e[c]]=e.length-c-1;let s=t+e.length-1,a=s,l=-1;for(;s<i;)if(r[s]===e[a]){if(a===0){l=s;break}s--,a--}else s+=Math.max(e.length-a,o[r[s]]),a=e.length-1;return l}function kl(r,e){return r[e]*2**24+r[e+1]*2**16+r[e+2]*2**8+r[e+3]}function Rl(r,e,t){r[t+3]=e,e=e>>>8,r[t+2]=e,e=e>>>8,r[t+1]=e,e=e>>>8,r[t]=e}function Ll(r,e){return r[e+0]<<0>>>0|r[e+1]<<8>>>0|r[e+2]<<16>>>0|r[e+3]<<24>>>0}function Dl(r,e,t){r[t+0]=e&255,e=e>>>8,r[t+1]=e&255,e=e>>>8,r[t+2]=e&255,e=e>>>8,r[t+3]=e&255}function Al(r,e){return r[e]}function Ol(r,e,t){r[t]=e}var ss="0123456789abcdef";function as({buffer:r}){let e="";for(let t=0;t<r.length;t++){let n=r[t];e+=ss[n>>>4],e+=ss[n&15]}return e}function Ml(){return globalThis._VSCODE_NLS_MESSAGES}function Ii(){return globalThis._VSCODE_NLS_LANGUAGE}var Fl=Ii()==="pseudo"||typeof document<"u"&&document.location&&typeof document.location.hash=="string"&&document.location.hash.indexOf("pseudo=true")>=0;function ls(r,e){let t;return e.length===0?t=r:t=r.replace(/\{(\d+)\}/g,(n,i)=>{let o=i[0],s=e[o],a=n;return typeof s=="string"?a=s:(typeof s=="number"||typeof s=="boolean"||s===void 0||s===null)&&(a=String(s)),a}),Fl&&(t="\uFF3B"+t.replace(/[aouei]/g,"$&$&")+"\uFF3D"),t}function g(r,e,...t){return ls(typeof r=="number"?Ul(r,e):e,t)}function Ul(r,e){let t=Ml()?.[r];if(typeof t!="string"){if(typeof e=="string")return e;throw new Error(`!!! NLS MISSING: ${r} !!!`)}return t}var dt="en",un=!1,dn=!1,cn=!1,Nl=!1,us=!1,wi=!1,Bl=!1,ds=!1,Vl=!1,Kl=!1,Zn,er=dt,cs=dt,Wl,Be,Ve=globalThis,ge;typeof Ve.vscode<"u"&&typeof Ve.vscode.process<"u"?ge=Ve.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(ge=process);var ps=typeof ge?.versions?.electron=="string",zl=ps&&ge?.type==="renderer";if(typeof ge=="object"){un=ge.platform==="win32",dn=ge.platform==="darwin",cn=ge.platform==="linux",Nl=cn&&!!ge.env.SNAP&&!!ge.env.SNAP_REVISION,Bl=ps,Vl=!!ge.env.CI||!!ge.env.BUILD_ARTIFACTSTAGINGDIRECTORY||!!ge.env.GITHUB_WORKSPACE,Zn=dt,er=dt;let r=ge.env.VSCODE_NLS_CONFIG;if(r)try{let e=JSON.parse(r);Zn=e.userLocale,cs=e.osLocale,er=e.resolvedLanguage||dt,Wl=e.languagePack?.translationsConfigFile}catch{}us=!0}else typeof navigator=="object"&&!zl?(Be=navigator.userAgent,un=Be.indexOf("Windows")>=0,dn=Be.indexOf("Macintosh")>=0,ds=(Be.indexOf("Macintosh")>=0||Be.indexOf("iPad")>=0||Be.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,cn=Be.indexOf("Linux")>=0,Kl=Be?.indexOf("Mobi")>=0,wi=!0,er=Ii()||dt,Zn=navigator.language.toLowerCase(),cs=Zn):console.error("Unable to resolve platform.");var tr=0;dn?tr=1:un?tr=3:cn&&(tr=2);var w=un,ve=dn,Ce=cn;var ms=us;var Mt=wi,ql=wi&&typeof Ve.importScripts=="function",fs=ql?Ve.origin:void 0;var hs=tr,Oe=Be,Ye=er,$l;(n=>{function r(){return Ye}n.value=r;function e(){return Ye.length===2?Ye==="en":Ye.length>=3?Ye[0]==="e"&&Ye[1]==="n"&&Ye[2]==="-":!1}n.isDefaultVariant=e;function t(){return Ye==="en"}n.isDefault=t})($l||={});var jl=typeof Ve.postMessage=="function"&&!Ve.importScripts,gs=(()=>{if(jl){let r=[];Ve.addEventListener("message",t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let n=0,i=r.length;n<i;n++){let o=r[n];if(o.id===t.data.vscodeScheduleAsyncWork){r.splice(n,1),o.callback();return}}});let e=0;return t=>{let n=++e;r.push({id:n,callback:t}),Ve.postMessage({vscodeScheduleAsyncWork:n},"*")}}return r=>setTimeout(r)})();var nr=dn||ds?2:un?1:3;var Ei=!!(Oe&&Oe.indexOf("Chrome")>=0),vs=!!(Oe&&Oe.indexOf("Firefox")>=0),ys=!!(!Ei&&Oe&&Oe.indexOf("Safari")>=0),bs=!!(Oe&&Oe.indexOf("Edg/")>=0),cp=!!(Oe&&Oe.indexOf("Android")>=0);var pt,Si=globalThis.vscode;if(typeof Si<"u"&&typeof Si.process<"u"){let r=Si.process;pt={get platform(){return r.platform},get arch(){return r.arch},get env(){return r.env},cwd(){return r.cwd()}}}else typeof process<"u"&&typeof process?.versions?.node=="string"?pt={get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd(){return process.env.VSCODE_CWD||process.cwd()}}:pt={get platform(){return w?"win32":ve?"darwin":"linux"},get arch(){},get env(){return{}},cwd(){return"/"}};var mt=pt.cwd,le=pt.env,rr=pt.platform,pp=pt.arch;var Hl=65,Gl=97,Xl=90,Ql=122,ft=46,oe=47,ye=92,Ke=58,Yl=63,ir=class extends Error{constructor(e,t,n){let i;typeof t=="string"&&t.indexOf("not ")===0?(i="must not be",t=t.replace(/^not /,"")):i="must be";let o=e.indexOf(".")!==-1?"property":"argument",s=`The "${e}" ${o} ${i} of type ${t}`;s+=`. Received type ${typeof n}`,super(s),this.code="ERR_INVALID_ARG_TYPE"}};function Jl(r,e){if(r===null||typeof r!="object")throw new ir(e,"Object",r)}function J(r,e){if(typeof r!="string")throw new ir(e,"string",r)}var be=rr==="win32";function N(r){return r===oe||r===ye}function ki(r){return r===oe}function We(r){return r>=Hl&&r<=Xl||r>=Gl&&r<=Ql}function or(r,e,t,n){let i="",o=0,s=-1,a=0,l=0;for(let c=0;c<=r.length;++c){if(c<r.length)l=r.charCodeAt(c);else{if(n(l))break;l=oe}if(n(l)){if(!(s===c-1||a===1))if(a===2){if(i.length<2||o!==2||i.charCodeAt(i.length-1)!==ft||i.charCodeAt(i.length-2)!==ft){if(i.length>2){let p=i.lastIndexOf(t);p===-1?(i="",o=0):(i=i.slice(0,p),o=i.length-1-i.lastIndexOf(t)),s=c,a=0;continue}else if(i.length!==0){i="",o=0,s=c,a=0;continue}}e&&(i+=i.length>0?`${t}..`:"..",o=2)}else i.length>0?i+=`${t}${r.slice(s+1,c)}`:i=r.slice(s+1,c),o=c-s-1;s=c,a=0}else l===ft&&a!==-1?++a:a=-1}return i}function Zl(r){return r?`${r[0]==="."?"":"."}${r}`:""}function _s(r,e){Jl(e,"pathObject");let t=e.dir||e.root,n=e.base||`${e.name||""}${Zl(e.ext)}`;return t?t===e.root?`${t}${n}`:`${t}${r}${n}`:n}var Z={resolve(...r){let e="",t="",n=!1;for(let i=r.length-1;i>=-1;i--){let o;if(i>=0){if(o=r[i],J(o,`paths[${i}]`),o.length===0)continue}else e.length===0?o=mt():(o=le[`=${e}`]||mt(),(o===void 0||o.slice(0,2).toLowerCase()!==e.toLowerCase()&&o.charCodeAt(2)===ye)&&(o=`${e}\\`));let s=o.length,a=0,l="",c=!1,p=o.charCodeAt(0);if(s===1)N(p)&&(a=1,c=!0);else if(N(p))if(c=!0,N(o.charCodeAt(1))){let u=2,d=u;for(;u<s&&!N(o.charCodeAt(u));)u++;if(u<s&&u!==d){let m=o.slice(d,u);for(d=u;u<s&&N(o.charCodeAt(u));)u++;if(u<s&&u!==d){for(d=u;u<s&&!N(o.charCodeAt(u));)u++;(u===s||u!==d)&&(l=`\\\\${m}\\${o.slice(d,u)}`,a=u)}}}else a=1;else We(p)&&o.charCodeAt(1)===Ke&&(l=o.slice(0,2),a=2,s>2&&N(o.charCodeAt(2))&&(c=!0,a=3));if(l.length>0)if(e.length>0){if(l.toLowerCase()!==e.toLowerCase())continue}else e=l;if(n){if(e.length>0)break}else if(t=`${o.slice(a)}\\${t}`,n=c,c&&e.length>0)break}return t=or(t,!n,"\\",N),n?`${e}\\${t}`:`${e}${t}`||"."},normalize(r){J(r,"path");let e=r.length;if(e===0)return".";let t=0,n,i=!1,o=r.charCodeAt(0);if(e===1)return ki(o)?"\\":r;if(N(o))if(i=!0,N(r.charCodeAt(1))){let a=2,l=a;for(;a<e&&!N(r.charCodeAt(a));)a++;if(a<e&&a!==l){let c=r.slice(l,a);for(l=a;a<e&&N(r.charCodeAt(a));)a++;if(a<e&&a!==l){for(l=a;a<e&&!N(r.charCodeAt(a));)a++;if(a===e)return`\\\\${c}\\${r.slice(l)}\\`;a!==l&&(n=`\\\\${c}\\${r.slice(l,a)}`,t=a)}}}else t=1;else We(o)&&r.charCodeAt(1)===Ke&&(n=r.slice(0,2),t=2,e>2&&N(r.charCodeAt(2))&&(i=!0,t=3));let s=t<e?or(r.slice(t),!i,"\\",N):"";if(s.length===0&&!i&&(s="."),s.length>0&&N(r.charCodeAt(e-1))&&(s+="\\"),!i&&n===void 0&&r.includes(":")){if(s.length>=2&&We(s.charCodeAt(0))&&s.charCodeAt(1)===Ke)return`.\\${s}`;let a=r.indexOf(":");do if(a===e-1||N(r.charCodeAt(a+1)))return`.\\${s}`;while((a=r.indexOf(":",a+1))!==-1)}return n===void 0?i?`\\${s}`:s:i?`${n}\\${s}`:`${n}${s}`},isAbsolute(r){J(r,"path");let e=r.length;if(e===0)return!1;let t=r.charCodeAt(0);return N(t)||e>2&&We(t)&&r.charCodeAt(1)===Ke&&N(r.charCodeAt(2))},join(...r){if(r.length===0)return".";let e,t;for(let o=0;o<r.length;++o){let s=r[o];J(s,"path"),s.length>0&&(e===void 0?e=t=s:e+=`\\${s}`)}if(e===void 0)return".";let n=!0,i=0;if(typeof t=="string"&&N(t.charCodeAt(0))){++i;let o=t.length;o>1&&N(t.charCodeAt(1))&&(++i,o>2&&(N(t.charCodeAt(2))?++i:n=!1))}if(n){for(;i<e.length&&N(e.charCodeAt(i));)i++;i>=2&&(e=`\\${e.slice(i)}`)}return Z.normalize(e)},relative(r,e){if(J(r,"from"),J(e,"to"),r===e)return"";let t=Z.resolve(r),n=Z.resolve(e);if(t===n||(r=t.toLowerCase(),e=n.toLowerCase(),r===e))return"";if(t.length!==r.length||n.length!==e.length){let h=t.split("\\"),b=n.split("\\");h[h.length-1]===""&&h.pop(),b[b.length-1]===""&&b.pop();let P=h.length,j=b.length,$=P<j?P:j,B;for(B=0;B<$&&h[B].toLowerCase()===b[B].toLowerCase();B++);return B===0?n:B===$?j>$?b.slice(B).join("\\"):P>$?"..\\".repeat(P-1-B)+"..":"":"..\\".repeat(P-B)+b.slice(B).join("\\")}let i=0;for(;i<r.length&&r.charCodeAt(i)===ye;)i++;let o=r.length;for(;o-1>i&&r.charCodeAt(o-1)===ye;)o--;let s=o-i,a=0;for(;a<e.length&&e.charCodeAt(a)===ye;)a++;let l=e.length;for(;l-1>a&&e.charCodeAt(l-1)===ye;)l--;let c=l-a,p=s<c?s:c,u=-1,d=0;for(;d<p;d++){let h=r.charCodeAt(i+d);if(h!==e.charCodeAt(a+d))break;h===ye&&(u=d)}if(d!==p){if(u===-1)return n}else{if(c>p){if(e.charCodeAt(a+d)===ye)return n.slice(a+d+1);if(d===2)return n.slice(a+d)}s>p&&(r.charCodeAt(i+d)===ye?u=d:d===2&&(u=3)),u===-1&&(u=0)}let m="";for(d=i+u+1;d<=o;++d)(d===o||r.charCodeAt(d)===ye)&&(m+=m.length===0?"..":"\\..");return a+=u,m.length>0?`${m}${n.slice(a,l)}`:(n.charCodeAt(a)===ye&&++a,n.slice(a,l))},toNamespacedPath(r){if(typeof r!="string"||r.length===0)return r;let e=Z.resolve(r);if(e.length<=2)return r;if(e.charCodeAt(0)===ye){if(e.charCodeAt(1)===ye){let t=e.charCodeAt(2);if(t!==Yl&&t!==ft)return`\\\\?\\UNC\\${e.slice(2)}`}}else if(We(e.charCodeAt(0))&&e.charCodeAt(1)===Ke&&e.charCodeAt(2)===ye)return`\\\\?\\${e}`;return e},dirname(r){J(r,"path");let e=r.length;if(e===0)return".";let t=-1,n=0,i=r.charCodeAt(0);if(e===1)return N(i)?r:".";if(N(i)){if(t=n=1,N(r.charCodeAt(1))){let a=2,l=a;for(;a<e&&!N(r.charCodeAt(a));)a++;if(a<e&&a!==l){for(l=a;a<e&&N(r.charCodeAt(a));)a++;if(a<e&&a!==l){for(l=a;a<e&&!N(r.charCodeAt(a));)a++;if(a===e)return r;a!==l&&(t=n=a+1)}}}}else We(i)&&r.charCodeAt(1)===Ke&&(t=e>2&&N(r.charCodeAt(2))?3:2,n=t);let o=-1,s=!0;for(let a=e-1;a>=n;--a)if(N(r.charCodeAt(a))){if(!s){o=a;break}}else s=!1;if(o===-1){if(t===-1)return".";o=t}return r.slice(0,o)},basename(r,e){e!==void 0&&J(e,"suffix"),J(r,"path");let t=0,n=-1,i=!0,o;if(r.length>=2&&We(r.charCodeAt(0))&&r.charCodeAt(1)===Ke&&(t=2),e!==void 0&&e.length>0&&e.length<=r.length){if(e===r)return"";let s=e.length-1,a=-1;for(o=r.length-1;o>=t;--o){let l=r.charCodeAt(o);if(N(l)){if(!i){t=o+1;break}}else a===-1&&(i=!1,a=o+1),s>=0&&(l===e.charCodeAt(s)?--s===-1&&(n=o):(s=-1,n=a))}return t===n?n=a:n===-1&&(n=r.length),r.slice(t,n)}for(o=r.length-1;o>=t;--o)if(N(r.charCodeAt(o))){if(!i){t=o+1;break}}else n===-1&&(i=!1,n=o+1);return n===-1?"":r.slice(t,n)},extname(r){J(r,"path");let e=0,t=-1,n=0,i=-1,o=!0,s=0;r.length>=2&&r.charCodeAt(1)===Ke&&We(r.charCodeAt(0))&&(e=n=2);for(let a=r.length-1;a>=e;--a){let l=r.charCodeAt(a);if(N(l)){if(!o){n=a+1;break}continue}i===-1&&(o=!1,i=a+1),l===ft?t===-1?t=a:s!==1&&(s=1):t!==-1&&(s=-1)}return t===-1||i===-1||s===0||s===1&&t===i-1&&t===n+1?"":r.slice(t,i)},format:_s.bind(null,"\\"),parse(r){J(r,"path");let e={root:"",dir:"",base:"",ext:"",name:""};if(r.length===0)return e;let t=r.length,n=0,i=r.charCodeAt(0);if(t===1)return N(i)?(e.root=e.dir=r,e):(e.base=e.name=r,e);if(N(i)){if(n=1,N(r.charCodeAt(1))){let u=2,d=u;for(;u<t&&!N(r.charCodeAt(u));)u++;if(u<t&&u!==d){for(d=u;u<t&&N(r.charCodeAt(u));)u++;if(u<t&&u!==d){for(d=u;u<t&&!N(r.charCodeAt(u));)u++;u===t?n=u:u!==d&&(n=u+1)}}}}else if(We(i)&&r.charCodeAt(1)===Ke){if(t<=2)return e.root=e.dir=r,e;if(n=2,N(r.charCodeAt(2))){if(t===3)return e.root=e.dir=r,e;n=3}}n>0&&(e.root=r.slice(0,n));let o=-1,s=n,a=-1,l=!0,c=r.length-1,p=0;for(;c>=n;--c){if(i=r.charCodeAt(c),N(i)){if(!l){s=c+1;break}continue}a===-1&&(l=!1,a=c+1),i===ft?o===-1?o=c:p!==1&&(p=1):o!==-1&&(p=-1)}return a!==-1&&(o===-1||p===0||p===1&&o===a-1&&o===s+1?e.base=e.name=r.slice(s,a):(e.name=r.slice(s,o),e.base=r.slice(s,a),e.ext=r.slice(o,a))),s>0&&s!==n?e.dir=r.slice(0,s-1):e.dir=e.root,e},sep:"\\",delimiter:";",win32:null,posix:null},ec=(()=>{if(be){let r=/\\/g;return()=>{let e=mt().replace(r,"/");return e.slice(e.indexOf("/"))}}return()=>mt()})(),W={resolve(...r){let e="",t=!1;for(let n=r.length-1;n>=0&&!t;n--){let i=r[n];J(i,`paths[${n}]`),i.length!==0&&(e=`${i}/${e}`,t=i.charCodeAt(0)===oe)}if(!t){let n=ec();e=`${n}/${e}`,t=n.charCodeAt(0)===oe}return e=or(e,!t,"/",ki),t?`/${e}`:e.length>0?e:"."},normalize(r){if(J(r,"path"),r.length===0)return".";let e=r.charCodeAt(0)===oe,t=r.charCodeAt(r.length-1)===oe;return r=or(r,!e,"/",ki),r.length===0?e?"/":t?"./":".":(t&&(r+="/"),e?`/${r}`:r)},isAbsolute(r){return J(r,"path"),r.length>0&&r.charCodeAt(0)===oe},join(...r){if(r.length===0)return".";let e=[];for(let t=0;t<r.length;++t){let n=r[t];J(n,"path"),n.length>0&&e.push(n)}return e.length===0?".":W.normalize(e.join("/"))},relative(r,e){if(J(r,"from"),J(e,"to"),r===e||(r=W.resolve(r),e=W.resolve(e),r===e))return"";let t=1,n=r.length,i=n-t,o=1,s=e.length-o,a=i<s?i:s,l=-1,c=0;for(;c<a;c++){let u=r.charCodeAt(t+c);if(u!==e.charCodeAt(o+c))break;u===oe&&(l=c)}if(c===a)if(s>a){if(e.charCodeAt(o+c)===oe)return e.slice(o+c+1);if(c===0)return e.slice(o+c)}else i>a&&(r.charCodeAt(t+c)===oe?l=c:c===0&&(l=0));let p="";for(c=t+l+1;c<=n;++c)(c===n||r.charCodeAt(c)===oe)&&(p+=p.length===0?"..":"/..");return`${p}${e.slice(o+l)}`},toNamespacedPath(r){return r},dirname(r){if(J(r,"path"),r.length===0)return".";let e=r.charCodeAt(0)===oe,t=-1,n=!0;for(let i=r.length-1;i>=1;--i)if(r.charCodeAt(i)===oe){if(!n){t=i;break}}else n=!1;return t===-1?e?"/":".":e&&t===1?"//":r.slice(0,t)},basename(r,e){e!==void 0&&J(e,"suffix"),J(r,"path");let t=0,n=-1,i=!0,o;if(e!==void 0&&e.length>0&&e.length<=r.length){if(e===r)return"";let s=e.length-1,a=-1;for(o=r.length-1;o>=0;--o){let l=r.charCodeAt(o);if(l===oe){if(!i){t=o+1;break}}else a===-1&&(i=!1,a=o+1),s>=0&&(l===e.charCodeAt(s)?--s===-1&&(n=o):(s=-1,n=a))}return t===n?n=a:n===-1&&(n=r.length),r.slice(t,n)}for(o=r.length-1;o>=0;--o)if(r.charCodeAt(o)===oe){if(!i){t=o+1;break}}else n===-1&&(i=!1,n=o+1);return n===-1?"":r.slice(t,n)},extname(r){J(r,"path");let e=-1,t=0,n=-1,i=!0,o=0;for(let s=r.length-1;s>=0;--s){let a=r[s];if(a==="/"){if(!i){t=s+1;break}continue}n===-1&&(i=!1,n=s+1),a==="."?e===-1?e=s:o!==1&&(o=1):e!==-1&&(o=-1)}return e===-1||n===-1||o===0||o===1&&e===n-1&&e===t+1?"":r.slice(e,n)},format:_s.bind(null,"/"),parse(r){J(r,"path");let e={root:"",dir:"",base:"",ext:"",name:""};if(r.length===0)return e;let t=r.charCodeAt(0)===oe,n;t?(e.root="/",n=1):n=0;let i=-1,o=0,s=-1,a=!0,l=r.length-1,c=0;for(;l>=n;--l){let p=r.charCodeAt(l);if(p===oe){if(!a){o=l+1;break}continue}s===-1&&(a=!1,s=l+1),p===ft?i===-1?i=l:c!==1&&(c=1):i!==-1&&(c=-1)}if(s!==-1){let p=o===0&&t?1:o;i===-1||c===0||c===1&&i===s-1&&i===o+1?e.base=e.name=r.slice(p,s):(e.name=r.slice(p,i),e.base=r.slice(p,s),e.ext=r.slice(i,s))}return o>0?e.dir=r.slice(0,o-1):t&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null};W.win32=Z.win32=Z;W.posix=Z.posix=W;var Me=be?Z.normalize:W.normalize,sr=be?Z.isAbsolute:W.isAbsolute,A=be?Z.join:W.join,ht=be?Z.resolve:W.resolve,xs=be?Z.relative:W.relative,ke=be?Z.dirname:W.dirname,gt=be?Z.basename:W.basename,mp=be?Z.extname:W.extname,fp=be?Z.format:W.format,Is=be?Z.parse:W.parse,hp=be?Z.toNamespacedPath:W.toNamespacedPath,ze=be?Z.sep:W.sep,ar=be?Z.delimiter:W.delimiter;var tc=/^\w[\w\d+.-]*$/,nc=/^\//,rc=/^\/\//;function ic(r,e){if(!r.scheme&&e)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${r.authority}", path: "${r.path}", query: "${r.query}", fragment: "${r.fragment}"}`);if(r.scheme&&!tc.test(r.scheme)){let t=[...r.scheme.matchAll(/[^\w\d+.-]/gu)],n=t.length>0?` Found '${t[0][0]}' at index ${t[0].index} (${t.length} total)`:"";throw new Error(`[UriError]: Scheme contains illegal characters.${n} (len:${r.scheme.length})`)}if(r.path){if(r.authority){if(!nc.test(r.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(rc.test(r.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function oc(r,e){return!r&&!e?"file":r}function sc(r,e){switch(r){case"https":case"http":case"file":e?e[0]!==Re&&(e=Re+e):e=Re;break}return e}var X="",Re="/",ac=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,O=class r{static isUri(e){return e instanceof r?!0:!e||typeof e!="object"?!1:typeof e.authority=="string"&&typeof e.fragment=="string"&&typeof e.path=="string"&&typeof e.query=="string"&&typeof e.scheme=="string"&&typeof e.fsPath=="string"&&typeof e.with=="function"&&typeof e.toString=="function"}constructor(e,t,n,i,o,s=!1){typeof e=="object"?(this.scheme=e.scheme||X,this.authority=e.authority||X,this.path=e.path||X,this.query=e.query||X,this.fragment=e.fragment||X):(this.scheme=oc(e,s),this.authority=t||X,this.path=sc(this.scheme,n||X),this.query=i||X,this.fragment=o||X,ic(this,s))}get fsPath(){return pn(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:n,path:i,query:o,fragment:s}=e;return t===void 0?t=this.scheme:t===null&&(t=X),n===void 0?n=this.authority:n===null&&(n=X),i===void 0?i=this.path:i===null&&(i=X),o===void 0?o=this.query:o===null&&(o=X),s===void 0?s=this.fragment:s===null&&(s=X),t===this.scheme&&n===this.authority&&i===this.path&&o===this.query&&s===this.fragment?this:new Je(t,n,i,o,s)}static parse(e,t=!1){let n=ac.exec(e);return n?new Je(n[2]||X,lr(n[4]||X),lr(n[5]||X),lr(n[7]||X),lr(n[9]||X),t):new Je(X,X,X,X,X)}static file(e){let t=X;if(w&&(e=e.replace(/\\/g,Re)),e[0]===Re&&e[1]===Re){let n=e.indexOf(Re,2);n===-1?(t=e.substring(2),e=Re):(t=e.substring(2,n),e=e.substring(n)||Re)}return new Je("file",t,e,X,X)}static from(e,t){return new Je(e.scheme,e.authority,e.path,e.query,e.fragment,t)}static joinPath(e,...t){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let n;return w&&e.scheme==="file"?n=r.file(Z.join(pn(e,!0),...t)).path:n=W.join(e.path,...t),e.with({path:n})}toString(e=!1){return Ri(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof r)return e;{let t=new Je(e);return t._formatted=e.external??null,t._fsPath=e._sep===Ps?e.fsPath??null:null,t}}else return e}[Symbol.for("debug.description")](){return`URI(${this.toString()})`}};var Ps=w?1:void 0,Je=class extends O{constructor(){super(...arguments);this._formatted=null;this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=pn(this,!1)),this._fsPath}toString(t=!1){return t?Ri(this,!0):(this._formatted||(this._formatted=Ri(this,!1)),this._formatted)}toJSON(){let t={$mid:1};return this._fsPath&&(t.fsPath=this._fsPath,t._sep=Ps),this._formatted&&(t.external=this._formatted),this.path&&(t.path=this.path),this.scheme&&(t.scheme=this.scheme),this.authority&&(t.authority=this.authority),this.query&&(t.query=this.query),this.fragment&&(t.fragment=this.fragment),t}},Ss={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function Ts(r,e,t){let n,i=-1;for(let o=0;o<r.length;o++){let s=r.charCodeAt(o);if(s>=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||s===45||s===46||s===95||s===126||e&&s===47||t&&s===91||t&&s===93||t&&s===58)i!==-1&&(n+=encodeURIComponent(r.substring(i,o)),i=-1),n!==void 0&&(n+=r.charAt(o));else{n===void 0&&(n=r.substr(0,o));let a=Ss[s];a!==void 0?(i!==-1&&(n+=encodeURIComponent(r.substring(i,o)),i=-1),n+=a):i===-1&&(i=o)}}return i!==-1&&(n+=encodeURIComponent(r.substring(i))),n!==void 0?n:r}function lc(r){let e;for(let t=0;t<r.length;t++){let n=r.charCodeAt(t);n===35||n===63?(e===void 0&&(e=r.substr(0,t)),e+=Ss[n]):e!==void 0&&(e+=r[t])}return e!==void 0?e:r}function pn(r,e){let t;return r.authority&&r.path.length>1&&r.scheme==="file"?t=`//${r.authority}${r.path}`:r.path.charCodeAt(0)===47&&(r.path.charCodeAt(1)>=65&&r.path.charCodeAt(1)<=90||r.path.charCodeAt(1)>=97&&r.path.charCodeAt(1)<=122)&&r.path.charCodeAt(2)===58?e?t=r.path.substr(1):t=r.path[1].toLowerCase()+r.path.substr(2):t=r.path,w&&(t=t.replace(/\//g,"\\")),t}function Ri(r,e){let t=e?lc:Ts,n="",{scheme:i,authority:o,path:s,query:a,fragment:l}=r;if(i&&(n+=i,n+=":"),(o||i==="file")&&(n+=Re,n+=Re),o){let c=o.indexOf("@");if(c!==-1){let p=o.substr(0,c);o=o.substr(c+1),c=p.lastIndexOf(":"),c===-1?n+=t(p,!1,!1):(n+=t(p.substr(0,c),!1,!1),n+=":",n+=t(p.substr(c+1),!1,!0)),n+="@"}o=o.toLowerCase(),c=o.lastIndexOf(":"),c===-1?n+=t(o,!1,!0):(n+=t(o.substr(0,c),!1,!0),n+=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)}`)}n+=t(s,!0,!1)}return a&&(n+="?",n+=t(a,!1,!1)),l&&(n+="#",n+=e?l:Ts(l,!1,!1)),n}function Cs(r){try{return decodeURIComponent(r)}catch{return r.length>3?r.substr(0,3)+Cs(r.substr(3)):r}}var ws=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function lr(r){return r.match(ws)?r.replace(ws,e=>Cs(e)):r}var ks=new class{transformIncoming(r){return r}transformOutgoing(r){return r}transformOutgoingURI(r){return r}transformOutgoingScheme(r){return r}};var Rs=class r{static{this.Undefined=new r(void 0)}constructor(e){this.element=e,this.next=r.Undefined,this.prev=r.Undefined}};var cc=globalThis.performance.now.bind(globalThis.performance),cr=class r{static create(e){return new r(e)}constructor(e){this._now=e===!1?Date.now:cc,this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}};var Ls=!1,uc=!1,dc=100,Ds=6e4;function As(){return!!le.VSCODE_DEV}var E;(st=>{st.None=()=>C.None;function e(I){if(uc){let{onDidAddListener:y}=I,_=Nt.create(),x=0;I.onDidAddListener=()=>{++x===2&&(console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"),_.print()),y?.()}}}function t(I,y,_){return m(I,()=>{},0,void 0,y??!0,void 0,_)}st.defer=t;function n(I){return(y,_=null,x)=>{let T=!1,k;return k=I(F=>{if(!T)return k?k.dispose():T=!0,y.call(_,F)},null,x),T&&k.dispose(),k}}st.once=n;function i(I,y){return st.once(st.filter(I,y))}st.onceIf=i;function o(I,y,_){return u((x,T=null,k)=>I(F=>x.call(T,y(F)),null,k),_)}st.map=o;function s(I,y,_){return u((x,T=null,k)=>I(F=>{y(F),x.call(T,F)},null,k),_)}st.forEach=s;function a(I,y,_){return u((x,T=null,k)=>I(F=>y(F)&&x.call(T,F),null,k),_)}st.filter=a;function l(I){return I}st.signal=l;function c(...I){return(y,_=null,x)=>{let T=os(...I.map(k=>k(F=>y.call(_,F))));return d(T,x)}}st.any=c;function p(I,y,_,x){let T=_;return o(I,k=>(T=y(T,k),T),x)}st.reduce=p;function u(I,y){let _,x={onWillAddFirstListener(){_=I(T.fire,T)},onDidRemoveLastListener(){_?.dispose()}};y||e(x);let T=new v(x);return y?.add(T),T.event}function d(I,y){return y instanceof Array?y.push(I):y&&y.add(I),I}function m(I,y,_=100,x=!1,T=!1,k,F){let re,H,ae,ie=0,de,Ne={leakWarningThreshold:k,onWillAddFirstListener(){re=I(Oo=>{ie++,H=y(H,Oo),x&&!ae&&(at.fire(H),H=void 0),de=()=>{let Mo=H;H=void 0,ae=void 0,(!x||ie>1)&&at.fire(Mo),ie=0},typeof _=="number"?(ae&&clearTimeout(ae),ae=setTimeout(de,_)):ae===void 0&&(ae=null,queueMicrotask(de))})},onWillRemoveListener(){T&&ie>0&&de?.()},onDidRemoveLastListener(){de=void 0,re.dispose()}};F||e(Ne);let at=new v(Ne);return F?.add(at),at.event}st.debounce=m;function h(I,y=0,_,x){return st.debounce(I,(T,k)=>T?(T.push(k),T):[k],y,void 0,_??!0,void 0,x)}st.accumulate=h;function b(I,y,_=100,x=!0,T=!0,k,F){let re,H,ae,ie=0,de={leakWarningThreshold:k,onWillAddFirstListener(){re=I(at=>{ie++,H=y(H,at),ae===void 0&&(x&&(Ne.fire(H),H=void 0,ie=0),typeof _=="number"?ae=setTimeout(()=>{T&&ie>0&&Ne.fire(H),H=void 0,ae=void 0,ie=0},_):(ae=0,queueMicrotask(()=>{T&&ie>0&&Ne.fire(H),H=void 0,ae=void 0,ie=0})))})},onDidRemoveLastListener(){re.dispose()}};F||e(de);let Ne=new v(de);return F?.add(Ne),Ne.event}st.throttle=b;function P(I,y=(x,T)=>x===T,_){let x=!0,T;return a(I,k=>{let F=x||!y(k,T);return x=!1,T=k,F},_)}st.latch=P;function j(I,y,_){return[st.filter(I,y,_),st.filter(I,x=>!y(x),_)]}st.split=j;function $(I,y,_=!1,x=[],T){let k=x.slice(),F;As()&&(F={stack:Nt.create(),timerId:setTimeout(()=>{k&&k.length>0&&F&&!F.warned&&(F.warned=!0,console.warn(`[Event.buffer][${y}] potential LEAK detected: ${k.length} events buffered for ${Ds/1e3}s without being consumed. Buffered here:`),F.stack.print())},Ds),warned:!1},T&&T.add(Y(()=>clearTimeout(F.timerId))));let re=()=>{F&&clearTimeout(F.timerId)},H=I(de=>{k?(k.push(de),As()&&F&&!F.warned&&k.length>=dc&&(F.warned=!0,console.warn(`[Event.buffer][${y}] potential LEAK detected: ${k.length} events buffered without being consumed. Buffered here:`),F.stack.print())):ie.fire(de)});T&&T.add(H);let ae=()=>{k?.forEach(de=>ie.fire(de)),k=null,re()},ie=new v({onWillAddFirstListener(){H||(H=I(de=>ie.fire(de)),T&&T.add(H))},onDidAddFirstListener(){k&&(_?setTimeout(ae):ae())},onDidRemoveLastListener(){H&&H.dispose(),H=null,re()}});return T&&T.add(ie),ie.event}st.buffer=$;function B(I,y){return(x,T,k)=>{let F=y(new ai);return I(function(re){let H=F.evaluate(re);H!==Te&&x.call(T,H)},void 0,k)}}st.chain=B;let Te=Symbol("HaltChainable");class ai{constructor(){this.steps=[]}map(y){return this.steps.push(y),this}forEach(y){return this.steps.push(_=>(y(_),_)),this}filter(y){return this.steps.push(_=>y(_)?_:Te),this}reduce(y,_){let x=_;return this.steps.push(T=>(x=y(x,T),x)),this}latch(y=(_,x)=>_===x){let _=!0,x;return this.steps.push(T=>{let k=_||!y(T,x);return _=!1,x=T,k?T:Te}),this}evaluate(y){for(let _ of this.steps)if(y=_(y),y===Te)break;return y}}function li(I,y,_=x=>x){let x=(...re)=>F.fire(_(...re)),T=()=>I.on(y,x),k=()=>I.removeListener(y,x),F=new v({onWillAddFirstListener:T,onDidRemoveLastListener:k});return F.event}st.fromNodeEventEmitter=li;function S(I,y,_=x=>x){let x=(...re)=>F.fire(_(...re)),T=()=>I.addEventListener(y,x),k=()=>I.removeEventListener(y,x),F=new v({onWillAddFirstListener:T,onDidRemoveLastListener:k});return F.event}st.fromDOMEventEmitter=S;function M(I,y){let _,x,T=new Promise(k=>{x=n(I)(k),Fi(x,y),_=()=>{Ms(x,y)}});return T.cancel=_,y&&T.finally(()=>Ms(x,y)),T}st.toPromise=M;function q(I,y){return I(_=>y.fire(_))}st.forward=q;function ue(I,y,_){return y(_),I(x=>y(x))}st.runAndSubscribe=ue;class ot{constructor(y,_){this._observable=y;this._counter=0;this._hasChanged=!1;let x={onWillAddFirstListener:()=>{y.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{y.removeObserver(this)}};_||e(x),this.emitter=new v(x),_&&_.add(this.emitter)}beginUpdate(y){this._counter++}handlePossibleChange(y){}handleChange(y,_){this._hasChanged=!0}endUpdate(y){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function Hn(I,y){return new ot(I,y).emitter.event}st.fromObservable=Hn;function ml(I){return(y,_,x)=>{let T=0,k=!1,F={beginUpdate(){T++},endUpdate(){T--,T===0&&(I.reportChanges(),k&&(k=!1,y.call(_)))},handlePossibleChange(){},handleChange(){k=!0}};I.addObserver(F),I.reportChanges();let re={dispose(){I.removeObserver(F)}};return Fi(re,x),re}}st.fromObservableLight=ml})(E||={});var Li=class r{constructor(e){this.listenerCount=0;this.invocationCount=0;this.elapsedOverall=0;this.durations=[];this.name=`${e}_${r._idPool++}`,r.all.add(this)}static{this.all=new Set}static{this._idPool=0}start(e){this._stopWatch=new cr,this.listenerCount=e}stop(){if(this._stopWatch){let e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}},Os=-1;var Di=class r{constructor(e,t,n=(r._idPool++).toString(16).padStart(3,"0")){this._errorHandler=e;this.threshold=t;this.name=n;this._warnCountdown=0}static{this._idPool=1}dispose(){this._stacks?.clear()}check(e,t){let n=this.threshold;if(n<=0||t<n)return;this._stacks||(this._stacks=new Map);let i=this._stacks.get(e.value)||0;if(this._stacks.set(e.value,i+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=n*.5;let[o,s]=this.getMostFrequentStack(),a=`[${this.name}] potential listener LEAK detected, having ${t} listeners already. MOST frequent listener (${s}):`;console.warn(a),console.warn(o);let l=s/t>.3?"dominated":"popular",c=new Ai(l,a,o);this._errorHandler(c)}return()=>{let o=this._stacks.get(e.value)||0;this._stacks.set(e.value,o-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(let[n,i]of this._stacks)(!e||t<i)&&(e=[n,i],t=i);return e}},Nt=class r{constructor(e){this.value=e}static create(){let e=new Error;return new r(e.stack??"")}print(){console.warn(this.value.split(`
`).slice(2).join(`
`))}},Ai=class extends Error{constructor(e,t,n){super(`potential listener LEAK detected, ${e}`),this.name="ListenerLeakError",this.details=t,this.stack=n}},Oi=class extends Error{constructor(e,t,n){super(`potential listener LEAK detected, ${e} (REFUSED to add)`),this.name="ListenerRefusalError",this.details=t,this.stack=n}},pc=0,Ut=class{constructor(e){this.value=e;this.id=pc++}},mc=2,fc=(r,e)=>{if(r instanceof Ut)e(r);else for(let t=0;t<r.length;t++){let n=r[t];n&&e(n)}},v=class{constructor(e){this._size=0;this._options=e,this._leakageMon=Os>0||this._options?.leakWarningThreshold?new Di(e?.onListenerError??De,this._options?.leakWarningThreshold??Os):void 0,this._perfMon=this._options?._profName?new Li(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(Ls){let e=this._listeners;queueMicrotask(()=>{fc(e,t=>t.stack?.print())})}this._listeners=void 0,this._size=0}this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose()}}get event(){return this._event??=(e,t,n)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let l=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(l);let c=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],p=c[1]/this._size>.3?"dominated":"popular",u=new Oi(p,`${l}. HINT: Stack shows most frequent listener (${c[1]}-times)`,c[0]);return(this._options?.onListenerError||De)(u),C.None}if(this._disposed)return C.None;t&&(e=e.bind(t));let i=new Ut(e),o,s;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(i.stack=Nt.create(),o=this._leakageMon.check(i.stack,this._size+1)),Ls&&(i.stack=s??Nt.create()),this._listeners?this._listeners instanceof Ut?(this._deliveryQueue??=new Mi,this._listeners=[this._listeners,i]):this._listeners.push(i):(this._options?.onWillAddFirstListener?.(this),this._listeners=i,this._options?.onDidAddFirstListener?.(this)),this._options?.onDidAddListener?.(this),this._size++;let a=Y(()=>{o?.(),this._removeListener(i)});return Fi(a,n),a},this._event}_removeListener(e){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 t=this._listeners,n=t.indexOf(e);if(n===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,t[n]=void 0;let i=this._deliveryQueue.current===this;if(this._size*mc<=t.length){let o=0;for(let s=0;s<t.length;s++)t[s]?t[o++]=t[s]:i&&o<this._deliveryQueue.end&&(this._deliveryQueue.end--,o<this._deliveryQueue.i&&this._deliveryQueue.i--);t.length=o}}_deliver(e,t){if(!e)return;let n=this._options?.onListenerError||De;if(!n){e.value(t);return}try{e.value(t)}catch(i){n(i)}}_deliverQueue(e){let t=e.current._listeners;for(;e.i<e.end;)this._deliver(t[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof Ut)this._deliver(this._listeners,e);else{let t=this._deliveryQueue;t.enqueue(this,e,this._listeners.length),this._deliverQueue(t)}this._perfMon?.stop()}hasListeners(){return this._size>0}};var Mi=class{constructor(){this.i=-1;this.end=0}enqueue(e,t,n){this.i=0,this.end=n,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}};var ur=class{constructor(){this.hasListeners=!1;this.events=[];this.emitter=new v({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(e){let t={event:e,listener:null};return this.events.push(t),this.hasListeners&&this.hook(t),Y(on(()=>{this.hasListeners&&this.unhook(t);let i=this.events.indexOf(t);this.events.splice(i,1)}))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach(e=>this.hook(e))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach(e=>this.unhook(e))}hook(e){e.listener=e.event(t=>this.emitter.fire(t))}unhook(e){e.listener?.dispose(),e.listener=null}dispose(){this.emitter.dispose();for(let e of this.events)e.listener?.dispose();this.events=[]}};var dr=class{constructor(){this.listening=!1;this.inputEvent=E.None;this.inputEventListener=C.None;this.emitter=new v({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(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}};function Fi(r,e){e instanceof fe?e.add(r):Array.isArray(e)&&e.push(r)}function Ms(r,e){if(e instanceof fe)e.delete(r);else if(Array.isArray(e)){let t=e.indexOf(r);t!==-1&&e.splice(t,1)}r.dispose()}var Fs=Object.freeze(function(r,e){let t=setTimeout(r.bind(e),0);return{dispose(){clearTimeout(t)}}}),yt;(n=>{function r(i){return i===n.None||i===n.Cancelled||i instanceof Bt?!0:!i||typeof i!="object"?!1:typeof i.isCancellationRequested=="boolean"&&typeof i.onCancellationRequested=="function"}n.isCancellationToken=r,n.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:E.None}),n.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Fs})})(yt||={});var Bt=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?Fs:(this._emitter||(this._emitter=new v),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}},Fe=class{constructor(e){this._token=void 0;this._parentListener=void 0;this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new Bt),this._token}cancel(){this._token?this._token instanceof Bt&&this._token.cancel():this._token=yt.Cancelled}dispose(e=!1){e&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof Bt&&this._token.dispose():this._token=yt.None}};function hc(r){return r}var pr=class{constructor(e,t){this.lastCache=void 0;this.lastArgKey=void 0;typeof e=="function"?(this._fn=e,this._computeKey=hc):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){let t=this._computeKey(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this._fn(e)),this.lastCache}};function Ks(r){return!r||typeof r!="string"?!0:r.trim().length===0}var gc=/{(\d+)}/g;function bt(r,...e){return e.length===0?r:r.replace(gc,function(t,n){let i=parseInt(n,10);return isNaN(i)||i<0||i>=e.length?t:e[i]})}function Ui(r,e){if(!r||!e)return r;let t=e.length,n=r.length;if(t===1){let o=n,s=e.charCodeAt(0);for(;o>0&&r.charCodeAt(o-1)===s;)o--;return r.substring(0,o)}let i=n;for(;i>0&&r.endsWith(e,i);)i-=t;return r.substring(0,i)}function mn(r,e){return r<e?-1:r>e?1:0}function mr(r,e,t=0,n=r.length,i=0,o=e.length){for(;t<n&&i<o;t++,i++){let l=r.charCodeAt(t),c=e.charCodeAt(i);if(l<c)return-1;if(l>c)return 1}let s=n-t,a=o-i;return s<a?-1:s>a?1:0}function Ni(r,e){return Vt(r,e,0,r.length,0,e.length)}function Vt(r,e,t=0,n=r.length,i=0,o=e.length){for(;t<n&&i<o;t++,i++){let l=r.charCodeAt(t),c=e.charCodeAt(i);if(l===c)continue;if(l>=128||c>=128)return mr(r.toLowerCase(),e.toLowerCase(),t,n,i,o);Us(l)&&(l-=32),Us(c)&&(c-=32);let p=l-c;if(p!==0)return p}let s=n-t,a=o-i;return s<a?-1:s>a?1:0}function Us(r){return r>=97&&r<=122}function Bi(r){return r>=65&&r<=90}function fr(r,e){return r.length===e.length&&Vt(r,e)===0}function hr(r,e){let t=e.length;return t<=r.length&&Vt(r,e,0,t)===0}function Ws(r){return 55296<=r&&r<=56319}function Vi(r){return 56320<=r&&r<=57343}function zs(r,e){return(r-55296<<10)+(e-56320)+65536}var vc=/(?:\x1b\[|\x9b)[=?>!]?[\d;:]*["$#'* ]?[a-zA-Z@^`{}|~]/,yc=/(?:\x1b\]|\x9d).*?(?:\x1b\\|\x07|\x9c)/,bc=/\x1b(?:[ #%\(\)\*\+\-\.\/]?[a-zA-Z0-9\|}~@])/,_c=new RegExp("(?:"+[vc.source,yc.source,bc.source].join("|")+")","g");function xc(r){return r&&(r=r.replace(_c,"")),r}var Ic=/\\\[.*?\\\]/g;function qs(r){return xc(r).replace(Ic,"")}var Jp=String.fromCharCode(65279);var Ns=class r{static{this._INSTANCE=null}static getInstance(){return r._INSTANCE||(r._INSTANCE=new r),r._INSTANCE}constructor(){this._data=Tc()}getGraphemeBreakType(e){if(e<32)return e===10?3:e===13?2:4;if(e<127)return 0;let t=this._data,n=t.length/3,i=1;for(;i<=n;)if(e<t[3*i])i=2*i;else if(e>t[3*i+1])i=2*i+1;else return t[3*i+2];return 0}};function Tc(){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 Bs=class r{constructor(e){this.confusableDictionary=e}static{this.ambiguousCharacterData=new we(()=>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 pr(e=>{let t=e.split(",");function n(u){let d=new Map;for(let m=0;m<u.length;m+=2)d.set(u[m],u[m+1]);return d}function i(u,d){let m=new Map(u);for(let[h,b]of d)m.set(h,b);return m}function o(u,d){if(!u)return d;let m=new Map;for(let[h,b]of u)d.has(h)&&m.set(h,b);return m}let s=this.ambiguousCharacterData.value,a=t.filter(u=>!u.startsWith("_")&&Object.hasOwn(s,u));a.length===0&&(a=["_default"]);let l;for(let u of a){let d=n(s[u]);l=o(l,d)}let c=n(s._common),p=i(c,l);return new r(p)})}static getInstance(e){return r.cache.get(Array.from(e).join(","))}static{this._locales=new we(()=>Object.keys(r.ambiguousCharacterData.value).filter(e=>!e.startsWith("_")))}static getLocales(){return r._locales.value}isAmbiguous(e){return this.confusableDictionary.has(e)}containsAmbiguousCharacter(e){for(let t=0;t<e.length;t++){let n=e.codePointAt(t);if(typeof n=="number"&&this.isAmbiguous(n))return!0}return!1}getPrimaryConfusable(e){return this.confusableDictionary.get(e)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}},Vs=class r{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(r.getRawData())].flat())),this._data}static isInvisibleCharacter(e){return r.getData().has(e)}static containsInvisibleCharacter(e){for(let t=0;t<e.length;t++){let n=e.codePointAt(t);if(typeof n=="number"&&(r.isInvisibleCharacter(n)||n===32))return!0}return!1}static get codePoints(){return r.getData()}};function Ze(r){return r===47||r===92}function Ki(r){return r.replace(/[\\/]/g,W.sep)}function js(r){return r.indexOf("/")===-1&&(r=Ki(r)),/^[a-zA-Z]:(\/|$)/.test(r)&&(r="/"+r),r}function Wi(r,e=W.sep){if(!r)return"";let t=r.length,n=r.charCodeAt(0);if(Ze(n)){if(Ze(r.charCodeAt(1))&&!Ze(r.charCodeAt(2))){let o=3,s=o;for(;o<t&&!Ze(r.charCodeAt(o));o++);if(s!==o&&!Ze(r.charCodeAt(o+1))){for(o+=1;o<t;o++)if(Ze(r.charCodeAt(o)))return r.slice(0,o+1).replace(/[\\/]/g,e)}}return e}else if(Hs(n)&&r.charCodeAt(1)===58)return Ze(r.charCodeAt(2))?r.slice(0,2)+e:r.slice(0,2);let i=r.indexOf("://");if(i!==-1){for(i+=3;i<t;i++)if(Ze(r.charCodeAt(i)))return r.slice(0,i+1)}return""}function fn(r,e,t,n=ze){if(r===e)return!0;if(!r||!e||e.length>r.length)return!1;if(t){if(!hr(r,e))return!1;if(e.length===r.length)return!0;let o=e.length;return e.charAt(e.length-1)===n&&o--,r.charAt(o)===n}return e.charAt(e.length-1)!==n&&(e+=n),r.indexOf(e)===0}function Hs(r){return r>=65&&r<=90||r>=97&&r<=122}function zi(r){let e=Me(r);return w?r.length>3?!1:wc(e)&&(r.length===2||e.charCodeAt(2)===92):e===W.sep}function wc(r,e=w){return e?Hs(r.charCodeAt(0))&&r.charCodeAt(1)===58:!1}var Ec="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",Pc="BDEFGHIJKMOQRSTUVWXYZbdefghijkmoqrstuvwxyz0123456789";function Gs(r,e,t=8){let n="";for(let o=0;o<t;o++){let s;o===0&&w&&!e&&(t===3||t===4)?s=Pc:s=Ec,n+=s.charAt(Math.floor(Math.random()*s.length))}let i;return e?i=`${e}-${n}`:i=n,r?A(r,i):i}var te;(D=>(D.inMemory="inmemory",D.vscode="vscode",D.internal="private",D.walkThrough="walkThrough",D.walkThroughSnippet="walkThroughSnippet",D.http="http",D.https="https",D.file="file",D.mailto="mailto",D.untitled="untitled",D.data="data",D.command="command",D.vscodeRemote="vscode-remote",D.vscodeRemoteResource="vscode-remote-resource",D.vscodeManagedRemoteResource="vscode-managed-remote-resource",D.vscodeUserData="vscode-userdata",D.vscodeCustomEditor="vscode-custom-editor",D.vscodeNotebookCell="vscode-notebook-cell",D.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",D.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",D.vscodeNotebookCellOutput="vscode-notebook-cell-output",D.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",D.vscodeNotebookMetadata="vscode-notebook-metadata",D.vscodeInteractiveInput="vscode-interactive-input",D.vscodeSettings="vscode-settings",D.vscodeWorkspaceTrust="vscode-workspace-trust",D.vscodeTerminal="vscode-terminal",D.vscodeImageCarousel="vscode-image-carousel",D.vscodeChatCodeBlock="vscode-chat-code-block",D.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",D.vscodeChatEditor="vscode-chat-editor",D.vscodeChatInput="chatSessionInput",D.vscodeLocalChatSession="vscode-chat-session",D.webviewPanel="webview-panel",D.vscodeWebview="vscode-webview",D.vscodeBrowser="vscode-browser",D.extension="extension",D.vscodeFileResource="vscode-file",D.tmp="tmp",D.vsls="vsls",D.vscodeSourceControl="vscode-scm",D.commentsInput="comment",D.codeSetting="code-setting",D.outputChannel="output",D.accessibleView="accessible-view",D.chatEditingSnapshotScheme="chat-editing-snapshot-text-model",D.chatEditingModel="chat-editing-text-model",D.copilotPr="copilot-pr"))(te||={});var Cc="tkn",qi=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(e){this._preferredWebSchema=e}setDelegate(e){this._delegate=e}setServerRootPath(e,t){this._serverRootPath=W.join(t??"/",Rc(e))}getServerRootPath(){return this._serverRootPath}get _remoteResourcesPath(){return W.join(this._serverRootPath,te.vscodeRemoteResource)}set(e,t,n){this._hosts[e]=t,this._ports[e]=n}setConnectionToken(e,t){this._connectionTokens[e]=t}getPreferredWebSchema(){return this._preferredWebSchema}rewrite(e){if(this._delegate)try{return this._delegate(e)}catch(a){return De(a),e}let t=e.authority,n=this._hosts[t];n&&n.indexOf(":")!==-1&&n.indexOf("[")===-1&&(n=`[${n}]`);let i=this._ports[t],o=this._connectionTokens[t],s=`path=${encodeURIComponent(e.path)}`;return typeof o=="string"&&(s+=`&${Cc}=${encodeURIComponent(o)}`),O.from({scheme:Mt?this._preferredWebSchema:te.vscodeRemoteResource,authority:`${n}:${i}`,path:this._remoteResourcesPath,query:s})}},kc=new qi;function Rc(r){return`${r.quality??"oss"}-${r.commit??"dev"}`}var Lc="vscode-app",$i=class r{static{this.FALLBACK_AUTHORITY=Lc}asBrowserUri(e){let t=this.toUri(e);return this.uriToBrowserUri(t)}uriToBrowserUri(e){return e.scheme===te.vscodeRemote?kc.rewrite(e):e.scheme===te.file&&(ms||fs===`${te.vscodeFileResource}://${r.FALLBACK_AUTHORITY}`)?e.with({scheme:te.vscodeFileResource,authority:e.authority||r.FALLBACK_AUTHORITY,query:null,fragment:null}):e}asFileUri(e){let t=this.toUri(e);return this.uriToFileUri(t)}uriToFileUri(e){return e.scheme===te.vscodeFileResource?e.with({scheme:te.file,authority:e.authority!==r.FALLBACK_AUTHORITY?e.authority:null,query:null,fragment:null}):e}toUri(e){if(O.isUri(e))return e;if(globalThis._VSCODE_FILE_ROOT){let t=globalThis._VSCODE_FILE_ROOT;if(/^\w[\w\d+.-]*:\/\//.test(t))return O.joinPath(O.parse(t,!0),e);let n=A(t,e);return O.file(n)}throw new Error("Cannot determine URI for module id!")}},qe=new $i,sm=Object.freeze({"Cache-Control":"no-cache, no-store"}),am=Object.freeze({"Document-Policy":"include-js-call-stacks-in-crash-reports"}),Dc;(o=>{let r=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(r.get("3"));let t="vscode-coi";function n(s){let a;typeof s=="string"?a=new URL(s).searchParams:s instanceof URL?a=s.searchParams:O.isUri(s)&&(a=new URL(s.toString(!0)).searchParams);let l=a?.get(t);if(l)return r.get(l)}o.getHeadersFromQuery=n;function i(s,a,l){if(!globalThis.crossOriginIsolated)return;let c=a&&l?"3":l?"2":"1";s instanceof URLSearchParams?s.set(t,c):s[t]=c}o.addSearchParam=i})(Dc||={});function $e(r){return pn(r,!0)}var hn=class{constructor(e){this._ignorePathCasing=e}compare(e,t,n=!1){return e===t?0:mn(this.getComparisonKey(e,n),this.getComparisonKey(t,n))}isEqual(e,t,n=!1){return e===t?!0:!e||!t?!1:this.getComparisonKey(e,n)===this.getComparisonKey(t,n)}getComparisonKey(e,t=!1){return e.with({path:this._ignorePathCasing(e)?e.path.toLowerCase():void 0,fragment:t?null:void 0}).toString()}ignorePathCasing(e){return this._ignorePathCasing(e)}isEqualOrParent(e,t,n=!1){if(e.scheme===t.scheme){if(e.scheme===te.file)return fn($e(e),$e(t),this._ignorePathCasing(e))&&e.query===t.query&&(n||e.fragment===t.fragment);if(Xs(e.authority,t.authority))return fn(e.path,t.path,this._ignorePathCasing(e),"/")&&e.query===t.query&&(n||e.fragment===t.fragment)}return!1}joinPath(e,...t){return O.joinPath(e,...t)}basenameOrAuthority(e){return Ac(e)||e.authority}basename(e,t){return W.basename(e.path,t)}extname(e){return W.extname(e.path)}dirname(e){if(e.path.length===0)return e;let t;return e.scheme===te.file?t=O.file(ke($e(e))).path:(t=W.dirname(e.path),e.authority&&t.length&&t.charCodeAt(0)!==47&&(console.error(`dirname("${e.toString})) resulted in a relative path`),t="/")),e.with({path:t})}normalizePath(e){if(!e.path.length)return e;let t;return e.scheme===te.file?t=O.file(Me($e(e))).path:t=W.normalize(e.path),e.with({path:t})}relativePath(e,t){if(e.scheme!==t.scheme||!Xs(e.authority,t.authority))return;if(e.scheme===te.file){let o=xs($e(e),$e(t));return w?Ki(o):o}let n=e.path||"/",i=t.path||"/";if(this._ignorePathCasing(e)){let o=0;for(let s=Math.min(n.length,i.length);o<s&&!(n.charCodeAt(o)!==i.charCodeAt(o)&&n.charAt(o).toLowerCase()!==i.charAt(o).toLowerCase());o++);n=i.substr(0,o)+n.substr(o)}return W.relative(n,i)}resolvePath(e,t){if(e.scheme===te.file){let n=O.file(ht($e(e),t));return e.with({authority:n.authority,path:n.path})}return t=js(t),e.with({path:W.resolve(e.path,t)})}isAbsolutePath(e){return!!e.path&&e.path[0]==="/"}isEqualAuthority(e,t){return e===t||e!==void 0&&t!==void 0&&fr(e,t)}hasTrailingPathSeparator(e,t=ze){if(e.scheme===te.file){let n=$e(e);return n.length>Wi(n).length&&n[n.length-1]===t}else{let n=e.path;return n.length>1&&n.charCodeAt(n.length-1)===47&&!/^[a-zA-Z]:(\/$|\\$)/.test(e.fsPath)}}removeTrailingPathSeparator(e,t=ze){return Qs(e,t)?e.with({path:e.path.substr(0,e.path.length-1)}):e}addTrailingPathSeparator(e,t=ze){let n=!1;if(e.scheme===te.file){let i=$e(e);n=i!==void 0&&i.length===Wi(i).length&&i[i.length-1]===t}else{t="/";let i=e.path;n=i.length===1&&i.charCodeAt(i.length-1)===47}return!n&&!Qs(e,t)?e.with({path:e.path+"/"}):e}},z=new hn(()=>!1),Ys=new hn(r=>r.scheme===te.file?!Ce:!0),fm=new hn(r=>!0),hm=z.isEqual.bind(z),gm=z.isEqualOrParent.bind(z),vm=z.getComparisonKey.bind(z),ym=z.basenameOrAuthority.bind(z),Ac=z.basename.bind(z),bm=z.extname.bind(z),_m=z.dirname.bind(z),_e=z.joinPath.bind(z),xm=z.normalizePath.bind(z),Im=z.relativePath.bind(z),Tm=z.resolvePath.bind(z),wm=z.isAbsolutePath.bind(z),Xs=z.isEqualAuthority.bind(z),Qs=z.hasTrailingPathSeparator.bind(z),Em=z.removeTrailingPathSeparator.bind(z),Pm=z.addTrailingPathSeparator.bind(z);var Oc;(o=>{o.META_DATA_LABEL="label",o.META_DATA_DESCRIPTION="description",o.META_DATA_SIZE="size",o.META_DATA_MIME="mime";function i(s){let a=new Map;s.path.substring(s.path.indexOf(";")+1,s.path.lastIndexOf(";")).split(";").forEach(p=>{let[u,d]=p.split(":");u&&d&&a.set(u,d)});let c=s.path.substring(0,s.path.indexOf(";"));return c&&a.set(o.META_DATA_MIME,c),a}o.parseMetaData=i})(Oc||={});function bn(r){let e=new Fe,t=r(e.token),n=!1,i=new Promise((o,s)=>{let a=e.token.onCancellationRequested(()=>{n=!0,a.dispose(),s(new Ee)});Promise.resolve(t).then(l=>{a.dispose(),e.dispose(),n?is(l)&&l.dispose():o(l)},l=>{a.dispose(),e.dispose(),s(l)})});return new class{cancel(){e.cancel(),e.dispose()}then(o,s){return i.then(o,s)}catch(o){return this.then(void 0,o)}finally(o){return i.finally(o)}}}var Hi=class{constructor(){this._isOpen=!1,this._promise=new Promise((e,t)=>{this._completePromise=e})}isOpen(){return this._isOpen}open(){this._isOpen=!0,this._completePromise(!0)}wait(){return this._promise}},gr=class extends Hi{constructor(e){super(),this._timeout=setTimeout(()=>this.open(),e)}open(){clearTimeout(this._timeout),super.open()}};function pe(r,e){return e?new Promise((t,n)=>{let i=setTimeout(()=>{o.dispose(),t()},r),o=e.onCancellationRequested(()=>{clearTimeout(i),o.dispose(),n(new Ee)})}):bn(t=>pe(r,t))}var Gi=class{constructor(e){this._size=0;this._isDisposed=!1;this.maxDegreeOfParalellism=e,this.outstandingPromises=[],this.runningPromises=0,this._onDrained=new v}whenIdle(){return this.size>0?E.toPromise(this.onDrained):Promise.resolve()}get onDrained(){return this._onDrained.event}get size(){return this._size}queue(e){if(this._isDisposed)throw new Error("Object has been disposed");return this._size++,new Promise((t,n)=>{this.outstandingPromises.push({factory:e,c:t,e:n}),this.consume()})}consume(){for(;this.outstandingPromises.length&&this.runningPromises<this.maxDegreeOfParalellism;){let e=this.outstandingPromises.shift();this.runningPromises++;let t=e.factory();t.then(e.c,e.e),t.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()}},gn=class extends Gi{constructor(){super(1)}};var vr=class{constructor(){this.queues=new Map;this.drainers=new Set;this.drainListeners=void 0;this.drainListenerCount=0}async whenDrained(){if(this.isDrained())return;let e=new yn;return this.drainers.add(e),e.p}isDrained(){for(let[,e]of this.queues)if(e.size>0)return!1;return!0}queueSize(e,t=z){let n=t.getComparisonKey(e);return this.queues.get(n)?.size??0}queueFor(e,t,n=z){let i=n.getComparisonKey(e),o=this.queues.get(i);if(!o){o=new gn;let s=this.drainListenerCount++,a=E.once(o.onDrained)(()=>{o?.dispose(),this.queues.delete(i),this.onDidQueueDrain(),this.drainListeners?.deleteAndDispose(s),this.drainListeners?.size===0&&(this.drainListeners.dispose(),this.drainListeners=void 0)});this.drainListeners||(this.drainListeners=new Ot),this.drainListeners.set(s,a),this.queues.set(i,o)}return o.queue(t)}onDidQueueDrain(){this.isDrained()&&this.releaseDrainers()}releaseDrainers(){for(let e of this.drainers)e.complete();this.drainers.clear()}dispose(){for(let[,e]of this.queues)e.dispose();this.queues.clear(),this.releaseDrainers(),this.drainListeners?.dispose()}};var yr=class{constructor(e,t){this.timeoutToken=void 0,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=void 0)}schedule(e=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)}get delay(){return this.timeout}set delay(e){this.timeout=e}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?.()}},vn=class{constructor(e,t){t%1e3!==0&&console.warn(`ProcessTimeRunOnceScheduler resolution is 1s, ${t}ms is not a multiple of 1000ms.`),this.runner=e,this.timeout=t,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(e=this.timeout){e%1e3!==0&&console.warn(`ProcessTimeRunOnceScheduler resolution is 1s, ${e}ms is not a multiple of 1000ms.`),this.cancel(),this.counter=Math.ceil(e/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?.())}};var Mc,ji;(function(){let r=globalThis;typeof r.requestIdleCallback!="function"||typeof r.cancelIdleCallback!="function"?ji=(e,t,n)=>{gs(()=>{if(i)return;let o=Date.now()+15;t(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,o-Date.now())}}))});let i=!1;return{dispose(){i||(i=!0)}}}:ji=(e,t,n)=>{let i=e.requestIdleCallback(t,typeof n=="number"?{timeout:n}:void 0),o=!1;return{dispose(){o||(o=!0,e.cancelIdleCallback(i))}}},Mc=(e,t)=>ji(globalThis,e,t)})();var yn=class r{static fromPromise(e){let t=new r;return t.settleWith(e),t}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((e,t)=>{this.completeCallback=e,this.errorCallback=t})}complete(e){return this.isSettled?Promise.resolve():new Promise(t=>{this.completeCallback(e),this.outcome={outcome:0,value:e},t()})}error(e){return this.isSettled?Promise.resolve():new Promise(t=>{this.errorCallback(e),this.outcome={outcome:1,value:e},t()})}settleWith(e){return e.then(t=>this.complete(t),t=>this.error(t))}cancel(){return this.error(new Ee)}},Qi;(t=>{async function r(n){let i,o=await Promise.all(n.map(s=>s.then(a=>a,a=>{i||(i=a)})));if(typeof i<"u")throw i;return o}t.settled=r;function e(n){return new Promise(async(i,o)=>{try{await n(i,o)}catch(s){o(s)}})}t.withAsyncBody=e})(Qi||={});var Js=class r{static fromArray(e){return new r(t=>{t.emitMany(e)})}static fromPromise(e){return new r(async t=>{t.emitMany(await e)})}static fromPromisesResolveOrder(e){return new r(async t=>{await Promise.all(e.map(async n=>t.emitOne(await n)))})}static merge(e){return new r(async t=>{await Promise.all(e.map(async n=>{for await(let i of n)t.emitOne(i)}))})}static{this.EMPTY=r.fromArray([])}constructor(e,t){this._state=0,this._results=[],this._error=null,this._onReturn=t,this._onStateChanged=new v,queueMicrotask(async()=>{let n={emitOne:i=>this.emitOne(i),emitMany:i=>this.emitMany(i),reject:i=>this.reject(i)};try{await Promise.resolve(e(n)),this.resolve()}catch(i){this.reject(i)}finally{n.emitOne=void 0,n.emitMany=void 0,n.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(e<this._results.length)return{done:!1,value:this._results[e++]};if(this._state===1)return{done:!0,value:void 0};await E.toPromise(this._onStateChanged.event)}while(!0)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(e,t){return new r(async n=>{for await(let i of e)n.emitOne(t(i))})}map(e){return r.map(this,e)}static filter(e,t){return new r(async n=>{for await(let i of e)t(i)&&n.emitOne(i)})}filter(e){return r.filter(this,e)}static coalesce(e){return r.filter(e,t=>!!t)}coalesce(){return r.coalesce(this)}static async toPromise(e){let t=[];for await(let n of e)t.push(n);return t}toPromise(){return r.toPromise(this)}emitOne(e){this._state===0&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){this._state===0&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(e){this._state===0&&(this._state=2,this._error=e,this._onStateChanged.fire())}};var Xi=class{constructor(){this._unsatisfiedConsumers=[];this._unconsumedValues=[]}get hasFinalValue(){return!!this._finalValue}produce(e){if(this._ensureNoFinalValue(),this._unsatisfiedConsumers.length>0){let t=this._unsatisfiedConsumers.shift();this._resolveOrRejectDeferred(t,e)}else this._unconsumedValues.push(e)}produceFinal(e){this._ensureNoFinalValue(),this._finalValue=e;for(let t of this._unsatisfiedConsumers)this._resolveOrRejectDeferred(t,e);this._unsatisfiedConsumers.length=0}_ensureNoFinalValue(){if(this._finalValue)throw new Qe("ProducerConsumer: cannot produce after final value has been set")}_resolveOrRejectDeferred(e,t){t.ok?e.complete(t.value):e.error(t.error)}consume(){if(this._unconsumedValues.length>0||this._finalValue){let e=this._unconsumedValues.length>0?this._unconsumedValues.shift():this._finalValue;return e.ok?Promise.resolve(e.value):Promise.reject(e.error)}else{let e=new yn;return this._unsatisfiedConsumers.push(e),e.p}}},Zs=class r{constructor(e,t){this._onReturn=t;this._producerConsumer=new Xi;this._iterator={next:()=>this._producerConsumer.consume(),return:()=>(this._onReturn?.(),Promise.resolve({done:!0,value:void 0})),throw:async e=>(this._finishError(e),{done:!0,value:void 0})};queueMicrotask(async()=>{let n=e({emitOne:i=>this._producerConsumer.produce({ok:!0,value:{done:!1,value:i}}),emitMany:i=>{for(let o of i)this._producerConsumer.produce({ok:!0,value:{done:!1,value:o}})},reject:i=>this._finishError(i)});if(!this._producerConsumer.hasFinalValue)try{await n,this._finishOk()}catch(i){this._finishError(i)}})}static fromArray(e){return new r(t=>{t.emitMany(e)})}static fromPromise(e){return new r(async t=>{t.emitMany(await e)})}static fromPromisesResolveOrder(e){return new r(async t=>{await Promise.all(e.map(async n=>t.emitOne(await n)))})}static merge(e){return new r(async t=>{await Promise.all(e.map(async n=>{for await(let i of n)t.emitOne(i)}))})}static{this.EMPTY=r.fromArray([])}static map(e,t){return new r(async n=>{for await(let i of e)n.emitOne(t(i))})}static tee(e){let t,n,i=new yn,o=async()=>{if(!(!t||!n))try{for await(let l of e)t.emitOne(l),n.emitOne(l)}catch(l){t.reject(l),n.reject(l)}finally{i.complete()}},s=new r(async l=>(t=l,o(),i.p)),a=new r(async l=>(n=l,o(),i.p));return[s,a]}map(e){return r.map(this,e)}static coalesce(e){return r.filter(e,t=>!!t)}coalesce(){return r.coalesce(this)}static filter(e,t){return new r(async n=>{for await(let i of e)t(i)&&n.emitOne(i)})}filter(e){return r.filter(this,e)}_finishOk(){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!0,value:{done:!0,value:void 0}})}_finishError(e){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!1,error:e})}[Symbol.asyncIterator](){return this._iterator}};function ea(r){return(e,t,n)=>{let i=null,o=null;if(typeof n.value=="function"?(i="value",o=n.value):typeof n.get=="function"&&(i="get",o=n.get),!o||typeof t=="symbol")throw new Error("not supported");n[i]=r(o,t)}}function R(r,e,t){let n=null,i=null;if(typeof t.value=="function"?(n="value",i=t.value,i.length!==0&&console.warn("Memoize should only be used in functions with zero parameters")):typeof t.get=="function"&&(n="get",i=t.get),!i)throw new Error("not supported");let o=`$memoize$${e}`;t[n]=function(...s){return this.hasOwnProperty(o)||Object.defineProperty(this,o,{configurable:!1,enumerable:!1,writable:!1,value:i.apply(this,s)}),this[o]}}function Kt(r,e,t){return ea((n,i)=>{let o=`$debounce$${i}`,s=`$debounce$result$${i}`;return function(...a){this[s]||(this[s]=t?t():void 0),clearTimeout(this[o]),e&&(this[s]=e(this[s],...a),a=[this[s]]),this[o]=setTimeout(()=>{n.apply(this,a),this[s]=t?t():void 0},r)}})}function br(r,e,t){return ea((n,i)=>{let o=`$throttle$timer$${i}`,s=`$throttle$result$${i}`,a=`$throttle$lastRun$${i}`,l=`$throttle$pending$${i}`;return function(...c){if(this[s]||(this[s]=t?t():void 0),(this[a]===null||this[a]===void 0)&&(this[a]=-Number.MAX_VALUE),e&&(this[s]=e(this[s],...c)),this[l])return;let p=this[a]+r;p<=Date.now()?(this[a]=Date.now(),n.apply(this,[this[s]]),this[s]=t?t():void 0):(this[l]=!0,this[o]=setTimeout(()=>{this[l]=!1,this[a]=Date.now(),n.apply(this,[this[s]]),this[s]=t?t():void 0},p-Date.now()))}})}function _n(r,e=0){if(!r||e>200)return r;if(typeof r=="object"){switch(r.$mid){case 1:return O.revive(r);case 2:return new RegExp(r.source,r.flags);case 17:return new Date(r.source)}if(r instanceof ee||r instanceof Uint8Array)return r;if(Array.isArray(r))for(let t=0;t<r.length;++t)r[t]=_n(r[t],e+1);else for(let t in r)Object.hasOwnProperty.call(r,t)&&(r[t]=_n(r[t],e+1))}return r}function qt(r){switch(r){case 100:return"req";case 101:return"cancel";case 102:return"subscribe";case 103:return"unsubscribe"}}function _r(r){switch(r){case 200:return"init";case 201:return"reply:";case 202:case 203:return"replyErr:";case 204:return"event:"}}function Wt(r){let e=0;for(let t=0;;t+=7){let n=r.read(1);if(e|=(n.buffer[0]&127)<<t,!(n.buffer[0]&128))return e}}var Fc=et(0);function zt(r,e){if(e===0){r.write(Fc);return}let t=0;for(let i=e;i!==0;i=i>>>7)t++;let n=ee.alloc(t);for(let i=0;e!==0;i++)n.buffer[i]=e&127,e=e>>>7,e>0&&(n.buffer[i]|=128);r.write(n)}var In=class{constructor(e){this.buffer=e;this.pos=0}read(e){let t=this.buffer.slice(this.pos,this.pos+e);return this.pos+=t.byteLength,t}},xr=class{constructor(){this.buffers=[]}get buffer(){return ee.concat(this.buffers)}write(e){this.buffers.push(e)}};function et(r){let e=ee.alloc(1);return e.writeUInt8(r,0),e}var _t={Undefined:et(0),String:et(1),Buffer:et(2),VSBuffer:et(3),Array:et(4),Object:et(5),Uint:et(6)};function Tn(r,e){if(typeof e>"u")r.write(_t.Undefined);else if(typeof e=="string"){let t=ee.fromString(e);r.write(_t.String),zt(r,t.byteLength),r.write(t)}else if(ee.isNativeBuffer(e)){let t=ee.wrap(e);r.write(_t.Buffer),zt(r,t.byteLength),r.write(t)}else if(e instanceof ee)r.write(_t.VSBuffer),zt(r,e.byteLength),r.write(e);else if(Array.isArray(e)){r.write(_t.Array),zt(r,e.length);for(let t of e)Tn(r,t)}else if(typeof e=="number"&&(e|0)===e)r.write(_t.Uint),zt(r,e);else{let t=ee.fromString(JSON.stringify(e));r.write(_t.Object),zt(r,t.byteLength),r.write(t)}}function $t(r){switch(r.read(1).readUInt8(0)){case 0:return;case 1:return r.read(Wt(r)).toString();case 2:return r.read(Wt(r)).buffer;case 3:return r.read(Wt(r));case 4:{let t=Wt(r),n=[];for(let i=0;i<t;i++)n.push($t(r));return n}case 5:return JSON.parse(r.read(Wt(r)).toString());case 6:return Wt(r)}}var wn=class{constructor(e,t,n=null,i=1e3){this.protocol=e;this.ctx=t;this.logger=n;this.timeoutDelay=i;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(e,t){this.channels.set(e,t),setTimeout(()=>this.flushPendingRequests(e),0)}sendResponse(e){switch(e.type){case 200:{let t=this.send([e.type]);this.logger?.logOutgoing(t,0,1,_r(e.type));return}case 201:case 202:case 204:case 203:{let t=this.send([e.type,e.id],e.data);this.logger?.logOutgoing(t,e.id,1,_r(e.type),e.data);return}}}send(e,t=void 0){let n=new xr;return Tn(n,e),Tn(n,t),this.sendBuffer(n.buffer)}sendBuffer(e){try{return this.protocol.send(e),e.byteLength}catch{return 0}}onRawMessage(e){let t=new In(e),n=$t(t),i=$t(t),o=n[0];switch(o){case 100:return this.logger?.logIncoming(e.byteLength,n[1],1,`${qt(o)}: ${n[2]}.${n[3]}`,i),this.onPromise({type:o,id:n[1],channelName:n[2],name:n[3],arg:i});case 102:return this.logger?.logIncoming(e.byteLength,n[1],1,`${qt(o)}: ${n[2]}.${n[3]}`,i),this.onEventListen({type:o,id:n[1],channelName:n[2],name:n[3],arg:i});case 101:return this.logger?.logIncoming(e.byteLength,n[1],1,`${qt(o)}`),this.disposeActiveRequest({type:o,id:n[1]});case 103:return this.logger?.logIncoming(e.byteLength,n[1],1,`${qt(o)}`),this.disposeActiveRequest({type:o,id:n[1]})}}onPromise(e){let t=this.channels.get(e.channelName);if(!t){this.collectPendingRequest(e);return}let n=new Fe,i;try{i=t.call(this.ctx,e.name,e.arg,n.token)}catch(a){i=Promise.reject(a)}let o=e.id;i.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(e.id)});let s=Y(()=>n.cancel());this.activeRequests.set(e.id,s)}onEventListen(e){let t=this.channels.get(e.channelName);if(!t){this.collectPendingRequest(e);return}let n=e.id,o=t.listen(this.ctx,e.name,e.arg)(s=>this.sendResponse({id:n,data:s,type:204}));this.activeRequests.set(e.id,o)}disposeActiveRequest(e){let t=this.activeRequests.get(e.id);t&&(t.dispose(),this.activeRequests.delete(e.id))}collectPendingRequest(e){let t=this.pendingRequests.get(e.channelName);t||(t=[],this.pendingRequests.set(e.channelName,t));let n=setTimeout(()=>{console.error(`Unknown channel: ${e.channelName}`),e.type===100&&this.sendResponse({id:e.id,data:{name:"Unknown channel",message:`Channel name '${e.channelName}' timed out after ${this.timeoutDelay}ms`,stack:void 0},type:202})},this.timeoutDelay);t.push({request:e,timeoutTimer:n})}flushPendingRequests(e){let t=this.pendingRequests.get(e);if(t){for(let n of t)switch(clearTimeout(n.timeoutTimer),n.request.type){case 100:this.onPromise(n.request);break;case 102:this.onEventListen(n.request);break}this.pendingRequests.delete(e)}}dispose(){this.protocolListener&&(this.protocolListener.dispose(),this.protocolListener=null),Se(this.activeRequests.values()),this.activeRequests.clear()}};var xn=class{constructor(e,t=null){this.protocol=e;this.isDisposed=!1;this.state=0;this.activeRequests=new Set;this.handlers=new Map;this.lastRequestId=0;this._onDidInitialize=new v;this.onDidInitialize=this._onDidInitialize.event;this.protocolListener=this.protocol.onMessage(n=>this.onBuffer(n)),this.logger=t}getChannel(e){let t=this;return{call(n,i,o){return t.isDisposed?Promise.reject(new Ee):t.requestPromise(e,n,i,o)},listen(n,i){return t.isDisposed?E.None:t.requestEvent(e,n,i)}}}requestPromise(e,t,n,i=yt.None){let o=this.lastRequestId++,a={id:o,type:100,channelName:e,name:t,arg:n};if(i.isCancellationRequested)return Promise.reject(new Ee);let l,c;return new Promise((u,d)=>{if(i.isCancellationRequested)return d(new Ee);let m=()=>{let P=j=>{switch(j.type){case 201:this.handlers.delete(o),u(j.data);break;case 202:{this.handlers.delete(o);let $=new Error(j.data.message);$.stack=Array.isArray(j.data.stack)?j.data.stack.join(`
`):j.data.stack,$.name=j.data.name,d($);break}case 203:this.handlers.delete(o),d(j.data);break}};this.handlers.set(o,P),this.sendRequest(a)},h=null;this.state===1?m():(h=bn(P=>this.whenInitialized()),h.then(()=>{h=null,m()}));let b=()=>{h?(h.cancel(),h=null):this.sendRequest({id:o,type:101}),d(new Ee)};l=i.onCancellationRequested(b),c={dispose:on(()=>{b(),l.dispose()})},this.activeRequests.add(c)}).finally(()=>{l?.dispose(),this.activeRequests.delete(c)})}requestEvent(e,t,n){let i=this.lastRequestId++,s={id:i,type:102,channelName:e,name:t,arg:n},a=null,l=new v({onWillAddFirstListener:()=>{let p=()=>{this.activeRequests.add(l),this.sendRequest(s)};this.state===1?p():(a=bn(u=>this.whenInitialized()),a.then(()=>{a=null,p()}))},onDidRemoveLastListener:()=>{a?(a.cancel(),a=null):(this.activeRequests.delete(l),this.sendRequest({id:i,type:103})),this.handlers.delete(i)}}),c=p=>l.fire(p.data);return this.handlers.set(i,c),l.event}sendRequest(e){switch(e.type){case 100:case 102:{let t=this.send([e.type,e.id,e.channelName,e.name],e.arg);this.logger?.logOutgoing(t,e.id,0,`${qt(e.type)}: ${e.channelName}.${e.name}`,e.arg);return}case 101:case 103:{let t=this.send([e.type,e.id]);this.logger?.logOutgoing(t,e.id,0,qt(e.type));return}}}send(e,t=void 0){let n=new xr;return Tn(n,e),Tn(n,t),this.sendBuffer(n.buffer)}sendBuffer(e){try{return this.protocol.send(e),e.byteLength}catch{return 0}}onBuffer(e){let t=new In(e),n=$t(t),i=$t(t),o=n[0];switch(o){case 200:return this.logger?.logIncoming(e.byteLength,0,0,_r(o)),this.onResponse({type:n[0]});case 201:case 202:case 204:case 203:return this.logger?.logIncoming(e.byteLength,n[1],0,_r(o),i),this.onResponse({type:n[0],id:n[1],data:i})}}onResponse(e){if(e.type===200){this.state=1,this._onDidInitialize.fire();return}this.handlers.get(e.id)?.(e)}get onDidInitializePromise(){return E.toPromise(this.onDidInitialize)}whenInitialized(){return this.state===1?Promise.resolve():this.onDidInitializePromise}dispose(){this.isDisposed=!0,this.protocolListener&&(this.protocolListener.dispose(),this.protocolListener=null),Se(this.activeRequests.values()),this.activeRequests.clear(),this._onDidInitialize.dispose()}};f([R],xn.prototype,"onDidInitializePromise",1);var Ir=class{constructor(e,t,n){this.channels=new Map;this._connections=new Set;this._onDidAddConnection=new v;this.onDidAddConnection=this._onDidAddConnection.event;this._onDidRemoveConnection=new v;this.onDidRemoveConnection=this._onDidRemoveConnection.event;this.disposables=new fe;this.disposables.add(e(({protocol:i,onDidClientDisconnect:o})=>{let s=E.once(i.onMessage);this.disposables.add(s(a=>{let l=new In(a),c=$t(l),p=new wn(i,c,t,n),u=new xn(i,t);this.channels.forEach((m,h)=>p.registerChannel(h,m));let d={channelServer:p,channelClient:u,ctx:c};this._connections.add(d),this._onDidAddConnection.fire(d),this.disposables.add(o(()=>{p.dispose(),u.dispose(),this._connections.delete(d),this._onDidRemoveConnection.fire(d)}))}))}))}get connections(){let e=[];return this._connections.forEach(t=>e.push(t)),e}getChannel(e,t){let n=this;return{call(i,o,s){let a;if(ct(t)){let c=Wo(n.connections.filter(t));a=c?Promise.resolve(c):E.toPromise(E.filter(n.onDidAddConnection,t))}else a=t.routeCall(n,i,o);let l=a.then(c=>c.channelClient.getChannel(e));return ta(l).call(i,o,s)},listen(i,o){if(ct(t))return n.getMulticastEvent(e,t,i,o);let s=t.routeEvent(n,i,o).then(a=>a.channelClient.getChannel(e));return ta(s).listen(i,o)}}}getMulticastEvent(e,t,n,i){let o=this,s,a=new v({onWillAddFirstListener:()=>{s=new fe;let l=new ur,c=new Map,p=d=>{let h=d.channelClient.getChannel(e).listen(n,i),b=l.add(h);c.set(d,b)},u=d=>{let m=c.get(d);m&&(m.dispose(),c.delete(d))};o.connections.filter(t).forEach(p),E.filter(o.onDidAddConnection,t)(p,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(e,t){this.channels.set(e,t);for(let n of this._connections)n.channelServer.registerChannel(e,t)}dispose(){this.disposables.dispose();for(let e of this._connections)e.channelClient.dispose(),e.channelServer.dispose();this._connections.clear(),this.channels.clear(),this._onDidAddConnection.dispose(),this._onDidRemoveConnection.dispose()}};function ta(r){return{call(e,t,n){return r.then(i=>i.call(e,t,n))},listen(e,t){let n=new dr;return r.then(i=>n.input=i.listen(e,t)),n.event}}}var Tr;(i=>{function r(o,s,a){let l=o,c=a?.disableMarshalling,p=new Map;for(let u in l)t(u)&&p.set(u,E.buffer(l[u],u,!0,void 0,s));return new class{listen(u,d,m){let h=p.get(d);if(h)return h;let b=l[d];if(typeof b=="function"){if(n(d))return b.call(l,m);if(t(d))return p.set(d,E.buffer(l[d],d,!0,void 0,s)),p.get(d)}throw new Le(`Event not found: ${d}`)}call(u,d,m){let h=l[d];if(typeof h=="function"){if(!c&&Array.isArray(m))for(let P=0;P<m.length;P++)m[P]=_n(m[P]);let b=h.apply(l,m);return b instanceof Promise||(b=Promise.resolve(b)),b}throw new Le(`Method not found: ${d}`)}}}i.fromService=r;function e(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):n(c)?function(p){return o.listen(c,p)}:t(c)?o.listen(c):async function(...p){let u;s&&!gi(s.context)?u=[s.context,...p]:u=p;let d=await o.call(c,u);return a?d:_n(d)};throw new Le(`Property not found: ${String(c)}`)}})}i.toService=e;function t(o){return o[0]==="o"&&o[1]==="n"&&Bi(o.charCodeAt(2))}function n(o){return/^onDynamic/.test(o)&&Bi(o.charCodeAt(9))}})(Tr||={});import{fork as ch}from"child_process";function En(r,e){if(r===e)return!0;if(r==null||e===null||e===void 0||typeof r!=typeof e||typeof r!="object"||Array.isArray(r)!==Array.isArray(e))return!1;let t,n;if(Array.isArray(r)){if(r.length!==e.length)return!1;for(t=0;t<r.length;t++)if(!En(r[t],e[t]))return!1}else{let i=[];for(n in r)i.push(n);i.sort();let o=[];for(n in e)o.push(n);if(o.sort(),!En(i,o))return!1;for(t=0;t<i.length;t++)if(!En(r[i[t]],e[i[t]]))return!1}return!0}function Yi(r,e){let t=e.toLowerCase(),n=Object.keys(r).find(i=>i.toLowerCase()===t);return n?r[n]:r[e]}import*as ru from"child_process";import{promises as da}from"fs";import*as L from"fs";import{tmpdir as Kc}from"os";import{promisify as Pn}from"util";var Uc=new Lt(1e4);function Ji(r){return na(r,"NFC",Uc)}var Nc=new Lt(1e4);function Bc(r){return na(r,"NFD",Nc)}var Vc=/[^\u0000-\u0080]/;function na(r,e,t){if(!r)return r;let n=t.get(r);if(n)return n;let i;return Vc.test(r)?i=r.normalize(e):i=r,t.set(r,i),i}var Rf=(function(){let r=new Lt(1e4),e=/[\u0300-\u036f]/g;return function(t){let n=r.get(t);if(n)return n;let i=Bc(t).replace(e,""),o=(i.length===t.length?i:t).toLowerCase();return r.set(t,o),o}})();async function oa(r,e=0,t){if(zi(r))throw new Error("rimraf - will refuse to recursively delete root");return e===0?Zi(r):Wc(r,t)}async function Wc(r,e=Gs(Kc())){try{try{await L.promises.rename(r,e)}catch(t){return t.code==="ENOENT"?void 0:Zi(r)}Zi(e).catch(()=>{})}catch(t){if(t.code!=="ENOENT")throw t}}async function Zi(r){return L.promises.rm(r,{recursive:!0,force:!0,maxRetries:3})}async function wr(r,e){try{return await ra(r,e)}catch(t){if(t.code==="ENOENT"&&w&&zi(r))try{return await ra(`${r}.`,e)}catch{}throw t}}async function ra(r,e){return qc(await(e?zc(r):L.promises.readdir(r)))}async function zc(r){try{return await L.promises.readdir(r,{withFileTypes:!0})}catch(n){n.code!=="ENOENT"&&console.warn("[node.js fs] readdir with filetypes failed with error: ",n)}let e=[],t=await wr(r);for(let n of t){let i=!1,o=!1,s=!1;try{let a=await L.promises.lstat(A(r,n));i=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)}e.push({name:n,isFile:()=>i,isDirectory:()=>o,isSymbolicLink:()=>s})}return e}function qc(r){return r.map(e=>typeof e=="string"?ve?Ji(e):e:(e.name=ve?Ji(e.name):e.name,e))}async function $c(r){let e=await wr(r),t=[];for(let n of e)await je.existsDirectory(A(r,n))&&t.push(n);return t}var je;(n=>{async function r(i){let o;try{if(o=await L.promises.lstat(i),!o.isSymbolicLink())return{stat:o}}catch{}try{return{stat:await L.promises.stat(i),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 L.promises.stat(await L.promises.readlink(i)),symbolicLink:{dangling:!1}}}catch(a){if(a.code==="ENOENT"&&o)return{stat:o,symbolicLink:{dangling:!0}};throw a}throw s}}n.stat=r;async function e(i){try{let{stat:o,symbolicLink:s}=await n.stat(i);return o.isFile()&&s?.dangling!==!0}catch{}return!1}n.existsFile=e;async function t(i){try{let{stat:o,symbolicLink:s}=await n.stat(i);return o.isDirectory()&&s?.dangling!==!0}catch{}return!1}n.existsDirectory=t})(je||={});var jc=new vr;function Hc(r,e,t){return jc.queueFor(O.file(r),()=>{let n=Qc(t);return new Promise((i,o)=>Xc(r,e,n,s=>s?o(s):i()))},Ys)}var sa=!0;function Gc(r){sa=r}function Xc(r,e,t,n){if(!sa)return L.writeFile(r,e,{mode:t.mode,flag:t.flag},n);L.open(r,t.flag,t.mode,(i,o)=>{if(i)return n(i);L.writeFile(o,e,s=>{if(s)return L.close(o,()=>n(s));L.fdatasync(o,a=>(a&&(console.warn("[node.js fs] fdatasync is now disabled for this session because it failed: ",a),Gc(!1)),L.close(o,l=>n(l))))})})}function Qc(r){return r?{mode:typeof r.mode=="number"?r.mode:438,flag:typeof r.flag=="string"?r.flag:"w"}:{mode:438,flag:"w"}}async function Yc(r,e,t=6e4){if(r!==e)try{w&&typeof t=="number"?await aa(r,e,Date.now(),t):await L.promises.rename(r,e)}catch(n){if(r.toLowerCase()!==e.toLowerCase()&&n.code==="EXDEV"||r.endsWith("."))await la(r,e,{preserveSymlinks:!1}),await oa(r,1);else throw n}}async function aa(r,e,t,n,i=0){try{return await L.promises.rename(r,e)}catch(o){if(o.code!=="EACCES"&&o.code!=="EPERM"&&o.code!=="EBUSY")throw o;if(Date.now()-t>=n)throw console.error(`[node.js fs] rename failed after ${i} retries with error: ${o}`),o;if(i===0){let s=!1;try{let{stat:a}=await je.stat(e);a.isFile()||(s=!0)}catch{}if(s)throw o}return await pe(Math.min(100,i*10)),aa(r,e,t,n,i+1)}}async function la(r,e,t){return ca(r,e,{root:{source:r,target:e},options:t,handledSourcePaths:new Set})}var ia=511;async function ca(r,e,t){if(t.handledSourcePaths.has(r))return;t.handledSourcePaths.add(r);let{stat:n,symbolicLink:i}=await je.stat(r);if(i){if(t.options.preserveSymlinks)try{return await eu(r,e,t)}catch{}if(i.dangling)return}return n.isDirectory()?Jc(r,e,n.mode&ia,t):Zc(r,e,n.mode&ia)}async function Jc(r,e,t,n){await L.promises.mkdir(e,{recursive:!0,mode:t});let i=await wr(r);for(let o of i)await ca(A(r,o),A(e,o),n)}async function Zc(r,e,t){await L.promises.copyFile(r,e),await L.promises.chmod(e,t)}async function eu(r,e,t){let n=await L.promises.readlink(r);fn(n,t.root.source,!Ce)&&(n=A(t.root.target,n.substr(t.root.source.length+1))),await L.promises.symlink(n,e)}async function tu(r){try{return await Pn(L.realpath)(r)}catch{let e=nu(r);return await L.promises.access(e,L.constants.R_OK),e}}function nu(r){return Ui(Me(r),ze)}var Sn=new class{get read(){return(r,e,t,n,i)=>new Promise((o,s)=>{L.read(r,e,t,n,i,(a,l,c)=>a?s(a):o({bytesRead:l,buffer:c}))})}get write(){return(r,e,t,n,i)=>new Promise((o,s)=>{L.write(r,e,t,n,i,(a,l,c)=>a?s(a):o({bytesWritten:l,buffer:c}))})}get fdatasync(){return Pn(L.fdatasync)}get open(){return Pn(L.open)}get close(){return Pn(L.close)}get ftruncate(){return Pn(L.ftruncate)}async exists(r){try{return await L.promises.access(r),!0}catch{return!1}}get readdir(){return wr}get readDirsInDir(){return $c}get writeFile(){return Hc}get rm(){return oa}get rename(){return Yc}get copy(){return la}get realpath(){return tu}};function pa(r=le){return r.comspec||"cmd.exe"}async function iu(r){if(await Sn.exists(r)){let e;try{e=await da.stat(r)}catch(t){t.message.startsWith("EACCES")&&(e=await da.lstat(r))}return e?!e.isDirectory():!1}return!1}async function ma(r,e,t,n=le,i=iu){if(sr(r))return await i(r)?r:void 0;if(e===void 0&&(e=mt()),ke(r)!=="."){let l=A(e,r);return await i(l)?l:void 0}let s=Yi(n,"PATH");if(t===void 0&&G(s)&&(t=s.split(ar)),t===void 0||t.length===0){let l=A(e,r);return await i(l)?l:void 0}for(let l of t){let c;if(sr(l)?c=A(l,r):c=A(e,l,r),w){let u=(Yi(n,"PATHEXT")||".COM;.EXE;.BAT;.CMD").split(";").map(async d=>{let m=c+d;return await i(m)?m:void 0});for(let d of u){let m=await d;if(m)return m}}if(await i(c))return c}let a=A(e,r);return await i(a)?a:void 0}var Er=class extends wn{constructor(e){super({send:t=>{try{process.send?.(t.buffer.toString("base64"))}catch{}},onMessage:E.fromNodeEventEmitter(process,"message",t=>ee.wrap(Buffer.from(t,"base64")))},e),process.once("disconnect",()=>this.dispose())}};function Pr(r){return!!r.parentPort}var eo=class{constructor(e){this.port=e;this.onMessage=E.fromNodeEventEmitter(this.port,"message",t=>t.data?ee.wrap(t.data):ee.alloc(0)),e.start()}send(e){this.port.postMessage(e.buffer)}disconnect(){this.port.close()}},Sr=class r extends Ir{static getOnDidClientConnect(e){ns(Pr(process),"Electron Utility Process");let t=new v;return process.parentPort.on("message",n=>{if(e?.handledClientConnection(n))return;let i=n.ports.at(0);i&&t.fire(i)}),E.map(t.event,n=>({protocol:new eo(n),onDidClientDisconnect:E.fromNodeEventEmitter(n,"close")}))}constructor(e){super(r.getOnDidClientConnect(e))}};import su from"minimist";var Bh={o:g(1980,null),e:g(1964,null),t:g(1995,null),m:g(1975,null)};var fa={chat:{type:"subcommand",description:"Pass in a prompt to run in a chat session in the current working directory.",options:{_:{type:"string[]",description:g(1984,null)},mode:{type:"string",cat:"o",alias:"m",args:"mode",description:g(1952,null)},"add-file":{type:"string[]",cat:"o",alias:"a",args:"path",description:g(1948,null)},maximize:{type:"boolean",cat:"o",description:g(1951,null)},"reuse-window":{type:"boolean",cat:"o",alias:"r",description:g(1987,null)},"new-window":{type:"boolean",cat:"o",alias:"n",description:g(1978,null)},profile:{type:"string",cat:"o",args:"profileName",description:g(1983,null)},help:{type:"boolean",alias:"h",description:g(1966,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:g(1953,null)},"disable-telemetry":{type:"boolean"},"telemetry-level":{type:"string"}}},"agent-host":{type:"subcommand",description:"Run a server that hosts agents.",options:{"cli-data-dir":{type:"string",args:"dir",description:g(1953,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:g(1953,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:g(1956,null)},merge:{type:"boolean",cat:"o",alias:"m",args:["path1","path2","base","result"],description:g(1976,null)},add:{type:"boolean",cat:"o",alias:"a",args:"folder",description:g(1947,null)},remove:{type:"boolean",cat:"o",args:"folder",description:g(1985,null)},goto:{type:"boolean",cat:"o",alias:"g",args:"file:line[:character]",description:g(1965,null)},"new-window":{type:"boolean",cat:"o",alias:"n",description:g(1977,null)},"reuse-window":{type:"boolean",cat:"o",alias:"r",description:g(1986,null)},sessions:{type:"boolean",cat:"o",description:g(1988,null)},wait:{type:"boolean",cat:"o",alias:"w",description:g(2005,null)},waitMarkerFilePath:{type:"string"},locale:{type:"string",cat:"o",args:"locale",description:g(1972,null)},"user-data-dir":{type:"string",cat:"o",args:"dir",description:g(2002,null)},profile:{type:"string",cat:"o",args:"profileName",description:g(1983,null)},help:{type:"boolean",cat:"o",alias:"h",description:g(1966,null)},"extensions-dir":{type:"string",deprecates:["extensionHomePath"],cat:"e",args:"dir",description:g(1963,null)},"extensions-download-dir":{type:"string"},"builtin-extensions-dir":{type:"string"},"list-extensions":{type:"boolean",cat:"e",description:g(1971,null)},"agent-plugins-dir":{type:"string"},"show-versions":{type:"boolean",cat:"e",description:g(1989,null)},category:{type:"string",allowEmptyValue:!0,cat:"e",description:g(1950,null),args:"category"},"install-extension":{type:"string[]",cat:"e",args:"ext-id | path",description:g(1970,null)},"pre-release":{type:"boolean",cat:"e",description:g(1969,null)},"uninstall-extension":{type:"string[]",cat:"e",args:"ext-id",description:g(1997,null)},"update-extensions":{type:"boolean",cat:"e",description:g(2000,null)},"enable-proposed-api":{type:"string[]",allowEmptyValue:!0,cat:"e",args:"ext-id",description:g(1962,null)},"add-mcp":{type:"string[]",cat:"m",args:"json",description:g(1949,null)},version:{type:"boolean",cat:"t",alias:"v",description:g(2004,null)},verbose:{type:"boolean",cat:"t",global:!0,description:g(2003,null)},log:{type:"string[]",cat:"t",args:"level",global:!0,description:g(1974,null)},status:{type:"boolean",alias:"s",cat:"t",description:g(1990,null)},"prof-startup":{type:"boolean",cat:"t",description:g(1982,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:g(1959,null)},"disable-extension":{type:"string[]",cat:"t",args:"ext-id",description:g(1958,null)},sync:{type:"string",cat:"t",description:g(1996,null),args:["on | off"]},"inspect-extensions":{type:"string",allowEmptyValue:!0,deprecates:["debugPluginHost"],args:"port",cat:"t",description:g(1968,null)},"inspect-brk-extensions":{type:"string",allowEmptyValue:!0,deprecates:["debugBrkPluginHost"],args:"port",cat:"t",description:g(1967,null)},"disable-lcd-text":{type:"boolean",cat:"t",description:g(1961,null)},"disable-gpu":{type:"boolean",cat:"t",description:g(1960,null)},"disable-chromium-sandbox":{type:"boolean",cat:"t",description:g(1957,null)},sandbox:{type:"boolean"},"locate-shell-integration-path":{type:"string",cat:"t",args:["shell"],description:g(1973,null)},telemetry:{type:"boolean",cat:"t",description:g(1993,null)},remote:{type:"string",allowEmptyValue:!0},"folder-uri":{type:"string[]",cat:"o",args:"uri"},"file-uri":{type:"string[]",cat:"o",args:"uri"},"locate-extension":{type:"string[]"},extensionDevelopmentPath:{type:"string[]"},extensionDevelopmentKind:{type:"string[]"},extensionTestsPath:{type:"string"},extensionEnvironment:{type:"string"},debugId:{type:"string"},debugRenderer:{type:"boolean"},"inspect-ptyhost":{type:"string",allowEmptyValue:!0},"inspect-brk-ptyhost":{type:"string",allowEmptyValue:!0},"inspect-agenthost":{type:"string",allowEmptyValue:!0},"inspect-brk-agenthost":{type:"string",allowEmptyValue:!0},"inspect-search":{type:"string",deprecates:["debugSearch"],allowEmptyValue:!0},"inspect-brk-search":{type:"string",deprecates:["debugBrkSearch"],allowEmptyValue:!0},"inspect-sharedprocess":{type:"string",allowEmptyValue:!0},"inspect-brk-sharedprocess":{type:"string",allowEmptyValue:!0},"export-default-configuration":{type:"string"},"export-policy-data":{type:"string",allowEmptyValue:!0},"export-default-keybindings":{type:"string",allowEmptyValue:!0},"install-source":{type:"string"},"enable-smoke-test-driver":{type:"boolean"},"skip-sessions-welcome":{type:"boolean"},logExtensionHostCommunication:{type:"boolean"},"skip-release-notes":{type:"boolean"},"skip-welcome":{type:"boolean"},"disable-telemetry":{type:"boolean"},"disable-updates":{type:"boolean"},transient:{type:"boolean",cat:"t",description:g(1994,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[]"}},au={onUnknownOption:()=>{},onMultipleValues:()=>{},onEmptyValue:()=>{},onDeprecatedOption:()=>{}};function to(r,e,t=au){let n=r.find((d,m)=>d.length>0&&d[0]!=="-"&&e.hasOwnProperty(d)&&e[d].type==="subcommand"),i={},o=["_"],s=[],a={},l;for(let d in e){let m=e[d];m.type==="subcommand"?d===n&&(l=m):(m.alias&&(i[d]=m.alias),m.type==="string"||m.type==="string[]"?(o.push(d),m.deprecates&&o.push(...m.deprecates)):m.type==="boolean"&&(s.push(d),m.deprecates&&s.push(...m.deprecates)),m.global&&(a[d]=m))}if(l&&n){let d=a;for(let P in l.options)d[P]=l.options[P];let m=r.filter(P=>P!==n),h=t.getSubcommandReporter?t.getSubcommandReporter(n):void 0,b=to(m,d,h);return{[n]:b,_:[]}}let c=su(r,{string:o,boolean:s,alias:i}),p={},u=c;p._=c._.map(d=>String(d)).filter(d=>d.length>0),delete u._;for(let d in e){let m=e[d];if(m.type==="subcommand")continue;m.alias&&delete u[m.alias];let h=u[d];if(m.deprecates)for(let b of m.deprecates)u.hasOwnProperty(b)&&(h||(h=u[b],h&&t.onDeprecatedOption(b,m.deprecationMessage||g(1955,null,d))),delete u[b]);if(typeof h<"u"){if(m.type==="string[]"){if(Array.isArray(h)||(h=[h]),!m.allowEmptyValue){let b=h.filter(P=>P.length>0);b.length!==h.length&&(t.onEmptyValue(d),h=b.length>0?b:void 0)}}else m.type==="string"&&(Array.isArray(h)?(h=h.pop(),t.onMultipleValues(d,h)):!h&&!m.allowEmptyValue&&(t.onEmptyValue(d),h=void 0));p[d]=h,m.deprecationMessage&&t.onDeprecatedOption(d,m.deprecationMessage)}delete u[d]}for(let d in u)t.onUnknownOption(d);return p}import{homedir as hu,tmpdir as gu}from"os";var lu=60,cu=lu*60,no=cu*24,qh=no*7,$h=no*30,jh=no*365;function ha(r){return r.getFullYear()+"-"+String(r.getMonth()+1).padStart(2,"0")+"-"+String(r.getDate()).padStart(2,"0")+"T"+String(r.getHours()).padStart(2,"0")+":"+String(r.getMinutes()).padStart(2,"0")+":"+String(r.getSeconds()).padStart(2,"0")+"."+(r.getMilliseconds()/1e3).toFixed(3).slice(2,5)+"Z"}var ga=/^([^.]+\..+)[:=](.+)$/,K=class{constructor(e,t,n){this._args=e;this.paths=t;this.productService=n}get appRoot(){return ke(qe.asFileUri("").fsPath)}get userHome(){return O.file(this.paths.homeDir)}get userDataPath(){return this.paths.userDataDir}get appSettingsHome(){return O.file(A(this.userDataPath,"User"))}get tmpDir(){return O.file(this.paths.tmpDir)}get cacheHome(){return O.file(this.userDataPath)}get stateResource(){return _e(this.appSettingsHome,"globalStorage","storage.json")}get userRoamingDataHome(){return this.appSettingsHome.with({scheme:te.vscodeUserData})}get userDataSyncHome(){return _e(this.appSettingsHome,"sync")}get logsHome(){if(!this.args.logsPath){let e=ha(new Date).replace(/-|:|\.\d+Z$/g,"");this.args.logsPath=A(this.userDataPath,"logs",e)}return O.file(this.args.logsPath)}get sync(){return this.args.sync}get workspaceStorageHome(){return _e(this.appSettingsHome,"workspaceStorage")}get localHistoryHome(){return _e(this.appSettingsHome,"History")}get keyboardLayoutResource(){return _e(this.userRoamingDataHome,"keyboardLayout.json")}get argvResource(){let e=le.VSCODE_PORTABLE;return e?O.file(A(e,"argv.json")):_e(this.userHome,this.productService.dataFolderName,"argv.json")}get isExtensionDevelopment(){return!!this.args.extensionDevelopmentPath}get untitledWorkspacesHome(){return O.file(A(this.userDataPath,"Workspaces"))}get builtinExtensionsPath(){let e=this.args["builtin-extensions-dir"];return e?ht(e):Me(A(qe.asFileUri("").fsPath,"..","extensions"))}get extensionsDownloadLocation(){let e=this.args["extensions-download-dir"];return e?O.file(ht(e)):O.file(A(this.userDataPath,"CachedExtensionVSIXs"))}get extensionsPath(){let e=this.args["extensions-dir"];if(e)return ht(e);let t=le.VSCODE_EXTENSIONS;if(t)return t;let n=le.VSCODE_PORTABLE;return n?A(n,"extensions"):_e(this.userHome,this.productService.dataFolderName,"extensions").fsPath}get agentPluginsPath(){let e=this.args["agent-plugins-dir"];if(e)return ht(e);let t=le.VSCODE_AGENT_PLUGINS;if(t)return t;let n=le.VSCODE_PORTABLE;return n?A(n,"agent-plugins"):_e(this.userHome,this.productService.dataFolderName,"agent-plugins").fsPath}get extensionDevelopmentLocationURI(){let e=this.args.extensionDevelopmentPath;if(Array.isArray(e))return e.map(t=>/^[^:/?#]+?:\/\//.test(t)?O.parse(t):O.file(Me(t)))}get extensionDevelopmentKind(){return this.args.extensionDevelopmentKind?.map(e=>e==="ui"||e==="workspace"||e==="web"?e:"workspace")}get extensionTestsLocationURI(){let e=this.args.extensionTestsPath;if(e)return/^[^:/?#]+?:\/\//.test(e)?O.parse(e):O.file(Me(e))}get disableExtensions(){if(this.args["disable-extensions"])return!0;let e=this.args["disable-extension"];if(e){if(typeof e=="string")return[e];if(Array.isArray(e)&&e.length>0)return e}return!1}get debugExtensionHost(){return uu(this.args,this.isBuilt)}get debugRenderer(){return!!this.args.debugRenderer}get isBuilt(){return!le.VSCODE_DEV}get verbose(){return!!this.args.verbose}get logLevel(){return this.args.log?.find(e=>!ga.test(e))}get extensionLogLevel(){let e=[];for(let t of this.args.log||[]){let n=ga.exec(t);n?.[1]&&n[2]&&e.push([n[1],n[2]])}return e.length?e:void 0}get serviceMachineIdResource(){return _e(O.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 e=le.VSCODE_PORTABLE;return e?O.file(A(e,"policy.json")):_e(this.userHome,this.productService.dataFolderName,"policy.json")}}get agentSessionsWorkspace(){return _e(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(e){this.args.continueOn=e}get args(){return this._args}};f([R],K.prototype,"appRoot",1),f([R],K.prototype,"userHome",1),f([R],K.prototype,"userDataPath",1),f([R],K.prototype,"appSettingsHome",1),f([R],K.prototype,"tmpDir",1),f([R],K.prototype,"cacheHome",1),f([R],K.prototype,"stateResource",1),f([R],K.prototype,"userRoamingDataHome",1),f([R],K.prototype,"userDataSyncHome",1),f([R],K.prototype,"sync",1),f([R],K.prototype,"workspaceStorageHome",1),f([R],K.prototype,"localHistoryHome",1),f([R],K.prototype,"keyboardLayoutResource",1),f([R],K.prototype,"argvResource",1),f([R],K.prototype,"isExtensionDevelopment",1),f([R],K.prototype,"untitledWorkspacesHome",1),f([R],K.prototype,"builtinExtensionsPath",1),f([R],K.prototype,"extensionsDownloadLocation",1),f([R],K.prototype,"extensionsPath",1),f([R],K.prototype,"agentPluginsPath",1),f([R],K.prototype,"extensionDevelopmentLocationURI",1),f([R],K.prototype,"extensionDevelopmentKind",1),f([R],K.prototype,"extensionTestsLocationURI",1),f([R],K.prototype,"debugExtensionHost",1),f([R],K.prototype,"logLevel",1),f([R],K.prototype,"extensionLogLevel",1),f([R],K.prototype,"serviceMachineIdResource",1),f([R],K.prototype,"disableTelemetry",1),f([R],K.prototype,"disableExperiments",1),f([R],K.prototype,"disableWorkspaceTrust",1),f([R],K.prototype,"useInMemorySecretStorage",1),f([R],K.prototype,"policyFile",1),f([R],K.prototype,"agentSessionsWorkspace",1);function uu(r,e){return va(r["inspect-extensions"],r["inspect-brk-extensions"],5870,e,r.debugId,r.extensionEnvironment)}function va(r,e,t,n,i,o){let a=Number(e||r)||(n?null:t),l=a?!!e:!1,c;if(o)try{c=JSON.parse(o)}catch{}return{port:a,break:l,debugId:i,env:c}}import{homedir as ya}from"os";import{resolve as du,isAbsolute as pu,join as jt}from"path";var mu=process.env.VSCODE_CWD||process.cwd();function ba(r,e){let t=fu(r,e),n=[t];return pu(t)||n.unshift(mu),du(...n)}function fu(r,e){process.env.VSCODE_DEV&&(process.isEmbeddedApp?e="sessions-oss-dev":e="code-oss-dev");let t=process.env.VSCODE_PORTABLE;if(t)return jt(t,"user-data");let n=process.env.VSCODE_APPDATA;if(n)return jt(n,e);let i=r["user-data-dir"];if(i)return i;switch(process.platform){case"win32":if(n=process.env.APPDATA,!n){let o=process.env.USERPROFILE;if(typeof o!="string")throw new Error("Windows: Unexpected undefined %USERPROFILE% environment variable");n=jt(o,"AppData","Roaming")}break;case"darwin":n=jt(ya(),"Library","Application Support");break;case"linux":n=process.env.XDG_CONFIG_HOME||jt(ya(),".config");break;default:throw new Error("Platform not supported")}return jt(n,e)}var Cr=class extends K{constructor(e,t){super(e,{homeDir:hu(),tmpDir:gu(),userDataDir:ba(e,t.nameShort)},t)}};function ro(r,e){return e&&(r.stack||r.stacktrace)?g(116,null,xa(r),_a(r.stack)||_a(r.stacktrace)):xa(r)}function _a(r){return Array.isArray(r)?r.join(`
`):r}function xa(r){return r.code==="ERR_UNC_HOST_NOT_ALLOWED"?`${r.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:typeof r.code=="string"&&typeof r.errno=="number"&&typeof r.syscall=="string"?g(115,null,r.message):r.message||g(113,null)}function io(r=null,e=!1){if(!r)return g(113,null);if(Array.isArray(r)){let t=Ko(r),n=io(t[0],e);return t.length>1?g(114,null,n,t.length):n}if(G(r))return r;if(r.detail){let t=r.detail;if(t.error)return ro(t.error,e);if(t.exception)return ro(t.exception,e)}return r.stack?ro(r,e):r.message?r.message:g(113,null)}function Ta(r){return so(r,0)}function so(r,e){switch(typeof r){case"object":return r===null?He(349,e):Array.isArray(r)?yu(r,e):bu(r,e);case"string":return wa(r,e);case"boolean":return vu(r,e);case"number":return He(r,e);case"undefined":return He(937,e);default:return He(617,e)}}function He(r,e){return(e<<5)-e+r|0}function vu(r,e){return He(r?433:863,e)}function wa(r,e){e=He(149417,e);for(let t=0,n=r.length;t<n;t++)e=He(r.charCodeAt(t),e);return e}function yu(r,e){return e=He(104579,e),r.reduce((t,n)=>so(n,t),e)}function bu(r,e){return e=He(181387,e),Object.keys(r).sort().reduce((t,n)=>(t=wa(n,t),so(r[n],t)),e)}function oo(r,e,t=32){let n=t-e,i=~((1<<n)-1);return(r<<e|(i&r)>>>n)>>>0}function Cn(r,e=32){return r instanceof ArrayBuffer?as(ee.wrap(new Uint8Array(r))):(r>>>0).toString(16).padStart(e/4,"0")}var Ia=class r{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(e){let t=e.length;if(t===0)return;let n=this._buff,i=this._buffLen,o=this._leftoverHighSurrogate,s,a;for(o!==0?(s=o,a=-1,o=0):(s=e.charCodeAt(0),a=0);;){let l=s;if(Ws(s))if(a+1<t){let c=e.charCodeAt(a+1);Vi(c)?(a++,l=zs(s,c)):l=65533}else{o=s;break}else Vi(s)&&(l=65533);if(i=this._push(n,i,l),a++,a<t)s=e.charCodeAt(a);else break}this._buffLen=i,this._leftoverHighSurrogate=o}_push(e,t,n){return n<128?e[t++]=n:n<2048?(e[t++]=192|(n&1984)>>>6,e[t++]=128|(n&63)>>>0):n<65536?(e[t++]=224|(n&61440)>>>12,e[t++]=128|(n&4032)>>>6,e[t++]=128|(n&63)>>>0):(e[t++]=240|(n&1835008)>>>18,e[t++]=128|(n&258048)>>>12,e[t++]=128|(n&4032)>>>6,e[t++]=128|(n&63)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}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()),Cn(this._h0)+Cn(this._h1)+Cn(this._h2)+Cn(this._h3)+Cn(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 e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){let e=r._bigBlock32,t=this._buffDV;for(let u=0;u<64;u+=4)e.setUint32(u,t.getUint32(u,!1),!1);for(let u=64;u<320;u+=4)e.setUint32(u,oo(e.getUint32(u-12,!1)^e.getUint32(u-32,!1)^e.getUint32(u-56,!1)^e.getUint32(u-64,!1),1),!1);let n=this._h0,i=this._h1,o=this._h2,s=this._h3,a=this._h4,l,c,p;for(let u=0;u<80;u++)u<20?(l=i&o|~i&s,c=1518500249):u<40?(l=i^o^s,c=1859775393):u<60?(l=i&o|i&s|o&s,c=2400959708):(l=i^o^s,c=3395469782),p=oo(n,5)+l+a+c+e.getUint32(u*4,!1)&4294967295,a=s,s=o,o=oo(i,30),i=n,n=p;this._h0=this._h0+n&4294967295,this._h1=this._h1+i&4294967295,this._h2=this._h2+o&4294967295,this._h3=this._h3+s&4294967295,this._h4=this._h4+a&4294967295}};function ao(...r){switch(r.length){case 1:return g(1931,null,r[0]);case 2:return g(1932,null,r[0],r[1]);case 3:return g(1933,null,r[0],r[1],r[2]);default:return}}var _u=g(1930,null),xu=g(1929,null),tt=class r{constructor(){this._input="";this._start=0;this._current=0;this._tokens=[];this._errors=[];this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(e){switch(e.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return e.isTripleEq?"===":"==";case 4:return e.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:return">=";case 8:return">=";case 9:return"=~";case 10:return e.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 e.lexeme;case 18:return e.lexeme;case 19:return e.lexeme;case 20:return"EOF";default:throw Uo(`unhandled token type: ${JSON.stringify(e)}; have you forgotten to add a case?`)}}static{this._regexFlags=new Set(["i","g","s","m","y","u"].map(e=>e.charCodeAt(0)))}static{this._keywords=new Map([["not",14],["in",13],["false",12],["true",11]])}get errors(){return this._errors}reset(e){return this._input=e,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 t=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:t})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){let t=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:t})}else this._match(126)?this._addToken(9):this._error(ao("==","=~"));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(ao("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(ao("||"));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(e){return this._isAtEnd()||this._input.charCodeAt(this._current)!==e?!1:(this._current++,!0)}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(e){this._tokens.push({type:e,offset:this._start})}_error(e){let t=this._start,n=this._input.substring(this._start,this._current),i={type:19,offset:this._start,lexeme:n};this._errors.push({offset:t,lexeme:n,additionalInfo:e}),this._tokens.push(i)}_string(){this.stringRe.lastIndex=this._start;let e=this.stringRe.exec(this._input);if(e){this._current=this._start+e[0].length;let t=this._input.substring(this._start,this._current),n=r._keywords.get(t);n?this._addToken(n):this._tokens.push({type:17,lexeme:t,offset:this._start})}}_quotedString(){for(;this._peek()!==39&&!this._isAtEnd();)this._advance();if(this._isAtEnd()){this._error(_u);return}this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1})}_regex(){let e=this._current,t=!1,n=!1;for(;;){if(e>=this._input.length){this._current=e,this._error(xu);return}let o=this._input.charCodeAt(e);if(t)t=!1;else if(o===47&&!n){e++;break}else o===91?n=!0:o===92?t=!0:o===93&&(n=!1);e++}for(;e<this._input.length&&r._regexFlags.has(this._input.charCodeAt(e));)e++;this._current=e;let i=this._input.substring(this._start,this._current);this._tokens.push({type:10,lexeme:i,offset:this._start})}_isAtEnd(){return this._current>=this._input.length}};var nt;(i=>{i.serviceIds=new Map,i.DI_TARGET="$di$target",i.DI_DEPENDENCIES="$di$dependencies";function n(o){return o[i.DI_DEPENDENCIES]||[]}i.getServiceDependencies=n})(nt||={});var v1=xe("instantiationService");function Iu(r,e,t){e[nt.DI_TARGET]===e?e[nt.DI_DEPENDENCIES].push({id:r,index:t}):(e[nt.DI_DEPENDENCIES]=[{id:r,index:t}],e[nt.DI_TARGET]=e)}function xe(r){if(nt.serviceIds.has(r))return nt.serviceIds.get(r);let e=function(t,n,i){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");Iu(e,t,i)};return e.toString=()=>r,nt.serviceIds.set(r,e),e}var ne=new Map;ne.set("false",!1);ne.set("true",!0);ne.set("isMac",ve);ne.set("isLinux",Ce);ne.set("isWindows",w);ne.set("isWeb",Mt);ne.set("isMacNative",ve&&!Mt);ne.set("isEdge",bs);ne.set("isFirefox",vs);ne.set("isChrome",Ei);ne.set("isSafari",ys);var Tu=Object.prototype.hasOwnProperty;var wu={regexParsingWithErrorRecovery:!0},Eu=g(1910,null),Pu=g(1911,null),Su=g(1913,null),Ea=g(1909,null),Cu=g(1916,null),ku=g(1917,null),Ru=g(1914,null),Lu=g(1915,null),lo=class r{constructor(e=wu){this._config=e;this._scanner=new tt;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(e){if(e===""){this._parsingErrors.push({message:Eu,offset:0,lexeme:"",additionalInfo:Pu});return}this._tokens=this._scanner.reset(e).scan(),this._current=0,this._parsingErrors=[];try{let t=this._expr();if(!this._isAtEnd()){let n=this._peek(),i=n.type===17?ku:void 0;throw this._parsingErrors.push({message:Cu,offset:n.offset,lexeme:tt.getLexeme(n),additionalInfo:i}),r._parseError}return t}catch(t){if(t!==r._parseError)throw t;return}}_expr(){return this._or()}_or(){let e=[this._and()];for(;this._matchOne(16);){let t=this._and();e.push(t)}return e.length===1?e[0]:se.or(...e)}_and(){let e=[this._term()];for(;this._matchOne(15);){let t=this._term();e.push(t)}return e.length===1?e[0]:se.and(...e)}_term(){if(this._matchOne(2)){let e=this._peek();switch(e.type){case 11:return this._advance(),ce.INSTANCE;case 12:return this._advance(),me.INSTANCE;case 0:{this._advance();let t=this._expr();return this._consume(1,Ea),t?.negate()}case 17:return this._advance(),It.create(e.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",e)}}return this._primary()}_primary(){let e=this._peek();switch(e.type){case 11:return this._advance(),se.true();case 12:return this._advance(),se.false();case 0:{this._advance();let t=this._expr();return this._consume(1,Ea),t}case 17:{let t=e.lexeme;if(this._advance(),this._matchOne(9)){let i=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),i.type!==10)throw this._errExpectedButGot("REGEX",i);let o=i.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",i)}return Mn.create(t,l)}switch(i.type){case 10:case 19:{let o=[i.lexeme];this._advance();let s=this._peek(),a=0;for(let d=0;d<i.lexeme.length;d++)i.lexeme.charCodeAt(d)===40?a++:i.lexeme.charCodeAt(d)===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 d=0;d<s.lexeme.length;d++)s.lexeme.charCodeAt(d)===40?a++:i.lexeme.charCodeAt(d)===41&&a--}if(a<0)break;o.push(tt.getLexeme(s)),this._advance(),s=this._peek()}let l=o.join(""),c=l.lastIndexOf("/"),p=c===l.length-1?void 0:this._removeFlagsGY(l.substring(c+1)),u;try{u=new RegExp(l.substring(1,c),p)}catch{throw this._errExpectedButGot("REGEX",i)}return se.regex(t,u)}case 18:{let o=i.lexeme;this._advance();let s=null;if(!Ks(o)){let a=o.indexOf("/"),l=o.lastIndexOf("/");if(a!==l&&a>=0){let c=o.slice(a+1,l),p=o[l+1]==="i"?"i":"";try{s=new RegExp(c,p)}catch{throw this._errExpectedButGot("REGEX",i)}}}if(s===null)throw this._errExpectedButGot("REGEX",i);return Mn.create(t,s)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,Su);let i=this._value();return se.notIn(t,i)}switch(this._peek().type){case 3:{this._advance();let i=this._value();if(this._previous().type===18)return se.equals(t,i);switch(i){case"true":return se.has(t);case"false":return se.not(t);default:return se.equals(t,i)}}case 4:{this._advance();let i=this._value();if(this._previous().type===18)return se.notEquals(t,i);switch(i){case"true":return se.not(t);case"false":return se.has(t);default:return se.notEquals(t,i)}}case 5:return this._advance(),An.create(t,this._value());case 6:return this._advance(),On.create(t,this._value());case 7:return this._advance(),Ht.create(t,this._value());case 8:return this._advance(),Dn.create(t,this._value());case 13:return this._advance(),se.in(t,this._value());default:return se.has(t)}}case 20:throw this._parsingErrors.push({message:Ru,offset:e.offset,lexeme:"",additionalInfo:Lu}),r._parseError;default:throw this._errExpectedButGot(`true | false | KEY 
	| KEY '=~' REGEX 
	| KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value`,this._peek())}}_value(){let e=this._peek();switch(e.type){case 17:case 18:return this._advance(),e.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(e){return e.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(e){return this._check(e)?(this._advance(),!0):!1}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(e,t){if(this._check(e))return this._advance();throw this._errExpectedButGot(t,this._peek())}_errExpectedButGot(e,t,n){let i=g(1912,null,e,tt.getLexeme(t)),o=t.offset,s=tt.getLexeme(t);return this._parsingErrors.push({message:i,offset:o,lexeme:s,additionalInfo:n}),r._parseError}_check(e){return this._peek().type===e}_peek(){return this._tokens[this._current]}_isAtEnd(){return this._peek().type===20}},se=class{static false(){return ce.INSTANCE}static true(){return me.INSTANCE}static has(e){return xt.create(e)}static equals(e,t){return Rn.create(e,t)}static notEquals(e,t){return Ln.create(e,t)}static regex(e,t){return Mn.create(e,t)}static in(e,t){return kr.create(e,t)}static notIn(e,t){return Rr.create(e,t)}static not(e){return It.create(e)}static and(...e){return Lr.create(e,null,!0)}static or(...e){return Fn.create(e,null,!0)}static greater(e,t){return Ht.create(e,t)}static greaterEquals(e,t){return Dn.create(e,t)}static smaller(e,t){return An.create(e,t)}static smallerEquals(e,t){return On.create(e,t)}static{this._parser=new lo({regexParsingWithErrorRecovery:!1})}static deserialize(e){return e==null?void 0:this._parser.parse(e)}};function kn(r,e){return r.cmp(e)}var ce=class r{constructor(){this.type=0}static{this.INSTANCE=new r}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!1}serialize(){return"false"}keys(){return[]}map(e){return this}negate(){return me.INSTANCE}},me=class r{constructor(){this.type=1}static{this.INSTANCE=new r}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!0}serialize(){return"true"}keys(){return[]}map(e){return this}negate(){return ce.INSTANCE}},xt=class r{constructor(e,t){this.key=e;this.negated=t;this.type=2}static create(e,t=null){let n=ne.get(e);return typeof n=="boolean"?n?me.INSTANCE:ce.INSTANCE:new r(e,t)}cmp(e){return e.type!==this.type?this.type-e.type:Ca(this.key,e.key)}equals(e){return e.type===this.type?this.key===e.key:!1}substituteConstants(){let e=ne.get(this.key);return typeof e=="boolean"?e?me.INSTANCE:ce.INSTANCE:this}evaluate(e){return!!e.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}map(e){return e.mapDefined(this.key)}negate(){return this.negated||(this.negated=It.create(this.key,this)),this.negated}},Rn=class r{constructor(e,t,n){this.key=e;this.value=t;this.negated=n;this.type=4}static create(e,t,n=null){if(typeof t=="boolean")return t?xt.create(e,n):It.create(e,n);let i=ne.get(e);return typeof i=="boolean"?t===(i?"true":"false")?me.INSTANCE:ce.INSTANCE:new r(e,t,n)}cmp(e){return e.type!==this.type?this.type-e.type:Tt(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){let e=ne.get(this.key);if(typeof e=="boolean"){let t=e?"true":"false";return this.value===t?me.INSTANCE:ce.INSTANCE}return this}evaluate(e){return e.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}map(e){return e.mapEquals(this.key,this.value)}negate(){return this.negated||(this.negated=Ln.create(this.key,this.value,this)),this.negated}},kr=class r{constructor(e,t){this.key=e;this.valueKey=t;this.type=10;this.negated=null}static create(e,t){return new r(e,t)}cmp(e){return e.type!==this.type?this.type-e.type:Tt(this.key,this.valueKey,e.key,e.valueKey)}equals(e){return e.type===this.type?this.key===e.key&&this.valueKey===e.valueKey:!1}substituteConstants(){return this}evaluate(e){let t=e.getValue(this.valueKey),n=e.getValue(this.key);if(Array.isArray(t)){if(t.includes(n))return!0;if(w&&typeof n=="string"&&n.startsWith("file:///")){let i=n.toLowerCase();return t.some(o=>typeof o=="string"&&o.toLowerCase()===i)}return!1}if(typeof n=="string"&&typeof t=="object"&&t!==null){if(Tu.call(t,n))return!0;if(w&&n.startsWith("file:///")){let i=n.toLowerCase();return Object.keys(t).some(o=>o.toLowerCase()===i)}return!1}return!1}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}map(e){return e.mapIn(this.key,this.valueKey)}negate(){return this.negated||(this.negated=Rr.create(this.key,this.valueKey)),this.negated}},Rr=class r{constructor(e,t){this.key=e;this.valueKey=t;this.type=11;this._negated=kr.create(e,t)}static create(e,t){return new r(e,t)}cmp(e){return e.type!==this.type?this.type-e.type:this._negated.cmp(e._negated)}equals(e){return e.type===this.type?this._negated.equals(e._negated):!1}substituteConstants(){return this}evaluate(e){return!this._negated.evaluate(e)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}map(e){return e.mapNotIn(this.key,this.valueKey)}negate(){return this._negated}},Ln=class r{constructor(e,t,n){this.key=e;this.value=t;this.negated=n;this.type=5}static create(e,t,n=null){if(typeof t=="boolean")return t?It.create(e,n):xt.create(e,n);let i=ne.get(e);return typeof i=="boolean"?t===(i?"true":"false")?ce.INSTANCE:me.INSTANCE:new r(e,t,n)}cmp(e){return e.type!==this.type?this.type-e.type:Tt(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){let e=ne.get(this.key);if(typeof e=="boolean"){let t=e?"true":"false";return this.value===t?ce.INSTANCE:me.INSTANCE}return this}evaluate(e){return e.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}map(e){return e.mapNotEquals(this.key,this.value)}negate(){return this.negated||(this.negated=Rn.create(this.key,this.value,this)),this.negated}},It=class r{constructor(e,t){this.key=e;this.negated=t;this.type=3}static create(e,t=null){let n=ne.get(e);return typeof n=="boolean"?n?ce.INSTANCE:me.INSTANCE:new r(e,t)}cmp(e){return e.type!==this.type?this.type-e.type:Ca(this.key,e.key)}equals(e){return e.type===this.type?this.key===e.key:!1}substituteConstants(){let e=ne.get(this.key);return typeof e=="boolean"?e?ce.INSTANCE:me.INSTANCE:this}evaluate(e){return!e.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}map(e){return e.mapNot(this.key)}negate(){return this.negated||(this.negated=xt.create(this.key,this)),this.negated}};function Ar(r,e){if(typeof r=="string"){let t=parseFloat(r);isNaN(t)||(r=t)}return typeof r=="string"||typeof r=="number"?e(r):ce.INSTANCE}var Ht=class r{constructor(e,t,n){this.key=e;this.value=t;this.negated=n;this.type=12}static create(e,t,n=null){return Ar(t,i=>new r(e,i,n))}cmp(e){return e.type!==this.type?this.type-e.type:Tt(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}map(e){return e.mapGreater(this.key,this.value)}negate(){return this.negated||(this.negated=On.create(this.key,this.value,this)),this.negated}},Dn=class r{constructor(e,t,n){this.key=e;this.value=t;this.negated=n;this.type=13}static create(e,t,n=null){return Ar(t,i=>new r(e,i,n))}cmp(e){return e.type!==this.type?this.type-e.type:Tt(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}map(e){return e.mapGreaterEquals(this.key,this.value)}negate(){return this.negated||(this.negated=An.create(this.key,this.value,this)),this.negated}},An=class r{constructor(e,t,n){this.key=e;this.value=t;this.negated=n;this.type=14}static create(e,t,n=null){return Ar(t,i=>new r(e,i,n))}cmp(e){return e.type!==this.type?this.type-e.type:Tt(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))<this.value}serialize(){return`${this.key} < ${this.value}`}keys(){return[this.key]}map(e){return e.mapSmaller(this.key,this.value)}negate(){return this.negated||(this.negated=Dn.create(this.key,this.value,this)),this.negated}},On=class r{constructor(e,t,n){this.key=e;this.value=t;this.negated=n;this.type=15}static create(e,t,n=null){return Ar(t,i=>new r(e,i,n))}cmp(e){return e.type!==this.type?this.type-e.type:Tt(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}map(e){return e.mapSmallerEquals(this.key,this.value)}negate(){return this.negated||(this.negated=Ht.create(this.key,this.value,this)),this.negated}},Mn=class r{constructor(e,t){this.key=e;this.regexp=t;this.type=7;this.negated=null}static create(e,t){return new r(e,t)}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.key<e.key)return-1;if(this.key>e.key)return 1;let t=this.regexp?this.regexp.source:"",n=e.regexp?e.regexp.source:"";return t<n?-1:t>n?1:0}equals(e){if(e.type===this.type){let t=this.regexp?this.regexp.source:"",n=e.regexp?e.regexp.source:"";return this.key===e.key&&t===n}return!1}substituteConstants(){return this}evaluate(e){let t=e.getValue(this.key);return this.regexp?this.regexp.test(t):!1}serialize(){let e=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/";return`${this.key} =~ ${e}`}keys(){return[this.key]}map(e){return e.mapRegex(this.key,this.regexp)}negate(){return this.negated||(this.negated=co.create(this)),this.negated}},co=class r{constructor(e){this._actual=e;this.type=8}static create(e){return new r(e)}cmp(e){return e.type!==this.type?this.type-e.type:this._actual.cmp(e._actual)}equals(e){return e.type===this.type?this._actual.equals(e._actual):!1}substituteConstants(){return this}evaluate(e){return!this._actual.evaluate(e)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}map(e){return new r(this._actual.map(e))}negate(){return this._actual}};function Sa(r){let e=null;for(let t=0,n=r.length;t<n;t++){let i=r[t].substituteConstants();if(r[t]!==i&&e===null){e=[];for(let o=0;o<t;o++)e[o]=r[o]}e!==null&&(e[t]=i)}return e===null?r:e}var Lr=class r{constructor(e,t){this.expr=e;this.negated=t;this.type=6}static create(e,t,n){return r._normalizeArr(e,t,n)}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.expr.length<e.expr.length)return-1;if(this.expr.length>e.expr.length)return 1;for(let t=0,n=this.expr.length;t<n;t++){let i=kn(this.expr[t],e.expr[t]);if(i!==0)return i}return 0}equals(e){if(e.type===this.type){if(this.expr.length!==e.expr.length)return!1;for(let t=0,n=this.expr.length;t<n;t++)if(!this.expr[t].equals(e.expr[t]))return!1;return!0}return!1}substituteConstants(){let e=Sa(this.expr);return e===this.expr?this:r.create(e,this.negated,!1)}evaluate(e){for(let t=0,n=this.expr.length;t<n;t++)if(!this.expr[t].evaluate(e))return!1;return!0}static _normalizeArr(e,t,n){let i=[],o=!1;for(let s of e)if(s){if(s.type===1){o=!0;continue}if(s.type===0)return ce.INSTANCE;if(s.type===6){i.push(...s.expr);continue}i.push(s)}if(i.length===0&&o)return me.INSTANCE;if(i.length!==0){if(i.length===1)return i[0];i.sort(kn);for(let s=1;s<i.length;s++)i[s-1].equals(i[s])&&(i.splice(s,1),s--);if(i.length===1)return i[0];for(;i.length>1;){let s=i[i.length-1];if(s.type!==9)break;i.pop();let a=i.pop(),l=i.length===0,c=Fn.create(s.expr.map(p=>r.create([p,a],null,n)),null,l);c&&(i.push(c),i.sort(kn))}if(i.length===1)return i[0];if(n){for(let s=0;s<i.length;s++)for(let a=s+1;a<i.length;a++)if(i[s].negate().equals(i[a]))return ce.INSTANCE;if(i.length===1)return i[0]}return new r(i,t)}}serialize(){return this.expr.map(e=>e.serialize()).join(" && ")}keys(){let e=[];for(let t of this.expr)e.push(...t.keys());return e}map(e){return new r(this.expr.map(t=>t.map(e)),null)}negate(){if(!this.negated){let e=[];for(let t of this.expr)e.push(t.negate());this.negated=Fn.create(e,this,!0)}return this.negated}},Fn=class r{constructor(e,t){this.expr=e;this.negated=t;this.type=9}static create(e,t,n){return r._normalizeArr(e,t,n)}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.expr.length<e.expr.length)return-1;if(this.expr.length>e.expr.length)return 1;for(let t=0,n=this.expr.length;t<n;t++){let i=kn(this.expr[t],e.expr[t]);if(i!==0)return i}return 0}equals(e){if(e.type===this.type){if(this.expr.length!==e.expr.length)return!1;for(let t=0,n=this.expr.length;t<n;t++)if(!this.expr[t].equals(e.expr[t]))return!1;return!0}return!1}substituteConstants(){let e=Sa(this.expr);return e===this.expr?this:r.create(e,this.negated,!1)}evaluate(e){for(let t=0,n=this.expr.length;t<n;t++)if(this.expr[t].evaluate(e))return!0;return!1}static _normalizeArr(e,t,n){let i=[],o=!1;if(e){for(let s=0,a=e.length;s<a;s++){let l=e[s];if(l){if(l.type===0){o=!0;continue}if(l.type===1)return me.INSTANCE;if(l.type===9){i=i.concat(l.expr);continue}i.push(l)}}if(i.length===0&&o)return ce.INSTANCE;i.sort(kn)}if(i.length!==0){if(i.length===1)return i[0];for(let s=1;s<i.length;s++)i[s-1].equals(i[s])&&(i.splice(s,1),s--);if(i.length===1)return i[0];if(n){for(let s=0;s<i.length;s++)for(let a=s+1;a<i.length;a++)if(i[s].negate().equals(i[a]))return me.INSTANCE;if(i.length===1)return i[0]}return new r(i,t)}}serialize(){return this.expr.map(e=>e.serialize()).join(" || ")}keys(){let e=[];for(let t of this.expr)e.push(...t.keys());return e}map(e){return new r(this.expr.map(t=>t.map(e)),null)}negate(){if(!this.negated){let e=[];for(let t of this.expr)e.push(t.negate());for(;e.length>1;){let t=e.shift(),n=e.shift(),i=[];for(let o of Pa(t))for(let s of Pa(n))i.push(Lr.create([o,s],null,!1));e.unshift(r.create(i,null,!1))}this.negated=r.create(e,this,!0)}return this.negated}},Dr=class r extends xt{static{this._info=[]}static all(){return r._info.values()}constructor(e,t,n){super(e,null),this._defaultValue=t,typeof n=="object"?r._info.push({...n,key:e}):n!==!0&&r._info.push({key:e,description:n,type:t!=null?typeof t:void 0})}bindTo(e){return e.createKey(this.key,this._defaultValue)}getValue(e){return e.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(e){return Rn.create(this.key,e)}notEqualsTo(e){return Ln.create(this.key,e)}greater(e){return Ht.create(this.key,e)}},R1=xe("contextKeyService");function Ca(r,e){return r<e?-1:r>e?1:0}function Tt(r,e,t,n){return r<t?-1:r>t?1:e<n?-1:e>n?1:0}function Pa(r){return r.type===9?r.expr:[r]}var Pe=xe("logService"),j1=xe("loggerService");function uo(r){return Ae(r)}var ka=3;function Du(r,e){return r!==0&&r<=e}function Gt(r,e=!1){let t="";for(let n=0;n<r.length;n++){let i=r[n];if(i instanceof Error&&(i=io(i,e)),typeof i=="object")try{i=JSON.stringify(i)}catch{}t+=(n>0?" ":"")+i}return t}var Or=class extends C{constructor(){super(...arguments);this.level=ka;this._onDidChangeLogLevel=this._register(new v)}get onDidChangeLogLevel(){return this._onDidChangeLogLevel.event}setLevel(t){this.level!==t&&(this.level=t,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}checkLogLevel(t){return Du(this.level,t)}canLog(t){return this._store.isDisposed?!1:this.checkLogLevel(t)}},Un=class extends Or{constructor(t){super();this.logAlways=t}checkLogLevel(t){return this.logAlways||super.checkLogLevel(t)}trace(t,...n){this.canLog(1)&&this.log(1,Gt([t,...n],!0))}debug(t,...n){this.canLog(2)&&this.log(2,Gt([t,...n]))}info(t,...n){this.canLog(3)&&this.log(3,Gt([t,...n]))}warn(t,...n){this.canLog(4)&&this.log(4,Gt([t,...n]))}error(t,...n){if(this.canLog(5))if(t instanceof Error){let i=Array.prototype.slice.call(arguments);i[0]=t.stack,this.log(5,Gt(i))}else this.log(5,Gt([t,...n]))}flush(){}};var Mr=class extends Or{constructor(t){super();this.loggers=t;t.length&&this.setLevel(t[0].getLevel())}setLevel(t){for(let n of this.loggers)n.setLevel(t);super.setLevel(t)}trace(t,...n){for(let i of this.loggers)i.trace(t,...n)}debug(t,...n){for(let i of this.loggers)i.debug(t,...n)}info(t,...n){for(let i of this.loggers)i.info(t,...n)}warn(t,...n){for(let i of this.loggers)i.warn(t,...n)}error(t,...n){for(let i of this.loggers)i.error(t,...n)}flush(){for(let t of this.loggers)t.flush()}dispose(){for(let t of this.loggers)t.dispose();super.dispose()}},Nn=class extends C{constructor(t,n,i){super();this.logLevel=t;this.logsHome=n;this._loggers=new lt;this._onDidChangeLoggers=this._register(new v);this.onDidChangeLoggers=this._onDidChangeLoggers.event;this._onDidChangeLogLevel=this._register(new v);this.onDidChangeLogLevel=this._onDidChangeLogLevel.event;this._onDidChangeVisibility=this._register(new v);this.onDidChangeVisibility=this._onDidChangeVisibility.event;if(i)for(let o of i)this._loggers.set(o.resource,{logger:void 0,info:o})}getLoggerEntry(t){return G(t)?[...this._loggers.values()].find(n=>n.info.id===t):this._loggers.get(t)}getLogger(t){return this.getLoggerEntry(t)?.logger}createLogger(t,n){let i=this.toResource(t),o=G(t)?t:n?.id??Ta(i.toString()).toString(16),s=this._loggers.get(i)?.logger,a=n?.logLevel==="always"?1:n?.logLevel;s||(s=this.doCreateLogger(i,a??this.getLogLevel(i)??this.logLevel,{...n,id:o}));let l={logger:s,info:{resource:i,id:o,logLevel:a,name:n?.name,hidden:n?.hidden,group:n?.group,extensionId:n?.extensionId,when:n?.when}};return this.registerLogger(l.info),this._loggers.set(i,l),s}toResource(t){return G(t)?_e(this.logsHome,`${t.replace(/[\\/:\*\?"<>\|]/g,"")}.log`):t}setLogLevel(t,n){if(O.isUri(t)){let i=t,o=n,s=this._loggers.get(i);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([i,o]))}else{this.logLevel=t;for(let[i,o]of this._loggers.entries())this._loggers.get(i)?.info.logLevel===void 0&&o.logger?.setLevel(this.logLevel);this._onDidChangeLogLevel.fire(this.logLevel)}}setVisibility(t,n){let i=this.getLoggerEntry(t);i&&n!==!i.info.hidden&&(i.info.hidden=!n,this._loggers.set(i.info.resource,i),this._onDidChangeVisibility.fire([i.info.resource,n]))}getLogLevel(t){let n;return t&&(n=this._loggers.get(t)?.info.logLevel),n??this.logLevel}registerLogger(t){let n=this._loggers.get(t.resource);n?n.info.hidden!==t.hidden&&this.setVisibility(t.resource,!t.hidden):(this._loggers.set(t.resource,{info:t,logger:void 0}),this._onDidChangeLoggers.fire({added:[t],removed:[]}))}deregisterLogger(t){let n=this.toResource(t),i=this._loggers.get(n);i&&(i.logger&&i.logger.dispose(),this._loggers.delete(n),this._onDidChangeLoggers.fire({added:[],removed:[i.info]}))}*getRegisteredLoggers(){for(let t of this._loggers.values())yield t.info}getRegisteredLogger(t){return this._loggers.get(t)?.info}dispose(){this._loggers.forEach(t=>t.logger?.dispose()),this._loggers.clear(),super.dispose()}};function Ra(r){if(r.verbose)return 1;if(typeof r.logLevel=="string"){let e=Ou(r.logLevel.toLowerCase());if(e!==void 0)return e}return ka}function Au(r){switch(r){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 Ou(r){switch(r){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 H1=new Dr("logLevel",Au(3));var Fr=class{constructor(e,t){this.loggerService=e;this.getUriTransformer=t}listen(e,t){let n=this.getUriTransformer(e);switch(t){case"onDidChangeLoggers":return E.map(this.loggerService.onDidChangeLoggers,i=>({added:[...i.added].map(o=>this.transformLogger(o,n)),removed:[...i.removed].map(o=>this.transformLogger(o,n))}));case"onDidChangeVisibility":return E.map(this.loggerService.onDidChangeVisibility,i=>[n.transformOutgoingURI(i[0]),i[1]]);case"onDidChangeLogLevel":return E.map(this.loggerService.onDidChangeLogLevel,i=>uo(i)?i:[n.transformOutgoingURI(i[0]),i[1]])}throw new Error(`Event not found: ${t}`)}async call(e,t,n){let i=this.getUriTransformer(e);switch(t){case"setLogLevel":return uo(n[0])?this.loggerService.setLogLevel(n[0]):this.loggerService.setLogLevel(O.revive(i.transformIncoming(n[0][0])),n[0][1]);case"getRegisteredLoggers":return Promise.resolve([...this.loggerService.getRegisteredLoggers()].map(o=>this.transformLogger(o,i)))}throw new Error(`Call not found: ${t}`)}transformLogger(e,t){return{...e,resource:t.transformOutgoingURI(e.resource)}}};var Ur=class extends C{constructor(e,t=[]){super(),this.logger=new Mr([e,...t]),this._register(e.onDidChangeLogLevel(n=>this.setLevel(n)))}get onDidChangeLogLevel(){return this.logger.onDidChangeLogLevel}setLevel(e){this.logger.setLevel(e)}getLevel(){return this.logger.getLevel()}trace(e,...t){this.logger.trace(e,...t)}debug(e,...t){this.logger.debug(e,...t)}info(e,...t){this.logger.info(e,...t)}warn(e,...t){this.logger.warn(e,...t)}error(e,...t){this.logger.error(e,...t)}flush(){this.logger.flush()}};var Nr=(function(){if(typeof crypto.randomUUID=="function")return crypto.randomUUID.bind(crypto);let r=new Uint8Array(16),e=[];for(let t=0;t<256;t++)e.push(t.toString(16).padStart(2,"0"));return function(){crypto.getRandomValues(r),r[6]=r[6]&15|64,r[8]=r[8]&63|128;let n=0,i="";return i+=e[r[n++]],i+=e[r[n++]],i+=e[r[n++]],i+=e[r[n++]],i+="-",i+=e[r[n++]],i+=e[r[n++]],i+="-",i+=e[r[n++]],i+=e[r[n++]],i+="-",i+=e[r[n++]],i+=e[r[n++]],i+="-",i+=e[r[n++]],i+=e[r[n++]],i+=e[r[n++]],i+=e[r[n++]],i+=e[r[n++]],i+=e[r[n++]],i}})();var po=class{constructor(){this._value="";this._pos=0}reset(e){return this._value=e,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos<this._value.length-1}cmp(e){let t=e.charCodeAt(0),n=this._value.charCodeAt(this._pos);return t-n}value(){return this._value[this._pos]}},mo=class{constructor(e=!0){this._caseSensitive=e}reset(e){return this._value=e,this._from=0,this._to=0,this.next()}hasNext(){return this._to<this._value.length}next(){this._from=this._to;let e=!0;for(;this._to<this._value.length;this._to++)if(this._value.charCodeAt(this._to)===46)if(e)this._from++;else break;else e=!1;return this}cmp(e){return this._caseSensitive?mr(e,this._value,0,e.length,this._from,this._to):Vt(e,this._value,0,e.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}},Br=class{constructor(e=!0,t=!0){this._splitOnBackslash=e;this._caseSensitive=t}reset(e){this._from=0,this._to=0,this._value=e,this._valueLen=e.length;for(let t=e.length-1;t>=0;t--,this._valueLen--){let n=this._value.charCodeAt(t);if(!(n===47||this._splitOnBackslash&&n===92))break}return this.next()}hasNext(){return this._to<this._valueLen}next(){this._from=this._to;let e=!0;for(;this._to<this._valueLen;this._to++){let t=this._value.charCodeAt(this._to);if(t===47||this._splitOnBackslash&&t===92)if(e)this._from++;else break;else e=!1}return this}cmp(e){return this._caseSensitive?mr(e,this._value,0,e.length,this._from,this._to):Vt(e,this._value,0,e.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}};var fo=class{constructor(e,t){this._ignorePathCasing=e;this._ignoreQueryAndFragment=t;this._states=[];this._stateIdx=0}reset(e){return this._value=e,this._states=[],this._value.scheme&&this._states.push(1),this._value.authority&&this._states.push(2),this._value.path&&(this._pathIterator=new Br(!1,!this._ignorePathCasing(e)),this._pathIterator.reset(e.path),this._pathIterator.value()&&this._states.push(3)),this._ignoreQueryAndFragment(e)||(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(e){if(this._states[this._stateIdx]===1)return Ni(e,this._value.scheme);if(this._states[this._stateIdx]===2)return Ni(e,this._value.authority);if(this._states[this._stateIdx]===3)return this._pathIterator.cmp(e);if(this._states[this._stateIdx]===4)return mn(e,this._value.query);if(this._states[this._stateIdx]===5)return mn(e,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}},Ge=class r{static{this.Val=Symbol("undefined_placeholder")}static wrap(e){return e===void 0?r.Val:e}static unwrap(e){return e===r.Val?void 0:e}},Xt=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 e=this.right;return this.right=e.left,e.left=this,this.updateHeight(),e.updateHeight(),e}rotateRight(){let e=this.left;return this.left=e.right,e.right=this,this.updateHeight(),e.updateHeight(),e}updateHeight(){this.height=1+Math.max(this.heightLeft,this.heightRight)}balanceFactor(){return this.heightRight-this.heightLeft}get heightLeft(){return this.left?.height??0}get heightRight(){return this.right?.height??0}};var Qt=class r{static forUris(e=()=>!1,t=()=>!1){return new r(new fo(e,t))}static forPaths(e=!1){return new r(new Br(void 0,!e))}static forStrings(){return new r(new po)}static forConfigKeys(){return new r(new mo)}constructor(e){this._iter=e}clear(){this._root=void 0}fill(e,t){if(t){let n=t.slice(0);di(n);for(let i of n)this.set(i,e)}else{let n=e.slice(0);di(n);for(let i of n)this.set(i[0],i[1])}}set(e,t){let n=this._iter.reset(e),i;this._root||(this._root=new Xt,this._root.segment=n.value());let o=[];for(i=this._root;;){let a=n.cmp(i.segment);if(a>0)i.left||(i.left=new Xt,i.left.segment=n.value()),o.push([-1,i]),i=i.left;else if(a<0)i.right||(i.right=new Xt,i.right.segment=n.value()),o.push([1,i]),i=i.right;else if(n.hasNext())n.next(),i.mid||(i.mid=new Xt,i.mid.segment=n.value()),o.push([0,i]),i=i.mid;else break}let s=Ge.unwrap(i.value);i.value=Ge.wrap(t),i.key=e;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 p=o[a][0],u=o[a+1][0];if(p===1&&u===1)o[a][1]=l.rotateLeft();else if(p===-1&&u===-1)o[a][1]=l.rotateRight();else if(p===1&&u===-1)l.right=o[a+1][1]=o[a+1][1].rotateRight(),o[a][1]=l.rotateLeft();else if(p===-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(e){return Ge.unwrap(this._getNode(e)?.value)}_getNode(e){let t=this._iter.reset(e),n=this._root;for(;n;){let i=t.cmp(n.segment);if(i>0)n=n.left;else if(i<0)n=n.right;else if(t.hasNext())t.next(),n=n.mid;else break}return n}has(e){let t=this._getNode(e);return!(t?.value===void 0&&t?.mid===void 0)}delete(e){return this._delete(e,!1)}deleteSuperstr(e){return this._delete(e,!0)}_delete(e,t){let n=this._iter.reset(e),i=[],o=this._root;for(;o;){let s=n.cmp(o.segment);if(s>0)i.push([-1,o]),o=o.left;else if(s<0)i.push([1,o]),o=o.right;else if(n.hasNext())n.next(),i.push([0,o]),o=o.mid;else break}if(o){if(t?(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[p,u]=s[s.length-1];switch(p){case-1:u.left=l;break;case 0:Qn(!1);case 1:Qn(!1)}}else o.right=l;let c=this._balanceByStack(s);if(i.length>0){let[p,u]=i[i.length-1];switch(p){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(i.length>0){let[a,l]=i[i.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(i)??this._root}}_min(e,t){for(;e.left;)t.push([-1,e]),e=e.left;return e}_balanceByStack(e){for(let t=e.length-1;t>=0;t--){let n=e[t][1];n.updateHeight();let i=n.balanceFactor();if(i>1?(n.right.balanceFactor()>=0||(n.right=n.right.rotateRight()),e[t][1]=n.rotateLeft()):i<-1&&(n.left.balanceFactor()<=0||(n.left=n.left.rotateLeft()),e[t][1]=n.rotateRight()),t>0)switch(e[t-1][0]){case-1:e[t-1][1].left=e[t][1];break;case 1:e[t-1][1].right=e[t][1];break;case 0:e[t-1][1].mid=e[t][1];break}else return e[0][1]}}findSubstr(e){let t=this._iter.reset(e),n=this._root,i;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(),i=Ge.unwrap(n.value)||i,n=n.mid;else break}return n&&Ge.unwrap(n.value)||i}findSuperstr(e){return this._findSuperstrOrElement(e,!1)}_findSuperstrOrElement(e,t){let n=this._iter.reset(e),i=this._root;for(;i;){let o=n.cmp(i.segment);if(o>0)i=i.left;else if(o<0)i=i.right;else if(n.hasNext())n.next(),i=i.mid;else return i.mid?this._entries(i.mid):t?Ge.unwrap(i.value):void 0}}hasElementOrSubtree(e){return this._findSuperstrOrElement(e,!0)!==void 0}forEach(e){for(let[t,n]of this)e(n,t)}*[Symbol.iterator](){yield*this._entries(this._root)}_entries(e){let t=[];return this._dfsEntries(e,t),t[Symbol.iterator]()}_dfsEntries(e,t){e&&(e.left&&this._dfsEntries(e.left,t),e.value!==void 0&&t.push([e.key,Ge.unwrap(e.value)]),e.mid&&this._dfsEntries(e.mid,t),e.right&&this._dfsEntries(e.right,t))}_isBalanced(){let e=t=>{if(!t)return!0;let n=t.balanceFactor();return n<-1||n>1?!1:e(t.left)&&e(t.right)};return e(this._root)}};var kg=xe("fileService");var La=class r{constructor(e,t){this.ignorePathCasing=t;this.correlationId=void 0;this.added=new we(()=>{let e=Qt.forUris(()=>this.ignorePathCasing);return e.fill(this.rawAdded.map(t=>[t,!0])),e});this.updated=new we(()=>{let e=Qt.forUris(()=>this.ignorePathCasing);return e.fill(this.rawUpdated.map(t=>[t,!0])),e});this.deleted=new we(()=>{let e=Qt.forUris(()=>this.ignorePathCasing);return e.fill(this.rawDeleted.map(t=>[t,!0])),e});this.rawAdded=[];this.rawUpdated=[];this.rawDeleted=[];for(let n of e){switch(n.type){case 1:this.rawAdded.push(n.resource);break;case 0:this.rawUpdated.push(n.resource);break;case 2:this.rawDeleted.push(n.resource);break}this.correlationId!==r.MIXED_CORRELATION&&(typeof n.cId=="number"?this.correlationId===void 0?this.correlationId=n.cId:this.correlationId!==n.cId&&(this.correlationId=r.MIXED_CORRELATION):this.correlationId!==void 0&&(this.correlationId=r.MIXED_CORRELATION))}}static{this.MIXED_CORRELATION=null}contains(e,...t){return this.doContains(e,{includeChildren:!1},...t)}affects(e,...t){return this.doContains(e,{includeChildren:!0},...t)}doContains(e,t,...n){if(!e)return!1;let i=n.length>0;return!!((!i||n.includes(1))&&(this.added.value.get(e)||t.includeChildren&&this.added.value.findSuperstr(e))||(!i||n.includes(0))&&(this.updated.value.get(e)||t.includeChildren&&this.updated.value.findSuperstr(e))||(!i||n.includes(2))&&(this.deleted.value.findSubstr(e)||t.includeChildren&&this.deleted.value.findSuperstr(e)))}gotAdded(){return this.rawAdded.length>0}gotDeleted(){return this.rawDeleted.length>0}gotUpdated(){return this.rawUpdated.length>0}correlates(e){return this.correlationId===e}hasCorrelation(){return typeof this.correlationId=="number"}};var Vr=class r{static{this.KB=1024}static{this.MB=r.KB*r.KB}static{this.GB=r.MB*r.KB}static{this.TB=r.GB*r.KB}static formatSize(e){return Ae(e)||(e=0),e<r.KB?g(2125,null,e.toFixed(0)):e<r.MB?g(2127,null,(e/r.KB).toFixed(2)):e<r.GB?g(2128,null,(e/r.MB).toFixed(2)):e<r.TB?g(2126,null,(e/r.GB).toFixed(2)):g(2129,null,(e/r.TB).toFixed(2))}};async function Mu(r,e,t,n,i){try{let o=await import("@vscode/spdlog");o.setFlushOn(0);let s=await o.createAsyncRotatingLogger(r,e,t,n);return i?s.clearFormatters():s.setPattern("%Y-%m-%d %H:%M:%S.%e [%l] %v"),s}catch(o){console.error(o)}return null}function Da(r,e,t){switch(e){case 1:r.trace(t);break;case 2:r.debug(t);break;case 3:r.info(t);break;case 4:r.warn(t);break;case 5:r.error(t);break;case 0:break;default:throw new Error(`Invalid log level ${e}`)}}function Aa(r,e){switch(e){case 1:r.setLevel(0);break;case 2:r.setLevel(1);break;case 3:r.setLevel(2);break;case 4:r.setLevel(3);break;case 5:r.setLevel(4);break;case 0:r.setLevel(6);break;default:throw new Error(`Invalid log level ${e}`)}}var Kr=class extends Un{constructor(t,n,i,o,s){super();this.buffer=[];this.setLevel(s),this._loggerCreationPromise=this._createSpdLogLogger(t,n,i,o),this._register(this.onDidChangeLogLevel(a=>{this._logger&&Aa(this._logger,a)}))}async _createSpdLogLogger(t,n,i,o){let s=i?6:1,a=30/s*Vr.MB,l=await Mu(t,n,a,s,o);if(l){this._logger=l,Aa(this._logger,this.getLevel());for(let{level:c,message:p}of this.buffer)Da(this._logger,c,p);this.buffer=[]}}log(t,n){this._logger?Da(this._logger,t,n):this.getLevel()<=t&&this.buffer.push({level:t,message:n})}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 Wr=class extends Nn{doCreateLogger(e,t,n){return new Kr(Nr(),e.fsPath,!n?.donotRotate,!!n?.donotUseFormatters,t)}};var Ie,go=globalThis.vscode;if(typeof go<"u"&&typeof go.context<"u"){let r=go.context.configuration();if(r)Ie=r.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(Ie=globalThis._VSCODE_PRODUCT_JSON,le.VSCODE_DEV&&Object.assign(Ie,{nameShort:`${Ie.nameShort} Dev`,nameLong:`${Ie.nameLong} Dev`,dataFolderName:`${Ie.dataFolderName}-dev`,serverDataFolderName:Ie.serverDataFolderName?`${Ie.serverDataFolderName}-dev`:void 0}),!Ie.version){let r=globalThis._VSCODE_PACKAGE_JSON;Object.assign(Ie,{version:r.version})}}else Ie={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",darwinProfileUUID:"EBAE60D6-C8A2-4419-92FF-24F8AD5077AB",darwinProfilePayloadUUID:"C6B5723A-6539-4F31-8A4E-3CC96E51F48C",darwinExecutable:"VSCode",linuxIconName:"vscode",licenseFileName:"LICENSE.rtf",licenseName:"Multiple, see https://code.visualstudio.com/license",serverGreeting:[],serverLicense:["*","* Visual Studio Code Server","*","* By using the software, you agree to","* the Visual Studio Code Server License Terms (https://aka.ms/vscode-server-license) and","* the Microsoft Privacy Statement (https://privacy.microsoft.com/en-US/privacystatement).","*"],serverLicensePrompt:"Do you accept the terms in the License Agreement (Y/n)?",serverApplicationName:"code-server",urlProtocol:"vscode",dataFolderName:".vscode",serverDataFolderName:".vscode-server",downloadUrl:"https://code.visualstudio.com",updateUrl:"https://update.code.visualstudio.com",webUrl:"https://vscode.dev",webEndpointUrl:"https://main.vscode-cdn.net",webEndpointUrlTemplate:"https://{{uuid}}.vscode-cdn.net/{{quality}}/{{commit}}",nlsCoreBaseUrl:"https://www.vscode-unpkg.net/nls/",webviewContentExternalBaseUrlTemplate:"https://{{uuid}}.vscode-cdn.net/{{quality}}/{{commit}}/out/vs/workbench/contrib/webview/browser/pre/",quality:"stable",embedded:{nameShort:"Sessions",nameLong:"Visual Studio Code Sessions",applicationName:"sessions",telemetryAppName:"sessions",win32AppUserModelId:"Microsoft.VisualStudioCodeSessions",win32MutexName:"vscodesessions",win32RegValueName:"VSCodeSessions",win32NameVersion:"Microsoft Visual Studio Code Sessions",win32VersionedUpdate:!0,darwinBundleIdentifier:"com.microsoft.VSCodeSessions",dataFolderName:".vscode-sessions",urlProtocol:"vscode-sessions",inheritAuthAccountPreference:{"github.copilot":["github.copilot-chat"],"vscode.github":["github.copilot-chat"]}},extensionsGallery:{nlsBaseUrl:"https://www.vscode-unpkg.net/_lp/",serviceUrl:"https://marketplace.visualstudio.com/_apis/public/gallery",itemUrl:"https://marketplace.visualstudio.com/items",publisherUrl:"https://marketplace.visualstudio.com/publishers",resourceUrlTemplate:"https://{publisher}.vscode-unpkg.net/{publisher}/{name}/{version}/{path}",extensionUrlTemplate:"https://www.vscode-unpkg.net/_gallery/{publisher}/{name}/latest",controlUrl:"https://main.vscode-cdn.net/extensions/marketplace.json",mcpUrl:"https://main.vscode-cdn.net/mcp/servers.json",accessSKUs:["copilot_enterprise_seat","copilot_enterprise_seat_quota","copilot_enterprise_seat_multi_quota","copilot_enterprise_seat_assignment","copilot_enterprise_seat_assignment_quota","copilot_enterprise_seat_assignment_multi_quota","copilot_enterprise_trial_seat","copilot_enterprise_trial_seat_quota","copilot_for_business_seat","copilot_for_business_seat_quota","copilot_for_business_seat_multi_quota","copilot_for_business_seat_assignment","copilot_for_business_seat_assignment_quota","copilot_for_business_seat_assignment_multi_quota","copilot_for_business_trial_seat","copilot_for_business_trial_seat_quota"]},mcpGallery:{serviceUrl:"https://api.mcp.github.com",itemWebUrl:"https://github.com/mcp/{name}",publisherUrl:"https://github.com/{name}",supportUrl:"https://support.github.com",privacyPolicyUrl:"https://docs.github.com/site-policy/privacy-policies/github-general-privacy-statement",termsOfServiceUrl:"https://docs.github.com/site-policy/github-terms/github-terms-of-service",reportUrl:"https://docs.github.com/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam"},extensionProperties:{"github.copilot-chat":{hasPrereleaseVersion:!1,excludeVersionRange:"<=0.16.1"},"github.copilot":{hasPrereleaseVersion:!0}},extensionsForceVersionByQuality:["github.copilot-chat","github.copilot"],profileTemplatesUrl:"https://main.vscode-cdn.net/core/profile-templates.json",emergencyAlertUrl:"https://main.vscode-cdn.net/core/stable.json",extensionPublisherOrgs:["microsoft"],trustedExtensionPublishers:["microsoft","github","openai"],extensionRecommendations:{"ms-dotnettools.csdevkit":{onFileOpen:[{pathGlob:"{**/*.cs,**/global.json,**/*.csproj,**/*.cshtml,**/*.sln}",important:!0},{languages:["csharp"],important:!0},{pathGlob:"{**/project.json,**/appsettings.json}"}]},"ms-python.python":{onFileOpen:[{pathGlob:"{**/*.py}",important:!0},{languages:["python"],important:!0},{pathGlob:"{**/*.ipynb}"}]},"ms-toolsai.jupyter":{onFileOpen:[{pathGlob:"{**/*.py}",contentPattern:"^#\\s*%%$",important:!0,whenInstalled:["ms-python.python"]},{pathGlob:"{**/*.ipynb}"}]},"ms-toolsai.datawrangler":{onFileOpen:[{pathGlob:"{**/*.ipynb}",contentPattern:"import\\s*pandas|from\\s*pandas",whenInstalled:["ms-toolsai.jupyter"]}]},"golang.Go":{onFileOpen:[{pathGlob:"**/*.go",important:!0},{languages:["go"],important:!0}]},"vscjava.vscode-java-pack":{onFileOpen:[{pathGlob:"{**/*.java}",important:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]},{languages:["java"],important:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]}]},"ms-vscode.PowerShell":{onFileOpen:[{pathGlob:"{**/*.ps1,**/*.psd1,**/*.psm1}",important:!0},{languages:["powershell"],important:!0},{pathGlob:"{**/*.ps.config,**/*.ps1.config}"}]},"ms-toolsai.prompty":{onFileOpen:[{pathGlob:"{**/*.prompty}",important:!1}]},"quantum.qsharp-lang-vscode":{onFileOpen:[{pathGlob:"{**/*.qs,**/*.qsc,**/*.qasm}",important:!0}]},"typespec.typespec-vscode":{onFileOpen:[{pathGlob:"{**/*.tsp,**/tspconfig.yaml}",important:!0}]},"ms-vscode.cpptools-extension-pack":{onFileOpen:[{pathGlob:"{**/*.c,**/*.cpp,**/*.cc,**/.cxx,**/*.hh,**/*.hpp,**/*.hxx,**/*.h}",important:!0,whenNotInstalled:["llvm-vs-code-extensions.vscode-clangd"]},{languages:["c","cpp"],important:!0,whenNotInstalled:["llvm-vs-code-extensions.vscode-clangd"]}]},"ms-azuretools.vscode-containers":{onFileOpen:[{pathGlob:"{**/dockerfile,**/Dockerfile,**/docker-compose.yml,**/docker-compose.*.yml}",important:!0,whenNotInstalled:["ms-azuretools.vscode-docker"]},{languages:["dockerfile"],important:!0,whenNotInstalled:["ms-azuretools.vscode-docker"]},{pathGlob:"{**/*.cs,**/project.json,**/global.json,**/*.csproj,**/*.cshtml,**/*.sln,**/appsettings.json,**/*.py,**/*.ipynb,**/*.js,**/*.ts,**/package.json}",whenNotInstalled:["ms-azuretools.vscode-docker"]}]},"vue.volar":{onFileOpen:[{pathGlob:"{**/*.vue}",important:!0},{languages:["vue"],important:!0}]},"ms-vscode.makefile-tools":{onFileOpen:[{pathGlob:"{**/makefile,**/Makefile}",important:!0},{languages:["makefile"],important:!0}]},"ms-vscode.cmake-tools":{onFileOpen:[{pathGlob:"{**/CMakeLists.txt}",important:!0}]},"ms-azure-devops.azure-pipelines":{onFileOpen:[{pathGlob:"{**/azure-pipelines.yaml}",important:!0}]},"msazurermtools.azurerm-vscode-tools":{onFileOpen:[{pathGlob:"{**/azuredeploy.json}",important:!0}]},"ms-vscode-remote.remote-containers":{onFileOpen:[{pathGlob:"{**/devcontainer.json}",important:!0}]},"ms-azuretools.vscode-bicep":{onFileOpen:[{pathGlob:"{**/*.bicep}",important:!0,whenNotInstalled:["ms-azuretools.rad-vscode-bicep"]}]},"svelte.svelte-vscode":{onFileOpen:[{pathGlob:"{**/*.svelte}",important:!0}]},"ms-vscode.vscode-github-issue-notebooks":{onFileOpen:[{pathGlob:"{**/*.github-issues}",important:!0}]},"ms-playwright.playwright":{onFileOpen:[{pathGlob:"{**/*playwright*.config.ts,**/*playwright*.config.js,**/*playwright*.config.mjs}",important:!0}]},"vscjava.vscode-gradle":{onFileOpen:[{pathGlob:"{**/gradlew,**/gradlew.bat,**/build.gradle,**/build.gradle.kts,**/settings.gradle,**/settings.gradle.kts}",important:!0}]},"REditorSupport.r":{onFileOpen:[{pathGlob:"{**/*.r}",important:!0},{languages:["r"],important:!0}]},"firefox-devtools.vscode-firefox-debug":{onFileOpen:[{pathGlob:"{**/*.ts,**/*.tsx,**/*.js,**/*.jsx,**/*.es6,**/.babelrc}"}]},"ms-edgedevtools.vscode-edge-devtools":{onFileOpen:[{pathGlob:"{**/*.ts,**/*.tsx,**/*.js,**/*.css,**/*.html}"}]},"Ionide.Ionide-fsharp":{onFileOpen:[{pathGlob:"{**/*.fsx,**/*.fsi,**/*.fs,**/*.ml,**/*.mli}"}]},"dbaeumer.vscode-eslint":{onFileOpen:[{pathGlob:"{**/*.js,**/*.jsx,**/*.es6,**/.eslintrc.*,**/.eslintrc,**/.babelrc,**/jsconfig.json}"}]},"bmewburn.vscode-intelephense-client":{onFileOpen:[{pathGlob:"{**/*.php,**/php.ini}"}]},"xdebug.php-debug":{onFileOpen:[{pathGlob:"{**/*.php,**/php.ini}"}]},"rust-lang.rust-analyzer":{onFileOpen:[{pathGlob:"{**/*.rs,**/*.rslib}"}]},"DavidAnson.vscode-markdownlint":{onFileOpen:[{pathGlob:"{**/*.md}"}]},"EditorConfig.EditorConfig":{onFileOpen:[{pathGlob:"{**/.editorconfig}"}]},"HookyQR.beautify":{onFileOpen:[{pathGlob:"{**/.jsbeautifyrc}"}]},"donjayamanne.githistory":{onFileOpen:[{pathGlob:"{**/.gitignore,**/.git}"}]},"eamodio.gitlens":{onFileOpen:[{pathGlob:"{**/.gitignore,**/.git}"}]},"Shopify.ruby-lsp":{onFileOpen:[{pathGlob:"{**/*.rb,**/*.erb,**/*.reek,**/.fasterer.yml,**/ruby-lint.yml,**/.rubocop.yml}"}]},"swiftlang.swift-vscode":{onFileOpen:[{pathGlob:"{**/*.swift,**/*.swiftinterface}",important:!0}]},"DotJoshJohnson.xml":{onFileOpen:[{pathGlob:"{**/*.xml}"}]},"stylelint.vscode-stylelint":{onFileOpen:[{pathGlob:"{**/.stylelintrc,**/stylelint.config.js}"}]},"ms-mssql.mssql":{onFileOpen:[{pathGlob:"{**/*.sql}"}]},"mtxr.sqltools":{onFileOpen:[{pathGlob:"{**/*.sql}"}]},"usqlextpublisher.usql-vscode-ext":{onFileOpen:[{pathGlob:"{**/*.usql}"}]},"ms-vscode.sublime-keybindings":{onFileOpen:[{pathGlob:"{**/.sublime-project,**/.sublime-workspace}"}]},"k--kato.intellij-idea-keybindings":{onFileOpen:[{pathGlob:"{**/.idea}"}]},"christian-kohler.npm-intellisense":{onFileOpen:[{pathGlob:"{**/package.json}"}]},"cake-build.cake-vscode":{onFileOpen:[{pathGlob:"{**/build.cake}"}]},"Angular.ng-template":{onFileOpen:[{pathGlob:"{**/.angular-cli.json,**/angular.json,**/*.ng.html,**/*.ng,**/*.ngml}"}]},"vscjava.vscode-maven":{onFileOpen:[{pathGlob:"**/pom.xml"}]},"ms-azuretools.vscode-azureterraform":{onFileOpen:[{pathGlob:"**/*.tf"}]},"HashiCorp.terraform":{onFileOpen:[{pathGlob:"**/*.tf"}]},"vsciot-vscode.vscode-arduino":{onFileOpen:[{pathGlob:"**/*.ino"}]},"ms-kubernetes-tools.vscode-kubernetes-tools":{onFileOpen:[{pathGlob:"{**/Chart.yaml}"}]},"Oracle.oracledevtools":{onFileOpen:[{pathGlob:"{**/*.sql}"}]},"betterthantomorrow.calva":{onFileOpen:[{pathGlob:"{**/*.clj,**/*.cljs}"}]},"vmware.vscode-boot-dev-pack":{onFileOpen:[{pathGlob:"{**/application.properties}"}]},"GitHub.copilot":{onFileOpen:[{pathGlob:"{**/*.ts,**/*.tsx,**/*.js,**/*.jsx,**/*.py,**/*.go,**/*.rb,**/*.html,**/*.css,**/*.php,**/*.cpp,**/*.vue,**/*.c,**/*.sql,**/*.java,**/*.cs,**/*.rs,**/*.dart,**/*.ps,**/*.ps1,**/*.tex}"}]},"GitHub.copilot-chat":{onSettingsEditorOpen:{descriptionOverride:"GitHub Copilot is an AI-powered coding assistant that helps you write code faster and smarter."}},"GitHub.vscode-github-actions":{onFileOpen:[{pathGlob:"{**/.github/workflows/*.yml}",important:!0}]},"circleci.circleci":{onFileOpen:[{pathGlob:"{**/.circleci/config.yml}"}]},"mechatroner.rainbow-csv":{onFileOpen:[{pathGlob:"**/*.csv",important:!0}]},"tomoki1207.pdf":{onFileOpen:[{pathGlob:"**/*.pdf",important:!0}]},"Redis.redis-for-vscode":{onFileOpen:[{pathGlob:"{**/redis.*,**/redis-server.*,**/redis_*,**/redisinsight.*}",important:!0}]},"SonarSource.sonarlint-vscode":{onFileOpen:[{pathGlob:"{**/sonar-project.properties,**/sonarcloud.properties,**/sonarlint.*}",important:!0}]}},keymapExtensionTips:["vscodevim.vim","ms-vscode.sublime-keybindings","ms-vscode.atom-keybindings","ms-vscode.brackets-keybindings","ms-vscode.vs-keybindings","ms-vscode.notepadplusplus-keybindings","k--kato.intellij-idea-keybindings","lfs.vscode-emacs-friendly","alphabotsec.vscode-eclipse-keybindings","alefragnani.delphi-keybindings"],languageExtensionTips:["ms-python.python","ms-vscode.cpptools-extension-pack","ms-dotnettools.csdevkit","ms-toolsai.jupyter","vscjava.vscode-java-pack","ecmel.vscode-html-css","vue.volar","bmewburn.vscode-intelephense-client","dsznajder.es7-react-js-snippets","golang.go","ms-vscode.powershell","dart-code.dart-code","rust-lang.rust-analyzer","Shopify.ruby-lsp","GitHub.copilot"],configBasedExtensionTips:{git:{configPath:".git/config",configName:"Git",recommendations:{"github.vscode-pull-request-github":{name:"GitHub Pull Request",contentPattern:"^\\s*url\\s*=\\s*https:\\/\\/github\\.com.*$"},"eamodio.gitlens":{name:"GitLens"}}},devContainer:{configPath:".devcontainer/devcontainer.json",configName:"Dev Container",recommendations:{"ms-vscode-remote.remote-containers":{name:"Dev Containers",important:!0}}},maven:{configPath:"pom.xml",configName:"Maven",recommendations:{"vscjava.vscode-java-pack":{name:"Java",important:!0,isExtensionPack:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]},"vmware.vscode-boot-dev-pack":{name:"Spring Boot Extension Pack",isExtensionPack:!0}}},gradle:{configPath:"build.gradle",configName:"Gradle",recommendations:{"vscjava.vscode-java-pack":{name:"Java",important:!0,isExtensionPack:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]}}},"github-pull-request":{configPath:".vscode/.github-pull-request.rec",configName:"GitHub",configScheme:"vscode-vfs",recommendations:{"github.vscode-pull-request-github":{name:"GitHub Pull Request",important:!0}}},"pyproject-formatter":{configPath:"pyproject.toml",configName:"Python Formatter",recommendations:{"ms-python.black-formatter":{name:"Black Formatter",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?black"?\\s*[\\].])|("black\\s*["[(<=>!~;@])'},"ms-python.autopep8":{name:"Autopep8",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?autopep8"?\\s*[\\].])|("autopep8\\s*["[(<=>!~;@])'}}},"pep8-formatter":{configPath:".pep8",configName:"Python Formatter",recommendations:{"ms-python.autopep8":{name:"Autopep8"}}},"python-setup-cgf-formatter":{configPath:"setup.cfg",configName:"Python Formatter",recommendations:{"ms-python.autopep8":{name:"Autopep8",contentPattern:"^\\[pep8\\]"}}},"tox-ini-formatter":{configPath:"tox.ini",configName:"Python Formatter",recommendations:{"ms-python.autopep8":{name:"Autopep8",contentPattern:"^\\[pep8\\]"}}},"pyproject-linter":{configPath:"pyproject.toml",configName:"Python Linter",recommendations:{"ms-python.pylint":{name:"Pylint",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?pylint"?\\s*[\\].])|("pylint\\s*["[(<=>!~;@])'},"charliermarsh.ruff":{name:"Ruff",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?ruff"?\\s*[\\].])|("ruff\\s*["[(<=>!~;@])'},"ms-python.mypy-type-checker":{name:"Mypy Type Checker",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?mypy"?\\s*[\\].])|("mypy\\s*["[(<=>!~;@])'},"ms-python.flake8":{name:"Flake8",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?flake8"?\\s*[\\].])|("flake8\\s*["[(<=>!~;@])'}}},".pylintrc-linter":{configPath:".pylintrc",configName:"Python Linter",recommendations:{"ms-python.pylint":{name:"Pylint"}}},"pylintrc-linter":{configPath:"pylintrc",configName:"Python Linter",recommendations:{"ms-python.pylint":{name:"Pylint"}}},"mypy-ini-linter":{configPath:".mypy.ini",configName:"Python Linter",recommendations:{"ms-python.mypy-type-checker":{name:"Mypy Type Checker"}}},"tox-ini-linter":{configPath:"tox.ini",configName:"Python Linter",recommendations:{"ms-python.flake8":{name:"Flake8",contentPattern:"^\\[flake8\\]"}}},".flake8-linter":{configPath:".flake8",configName:"Python Linter",recommendations:{"ms-python.flake8":{name:"Flake8"}}},"python-setup-cgf-linter":{configPath:"setup.cfg",configName:"Python Linter",recommendations:{"ms-python.flake8":{name:"Flake8",contentPattern:"^\\[flake8\\]"}}}},exeBasedExtensionTips:{az:{friendlyName:"Azure CLI",windowsPath:"%ProgramFiles(x86)%\\Microsoft SDKs\\Azure\\CLI2\\wbin\\az.cmd",recommendations:{"ms-vscode.vscode-node-azure-pack":{name:"Azure Tools"},"ms-azuretools.vscode-azure-github-copilot":{name:"GitHub Copilot for Azure"}}},azd:{friendlyName:"Azure Dev CLI",windowsPath:"%USERPROFILE%\\AppData\\Local\\Programs\\Azure Dev CLI\\azd.exe",recommendations:{"ms-vscode.vscode-node-azure-pack":{name:"Azure Tools"},"ms-azuretools.vscode-azure-github-copilot":{name:"GitHub Copilot for Azure"}}},"azd-user":{friendlyName:"Azure Dev CLI",windowsPath:"%ProgramFiles%\\Azure Dev CLI\\azd.exe",recommendations:{"ms-vscode.vscode-node-azure-pack":{name:"Azure Tools"},"ms-azuretools.vscode-azure-github-copilot":{name:"GitHub Copilot for Azure"}}},"azure-powershell":{friendlyName:"Azure PowerShell",windowsPath:"%USERPROFILE%\\.Azure",recommendations:{"ms-vscode.vscode-node-azure-pack":{name:"Azure Tools"}}},heroku:{friendlyName:"Heroku CLI",windowsPath:"%ProgramFiles%\\Heroku\\bin\\heroku.cmd",recommendations:{"ms-azuretools.vscode-azureappservice":{name:"Azure App Service"},"pkosta2005.heroku-command":{name:"heroku-cli"}}},mongo:{friendlyName:"Mongo",windowsPath:"%ProgramFiles%\\MongoDB\\Server\\3.6\\bin\\mongod.exe",recommendations:{"ms-azuretools.vscode-cosmosdb":{name:"Azure Databases"}}},serverless:{friendlyName:"Serverless framework",windowsPath:"%APPDATA%\\npm\\serverless.cmd",recommendations:{"ms-azuretools.vscode-azurefunctions":{name:"Azure Functions"}}},func:{friendlyName:"Azure Function SDK",windowsPath:"%APPDATA%\\npm\\func.cmd",recommendations:{"ms-azuretools.vscode-azurefunctions":{name:"Azure Functions"}}},mysql:{friendlyName:"MySQL",windowsPath:"%ProgramFiles%\\MySQL\\MySQL Server 8.0\\bin\\mysqld.exe",recommendations:{"mtxr.sqltools":{name:"SQLTools"}}},postgres:{friendlyName:"PostgreSQL",windowsPath:"%ProgramFiles%\\PostgreSQL\\11\\bin\\psql.exe",recommendations:{"ms-ossdata.vscode-postgresql":{name:"PostgreSQL"},"mtxr.sqltools":{name:"SQLTools"}}},sqlcmd:{friendlyName:"SQL CLI",recommendations:{"ms-mssql.mssql":{name:"SQL Server (mssql)"}}},now:{friendlyName:"Now CLI",windowsPath:"%APPDATA%\\npm\\now.cmd",recommendations:{"ms-azuretools.vscode-azureappservice":{name:"Azure App Service"},"ms-azuretools.vscode-containers":{name:"Docker"}}},docker:{friendlyName:"Docker",windowsPath:"%ProgramFiles%\\Docker\\Docker\\Resources\\bin\\docker.exe",recommendations:{"ms-azuretools.vscode-containers":{name:"Docker",important:!0,whenNotInstalled:["ms-azuretools.vscode-docker"]},"ms-vscode-remote.remote-containers":{name:"Dev Containers",important:!0},"ms-kubernetes-tools.vscode-kubernetes-tools":{name:"Kubernetes"}}},kubectl:{friendlyName:"Kubernetes",windowsPath:"%ProgramFiles%\\Docker\\Docker\\Resources\\bin\\kubectl.exe",recommendations:{"ms-azuretools.vscode-containers":{name:"Docker"},"ms-kubernetes-tools.vscode-kubernetes-tools":{name:"Kubernetes"},"ms-vscode-remote.remote-containers":{name:"Dev Containers"}}},ng:{friendlyName:"Angular CLI",windowsPath:"%APPDATA%\\npmexit\\ng.cmd",recommendations:{"johnpapa.Angular2":{name:"Angular Snippets"}}},"create-react-app":{friendlyName:"Create React App",windowsPath:"%APPDATA%\\npm\\create-react-app.cmd",recommendations:{"msjsdiag.vscode-react-native":{name:"React Native Tools"}}},"react-native":{friendlyName:"React Native",windowsPath:"%APPDATA%\\npm\\react-native-cli",recommendations:{"msjsdiag.vscode-react-native":{name:"React Native Tools"}}},p4:{friendlyName:"Perforce",recommendations:{"slevesque.perforce":{name:"Perforce for VS Code"}}},hg:{friendlyName:"Mercurial",recommendations:{"mrcrowl.hg":{name:"Hg"}}},git:{friendlyName:"Git",windowsPath:"%ProgramFiles%\\Git\\git-bash.exe",recommendations:{"eamodio.gitlens":{name:"GitLens"}}},svn:{friendlyName:"Subversion",windowsPath:"%ProgramFiles%\\TortoiseSVN\\bin\\TortoiseProc.exe",recommendations:{"johnstoncode.svn-scm":{name:"SVN"}}},subl:{friendlyName:"Sublime",windowsPath:"%ProgramFiles%\\Sublime Text3\\sublime_text.exe",recommendations:{"ms-vscode.sublime-keybindings":{name:"Sublime Text Keymap and Settings Importer"}}},atom:{friendlyName:"Atom",windowsPath:"%USERPROFILE%\\AppData\\Local\\atom\\bin\\atom.cmd",recommendations:{"ms-vscode.atom-keybindings":{name:"Atom Keymap"}}},brackets:{friendlyName:"Brackets",windowsPath:"%ProgramFiles(x86)%\\Brackets\\Brackets.exe",recommendations:{"ms-vscode.brackets-keybindings":{name:"Brackets Keymap"}}},notepadplusplus:{friendlyName:"Notepad++",windowsPath:"%ProgramFiles%\\Notepad++\\Notepad++.exe",recommendations:{"ms-vscode.notepadplusplus-keybindings":{name:"Notepad++ keymap"}}},vi:{friendlyName:"VIM",windowsPath:"%ProgramFiles(x86)%\\Vim\\vim80\\gvim.exe",recommendations:{"vscodevim.vim":{name:"Vim"}}},mvn:{friendlyName:"Maven",recommendations:{"vscjava.vscode-java-pack":{name:"Java",important:!0,isExtensionPack:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]}}},gradle:{friendlyName:"Gradle",recommendations:{"vscjava.vscode-java-pack":{name:"Java",important:!0,isExtensionPack:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]}}},ollama:{friendlyName:"Ollama",windowsPath:"%USERPROFILE%\\AppData\\Local\\Programs\\Ollama\\ollama.exe",recommendations:{"ms-windows-ai-studio.windows-ai-studio":{name:"AI Toolkit for Visual Studio Code"}}},"Microsoft Edge":{friendlyName:"Microsoft Edge",windowsPath:"%USERPROFILE%\\AppData\\Local\\Microsoft\\Edge\\Application\\msedge.exe",recommendations:{"ms-edgedevtools.vscode-edge-devtools":{name:"Microsoft Edge Developer Tools"}}},"Microsoft Edge Dev":{friendlyName:"Microsoft Edge Dev",windowsPath:"%USERPROFILE%\\AppData\\Local\\Microsoft\\Edge Dev\\Application\\msedge.exe",recommendations:{"ms-edgedevtools.vscode-edge-devtools":{name:"Microsoft Edge Developer Tools"}}},"Microsoft Edge Beta":{friendlyName:"Microsoft Edge Beta",windowsPath:"%USERPROFILE%\\AppData\\Local\\Microsoft\\Edge Beta\\Application\\msedge.exe",recommendations:{"ms-edgedevtools.vscode-edge-devtools":{name:"Microsoft Edge Developer Tools"}}},"Microsoft Edge Canary":{friendlyName:"Microsoft Edge Canary",windowsPath:"%USERPROFILE%\\AppData\\Local\\Microsoft\\Edge SxS\\Application\\msedge.exe",recommendations:{"ms-edgedevtools.vscode-edge-devtools":{name:"Microsoft Edge Developer Tools"}}},"Mozilla Firefox (x86)":{friendlyName:"Mozilla Firefox",windowsPath:"%ProgramFiles(x86)%\\Mozilla Firefox\\firefox.exe",recommendations:{"firefox-devtools.vscode-firefox-debug":{name:"Debugger for Firefox"}}},"Mozilla Firefox Developer Edition (x86)":{friendlyName:"Mozilla Firefox Developer Edition",windowsPath:"%ProgramFiles(x86)%\\Firefox Developer Edition\\firefox.exe",recommendations:{"firefox-devtools.vscode-firefox-debug":{name:"Debugger for Firefox"}}},"Mozilla Firefox":{friendlyName:"Mozilla Firefox",windowsPath:"%ProgramFiles%\\Mozilla Firefox\\firefox.exe",recommendations:{"firefox-devtools.vscode-firefox-debug":{name:"Debugger for Firefox"}}},"Mozilla Firefox Developer Edition":{friendlyName:"Mozilla Firefox Developer Edition",windowsPath:"%ProgramFiles%\\Firefox Developer Edition\\firefox.exe",recommendations:{"firefox-devtools.vscode-firefox-debug":{name:"Debugger for Firefox"}}},cordova:{friendlyName:"Cordova",windowsPath:"%APPDATA%\\npm\\cordova",recommendations:{"msjsdiag.cordova-tools":{name:"Cordova Tools"}}},gcloud:{friendlyName:"Google GCloud CLI",windowsPath:"%ProgramFiles(x86)%\\Google\\Cloud SDK\\google-cloud-sdk\\bin\\gcloud.cmd",recommendations:{"GoogleCloudTools.cloudcode":{name:"Cloud Code"}}},skaffold:{friendlyName:"Skaffold Code to Cluster",recommendations:{"ms-azuretools.vscode-containers":{name:"Docker"},"ms-kubernetes-tools.vscode-kubernetes-tools":{name:"Kubernetes"}}},minikube:{friendlyName:"MiniKube Local Kubernetes Cluster",recommendations:{"ms-azuretools.vscode-containers":{name:"Docker"},"ms-kubernetes-tools.vscode-kubernetes-tools":{name:"Kubernetes"},"ms-vscode-remote.remote-containers":{name:"Dev Containers"}}},podman:{friendlyName:"Podman",recommendations:{"ms-vscode-remote.remote-containers":{name:"Dev Containers"}}},wsl:{friendlyName:"Windows Subsystem for Linux (WSL)",windowsPath:"%WINDIR%\\system32\\lxss\\LxssManager.dll",recommendations:{"ms-vscode-remote.remote-wsl":{name:"WSL"}}}},webExtensionTips:["tyriar.luna-paint","codespaces-contrib.codeswing","ms-vscode.vscode-github-issue-notebooks","esbenp.prettier-vscode","hediet.vscode-drawio"],virtualWorkspaceExtensionTips:{"vscode-vfs":{friendlyName:"Remote Repositories",extensionId:"ms-vscode.remote-repositories",startEntry:{helpLink:"https://aka.ms/vscode-remote/remote-repositories",startConnectLabel:"Remote Repository",startCommand:"remoteHub.continueOn.openRepository",priority:5}}},remoteExtensionTips:{wsl:{friendlyName:"WSL",extensionId:"ms-vscode-remote.remote-wsl",supportedPlatforms:["Windows","Web"],startEntry:{helpLink:"https://aka.ms/vscode-remote/wsl",startConnectLabel:"WSL",startCommand:"remote-wsl.connect",priority:3}},"ssh-remote":{friendlyName:"Remote - SSH",extensionId:"ms-vscode-remote.remote-ssh",supportedPlatforms:["Windows","Linux","Mac"],startEntry:{helpLink:"https://aka.ms/vscode-remote/ssh",startConnectLabel:"SSH ",startCommand:"opensshremotes.openEmptyWindowInCurrentWindow",priority:1}},"dev-container":{friendlyName:"Dev Containers",extensionId:"ms-vscode-remote.remote-containers",supportedPlatforms:["Windows","Linux","Mac"],startEntry:{helpLink:"https://aka.ms/vscode-remote/containers",startConnectLabel:"Dev Container",startCommand:"remote-containers.reopenInContainer",priority:2}},"attached-container":{friendlyName:"Dev Containers",extensionId:"ms-vscode-remote.remote-containers"},codespaces:{friendlyName:"GitHub Codespaces",extensionId:"github.codespaces",startEntry:{helpLink:"https://aka.ms/vscode-remote-codespaces",startConnectLabel:"GitHub Codespace ",startCommand:"github.codespaces.connect",priority:4}},tunnel:{friendlyName:"Remote - Tunnels",extensionId:"ms-vscode.remote-server",startEntry:{helpLink:"https://aka.ms/remote-tunnels-doc",startConnectLabel:"Tunnel",startCommand:"remote-tunnels.connectCurrentWindowToTunnel",priority:0}},amlext:{friendlyName:"Azure Machine Learning",extensionId:"ms-toolsai.vscode-ai-remote"}},commandPaletteSuggestedCommandIds:["workbench.action.files.openFile","workbench.action.files.openFileFolder","workbench.action.files.openFolder","workbench.action.remote.showMenu","editor.action.formatDocument","editor.action.commentLine","workbench.action.tasks.runTask","workbench.action.openSettings2","workbench.action.selectTheme","workbench.action.openWalkthrough","workbench.action.openIssueReporter"],extensionKeywords:{md:["Markdown"],js:["JavaScript"],jsx:["JavaScript"],es6:["JavaScript"],html:["Html"],ts:["TypeScript"],tsx:["TypeScript"],css:["CSS"],scss:["SASS"],txt:["Text"],php:["PHP"],php3:["PHP"],php4:["PHP"],ph3:["PHP"],ph4:["PHP"],xml:["XML"],py:["Python"],pyc:["Python"],pyd:["Python"],pyo:["Python"],pyw:["Python"],pyz:["Python"],java:["Java"],class:["Java"],jar:["Java"],c:["c","objective c","objective-c"],m:["objective c","objective-c"],mm:["objective c","objective-c"],cpp:["cpp","c plus plus","c","c++"],cc:["cpp","c plus plus","c","c++"],cxx:["cpp","c plus plus","c++"],hh:["cpp","c plus plus","c++"],hpp:["cpp","c++"],h:["cpp","c plus plus","c++","c","objective c","objective-c"],sql:["sql"],sh:["bash"],bash:["bash"],zsh:["bash","zshell"],cs:["c#","csharp"],csproj:["c#","csharp"],sln:["c#","csharp"],go:["go"],sty:["latex"],tex:["latex"],ps:["powershell"],ps1:["powershell"],rs:["rust"],rslib:["rust"],hs:["haskell"],lhs:["haskell"],scm:["scheme"],ss:["scheme"],clj:["clojure"],cljs:["clojure"],cljc:["clojure"],edn:["clojure"],erl:["erlang"],hrl:["erlang"],scala:["scala"],sc:["scala"],pl:["perl"],pm:["perl"],t:["perl"],pod:["perl"],groovy:["groovy"],swift:["swift"],rb:["ruby"],rbw:["ruby"],jl:["julia"],f:["fortran"],for:["fortran"],f90:["fortran"],f95:["fortran"],coffee:["CoffeeScript"],litcoffee:["CoffeeScript"],yaml:["yaml"],yml:["yaml"],dart:["dart"],json:["json"]},extensionAllowedBadgeProviders:["api.travis-ci.com","app.fossa.io","badge.buildkite.com","badge.fury.io","badgen.net","badges.frapsoft.com","badges.gitter.im","cdn.travis-ci.com","ci.appveyor.com","circleci.com","cla.opensource.microsoft.com","codacy.com","codeclimate.com","codecov.io","coveralls.io","david-dm.org","deepscan.io","dev.azure.com","docs.rs","flat.badgen.net","gitlab.com","godoc.org","goreportcard.com","img.shields.io","isitmaintained.com","marketplace.visualstudio.com","nodesecurity.io","opencollective.com","snyk.io","travis-ci.com","travis-ci.org","visualstudio.com","vsmarketplacebadge.apphb.com"],extensionAllowedBadgeProvidersRegex:["^https:\\/\\/github\\.com\\/[^/]+\\/[^/]+\\/(actions\\/)?workflows\\/.*badge\\.svg"],crashReporter:{productName:"VSCode",companyName:"Microsoft"},appCenter:{"win32-x64":"appcenter://code?aid=a4e3233c-699c-46ec-b4f4-9c2a77254662","win32-arm64":"appcenter://code?aid=3712d786-7cc8-4f11-8b08-cc12eab6d4f7","linux-x64":"appcenter://code?aid=fba07a4d-84bd-4fc8-a125-9640fc8ce171",darwin:"appcenter://code?aid=860d6632-f65b-490b-85a8-3e72944f7774","darwin-arm64":"appcenter://code?aid=be71415d-3893-4ae5-b453-e537b9668a10","darwin-universal":"appcenter://code?aid=de75e3cc-e22f-4f42-a03f-1409c21d8af8"},enableTelemetry:!0,aiConfig:{ariaKey:"5bbf946d11a54f6783919c455abaddaf-fd62977b-c92d-4714-a45d-649d06980372-7168"},msftInternalDomains:["redmond.corp.microsoft.com","northamerica.corp.microsoft.com","fareast.corp.microsoft.com","ntdev.corp.microsoft.com","wingroup.corp.microsoft.com","southpacific.corp.microsoft.com","wingroup.windeploy.ntdev.microsoft.com","ddnet.microsoft.com","europe.corp.microsoft.com"],documentationUrl:"https://go.microsoft.com/fwlink/?LinkID=533484#vscode",serverDocumentationUrl:"https://aka.ms/vscode-server-doc",releaseNotesUrl:"https://go.microsoft.com/fwlink/?LinkID=533483#vscode",keyboardShortcutsUrlMac:"https://go.microsoft.com/fwlink/?linkid=832143",keyboardShortcutsUrlLinux:"https://go.microsoft.com/fwlink/?linkid=832144",keyboardShortcutsUrlWin:"https://go.microsoft.com/fwlink/?linkid=832145",introductoryVideosUrl:"https://go.microsoft.com/fwlink/?linkid=832146",tipsAndTricksUrl:"https://go.microsoft.com/fwlink/?linkid=852118",newsletterSignupUrl:"https://www.research.net/r/vsc-newsletter",youTubeUrl:"https://aka.ms/vscode-youtube",requestFeatureUrl:"https://go.microsoft.com/fwlink/?LinkID=533482",reportIssueUrl:"https://github.com/Microsoft/vscode/issues/new",reportMarketplaceIssueUrl:"https://github.com/microsoft/vsmarketplace/issues/new",licenseUrl:"https://go.microsoft.com/fwlink/?LinkID=533485",serverLicenseUrl:"https://aka.ms/vscode-server-license",privacyStatementUrl:"https://go.microsoft.com/fwlink/?LinkId=521839",showTelemetryOptOut:!0,npsSurveyUrl:"https://aka.ms/vscode-nps",checksumFailMoreInfoUrl:"https://go.microsoft.com/fwlink/?LinkId=828886",electronRepository:"Microsoft/vscode-electron-prebuilt",nodejsRepository:"Microsoft/vscode-node",settingsSearchUrl:"https://bingsettingssearch.trafficmanager.net/api/Search",surveys:[{surveyId:"cpp.1",surveyUrl:"https://www.research.net/r/VBVV6C6",languageId:"cpp",editCount:10,userProbability:.15},{surveyId:"java.2",surveyUrl:"https://www.research.net/r/vscodejava",languageId:"java",editCount:10,userProbability:.3},{surveyId:"javascript.1",surveyUrl:"https://www.research.net/r/vscode-js",languageId:"javascript",editCount:10,userProbability:.05},{surveyId:"typescript.1",surveyUrl:"https://www.research.net/r/vscode-ts",languageId:"typescript",editCount:10,userProbability:.05},{surveyId:"csharp.1",surveyUrl:"https://www.research.net/r/8KGJ9V8",languageId:"csharp",editCount:10,userProbability:.1}],extensionsEnabledWithApiProposalVersion:["GitHub.copilot-chat","ms-vscode.vscode-commander","ms-vscode.vscode-copilot-vision","GitHub.vscode-pull-request-github"],extensionEnabledApiProposals:{"mrleemurray.theme-2026":["css"],"ms-azuretools.vscode-containers":["authenticationChallenges"],"ms-azuretools.vscode-azureresourcegroups":["authenticationChallenges"],"ms-azuretools.vscode-azure-github-copilot":["authenticationChallenges"],"ms-azuretools.vscode-dev-azurecloudshell":["contribEditSessions","authenticationChallenges"],"ms-toolsai.vscode-ai":["authenticationChallenges"],"TeamsDevApp.vscode-ai-foundry":["authenticationChallenges"],"ms-vscode.vscode-selfhost-test-provider":["testObserver","testRelatedCode"],"VisualStudioExptTeam.vscodeintellicode-completions":["inlineCompletionsAdditions"],"ms-vsliveshare.vsliveshare":["contribMenuBarHome","contribShareMenu","contribStatusBarItems","diffCommand","documentFiltersExclusive","fileSearchProvider","findTextInFiles","notebookLiveShare","terminalDimensions","terminalDataWriteEvent","textSearchProvider"],"ms-vscode.js-debug":["portsAttributes","findTextInFiles","workspaceTrust","tunnels","browser"],"ms-toolsai.vscode-ai-remote":["resolvers","authenticationChallenges"],"ms-python.python":["codeActionAI","contribEditorContentMenu","quickPickSortByLabel","portsAttributes","testObserver","quickPickItemTooltip","terminalDataWriteEvent","terminalExecuteCommandEvent","notebookReplDocument","notebookVariableProvider","terminalShellEnv"],"ms-python.vscode-python-envs":["terminalShellEnv","terminalDataWriteEvent","taskExecutionTerminal"],"ms-dotnettools.dotnet-interactive-vscode":["notebookMessaging"],"GitHub.codespaces":["contribEditSessions","contribMenuBarHome","contribRemoteHelp","contribViewsRemote","resolvers","tunnels","terminalDataWriteEvent","treeViewReveal","notebookKernelSource"],"ms-vscode.azure-repos":["extensionRuntime","fileSearchProvider","textSearchProvider"],"ms-vscode.remote-repositories":["canonicalUriProvider","contribEditSessions","contribRemoteHelp","contribMenuBarHome","contribViewsRemote","contribViewsWelcome","contribShareMenu","documentFiltersExclusive","editSessionIdentityProvider","extensionRuntime","fileSearchProvider","quickPickSortByLabel","workspaceTrust","shareProvider","scmActionButton","scmSelectedProvider","scmValidation","textSearchProvider","timeline"],"ms-vscode-remote.remote-wsl":["resolvers","contribRemoteHelp","contribViewsRemote","telemetry"],"ms-vscode-remote.remote-ssh":["resolvers","tunnels","terminalDataWriteEvent","contribRemoteHelp","contribViewsRemote","telemetry"],"ms-vscode.remote-server":["resolvers","tunnels","contribViewsWelcome"],"ms-vscode.remote-explorer":["contribRemoteHelp","contribViewsRemote","extensionsAny"],"ms-vscode-remote.remote-containers":["contribEditSessions","resolvers","portsAttributes","tunnels","workspaceTrust","terminalDimensions","contribRemoteHelp","contribViewsRemote"],"ms-vscode.js-debug-nightly":["portsAttributes","findTextInFiles","workspaceTrust","tunnels","browser"],"ms-vscode.lsif-browser":["documentFiltersExclusive"],"ms-vscode.vscode-speech":["speech"],"GitHub.vscode-pull-request-github":["activeComment","chatContextProvider","chatParticipantAdditions","chatParticipantPrivate","chatSessionsProvider","codiconDecoration","codeActionRanges","commentingRangeHint","commentReactor","commentReveal","commentsDraftState","commentThreadApplicability","contribAccessibilityHelpContent","contribCommentEditorActionsMenu","contribCommentPeekContext","contribCommentThreadAdditionalMenu","contribCommentsViewThreadMenus","contribEditorContentMenu","contribMultiDiffEditorMenus","contribShareMenu","diffCommand","languageModelToolResultAudience","markdownAlertSyntax","quickDiffProvider","remoteCodingAgents","shareProvider","tabInputMultiDiff","tabInputTextMerge","tokenInformation","treeItemMarkdownLabel","treeViewMarkdownMessage"],"GitHub.copilot":["inlineCompletionsAdditions","devDeviceId"],"GitHub.copilot-nightly":["inlineCompletionsAdditions","devDeviceId"],"GitHub.copilot-chat":["agentSessionsWorkspace","interactive","terminalDataWriteEvent","terminalExecuteCommandEvent","terminalSelection","terminalQuickFixProvider","chatParticipantAdditions","defaultChatParticipant","embeddings","chatProvider","mappedEditsProvider","aiRelatedInformation","aiSettingsSearch","codeActionAI","findTextInFiles","findTextInFiles2","textSearchProvider","textSearchProvider2","activeComment","commentReveal","contribSourceControlInputBoxMenu","contribCommentEditorActionsMenu","contribCommentThreadAdditionalMenu","contribCommentsViewThreadMenus","contribChatEditorInlineGutterMenu","extensionAffinity","newSymbolNamesProvider","findFiles2","chatReferenceDiagnostic","extensionsAny","authLearnMore","testObserver","aiTextSearchProvider","documentFiltersExclusive","chatParticipantPrivate","contribDebugCreateConfiguration","inlineCompletionsAdditions","chatReferenceBinaryData","languageModelSystem","languageModelCapabilities","languageModelThinkingPart","languageModelToolSupportsModel","chatStatusItem","taskProblemMatcherStatus","contribLanguageModelToolSets","textDocumentChangeReason","resolvers","taskExecutionTerminal","dataChannels","chatSessionsProvider","chatSessionCustomizationProvider","devDeviceId","contribEditorContentMenu","tokenInformation","toolInvocationApproveCombination","chatPromptFiles","mcpServerDefinitions","tabInputMultiDiff","workspaceTrust","chatHooks","chatDebug","environmentPower","terminalTitle"],"GitHub.remotehub":["contribRemoteHelp","contribMenuBarHome","contribViewsRemote","contribViewsWelcome","documentFiltersExclusive","extensionRuntime","fileSearchProvider","quickPickSortByLabel","workspaceTrust","scmSelectedProvider","scmValidation","textSearchProvider","timeline"],"ms-python.vscode-pylance":["terminalShellEnv","portsAttributes","codeActionAI"],"ms-python.debugpy":["contribViewsWelcome","debugVisualization","portsAttributes"],"ms-toolsai.jupyter-renderers":["contribNotebookStaticPreloads"],"ms-toolsai.jupyter":["notebookDeprecated","notebookMessaging","notebookMime","portsAttributes","quickPickSortByLabel","notebookKernelSource","interactiveWindow","notebookControllerAffinityHidden","contribNotebookStaticPreloads","quickPickItemTooltip","notebookExecution","notebookCellExecution","notebookVariableProvider","notebookReplDocument"],"donjayamanne.kusto":["notebookVariableProvider"],"ms-toolsai.tensorboard":["portsAttributes"],"dbaeumer.vscode-eslint":[],"ms-vscode.azure-sphere-tools-ui":["tunnels"],"ms-azuretools.vscode-azureappservice":["terminalDataWriteEvent"],"ms-vscode.anycode":["extensionsAny"],"ms-vscode.cpptools":["terminalDataWriteEvent","chatParticipantAdditions"],"vscjava.vscode-java-pack":[],"ms-dotnettools.csdevkit":["inlineCompletionsAdditions"],"ms-dotnettools.vscodeintellicode-csharp":["inlineCompletionsAdditions"],"ms-dotnettools.vscode-dotnet-modernize":["chatParticipantAdditions","chatPromptFiles"],"microsoft-IsvExpTools.powerplatform-vscode":["fileSearchProvider","textSearchProvider"],"microsoft-IsvExpTools.powerplatform-vscode-preview":["fileSearchProvider","textSearchProvider"],"TeamsDevApp.ms-teams-vscode-extension":["chatParticipantAdditions","languageModelSystem","mcpServerDefinitions"],"ms-toolsai.datawrangler":[],"ms-vscode.vscode-commander":[],"ms-vscode.vscode-websearchforcopilot":[],"ms-vscode.vscode-copilot-vision":["chatReferenceBinaryData","codeActionAI"],"ms-autodev.vscode-autodev":["chatParticipantAdditions"],"vscjava.migrate-java-to-azure":["chatParticipantAdditions","chatParticipantPrivate"],"vscjava.vscode-java-upgrade":["chatParticipantAdditions","chatParticipantPrivate"],"FoundryLocal.foundry-local-chat":["chatProvider"],"Microsoft.foundry-local-chat":["chatProvider"],"ms-wmcp.windows-mcp-server-extension":["mcpToolDefinitions"],"openai.chatgpt":["languageModelProxy","chatSessionsProvider"],"TypeScriptTeam.native-preview":["editorHoverVerbosityLevel","multiDocumentHighlightProvider"],"ms-vscode.vscode-eng-codereview":["chatContextProvider"]},tasConfig:{endpoint:"https://default.exp-tas.com/vscode/ab",telemetryEventName:"query-expfeature",assignmentContextTelemetryPropertyName:"abexp.assignmentcontext"},extensionKind:{"Shan.code-settings-sync":["ui"],"shalldie.background":["ui"],"techer.open-in-browser":["ui"],"CoenraadS.bracket-pair-colorizer-2":["ui"],"CoenraadS.bracket-pair-colorizer":["ui","workspace"],"hiro-sun.vscode-emacs":["ui","workspace"],"hnw.vscode-auto-open-markdown-preview":["ui","workspace"],"wayou.vscode-todo-highlight":["ui","workspace"],"aaron-bond.better-comments":["ui","workspace"],"vscodevim.vim":["ui"],"ollyhayes.colmak-vim":["ui"]},extensionPointExtensionKind:{typescriptServerPlugins:["workspace"]},extensionSyncedKeys:{"ritwickdey.liveserver":["liveServer.setup.version"]},extensionVirtualWorkspacesSupport:{"esbenp.prettier-vscode":{default:!1},"msjsdiag.debugger-for-chrome":{default:!1},"redhat.java":{default:!1},"HookyQR.beautify":{default:!1},"ritwickdey.LiveServer":{default:!1},"VisualStudioExptTeam.vscodeintellicode":{default:!1},"octref.vetur":{default:!1},"formulahendry.code-runner":{default:!1},"xdebug.php-debug":{default:!1},"ms-mssql.mssql":{default:!1},"christian-kohler.path-intellisense":{default:!1},"eg2.tslint":{default:!1},"eg2.vscode-npm-script":{default:!1},"donjayamanne.githistory":{default:!1},"Zignd.html-css-class-completion":{default:!1},"christian-kohler.npm-intellisense":{default:!1},"EditorConfig.EditorConfig":{default:!1},"austin.code-gnu-global":{default:!1},"johnpapa.Angular2":{default:!1},"ms-vscode.vscode-typescript-tslint-plugin":{default:!1},"DotJoshJohnson.xml":{default:!1},"techer.open-in-browser":{default:!1},"tht13.python":{default:!1},"bmewburn.vscode-intelephense-client":{default:!1},"Angular.ng-template":{default:!1},"xdebug.php-pack":{default:!1},"dbaeumer.jshint":{default:!1},"yzhang.markdown-all-in-one":{default:!1},"Dart-Code.flutter":{default:!1},"streetsidesoftware.code-spell-checker":{default:!1},"rebornix.Ruby":{default:!1},"ms-vscode.sublime-keybindings":{default:!1},"mitaki28.vscode-clang":{default:!1},"steoates.autoimport":{default:!1},"donjayamanne.python-extension-pack":{default:!1},"shd101wyy.markdown-preview-enhanced":{default:!1},"mikestead.dotenv":{default:!1},"pranaygp.vscode-css-peek":{default:!1},"ikappas.phpcs":{default:!1},"platformio.platformio-ide":{default:!1},"jchannon.csharpextensions":{default:!1},"gruntfuggly.todo-tree":{default:!1}},linkProtectionTrustedDomains:["https://*.visualstudio.com","https://*.microsoft.com","https://aka.ms","https://*.gallerycdn.vsassets.io","https://*.github.com","https://login.microsoftonline.com","https://*.vscode.dev","https://*.github.dev","https://gh.io","https://portal.azure.com","https://raw.githubusercontent.com","https://private-user-images.githubusercontent.com","https://avatars.githubusercontent.com","https://auth.openai.com"],trustedExtensionAuthAccess:{github:["vscode.github","github.remotehub","ms-vscode.remote-server","github.vscode-pull-request-github","github.codespaces","github.copilot","github.copilot-chat","ms-vsliveshare.vsliveshare","ms-azuretools.vscode-azure-github-copilot"],"github-enterprise":["vscode.github","github.remotehub","ms-vscode.remote-server","github.vscode-pull-request-github","github.codespaces","github.copilot","github.copilot-chat","ms-vsliveshare.vsliveshare","ms-azuretools.vscode-azure-github-copilot"],microsoft:["github.copilot-chat","ms-vscode.azure-repos","ms-vscode.remote-server","ms-vsliveshare.vsliveshare","ms-azuretools.vscode-azure-github-copilot","ms-azuretools.vscode-azureresourcegroups","ms-azuretools.vscode-dev-azurecloudshell","ms-edu.vscode-learning","ms-toolsai.vscode-ai","ms-toolsai.vscode-ai-remote"],"microsoft-sovereign-cloud":["ms-vscode.azure-repos","ms-vscode.remote-server","ms-vsliveshare.vsliveshare","ms-azuretools.vscode-azure-github-copilot","ms-azuretools.vscode-azureresourcegroups","ms-azuretools.vscode-dev-azurecloudshell","ms-edu.vscode-learning","ms-toolsai.vscode-ai","ms-toolsai.vscode-ai-remote"],"__GitHub.copilot-chat":["ms-azuretools.vscode-azure-github-copilot","github.vscode-pull-request-github"]},trustedExtensionProtocolHandlers:["vscode.git","vscode.github-authentication","vscode.microsoft-authentication","github.vscode-pull-request-github"],authClientIdMetadataUrl:"https://vscode.dev/oauth/client-metadata.json",inheritAuthAccountPreference:{"github.copilot":["github.copilot-chat"]},auth:{loginUrl:"https://login.microsoftonline.com/common/oauth2/authorize",tokenUrl:"https://login.microsoftonline.com/common/oauth2/token",redirectUrl:"https://vscode-redirect.azurewebsites.net/",clientId:"aebc6443-996d-45c2-90f0-388ff96faa56"},"configurationSync.store":{url:"https://vscode-sync.trafficmanager.net/",stableUrl:"https://vscode-sync.trafficmanager.net/",insidersUrl:"https://vscode-sync-insiders.trafficmanager.net/",canSwitch:!1,authenticationProviders:{github:{scopes:["user:email"]},microsoft:{scopes:["openid","profile","email","offline_access"]}}},"editSessions.store":{url:"https://vscode-sync.trafficmanager.net/",authenticationProviders:{microsoft:{scopes:["openid","profile","email","offline_access"]},github:{scopes:["user:email"]}}},tunnelServerQualities:{stable:{serverApplicationName:"code-server"},exploration:{serverApplicationName:"code-server-exploration"},insider:{serverApplicationName:"code-server-insiders"}},tunnelApplicationName:"code-tunnel",tunnelApplicationConfig:{editorWebUrl:"https://vscode.dev",extension:{friendlyName:"Remote - Tunnels",extensionId:"ms-vscode.remote-server"},authenticationProviders:{github:{scopes:["user:email","read:org"]},microsoft:{scopes:["46da2f7e-b5ef-422a-88d4-2a7f9de6a0b2/.default","profile","openid"]}}},win32TunnelServiceMutex:"vscode-tunnelservice",win32TunnelMutex:"vscode-tunnel",aiGeneratedWorkspaceTrust:{title:"This workspace was generated by GitHub Copilot",checkboxText:"Trust the contents of all files in this workspace",trustOption:"Yes, I trust the contents",dontTrustOption:"No, I don't trust the contents",startupTrustRequestLearnMore:"If you don't trust the contents of the files generated by GitHub Copilot, we recommend continuing in restricted mode. See [our docs](https://aka.ms/vscode-workspace-trust) to learn more. "},defaultChatAgent:{providerExtensionId:"vscode.github-authentication",extensionId:"GitHub.copilot",chatExtensionId:"GitHub.copilot-chat",chatExtensionOutputId:"GitHub.copilot-chat.GitHub Copilot Chat.log",chatExtensionOutputExtensionStateCommand:"github.copilot.debug.extensionState",documentationUrl:"https://aka.ms/github-copilot-overview",termsStatementUrl:"https://aka.ms/github-copilot-terms-statement",privacyStatementUrl:"https://aka.ms/github-copilot-privacy-statement",skusDocumentationUrl:"https://aka.ms/github-copilot-plans",publicCodeMatchesUrl:"https://aka.ms/github-copilot-match-public-code",manageSettingsUrl:"https://aka.ms/github-copilot-settings",managePlanUrl:"https://aka.ms/github-copilot-manage-plan",manageOverageUrl:"https://aka.ms/github-copilot-manage-overage",upgradePlanUrl:"https://aka.ms/github-copilot-upgrade-plan",signUpUrl:"https://aka.ms/github-sign-up",provider:{default:{id:"github",name:"GitHub"},enterprise:{id:"github-enterprise",name:"GHE.com"},google:{id:"google",name:"Google"},apple:{id:"apple",name:"Apple"}},providerUriSetting:"github-enterprise.uri",providerScopes:[["read:user","user:email","repo","workflow"],["user:email"],["read:user"]],entitlementUrl:"https://api.github.com/copilot_internal/user",entitlementSignupLimitedUrl:"https://api.github.com/copilot_internal/subscribe_limited_user",chatQuotaExceededContext:"github.copilot.chat.quotaExceeded",completionsQuotaExceededContext:"github.copilot.completions.quotaExceeded",walkthroughCommand:"github.copilot.open.walkthrough",completionsMenuCommand:"github.copilot.toggleStatusMenu",completionsRefreshTokenCommand:"github.copilot.signIn",chatRefreshTokenCommand:"github.copilot.refreshToken",generateCommitMessageCommand:"github.copilot.git.generateCommitMessage",resolveMergeConflictsCommand:"github.copilot.git.resolveMergeConflicts",completionsAdvancedSetting:"github.copilot.advanced",completionsEnablementSetting:"github.copilot.enable",nextEditSuggestionsSetting:"github.copilot.nextEditSuggestions.enabled",tokenEntitlementUrl:"https://api.github.com/copilot_internal/v2/token",mcpRegistryDataUrl:"https://api.github.com/copilot/mcp_registry"},chatParticipantRegistry:"https://main.vscode-cdn.net/extensions/chat.json",remoteDefaultExtensionsIfInstalledLocally:["GitHub.copilot","GitHub.copilot-chat","GitHub.vscode-pull-request-github"],extensionConfigurationPolicy:{"github.copilot.nextEditSuggestions.enabled":{name:"CopilotNextEditSuggestions",minimumVersion:"1.99"},"github.copilot.chat.reviewSelection.enabled":{name:"CopilotReviewSelection",minimumVersion:"1.104"},"github.copilot.chat.reviewAgent.enabled":{name:"CopilotReviewAgent",minimumVersion:"1.104"},"github.copilot.chat.claudeAgent.enabled":{name:"Claude3PIntegration",minimumVersion:"1.113"}},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"}],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.112.0",sha256:"c24322931434940938f8cf76ebc3dac1e95a5539b9625b165b6672d7f7eafea8",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"}}],version:"1.114.0",commit:"e7fb5e96c0730b9deb70b33781f98e2f35975036",date:"2026-04-01T09:27:11Z"},Object.keys(Ie).length===0&&Object.assign(Ie,{version:"1.104.0-dev",nameShort:"Code - OSS Dev",nameLong:"Code - OSS Dev",applicationName:"code-oss",dataFolderName:".vscode-oss",urlProtocol:"code-oss",reportIssueUrl:"https://github.com/microsoft/vscode/issues/new",licenseName:"MIT",licenseUrl:"https://github.com/microsoft/vscode/blob/main/LICENSE.txt",serverLicenseUrl:"https://github.com/microsoft/vscode/blob/main/LICENSE.txt",defaultChatAgent:{extensionId:"GitHub.copilot",chatExtensionId:"GitHub.copilot-chat",provider:{default:{id:"github",name:"GitHub"},enterprise:{id:"github-enterprise",name:"GitHub Enterprise"}},providerScopes:[]}});var Oa=Ie;var vo=class{constructor(){this.data=new Map}add(e,t){Xn(G(e)),Xn(hi(t)),Xn(!this.data.has(e),"There is already an extension with this id"),this.data.set(e,t)}knows(e){return this.data.has(e)}as(e){return this.data.get(e)||null}dispose(){this.data.forEach(e=>{ct(e.dispose)&&e.dispose()}),this.data.clear()}},Ma=new vo;var Gg=xe("ptyService");var Fu={Backend:"workbench.contributions.terminal.processBackend"},yo=class{constructor(){this._backends=new Map}get backends(){return this._backends}registerTerminalBackend(e){let t=this._sanitizeRemoteAuthority(e.remoteAuthority);if(this._backends.has(t))throw new Error(`A terminal backend with remote authority '${t}' was already registered.`);this._backends.set(t,e)}getTerminalBackend(e){return this._backends.get(this._sanitizeRemoteAuthority(e))}_sanitizeRemoteAuthority(e){return e?.toLowerCase()??""}};Ma.add(Fu.Backend,new yo);var Xg=xe("localPtyService"),Qg=xe("terminalLogService");var zr=class extends C{constructor(){super();this._onBeat=this._register(new v);this.onBeat=this._onBeat.event;let t=setInterval(()=>{this._onBeat.fire()},5e3);this._register(Y(()=>clearInterval(t)))}};import{execFile as dl,exec as Id}from"child_process";import{userInfo as ju}from"os";import*as bo from"os";var Fa=/^\d+$/,Uu=/^Microsoft.PowerShell_.*/,Nu=/^Microsoft.PowerShellPreview_.*/;var Bn;switch(process.arch){case"ia32":Bn=1;break;case"arm":case"arm64":Bn=2;break;default:Bn=0;break}var Yt;process.env.PROCESSOR_ARCHITEW6432?Yt=process.env.PROCESSOR_ARCHITEW6432==="ARM64"?2:0:process.env.PROCESSOR_ARCHITECTURE==="ARM64"?Yt=2:process.env.PROCESSOR_ARCHITECTURE==="X86"?Yt=1:Yt=0;var wt=class{constructor(e,t,n){this.exePath=e;this.displayName=t;this.knownToExist=n}async exists(){return this.knownToExist===void 0&&(this.knownToExist=await je.existsFile(this.exePath)),this.knownToExist}};function Bu({useAlternateBitness:r=!1}={}){return r?Bn===0?process.env["ProgramFiles(x86)"]||null:Yt===0&&process.env.ProgramW6432||null:process.env.ProgramFiles||null}async function qr({useAlternateBitness:r=!1,findPreview:e=!1}={}){let t=Bu({useAlternateBitness:r});if(!t)return null;let n=A(t,"PowerShell");if(!await je.existsDirectory(n))return null;let i=-1,o=null;for(let l of await Sn.readdir(n)){let c=-1;if(e){let u=l.indexOf("-");if(u<0)continue;let d=l.substring(0,u);if(!Fa.test(d)||l.substring(u+1)!=="preview")continue;c=parseInt(d,10)}else{if(!Fa.test(l))continue;c=parseInt(l,10)}if(c<=i)continue;let p=A(n,l,"pwsh.exe");await je.existsFile(p)&&(o=p,i=c)}if(!o)return null;let s=t.includes("x86")?" (x86)":"",a=e?" Preview":"";return new wt(o,`PowerShell${a}${s}`,!0)}async function Ua({findPreview:r}={}){if(!process.env.LOCALAPPDATA)return null;let e=A(process.env.LOCALAPPDATA,"Microsoft","WindowsApps");if(!await je.existsDirectory(e))return null;let{pwshMsixDirRegex:t,pwshMsixName:n}=r?{pwshMsixDirRegex:Nu,pwshMsixName:"PowerShell Preview (Store)"}:{pwshMsixDirRegex:Uu,pwshMsixName:"PowerShell (Store)"};for(let i of await Sn.readdir(e))if(t.test(i)){let o=A(e,i,"pwsh.exe");return new wt(o,n)}return null}function Vu(){let r=A(bo.homedir(),".dotnet","tools","pwsh.exe");return new wt(r,".NET Core PowerShell Global Tool")}function Ku(){let r=A(bo.homedir(),"scoop","apps"),e=A(r,"pwsh","current","pwsh.exe");return new wt(e,"PowerShell (Scoop)")}function Wu(){let r=A(process.env.windir,Bn===1&&Yt!==1?"SysNative":"System32","WindowsPowerShell","v1.0","powershell.exe");return new wt(r,"Windows PowerShell",!0)}async function*zu(){let r=await qr();r&&(yield r),r=await qr({useAlternateBitness:!0}),r&&(yield r),r=await Ua(),r&&(yield r),r=Vu(),r&&(yield r),r=await qr({findPreview:!0}),r&&(yield r),r=await Ua({findPreview:!0}),r&&(yield r),r=await qr({useAlternateBitness:!0,findPreview:!0}),r&&(yield r),r=await Ku(),r&&(yield r),r=Wu(),r&&(yield r)}async function*qu(){for await(let r of zu())await r.exists()&&(yield r)}async function Na(){for await(let r of qu())return r;return null}async function Ba(r,e){return r===1?w?Gu():pa(e):Hu(r,e)}var _o=null;function Hu(r,e){if(Ce&&r===2||ve&&r===3)return"/bin/bash";if(!_o){let t;if(w)t="/bin/bash";else{if(t=e.SHELL,!t)try{t=ju().shell}catch{}t||(t="sh"),t==="/bin/false"&&(t="/bin/bash")}_o=t}return _o}var xo=null;async function Gu(){return xo||(xo=(await Na()).exePath),xo}var Jt=class extends C{constructor(t,n){super();this._logService=n;this._lastRequestId=0;this._pendingRequests=new Map;this._pendingRequestDisposables=new Map;this._onCreateRequest=this._register(new v);this.onCreateRequest=this._onCreateRequest.event;this._timeout=t===void 0?15e3:t,this._register(Y(()=>{for(let i of this._pendingRequestDisposables.values())Se(i)}))}createRequest(t){return new Promise((n,i)=>{let o=++this._lastRequestId;this._pendingRequests.set(o,n),this._onCreateRequest.fire({requestId:o,...t});let s=new Fe;pe(this._timeout,s.token).then(()=>i(`Request ${o} timed out (${this._timeout}ms)`)),this._pendingRequestDisposables.set(o,[Y(()=>s.cancel())])})}acceptReply(t,n){let i=this._pendingRequests.get(t);i?(this._pendingRequests.delete(t),Se(this._pendingRequestDisposables.get(t)||[]),this._pendingRequestDisposables.delete(t),i(n)):this._logService.warn(`RequestStore#acceptReply was called without receiving a matching request ${t}`)}};Jt=f([he(1,Pe)],Jt);var $r=class{constructor(e){this._callback=e;this._terminalBufferMap=new Map}dispose(){for(let e of this._terminalBufferMap.values())e.dispose()}startBuffering(e,t,n=5){let i=t(o=>{let s=G(o)?o:o.data,a=this._terminalBufferMap.get(e);if(a){a.data.push(s);return}let l=setTimeout(()=>this.flushBuffer(e),n);a={data:[s],timeoutId:l,dispose:()=>{clearTimeout(l),this.flushBuffer(e),i.dispose()}},this._terminalBufferMap.set(e,a)});return i}stopBuffering(e){this._terminalBufferMap.get(e)?.dispose()}flushBuffer(e){let t=this._terminalBufferMap.get(e);t&&(this._terminalBufferMap.delete(e),this._callback(e,t.data.join("")))}};function Ka(r,e){let t=r;t.includes("\\")&&(t=t.replace(/\\/g,"\\\\"));let n;switch(e){case"bash":case"sh":case"zsh":case"gitbash":n={bothQuotes:o=>`$'${o.replace(/'/g,"\\'")}'`,singleQuotes:o=>`'${o.replace(/'/g,"\\'")}'`,noSingleQuotes:o=>`'${o}'`};break;case"fish":n={bothQuotes:o=>`"${o.replace(/"/g,'\\"')}"`,singleQuotes:o=>`'${o.replace(/'/g,"\\'")}'`,noSingleQuotes:o=>`'${o}'`};break;case"pwsh":n={bothQuotes:o=>`"${o.replace(/"/g,'`"')}"`,singleQuotes:o=>`'${o.replace(/'/g,"''")}'`,noSingleQuotes:o=>`'${o}'`};break;default:n={bothQuotes:o=>`$'${o.replace(/'/g,"\\'")}'`,singleQuotes:o=>`'${o.replace(/'/g,"\\'")}'`,noSingleQuotes:o=>`'${o}'`};break}let i=/[\`\$\|\&\>\~\#\!\^\*\;\<]/g;return t=t.replace(i,""),t.includes("'")&&t.includes('"')?n.bothQuotes(t):t.includes("'")?n.singleQuotes(t):n.noSingleQuotes(t)}function Wa(r){return r.match(/^['"].*['"]$/)&&(r=r.substring(1,r.length-1)),nr===1&&r&&r[1]===":"?r[0].toUpperCase()+r.substring(1):r}import*as en from"os";function Qu(r){return new Map(r)}function Yu(r){return new Map(r??[])}function za(r){return new Map(r.map(e=>[e[0],{map:Qu(e[1]),descriptionMap:Yu(e[2])}]))}var Zu=new Map([[2,"APPEND"],[3,"PREPEND"],[1,"REPLACE"]]),ed=/^VSCODE_PYTHON_(PWSH|ZSH|BASH|FISH)_ACTIVATE/,td="ms-python.vscode-python-envs",jr=class{constructor(e){this.collections=e;this.map=new Map;this.descriptionMap=new Map;e.forEach((t,n)=>{this.populateDescriptionMap(t,n);let i=t.map.entries(),o=i.next();for(;!o.done;){let s=o.value[1],a=o.value[0];if(this.blockPythonActivationVar(a,n)){o=i.next();continue}let l=this.map.get(a);if(l||(l=[],this.map.set(a,l)),l.length>0&&l[0].type===1){o=i.next();continue}let c={extensionIdentifier:n,value:s.value,type:s.type,scope:s.scope,variable:s.variable,options:s.options};c.scope||delete c.scope,l.unshift(c),o=i.next()}})}async applyToProcessEnvironment(e,t,n){let i;w&&(i={},Object.keys(e).forEach(o=>i[o.toLowerCase()]=o));for(let[o,s]of this.getVariableMap(t)){let a=w&&i[o.toLowerCase()]||o;for(let l of s){let c=n?await n(l.value):l.value;if(!this.blockPythonActivationVar(l.variable,l.extensionIdentifier)){if(l.options?.applyAtProcessCreation??!0)switch(l.type){case 2:e[a]=(e[a]||"")+c;break;case 3:e[a]=c+(e[a]||"");break;case 1:e[a]=c;break}if(l.options?.applyAtShellIntegration??!1){let p=`VSCODE_ENV_${Zu.get(l.type)}`;e[p]=(e[p]?e[p]+":":"")+o+"="+this._encodeColons(c)}}}}}_encodeColons(e){return e.replaceAll(":","\\x3a")}blockPythonActivationVar(e,t){return!!(ed.test(e)&&td!==t)}diff(e,t){let n=new Map,i=new Map,o=new Map;if(e.getVariableMap(t).forEach((s,a)=>{let l=this.getVariableMap(t).get(a),c=$a(s,l);c&&n.set(a,c)}),this.getVariableMap(t).forEach((s,a)=>{let l=e.getVariableMap(t).get(a),c=$a(s,l);c&&o.set(a,c)}),this.getVariableMap(t).forEach((s,a)=>{let l=e.getVariableMap(t).get(a),c=nd(s,l);c&&i.set(a,c)}),!(n.size===0&&i.size===0&&o.size===0))return{added:n,changed:i,removed:o}}getVariableMap(e){let t=new Map;for(let n of this.map.values()){let i=n.filter(o=>qa(o,e));i.length>0&&t.set(i[0].variable,i)}return t}getDescriptionMap(e){let t=new Map;for(let n of this.descriptionMap.values()){let i=n.filter(o=>qa(o,e,!0));for(let o of i)t.set(o.extensionIdentifier,o.description)}return t}populateDescriptionMap(e,t){if(!e.descriptionMap)return;let n=e.descriptionMap.entries(),i=n.next();for(;!i.done;){let o=i.value[1],s=i.value[0],a=this.descriptionMap.get(s);a||(a=[],this.descriptionMap.set(s,a));let l={extensionIdentifier:t,scope:o.scope,description:o.description};l.scope||delete l.scope,a.push(l),i=n.next()}}};function qa(r,e,t=!1){return r.scope?!!(r.scope.workspaceFolder&&e?.workspaceFolder&&r.scope.workspaceFolder.index===e.workspaceFolder.index):t?e===r.scope:!0}function $a(r,e){if(!e)return r;let t=new Set;e.forEach(i=>t.add(i.extensionIdentifier));let n=[];return r.forEach(i=>{t.has(i.extensionIdentifier)||n.push(i)}),n.length===0?void 0:n}function nd(r,e){if(!e)return;let t=new Map;e.forEach(i=>t.set(i.extensionIdentifier,i));let n=[];return r.forEach(i=>{let o=t.get(i.extensionIdentifier);o&&(i.type!==o.type||i.value!==o.value||i.scope?.workspaceFolder?.index!==o.scope?.workspaceFolder?.index)&&n.push(o)}),n.length===0?void 0:n}import{chmod as Ha,realpathSync as id,mkdirSync as od}from"fs";import{promisify as Ga}from"util";import*as Hr from"os";var Et;async function rd(){if(Et)return;if(!w){Et={release:Hr.release(),buildNumber:0};return}let r,e;try{let t=await import("@vscode/windows-registry"),n="SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion",i=t.GetStringRegKey("HKEY_LOCAL_MACHINE",n,"CurrentBuild");i!==void 0&&(r=parseInt(i,10),isNaN(r)&&(r=void 0));let o=t.GetDWORDRegKey("HKEY_LOCAL_MACHINE",n,"CurrentMajorVersionNumber"),s=t.GetDWORDRegKey("HKEY_LOCAL_MACHINE",n,"CurrentMinorVersionNumber");o!==void 0&&s!==void 0&&i!==void 0&&(e=`${o}.${s}.${i}`)}catch{}finally{Et={release:e||Hr.release(),buildNumber:r||ja()}}}async function Zt(){return Et||await rd(),Et.buildNumber}function To(){return Et?Et.buildNumber:w?ja():0}function ja(){let r=/(\d+)\.(\d+)\.(\d+)/g.exec(Hr.release());return r&&r.length===4?parseInt(r[3],10):0}async function Ja(r,e,t,n,i,o=!1){if(!e.shellIntegration.enabled)return{type:"failure",reason:"injectionSettingDisabled"};if(!r.executable)return{type:"failure",reason:"noExecutable"};if(r.isFeatureTerminal&&!r.forceShellIntegration)return{type:"failure",reason:"featureTerminal"};if(r.ignoreShellIntegration)return{type:"failure",reason:"ignoreShellIntegrationFlag"};let s=w?await Zt():0;if(w&&s<18309)return{type:"failure",reason:"unsupportedWindowsBuild"};let a=r.args,l=rr==="win32"?gt(r.executable).toLowerCase():gt(r.executable),c=ke(qe.asFileUri("").fsPath),p="injection",u,d={VSCODE_INJECTION:"1"};e.shellIntegration.nonce&&(d.VSCODE_NONCE=e.shellIntegration.nonce);let m=["PATH","VIRTUAL_ENV","HOME","SHELL","PWD"];if(r.shellIntegrationEnvironmentReporting&&(w?(e.windowsUseConptyDll||s>=22631&&l!=="bash.exe")&&(d.VSCODE_SHELL_ENV_REPORTING=m.join(",")):d.VSCODE_SHELL_ENV_REPORTING=m.join(",")),w)return l==="pwsh.exe"||l==="powershell.exe"?(d.VSCODE_A11Y_MODE=e.isScreenReaderOptimized?"1":"0",!a||Ya(a)?u=Q.get("windows-pwsh"):Qa(a)&&(u=Q.get("windows-pwsh-login")),u?(u=[...u],u[u.length-1]=bt(u[u.length-1],c,""),d.VSCODE_STABLE=i.quality==="stable"?"1":"0",{type:p,newArgs:u,envMixin:d}):{type:"failure",reason:"unsupportedArgs"}):l==="bash.exe"?(!a||a.length===0?u=Q.get("bash"):Qr(a)&&(d.VSCODE_SHELL_LOGIN="1",Gr(e,d,l),u=Q.get("bash")),u?(u=[...u],u[u.length-1]=bt(u[u.length-1],c),d.VSCODE_STABLE=i.quality==="stable"?"1":"0",{type:p,newArgs:u,envMixin:d}):{type:"failure",reason:"unsupportedArgs"}):(n.warn(`Shell integration cannot be enabled for executable "${r.executable}" and args`,r.args),{type:"failure",reason:"unsupportedShell"});switch(l){case"bash":return!a||a.length===0?u=Q.get("bash"):Qr(a)&&(d.VSCODE_SHELL_LOGIN="1",Gr(e,d,l),u=Q.get("bash")),u?(u=[...u],u[u.length-1]=bt(u[u.length-1],c),d.VSCODE_STABLE=i.quality==="stable"?"1":"0",{type:p,newArgs:u,envMixin:d}):{type:"failure",reason:"unsupportedArgs"};case"fish":return!a||a.length===0?u=Q.get("fish"):Qr(a)?u=Q.get("fish-login"):(a===Q.get("fish")||a===Q.get("fish-login"))&&(u=a),u?(Gr(e,d,l),u=[...u],u[u.length-1]=bt(u[u.length-1],c),{type:p,newArgs:u,envMixin:d}):{type:"failure",reason:"unsupportedArgs"};case"pwsh":return!a||Ya(a)?u=Q.get("pwsh"):Qa(a)&&(u=Q.get("pwsh-login")),u?(u=[...u],u[u.length-1]=bt(u[u.length-1],c,""),d.VSCODE_STABLE=i.quality==="stable"?"1":"0",{type:p,newArgs:u,envMixin:d}):{type:"failure",reason:"unsupportedArgs"};case"zsh":{if(!a||a.length===0?u=Q.get("zsh"):Qr(a)?(u=Q.get("zsh-login"),Gr(e,d,l)):(a===Q.get("zsh")||a===Q.get("zsh-login"))&&(u=a),!u)return{type:"failure",reason:"unsupportedArgs"};u=[...u],u[u.length-1]=bt(u[u.length-1],c);let h;try{h=en.userInfo().username}catch{h="unknown"}let b=id(en.tmpdir()),P=A(b,`${h}-${i.applicationName}-zsh`);if(!o)try{await Ga(Ha)(P,960)}catch(B){if(B.message.includes("ENOENT")){try{od(P)}catch(Te){return n.error(`Failed to create zdotdir at ${P}: ${Te}`),{type:"failure",reason:"failedToCreateTmpDir"}}try{await Ga(Ha)(P,960)}catch{return n.error(`Failed to set sticky bit on ${P}: ${B}`),{type:"failure",reason:"failedToSetStickyBit"}}}return n.error(`Failed to set sticky bit on ${P}: ${B}`),{type:"failure",reason:"failedToSetStickyBit"}}d.ZDOTDIR=P;let j=t?.ZDOTDIR??en.homedir()??"~";d.USER_ZDOTDIR=j;let $=[];return $.push({source:A(c,"out/vs/workbench/contrib/terminal/common/scripts/shellIntegration-rc.zsh"),dest:A(P,".zshrc")}),$.push({source:A(c,"out/vs/workbench/contrib/terminal/common/scripts/shellIntegration-profile.zsh"),dest:A(P,".zprofile")}),$.push({source:A(c,"out/vs/workbench/contrib/terminal/common/scripts/shellIntegration-env.zsh"),dest:A(P,".zshenv")}),$.push({source:A(c,"out/vs/workbench/contrib/terminal/common/scripts/shellIntegration-login.zsh"),dest:A(P,".zlogin")}),{type:p,newArgs:u,envMixin:d,filesToCopy:$}}}return n.warn(`Shell integration cannot be enabled for executable "${r.executable}" and args`,r.args),{type:"failure",reason:"unsupportedShell"}}function Gr(r,e,t){if((ve||t==="fish")&&r.environmentVariableCollections){let n=za(r.environmentVariableCollections),o=new jr(n).getVariableMap({workspaceFolder:r.workspaceFolder}).get("PATH"),s=[];if(o)for(let a of o)a.type===3&&s.push(a.value);s.length>0&&(e.VSCODE_PATH_PREFIX=s.join(""))}}var Q=new Map;Q.set("windows-pwsh",["-noexit","-command",'try { . "{0}\\out\\vs\\workbench\\contrib\\terminal\\common\\scripts\\shellIntegration.ps1" } catch {}{1}']);Q.set("windows-pwsh-login",["-l","-noexit","-command",'try { . "{0}\\out\\vs\\workbench\\contrib\\terminal\\common\\scripts\\shellIntegration.ps1" } catch {}{1}']);Q.set("pwsh",["-noexit","-command",'. "{0}/out/vs/workbench/contrib/terminal/common/scripts/shellIntegration.ps1"{1}']);Q.set("pwsh-login",["-l","-noexit","-command",'. "{0}/out/vs/workbench/contrib/terminal/common/scripts/shellIntegration.ps1"']);Q.set("zsh",["-i"]);Q.set("zsh-login",["-il"]);Q.set("bash",["--init-file","{0}/out/vs/workbench/contrib/terminal/common/scripts/shellIntegration-bash.sh"]);Q.set("fish",["--init-command",'source "{0}/out/vs/workbench/contrib/terminal/common/scripts/shellIntegration.fish"']);Q.set("fish-login",["-l","--init-command",'source "{0}/out/vs/workbench/contrib/terminal/common/scripts/shellIntegration.fish"']);var Xr=["-login","-l"],Xa=["--login","-l"],sd=["-i","--interactive"],Yr=["-nol","-nologo"];function Qa(r){return G(r)?Xr.includes(r.toLowerCase()):r.length===1&&Xr.includes(r[0].toLowerCase())||r.length===2&&(Xr.includes(r[0].toLowerCase())||Xr.includes(r[1].toLowerCase()))&&(Yr.includes(r[0].toLowerCase())||Yr.includes(r[1].toLowerCase()))}function Ya(r){return G(r)?Yr.includes(r.toLowerCase()):r.length===0||r?.length===1&&Yr.includes(r[0].toLowerCase())}function Qr(r){return G(r)||(r=r.filter(e=>!sd.includes(e.toLowerCase()))),G(r)&&Xa.includes(r.toLowerCase())||!G(r)&&r.length===1&&Xa.includes(r[0].toLowerCase())}var ad=/^(?:.*_)?(?:API_?KEY|TOKEN|SECRET|PASSWORD|PASSWD|PWD|CREDENTIAL|AUTH|PRIVATE_?KEY|ACCESS_?KEY|CLIENT_?SECRET|APIKEY)(?:_.*)?$/i,ld=[/^eyJ[a-zA-Z0-9\-_]+\.[a-zA-Z0-9\-_]+\.[a-zA-Z0-9\-_]+$/,/^gh[psuro]_[a-zA-Z0-9]{36}$/,/^github_pat_[a-zA-Z0-9]{22}_[a-zA-Z0-9]{59}$/,/^AIza[A-Za-z0-9_\-]{35}$/,/^xox[pbar]\-[A-Za-z0-9\-]+$/,/^[a-zA-Z0-9]{32,}$/];function Vn(r){if(!r)return r;let e={};for(let t of Object.keys(r)){let n=r[t];if(n===void 0)continue;if(ad.test(t)){e[t]="<REDACTED>";continue}let i=!1;for(let o of ld)if(o.test(n)){i=!0;break}e[t]=i?"<REDACTED>":n}return e}import*as tn from"fs";import{exec as fd}from"child_process";var Za=xe("productService");import{exec as Jr}from"child_process";import{totalmem as cd}from"os";var ud=/[a-zA-Z-]+\.js\b/g;function tl(r){return new Promise((e,t)=>{let n,i=new Map,o=cd();function s(l,c,p,u,d){let m=i.get(c);if(l===r||m){let h={name:a(p),cmd:p,pid:l,ppid:c,load:u,mem:w?d:o*(d/100)};i.set(l,h),l===r&&(n=h),m&&(m.children||(m.children=[]),m.children.push(h),m.children.length>1&&(m.children=m.children.sort((b,P)=>b.pid-P.pid)))}}function a(l){let c=/--utility-sub-type=network/i,p=/--crashes-directory/i,u=/conhost\.exe.+--headless/i,d=/--type=([a-zA-Z-]+)/;if(p.exec(l))return"electron-crash-reporter";if(u.exec(l))return"conpty-agent";let m=d.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 h="";do m=ud.exec(l),m&&(h+=m+" ");while(m);if(h)return`electron-nodejs (${h.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(r,p=>{if(!p){t(new Error(`Root process ${r} not found`));return}c.getProcessCpuUsage(p,u=>{let d=new Map;u.forEach(m=>{let h=l(m.commandLine||"");d.set(m.pid,{name:a(h),cmd:h,pid:m.pid,ppid:m.ppid,load:m.cpu||0,mem:m.memory||0})}),n=d.get(r),n?(d.forEach(m=>{let h=d.get(m.ppid);h&&(h.children||(h.children=[]),h.children.push(m))}),d.forEach(m=>{m.children&&(m.children=m.children.sort((h,b)=>h.pid-b.pid))}),e(n)):t(new Error(`Root process ${r} not found`))})},c.ProcessDataFlag.CommandLine|c.ProcessDataFlag.Memory)})}else{let l=function(){let c=[n],p=[];for(;c.length;){let d=c.shift();d&&(p.push(d.pid),d.children&&(c=c.concat(d.children)))}let u=JSON.stringify(qe.asFileUri("vs/base/node/cpuUsage.sh").fsPath);u+=" "+p.join(" "),Jr(u,{},(d,m,h)=>{if(d||h)t(d||new Error(h.toString()));else{let b=m.toString().split(`
`);for(let P=0;P<p.length;P++){let j=i.get(p[P]);j.load=parseFloat(b[P])}if(!n){t(new Error(`Root process ${r} not found`));return}e(n)}})};Jr("which ps",{},(c,p,u)=>{if(c||u)if(process.platform!=="linux")t(c||new Error(u.toString()));else{let d=JSON.stringify(qe.asFileUri("vs/base/node/ps.sh").fsPath);Jr(d,{},(m,h,b)=>{m||b?t(m||new Error(b.toString())):(el(h,s),l())})}else{let d=p.toString().trim();Jr(`${d} -ax -o pid=,ppid=,pcpu=,pmem=,command=`,{maxBuffer:1e3*1024,env:{LC_NUMERIC:"en_US.UTF-8"}},(h,b,P)=>{h||P&&!P.includes("screen size is bogus")?t(h||new Error(P.toString())):(el(b,s),process.platform==="linux"?l():n?e(n):t(new Error(`Root process ${r} not found`)))})}})}})}function el(r,e){let t=/^\s*([0-9]+)\s+([0-9]+)\s+([0-9]+\.[0-9]+)\s+([0-9]+\.[0-9]+)\s+(.+)$/,n=r.toString().split(`
`);for(let i of n){let o=t.exec(i.trim());o&&o.length===6&&e(parseInt(o[1]),parseInt(o[2]),o[5],parseFloat(o[3]),parseFloat(o[4]))}}var Zr=[],rt=class extends C{constructor(t,n){super();this._pid=t;this._logService=n;this._hasChildProcesses=!1;this._onDidChangeHasChildProcesses=this._register(new v);this.onDidChangeHasChildProcesses=this._onDidChangeHasChildProcesses.event}set hasChildProcesses(t){this._hasChildProcesses!==t&&(this._hasChildProcesses=t,this._logService.debug("ChildProcessMonitor: Has child processes changed",t),this._onDidChangeHasChildProcesses.fire(t))}get hasChildProcesses(){return this._hasChildProcesses}setPid(t){this._pid=t}handleInput(){this._refreshActive()}handleOutput(){this._refreshInactive()}async _refreshActive(){if(!this._store.isDisposed)try{let t=await tl(this._pid);this.hasChildProcesses=this._processContainsChildren(t)}catch(t){this._logService.debug("ChildProcessMonitor: Fetching process tree failed",t)}}_refreshInactive(){this._refreshActive()}_processContainsChildren(t){if(!t.children)return!1;if(t.children.length===1){let n=t.children[0],i;if(n.cmd.startsWith('"'))i=n.cmd.substring(1,n.cmd.indexOf('"',1));else{let o=n.cmd.indexOf(" ");o===-1?i=n.cmd:i=n.cmd.substring(0,o)}return Zr.indexOf(Is(i).name)===-1}return t.children.length>0}};f([Kt(1e3)],rt.prototype,"_refreshActive",1),f([br(5e3)],rt.prototype,"_refreshInactive",1),rt=f([he(1,Pe)],rt);var dd=["cmd.exe","powershell.exe","pwsh.exe","bash.exe","git-cmd.exe","wsl.exe","ubuntu.exe","ubuntu1804.exe","kali.exe","debian.exe","opensuse-42.exe","sles-12.exe","julia.exe","nu.exe","node.exe","xonsh.exe"],pd=[/^python(\d(\.\d{0,2})?)?\.exe$/],wo,Kn=class extends C{constructor(t){super();this._rootProcessId=t;this._shellTitle="";this._onShellNameChanged=this._register(new v);this._onShellTypeChanged=this._register(new v);if(!w)throw new Error(`WindowsShellHelper cannot be instantiated on ${hs}`);this._startMonitoringShell()}get shellType(){return this._shellType}get shellTitle(){return this._shellTitle}get onShellNameChanged(){return this._onShellNameChanged.event}get onShellTypeChanged(){return this._onShellTypeChanged.event}async _startMonitoringShell(){this._store.isDisposed||this.checkShell()}async checkShell(){w&&(await pe(300),this.getShellName().then(t=>{let n=this.getShellType(t);n!==this._shellType&&(this._onShellTypeChanged.fire(n),this._onShellNameChanged.fire(t),this._shellType=n,this._shellTitle=t)}))}traverseTree(t){if(!t)return"";if(dd.indexOf(t.name)===-1)return t.name;for(let i of pd)if(t.name.match(i))return t.name;if(!t.children||t.children.length===0)return t.name;let n=0;for(;n<t.children.length;n++){let i=t.children[n];if(!i.children||i.children.length===0||i.children[0].name!=="conhost.exe")break}return n>=t.children.length?t.name:this.traverseTree(t.children[n])}async getShellName(){return this._store.isDisposed?Promise.resolve(""):this._currentRequest?this._currentRequest:(wo||(wo=await import("@vscode/windows-process-tree")),this._currentRequest=new Promise(t=>{wo.getProcessTree(this._rootProcessId,n=>{let i=this.traverseTree(n);this._currentRequest=void 0,t(i)})}),this._currentRequest)}getShellType(t){switch(t.toLowerCase()){case"cmd.exe":return"cmd";case"powershell.exe":case"pwsh.exe":return"pwsh";case"bash.exe":case"git-cmd.exe":return"gitbash";case"julia.exe":return"julia";case"node.exe":return"node";case"nu.exe":return"nu";case"xonsh.exe":return"xonsh";case"wsl.exe":case"ubuntu.exe":case"ubuntu1804.exe":case"kali.exe":case"debian.exe":case"opensuse-42.exe":case"sles-12.exe":return"wsl";default:return t.match(/python(\d(\.\d{0,2})?)?\.exe/)?"python":void 0}}};f([Kt(500)],Kn.prototype,"checkShell",1);import{spawn as hd}from"node-pty";var nl=new Map([["bash","bash"],["csh","csh"],["fish","fish"],["ksh","ksh"],["sh","sh"],["zsh","zsh"]]),rl=new Map([["pwsh","pwsh"],["powershell","pwsh"],["python","python"],["julia","julia"],["nu","nu"],["node","node"],["xonsh","xonsh"]]),Ue=class extends C{constructor(t,n,i,o,s,a,l,c,p){super();this.shellLaunchConfig=t;this._executableEnv=a;this._options=l;this._logService=c;this._productService=p;this.id=0;this.shouldPersist=!1;this._properties={cwd:"",initialCwd:"",fixedDimensions:{cols:void 0,rows:void 0},title:"",shellType:void 0,hasChildProcesses:!0,resolvedShellLaunchConfig:{},overrideDimensions:void 0,failedShellIntegrationActivation:!1,usedShellIntegrationInjection:void 0,shellIntegrationInjectionFailureReason:void 0};this._currentTitle="";this._isPtyPaused=!1;this._unacknowledgedCharCount=0;this._onProcessData=this._register(new v);this.onProcessData=this._onProcessData.event;this._onProcessReady=this._register(new v);this.onProcessReady=this._onProcessReady.event;this._onDidChangeProperty=this._register(new v);this.onDidChangeProperty=this._onDidChangeProperty.event;this._onProcessExit=this._register(new v);this.onProcessExit=this._onProcessExit.event;let u;w?u=gt(this.shellLaunchConfig.executable||""):u="xterm-256color",this._initialCwd=n,this._properties.initialCwd=this._initialCwd,this._properties.cwd=this._initialCwd;let d=process.platform==="win32"&&To()>=18309,m=d&&this._options.windowsUseConptyDll;this._ptyOptions={name:u,cwd:n,env:s,cols:i,rows:o,useConpty:d,useConptyDll:m,conptyInheritCursor:d&&!!t.initialText},w&&(d&&i===0&&o===0&&this.shellLaunchConfig.executable?.endsWith("Git\\bin\\bash.exe")&&(this._delayedResizer=this._register(new Eo),this._register(this._delayedResizer.onTrigger(h=>{this._delayedResizer?.dispose(),this._delayedResizer=void 0,h.cols&&h.rows&&this.resize(h.cols,h.rows)}))),this._register(this.onProcessReady(h=>{this._windowsShellHelper=this._register(new Kn(h.pid)),this._register(this._windowsShellHelper.onShellTypeChanged(b=>this._onDidChangeProperty.fire({type:"shellType",value:b}))),this._register(this._windowsShellHelper.onShellNameChanged(b=>this._onDidChangeProperty.fire({type:"title",value:b})))}))),this._register(Y(()=>{this._titleInterval&&(clearInterval(this._titleInterval),this._titleInterval=void 0)})),this._register(Y(()=>{this._ptyProcess=void 0,this._processStartupComplete=void 0}))}static{this._lastKillOrStart=0}get exitMessage(){return this._exitMessage}get currentTitle(){return this._windowsShellHelper?.shellTitle||this._currentTitle}get shellType(){return w?this._windowsShellHelper?.shellType:nl.get(this._currentTitle)||rl.get(this._currentTitle)}get hasChildProcesses(){return this._childProcessMonitor?.hasChildProcesses||!1}async start(){let n=(await Promise.all([this._validateCwd(),this._validateExecutable()])).find(o=>o!==void 0);if(n)return n;let i=await Ja(this.shellLaunchConfig,this._options,this._ptyOptions.env,this._logService,this._productService);if(i.type==="injection"){if(this._onDidChangeProperty.fire({type:"usedShellIntegrationInjection",value:!0}),i.envMixin)for(let[o,s]of Object.entries(i.envMixin))this._ptyOptions.env||={},this._ptyOptions.env[o]=s;if(i.filesToCopy)for(let o of i.filesToCopy)try{await tn.promises.mkdir(ke(o.dest),{recursive:!0}),await tn.promises.copyFile(o.source,o.dest)}catch{}}else this._onDidChangeProperty.fire({type:"failedShellIntegrationActivation",value:!0}),this._onDidChangeProperty.fire({type:"shellIntegrationInjectionFailureReason",value:i.reason}),this._options.shellIntegration.nonce&&(this._ptyOptions.env||={},this._ptyOptions.env.VSCODE_NONCE=this._options.shellIntegration.nonce);try{let o=i.type==="injection"?i:void 0;return await this.setupPtyProcess(this.shellLaunchConfig,this._ptyOptions,o),o?.newArgs?{injectedArgs:o.newArgs}:void 0}catch(o){this._logService.trace("node-pty.node-pty.IPty#spawn native exception",o);let s=o.message;return s?.includes("Cannot launch conpty")?{message:g(2407,null,"https://code.visualstudio.com/updates/v1_109#_removal-of-winpty-support","terminal.integrated.windowsUseConptyDll")}:{message:`A native exception occurred during launch (${s})`}}}async _validateCwd(){try{if(!(await tn.promises.stat(this._initialCwd)).isDirectory())return{message:g(2409,null,this._initialCwd.toString())}}catch(t){if(t?.code==="ENOENT")return{message:g(2408,null,this._initialCwd.toString())}}this._onDidChangeProperty.fire({type:"initialCwd",value:this._initialCwd})}async _validateExecutable(){let t=this.shellLaunchConfig;if(!t.executable)throw new Error("IShellLaunchConfig.executable not set");let n=t.cwd instanceof O?t.cwd.path:t.cwd,i=t.env&&t.env.PATH?t.env.PATH.split(ar):void 0,o=await ma(t.executable,n,i,this._executableEnv);if(!o)return{message:g(2410,null,t.executable)};try{let s=await tn.promises.stat(o);if(!s.isFile()&&!s.isSymbolicLink())return{message:g(2411,null,t.executable)};t.executable=o}catch(s){if(s?.code!=="EACCES")throw s}}async setupPtyProcess(t,n,i){let o=i?.newArgs||t.args||[];await this._throttleKillSpawn();let s={...n,env:Vn(n.env)};this._logService.trace("node-pty.IPty#spawn",t.executable,o,s);let a=hd(t.executable,o,n);if(this._ptyProcess=a,this._childProcessMonitor=this._register(new rt(a.pid,this._logService)),this._register(this._childProcessMonitor.onDidChangeHasChildProcesses(l=>this._onDidChangeProperty.fire({type:"hasChildProcesses",value:l}))),this._processStartupComplete=new Promise(l=>{this._register(this.onProcessReady(()=>l()))}),this._register(a.onData(l=>{this._unacknowledgedCharCount+=l.length,!this._isPtyPaused&&this._unacknowledgedCharCount>1e5&&(this._logService.trace(`Flow control: Pause (${this._unacknowledgedCharCount} > 100000)`),this._isPtyPaused=!0,a.pause()),this._logService.trace("node-pty.IPty#onData",l),this._onProcessData.fire(l),this._closeTimeout&&this._queueProcessExit(),this._windowsShellHelper?.checkShell(),this._childProcessMonitor?.handleOutput()})),this._register(a.onExit(l=>{this._exitCode=l.exitCode,this._queueProcessExit()})),a.pid>0)this._sendProcessId(a.pid);else{let l=a.onData(()=>{l.dispose(),this._childProcessMonitor?.setPid(a.pid),this._sendProcessId(a.pid)});this._register(l)}this._setupTitlePolling(a)}_setupTitlePolling(t){setTimeout(()=>this._sendProcessTitle(t)),w||(this._titleInterval=setInterval(()=>{this._currentTitle!==t.process&&this._sendProcessTitle(t)},200))}_queueProcessExit(){this._logService.getLevel()===1&&this._logService.trace("TerminalProcess#_queueProcessExit",new Error().stack?.replace(/^Error/,"")),this._closeTimeout&&clearTimeout(this._closeTimeout),this._closeTimeout=setTimeout(()=>{this._closeTimeout=void 0,this._kill()},250)}async _kill(){if(await this._processStartupComplete,!this._store.isDisposed){try{this._ptyProcess&&(await this._throttleKillSpawn(),this._logService.trace("node-pty.IPty#kill"),this._ptyProcess.kill())}catch{}this._onProcessExit.fire(this._exitCode||0),this.dispose()}}async _throttleKillSpawn(){if(!(!w||!gd(this._ptyOptions)||!this._ptyOptions.useConpty)&&!this._ptyOptions.useConptyDll){for(;Date.now()-Ue._lastKillOrStart<250;)this._logService.trace("Throttling kill/spawn call"),await pe(250-(Date.now()-Ue._lastKillOrStart)+50);Ue._lastKillOrStart=Date.now()}}_sendProcessId(t){this._onProcessReady.fire({pid:t,cwd:this._initialCwd,windowsPty:this.getWindowsPty()})}_sendProcessTitle(t){if(this._store.isDisposed)return;this._currentTitle=t.process??"",this._onDidChangeProperty.fire({type:"title",value:this._currentTitle});let n=this.currentTitle.replace(/ \(figterm\)$/g,"");if(w||(n=gt(n)),n.toLowerCase().startsWith("python"))this._onDidChangeProperty.fire({type:"shellType",value:"python"});else if(n.toLowerCase().startsWith("julia"))this._onDidChangeProperty.fire({type:"shellType",value:"julia"});else{let i=nl.get(n)||rl.get(n);this._onDidChangeProperty.fire({type:"shellType",value:i})}}shutdown(t){this._logService.getLevel()===1&&this._logService.trace("TerminalProcess#shutdown",new Error().stack?.replace(/^Error/,"")),t&&!w?this._kill():!this._closeTimeout&&!this._store.isDisposed&&(this._queueProcessExit(),setTimeout(()=>{this._closeTimeout&&!this._store.isDisposed&&(this._closeTimeout=void 0,this._kill())},5e3))}input(t,n=!1){this._logService.trace("node-pty.IPty#write",t,n),n?this._ptyProcess.write(Buffer.from(t,"binary")):this._ptyProcess.write(t),this._childProcessMonitor?.handleInput()}sendSignal(t){this._store.isDisposed||!this._ptyProcess||this._ptyProcess.kill(t)}async processBinary(t){this.input(t,!0)}async refreshProperty(t){switch(t){case"cwd":{let n=await this.getCwd();return n!==this._properties.cwd&&(this._properties.cwd=n,this._onDidChangeProperty.fire({type:"cwd",value:this._properties.cwd})),n}case"initialCwd":{let n=await this.getInitialCwd();return n!==this._properties.initialCwd&&(this._properties.initialCwd=n,this._onDidChangeProperty.fire({type:"initialCwd",value:this._properties.initialCwd})),n}case"title":return this.currentTitle;default:return this.shellType}}async updateProperty(t,n){t==="fixedDimensions"&&(this._properties.fixedDimensions=n)}resize(t,n,i,o){if(!this._store.isDisposed&&!(!Ae(t)||!Ae(n))&&this._ptyProcess){if(t=Math.max(t,1),n=Math.max(n,1),this._delayedResizer){this._delayedResizer.cols=t,this._delayedResizer.rows=n;return}this._logService.trace("node-pty.IPty#resize",t,n);try{let s=i!==void 0&&o!==void 0?{width:i,height:o}:void 0;this._ptyProcess.resize(t,n,s)}catch(s){if(this._logService.trace("node-pty.IPty#resize exception "+s.message),this._exitCode!==void 0&&s.message!=="ioctl(2) failed, EBADF"&&s.message!=="Cannot resize a pty that has already exited")throw s}}}clearBuffer(){this._ptyProcess?.clear()}acknowledgeDataEvent(t){this._unacknowledgedCharCount=Math.max(this._unacknowledgedCharCount-t,0),this._logService.trace(`Flow control: Ack ${t} chars (unacknowledged: ${this._unacknowledgedCharCount})`),this._isPtyPaused&&this._unacknowledgedCharCount<5e3&&(this._logService.trace(`Flow control: Resume (${this._unacknowledgedCharCount} < 5000)`),this._ptyProcess?.resume(),this._isPtyPaused=!1)}clearUnacknowledgedChars(){this._unacknowledgedCharCount=0,this._logService.trace("Flow control: Cleared all unacknowledged chars, forcing resume"),this._isPtyPaused&&(this._ptyProcess?.resume(),this._isPtyPaused=!1)}async setUnicodeVersion(t){}getInitialCwd(){return Promise.resolve(this._initialCwd)}async getCwd(){if(ve)return new Promise(t=>{if(!this._ptyProcess){t(this._initialCwd);return}this._logService.trace("node-pty.IPty#pid"),fd("lsof -OPln -p "+this._ptyProcess.pid+" | grep cwd",{env:{...process.env,LANG:"en_US.UTF-8"}},(n,i,o)=>{!n&&i!==""?t(i.substring(i.indexOf("/"),i.length-1)):(this._logService.error("lsof did not run successfully, it may not be on the $PATH?",n,i,o),t(this._initialCwd))})});if(Ce){if(!this._ptyProcess)return this._initialCwd;this._logService.trace("node-pty.IPty#pid");try{return await tn.promises.readlink(`/proc/${this._ptyProcess.pid}/cwd`)}catch{return this._initialCwd}}return this._initialCwd}getWindowsPty(){return w?{backend:"conpty",buildNumber:To()}:void 0}};Ue=f([he(7,Pe),he(8,Za)],Ue);var Eo=class extends C{constructor(){super();this._onTrigger=this._register(new v);this._timeout=setTimeout(()=>{this._onTrigger.fire({rows:this.rows,cols:this.cols})},1e3),this._register(Y(()=>clearTimeout(this._timeout)))}get onTrigger(){return this._onTrigger.event}};function gd(r){return"useConpty"in r}var Xe=class extends C{constructor(){super(...arguments);this._map=new Map;this._onDidAddCapability=this._register(new v);this._onDidRemoveCapability=this._register(new v)}get onDidAddCapability(){return this._onDidAddCapability.event}get onDidRemoveCapability(){return this._onDidRemoveCapability.event}get onDidChangeCapabilities(){return E.map(E.any(this._onDidAddCapability.event,this._onDidRemoveCapability.event),()=>{},this._store)}get onDidAddCommandDetectionCapability(){return E.map(E.filter(this.onDidAddCapability,t=>t.id===2,this._store),t=>t.capability,this._store)}get onDidRemoveCommandDetectionCapability(){return E.map(E.filter(this.onDidRemoveCapability,t=>t.id===2,this._store),()=>{},this._store)}get onDidAddCwdDetectionCapability(){return E.map(E.filter(this.onDidAddCapability,t=>t.id===0,this._store),t=>t.capability,this._store)}get onDidRemoveCwdDetectionCapability(){return E.map(E.filter(this.onDidRemoveCapability,t=>t.id===0,this._store),()=>{},this._store)}get items(){return this._map.keys()}createOnDidRemoveCapabilityOfTypeEvent(t){return E.map(E.filter(this.onDidRemoveCapability,n=>n.id===t),n=>n.capability)}createOnDidAddCapabilityOfTypeEvent(t){return E.map(E.filter(this.onDidAddCapability,n=>n.id===t),n=>n.capability)}add(t,n){this._map.set(t,n),this._onDidAddCapability.fire(Po(t,n))}get(t){return this._map.get(t)}remove(t){let n=this._map.get(t);n&&(this._map.delete(t),this._onDidRemoveCapability.fire(Po(t,n)))}has(t){return this._map.has(t)}};f([R],Xe.prototype,"onDidChangeCapabilities",1),f([R],Xe.prototype,"onDidAddCommandDetectionCapability",1),f([R],Xe.prototype,"onDidRemoveCommandDetectionCapability",1),f([R],Xe.prototype,"onDidAddCwdDetectionCapability",1),f([R],Xe.prototype,"onDidRemoveCwdDetectionCapability",1);var Pt=class extends C{constructor(){super(...arguments);this._stores=[];this._onDidAddCapability=this._register(new v);this._onDidRemoveCapability=this._register(new v)}get onDidAddCapability(){return this._onDidAddCapability.event}get onDidRemoveCapability(){return this._onDidRemoveCapability.event}get onDidChangeCapabilities(){return E.map(E.any(this._onDidAddCapability.event,this._onDidRemoveCapability.event),()=>{},this._store)}get onDidAddCommandDetectionCapability(){return E.map(E.filter(this.onDidAddCapability,t=>t.id===2,this._store),t=>t.capability,this._store)}get onDidRemoveCommandDetectionCapability(){return E.map(E.filter(this.onDidRemoveCapability,t=>t.id===2,this._store),()=>{},this._store)}get onDidAddCwdDetectionCapability(){return E.map(E.filter(this.onDidAddCapability,t=>t.id===0,this._store),t=>t.capability,this._store)}get onDidRemoveCwdDetectionCapability(){return E.map(E.filter(this.onDidRemoveCapability,t=>t.id===0,this._store),()=>{},this._store)}get items(){return this._items()}createOnDidRemoveCapabilityOfTypeEvent(t){return E.map(E.filter(this.onDidRemoveCapability,n=>n.id===t),n=>n.capability)}createOnDidAddCapabilityOfTypeEvent(t){return E.map(E.filter(this.onDidAddCapability,n=>n.id===t),n=>n.capability)}*_items(){for(let t of this._stores)for(let n of t.items)yield n}has(t){for(let n of this._stores)for(let i of n.items)if(i===t)return!0;return!1}get(t){for(let n of this._stores){let i=n.get(t);if(i)return i}}add(t){this._stores.push(t);for(let n of t.items)this._onDidAddCapability.fire(Po(n,t.get(n)));this._register(t.onDidAddCapability(n=>this._onDidAddCapability.fire(n))),this._register(t.onDidRemoveCapability(n=>this._onDidRemoveCapability.fire(n)))}};f([R],Pt.prototype,"onDidChangeCapabilities",1),f([R],Pt.prototype,"onDidAddCommandDetectionCapability",1),f([R],Pt.prototype,"onDidRemoveCommandDetectionCapability",1),f([R],Pt.prototype,"onDidAddCwdDetectionCapability",1),f([R],Pt.prototype,"onDidRemoveCwdDetectionCapability",1);function Po(r,e){return{id:r,capability:e}}var Wn=class r{constructor(e,t){this._xterm=e;this._properties=t}get command(){return this._properties.command}get commandLineConfidence(){return this._properties.commandLineConfidence}get isTrusted(){return this._properties.isTrusted}get timestamp(){return this._properties.timestamp}get duration(){return this._properties.duration}get promptStartMarker(){return this._properties.promptStartMarker}get marker(){return this._properties.marker}get endMarker(){return this._properties.endMarker}set endMarker(e){this._properties.endMarker=e}get executedMarker(){return this._properties.executedMarker}get aliases(){return this._properties.aliases}get wasReplayed(){return this._properties.wasReplayed}get cwd(){return this._properties.cwd}get exitCode(){return this._properties.exitCode}get commandStartLineContent(){return this._properties.commandStartLineContent}get markProperties(){return this._properties.markProperties}get executedX(){return this._properties.executedX}get startX(){return this._properties.startX}get id(){return this._properties.id}static deserialize(e,t,n){let i=e.buffer.normal,o=t.startLine!==void 0?e.registerMarker(t.startLine-(i.baseY+i.cursorY)):void 0;if(!o)return;let s=t.promptStartLine!==void 0?e.registerMarker(t.promptStartLine-(i.baseY+i.cursorY)):void 0,a=t.endLine!==void 0?e.registerMarker(t.endLine-(i.baseY+i.cursorY)):void 0,l=t.executedLine!==void 0?e.registerMarker(t.executedLine-(i.baseY+i.cursorY)):void 0;return new r(e,{command:n?"":t.command,commandLineConfidence:t.commandLineConfidence??"low",isTrusted:t.isTrusted,id:t.id,promptStartMarker:s,marker:o,startX:t.startX,endMarker:a,executedMarker:l,executedX:t.executedX,timestamp:t.timestamp,duration:t.duration,cwd:t.cwd,commandStartLineContent:t.commandStartLineContent,exitCode:t.exitCode,markProperties:t.markProperties,aliases:void 0,wasReplayed:!0})}serialize(e){return{promptStartLine:this.promptStartMarker?.line,startLine:this.marker?.line,startX:void 0,endLine:this.endMarker?.line,executedLine:this.executedMarker?.line,executedX:this.executedX,command:e?"":this.command,commandLineConfidence:e?"low":this.commandLineConfidence,isTrusted:this.isTrusted,cwd:this.cwd,exitCode:this.exitCode,commandStartLineContent:this.commandStartLineContent,timestamp:this.timestamp,duration:this.duration,markProperties:this.markProperties,id:this.id}}extractCommandLine(){return ol(this._xterm.buffer.active,this._xterm.cols,this.marker,this.startX,this.executedMarker,this.executedX)}getOutput(){if(!this.executedMarker||!this.endMarker)return;let e=this.executedMarker.line,t=this.endMarker.line;if(e===t)return;let n="",i="",o,s=this._xterm.buffer.active;for(let a=e;a<t;a++){if(o=s.getLine(a),!o)continue;let l=a+1<t?!!s.getLine(a+1)?.isWrapped:!1;i+=o.translateToString(!l),l||(n+=i+`
`,i="")}return i.length>0&&(n+=i),n===""?void 0:n}getOutputMatch(e){if(!this.executedMarker||!this.endMarker)return;let t=this.endMarker.line;if(t===-1)return;let n=this._xterm.buffer.active,i=Math.max(this.executedMarker.line,0),o=e.lineMatcher,s=G(o)?1:e.length||vd(o),a=[],l;if(e.anchor==="bottom")for(let c=t-(e.offset||0);c>=i;c--){let p=c,u=c;for(;p>=i&&n.getLine(p)?.isWrapped;)p--;if(c=p,a.unshift(il(n,p,u,this._xterm.cols)),l||(l=a[0].match(o)),a.length>=s)break}else for(let c=i+(e.offset||0);c<t;c++){let p=c,u=c;for(;u+1<t&&n.getLine(u+1)?.isWrapped;)u++;if(c=u,a.push(il(n,p,u,this._xterm.cols)),l||(l=a[a.length-1].match(o)),a.length>=s)break}return l?{regexMatch:l,outputLines:a}:void 0}hasOutput(){return!this.executedMarker?.isDisposed&&!this.endMarker?.isDisposed&&!!(this.executedMarker&&this.endMarker&&this.executedMarker.line<this.endMarker.line)}getPromptRowCount(){return sl(this,this._xterm.buffer.active)}getCommandRowCount(){return al(this)}},zn=class{constructor(e,t){this._xterm=e;this.id=t??Nr()}serialize(e){if(this.commandStartMarker)return{promptStartLine:this.promptStartMarker?.line,startLine:this.commandStartMarker.line,startX:this.commandStartX,endLine:void 0,executedLine:void 0,executedX:void 0,command:"",commandLineConfidence:"low",isTrusted:!0,cwd:e,exitCode:void 0,commandStartLineContent:void 0,timestamp:0,duration:0,markProperties:void 0,id:this.id}}promoteToFullCommand(e,t,n,i){if(t===void 0&&this.command===void 0&&(this.command=""),this.command!==void 0&&!this.command.startsWith("\\")||n)return new Wn(this._xterm,{command:n?"":this.command||"",commandLineConfidence:n?"low":this.commandLineConfidence||"low",isTrusted:!!this.isTrusted,id:this.id,promptStartMarker:this.promptStartMarker,marker:this.commandStartMarker,startX:this.commandStartX,endMarker:this.commandFinishedMarker,executedMarker:this.commandExecutedMarker,executedX:this.commandExecutedX,timestamp:Date.now(),duration:this.commandDuration||0,cwd:e,exitCode:t,commandStartLineContent:this.commandStartLineContent,markProperties:i})}markExecutedTime(){this.commandExecutedTimestamp===void 0&&(this.commandExecutedTimestamp=Date.now())}markFinishedTime(){this.commandDuration===void 0&&this.commandExecutedTimestamp!==void 0&&(this.commandDuration=Date.now()-this.commandExecutedTimestamp)}extractCommandLine(){return ol(this._xterm.buffer.active,this._xterm.cols,this.commandStartMarker,this.commandStartX,this.commandExecutedMarker,this.commandExecutedX)}getPromptRowCount(){return sl(this,this._xterm.buffer.active)}getCommandRowCount(){return al(this)}};function ol(r,e,t,n,i,o){if(!t||!i||n===void 0||o===void 0)return"";let s="";for(let a=t.line;a<=i.line;a++){let l=r.getLine(a);l&&(s+=l.translateToString(!0,a===t.line?n:0,a===i.line?o:e))}return s}function il(r,e,t,n){let i=Math.max(2048/n*2);t=Math.min(t,e+i);let o="";for(let s=e;s<=t;s++){let a=r.getLine(s);a&&(o+=a.translateToString(!0,0,n))}return o}function vd(r){if(!r.multiline)return 1;let e=r.source,t=1,n=e.indexOf("\\n");for(;n!==-1;)t++,n=e.indexOf("\\n",n+1);return t}function sl(r,e){let t=it(r)?r.marker:r.commandStartMarker;if(!t||!r.promptStartMarker)return 1;let n=1,i=r.promptStartMarker.line;for(;i<t.line&&(e.getLine(i)?.translateToString(!0)??"").length===0;)i++;return n=t.line-i+1,n}function al(r){let e=it(r)?r.marker:r.commandStartMarker,t=it(r)?r.executedMarker:r.commandExecutedMarker;if(!e||!t)return 1;let i=Math.max(t.line,e.line)-e.line+1;return(it(r)?r.executedX:r.commandExecutedX)===0&&i--,i}function it(r){return!!r.hasOutput}var Ct=class extends C{constructor(t,n,i,o,s,a){super();this._xterm=t;this._logService=a;this._state=0;this._commandStartX=0;this._lastUserInput="";this._value="";this._cursorIndex=0;this._ghostTextIndex=-1;this._onDidStartInput=this._register(new v);this.onDidStartInput=this._onDidStartInput.event;this._onDidChangeInput=this._register(new v);this.onDidChangeInput=this._onDidChangeInput.event;this._onDidFinishInput=this._register(new v);this.onDidFinishInput=this._onDidFinishInput.event;this._onDidInterrupt=this._register(new v);this.onDidInterrupt=this._onDidInterrupt.event;this._register(E.any(this._xterm.onCursorMove,this._xterm.onData,this._xterm.onWriteParsed)(()=>this._sync())),this._register(this._xterm.onData(l=>this._handleUserInput(l))),this._register(n(l=>this._handleCommandStart(l))),this._register(i(()=>this._handleCommandStartChanged())),this._register(o(()=>this._handleCommandExecuted())),this._register(s(()=>this._handleCommandFinished())),this._register(this.onDidStartInput(()=>this._logCombinedStringIfTrace("PromptInputModel#onDidStartInput"))),this._register(this.onDidChangeInput(()=>this._logCombinedStringIfTrace("PromptInputModel#onDidChangeInput"))),this._register(this.onDidFinishInput(()=>this._logCombinedStringIfTrace("PromptInputModel#onDidFinishInput"))),this._register(this.onDidInterrupt(()=>this._logCombinedStringIfTrace("PromptInputModel#onDidInterrupt")))}get state(){return this._state}get value(){return this._value}get prefix(){return this._value.substring(0,this._cursorIndex)}get suffix(){return this._value.substring(this._cursorIndex,this._ghostTextIndex===-1?void 0:this._ghostTextIndex)}get cursorIndex(){return this._cursorIndex}get ghostTextIndex(){return this._ghostTextIndex}_logCombinedStringIfTrace(t){this._logService.getLevel()===1&&this._logService.trace(t,this.getCombinedString())}setShellType(t){this._shellType=t}setContinuationPrompt(t){this._continuationPrompt=t,this._sync()}setLastPromptLine(t){this._lastPromptLine=t,this._sync()}setConfidentCommandLine(t){this._value!==t&&(this._value=t,this._cursorIndex=-1,this._ghostTextIndex=-1,this._onDidChangeInput.fire(this._createStateObject()))}getCombinedString(t){let n=this._value.replaceAll(`
`,"\u23CE");if(this._cursorIndex===-1)return n;let i=`${n.substring(0,this.cursorIndex)}|`;return this.ghostTextIndex!==-1?(i+=`${n.substring(this.cursorIndex,this.ghostTextIndex)}[`,i+=`${n.substring(this.ghostTextIndex)}]`):i+=n.substring(this.cursorIndex),i==="|"&&t?"":i}serialize(){return{modelState:this._createStateObject(),commandStartX:this._commandStartX,lastPromptLine:this._lastPromptLine,continuationPrompt:this._continuationPrompt,lastUserInput:this._lastUserInput}}deserialize(t){this._value=t.modelState.value,this._cursorIndex=t.modelState.cursorIndex,this._ghostTextIndex=t.modelState.ghostTextIndex,this._commandStartX=t.commandStartX,this._lastPromptLine=t.lastPromptLine,this._continuationPrompt=t.continuationPrompt,this._lastUserInput=t.lastUserInput}_handleCommandStart(t){this._state!==1&&(this._state=1,this._commandStartMarker=t.marker,this._commandStartX=this._xterm.buffer.active.cursorX,this._value="",this._cursorIndex=0,this._onDidStartInput.fire(this._createStateObject()),this._onDidChangeInput.fire(this._createStateObject()),this._lastPromptLine&&this._commandStartX!==this._lastPromptLine.length&&this._xterm.buffer.active.getLine(this._commandStartMarker.line)?.translateToString(!0).startsWith(this._lastPromptLine)&&(this._commandStartX=this._lastPromptLine.length,this._sync()))}_handleCommandStartChanged(){this._state===1&&(this._commandStartX=this._xterm.buffer.active.cursorX,this._onDidChangeInput.fire(this._createStateObject()),this._sync())}_handleCommandExecuted(){if(this._state===2)return;this._cursorIndex=-1,this._ghostTextIndex!==-1&&(this._value=this._value.substring(0,this._ghostTextIndex),this._ghostTextIndex=-1);let t=this._createStateObject();this._lastUserInput===""&&(this._lastUserInput="",this._onDidInterrupt.fire(t)),this._state=2,this._onDidFinishInput.fire(t),this._onDidChangeInput.fire(t)}_handleCommandFinished(){this._value="",this._onDidChangeInput.fire(this._createStateObject())}_sync(){try{this._doSync()}catch(t){this._logService.error("Error while syncing prompt input model",t)}}_doSync(){if(this._state!==1)return;let t=this._commandStartMarker?.line;if(t===void 0)return;let n=this._xterm.buffer.active,i=n.getLine(t),o=n.baseY+n.cursorY,s,a=i?.translateToString(!0,this._commandStartX);if(this._shellType==="fish"&&(!i||!a)&&(t+=1,i=n.getLine(t),i&&(a=i.translateToString(!0),s=o===t?n.cursorX:a?.trimEnd().length)),i===void 0||a===void 0){this._logService.trace("PromptInputModel#_sync: no line");return}let l=a,c=-1;s===void 0&&(o===t?s=Math.min(this._getRelativeCursorIndex(this._commandStartX,n,i),a.length):s=a.trimEnd().length);for(let p=t+1;p<=o;p++){let u=n.getLine(p),d=u?.translateToString(!0);if(d&&u){if(u.isWrapped||o===p&&this._continuationPrompt&&!this._lineContainsContinuationPrompt(d)){l+=`${d}`;let m=this._getRelativeCursorIndex(0,n,u);o===p?s+=m:s+=d.length}else if(this._shellType==="fish")l.endsWith("\\")?(l=l.substring(0,l.length-1),l+=`${d.trim()}`,s+=d.trim().length-1):/^ {6,}/.test(d)?(l+=`
${d.trim()}`,s+=d.trim().length+1):(l+=d,s+=d.length);else if(this._continuationPrompt===void 0||this._lineContainsContinuationPrompt(d)){let m=this._trimContinuationPrompt(d);if(l+=`
${m}`,o===p){let h=this._getContinuationPromptCellWidth(u,d),b=this._getRelativeCursorIndex(h,n,u);s+=b+1}else s+=m.length+1}}}for(let p=o+1;p<n.baseY+this._xterm.rows;p++){let u=n.getLine(p),d=u?.translateToString(!0);if(d&&u)this._shellType==="fish"?l+=`${d}`:this._continuationPrompt===void 0||this._lineContainsContinuationPrompt(d)?l+=`
${this._trimContinuationPrompt(d)}`:l+=d;else break}this._logService.getLevel()===1&&this._logService.trace(`PromptInputModel#_sync: ${this.getCombinedString()}`);{let p=this._value.length-this._value.trimEnd().length;this._lastUserInput==="\x7F"&&(this._lastUserInput="",s===this._cursorIndex-1&&(this._value.trimEnd().length>l.trimEnd().length&&l.trimEnd().length<=s?p=Math.max(this._value.length-1-l.trimEnd().length,0):p=Math.max(p-1,0))),this._lastUserInput==="\x1B[3~"&&(this._lastUserInput="",s===this._cursorIndex&&(p=Math.max(p-1,0)));let u=l.split(`
`),d=u.length>1,m=l.trimEnd();if(!d){m.length<l.length&&(this._lastUserInput===" "&&(this._lastUserInput="",s>m.length&&s>this._cursorIndex&&p++),p=Math.max(s-m.length,p,0));let h=s===0?"":l[s-1];p>0&&s===this._cursorIndex+1&&this._lastUserInput!==""&&h!==" "&&(p=this._value.length-this._cursorIndex)}if(d){u[u.length-1]=u.at(-1)?.trimEnd()??"";let h=(u.length-1)*(this._continuationPrompt?.length??0);p=Math.max(0,s-l.length-h)}l=u.map(h=>h.trimEnd()).join(`
`)+" ".repeat(p)}c=this._scanForGhostText(n,i,s),(this._value!==l||this._cursorIndex!==s||this._ghostTextIndex!==c)&&(this._value=l,this._cursorIndex=s,this._ghostTextIndex=c,this._onDidChangeInput.fire(this._createStateObject()))}_handleUserInput(t){this._lastUserInput=t}_scanForGhostText(t,n,i){if(!this.value.trim().length)return-1;let o=-1,s=!1,a=t.cursorX;for(;a>0;){let l=n.getCell(--a);if(!l)break;if(l.getChars().trim().length>0){s=!this._isCellStyledLikeGhostText(l);break}}if(s){let l=0,c=t.cursorX;for(;c<n.length;){let p=n.getCell(c++);if(!p||p.getCode()===0)break;if(this._isCellStyledLikeGhostText(p)){o=i+l;break}l+=p.getChars().length}}return o===-1&&(o=this._scanForGhostTextAdvanced(t,n,i)),o>-1&&this.value.substring(o).endsWith(" ")&&(this._value=this.value.trim(),this.value.substring(o)||(o=-1)),o}_scanForGhostTextAdvanced(t,n,i){let o=-1,s=t.cursorX,a=new Map,l=n.getCell(s),c=l;for(;c&&s<n.length;){let u=this._getCellStyleAsString(c);a.set(u,[...a.get(u)??[],s]),c=n.getCell(++s),c?.getChars().trim().length&&(l=c)}if(!l?.getChars().trim().length||this._cellStylesMatch(n.getCell(this._commandStartX),l))return-1;let p=a.get(this._getCellStyleAsString(l));if(p){if(p[0]>t.cursorX+1&&this._isPositionRightPrompt(n,p[0]))return-1;for(let u=1;u<p.length;u++)if(p[u]!==p[u-1]+1)return-1;t.baseY+t.cursorY===this._commandStartMarker?.line?o=p[0]-this._commandStartX:o=p[0]}if(o!==-1)for(let u=t.cursorX;u>=this._commandStartX;u--){let d=n.getCell(u);if(d?.getChars.length&&d&&d.getCode()!==0&&this._cellStylesMatch(l,d))return-1}return o>=i?o:-1}_isPositionRightPrompt(t,n){let i=0;for(let o=n-1;o>=this._commandStartX;o--){let s=t.getCell(o);if(!s||s.getChars().trim().length===0){if(i++,i>=5)return!0}else i=0}return!1}_getCellStyleAsString(t){return`${t.getFgColor()}${t.getBgColor()}${t.isBold()}${t.isItalic()}${t.isDim()}${t.isUnderline()}${t.isBlink()}${t.isInverse()}${t.isInvisible()}${t.isStrikethrough()}${t.isOverline()}${t.getFgColorMode()}${t.getBgColorMode()}`}_cellStylesMatch(t,n){return!t||!n?!1:t.getFgColor()===n.getFgColor()&&t.getBgColor()===n.getBgColor()&&t.isBold()===n.isBold()&&t.isItalic()===n.isItalic()&&t.isDim()===n.isDim()&&t.isUnderline()===n.isUnderline()&&t.isBlink()===n.isBlink()&&t.isInverse()===n.isInverse()&&t.isInvisible()===n.isInvisible()&&t.isStrikethrough()===n.isStrikethrough()&&t.isOverline()===n.isOverline()&&t?.getBgColorMode()===n?.getBgColorMode()&&t?.getFgColorMode()===n?.getFgColorMode()}_trimContinuationPrompt(t){return this._lineContainsContinuationPrompt(t)&&(t=t.substring(this._continuationPrompt.length)),t}_lineContainsContinuationPrompt(t){return!!(this._continuationPrompt&&t.startsWith(this._continuationPrompt.trimEnd()))}_getContinuationPromptCellWidth(t,n){if(!this._continuationPrompt||!n.startsWith(this._continuationPrompt.trimEnd()))return 0;let i="",o=0,s;for(;i!==this._continuationPrompt&&(s=t.getCell(o++),!!s);)i+=s.getChars();return o}_getRelativeCursorIndex(t,n,i){return i?.translateToString(!1,t,n.cursorX).length??0}_isCellStyledLikeGhostText(t){return!!(t.isItalic()||t.isDim())}_createStateObject(){return Object.freeze({value:this._value,prefix:this.prefix,suffix:this.suffix,cursorIndex:this._cursorIndex,ghostTextIndex:this._ghostTextIndex})}};f([br(0)],Ct.prototype,"_sync",1),Ct=f([he(5,Pe)],Ct);var kt=class extends C{constructor(t,n){super();this._terminal=t;this._logService=n;this.type=2;this._commands=[];this._commandMarkers=[];this.__isCommandStorageDisabled=!1;this._hasRichCommandDetection=!1;this._onCommandStarted=this._register(new v);this.onCommandStarted=this._onCommandStarted.event;this._onCommandStartChanged=this._register(new v);this.onCommandStartChanged=this._onCommandStartChanged.event;this._onBeforeCommandFinished=this._register(new v);this.onBeforeCommandFinished=this._onBeforeCommandFinished.event;this._onCommandFinished=this._register(new v);this.onCommandFinished=this._onCommandFinished.event;this._onCommandExecuted=this._register(new v);this.onCommandExecuted=this._onCommandExecuted.event;this._onCommandInvalidated=this._register(new v);this.onCommandInvalidated=this._onCommandInvalidated.event;this._onCurrentCommandInvalidated=this._register(new v);this.onCurrentCommandInvalidated=this._onCurrentCommandInvalidated.event;this._onSetRichCommandDetection=this._register(new v);this.onSetRichCommandDetection=this._onSetRichCommandDetection.event;this._currentCommand=new zn(this._terminal),this._promptInputModel=this._register(new Ct(this._terminal,this.onCommandStarted,this.onCommandStartChanged,this.onCommandExecuted,this.onCommandFinished,this._logService)),this._register(this.onCommandExecuted(o=>{if(o.commandLineConfidence!=="high"){let s=o;o.command=s.extractCommandLine(),o.commandLineConfidence="low",it(s)?s.promptStartMarker&&s.marker&&s.executedMarker&&o.command.indexOf(`
`)===-1&&s.startX!==void 0&&s.startX>0&&(o.commandLineConfidence="medium"):s.promptStartMarker&&s.commandStartMarker&&s.commandExecutedMarker&&o.command.indexOf(`
`)===-1&&s.commandStartX!==void 0&&s.commandStartX>0&&(o.commandLineConfidence="medium")}})),this._register(this._terminal.parser.registerCsiHandler({final:"J"},o=>(o.length>=1&&o[0]===2&&(this._terminal.options.scrollOnEraseInDisplay||this._clearCommandsInViewport(),this._currentCommand.wasCleared=!0),!1)));let i=this;this._ptyHeuristicsHooks=new class{get onCurrentCommandInvalidatedEmitter(){return i._onCurrentCommandInvalidated}get onCommandStartedEmitter(){return i._onCommandStarted}get onCommandExecutedEmitter(){return i._onCommandExecuted}get dimensions(){return i._dimensions}get isCommandStorageDisabled(){return i.__isCommandStorageDisabled}get commandMarkers(){return i._commandMarkers}set commandMarkers(o){i._commandMarkers=o}get clearCommandsInViewport(){return i._clearCommandsInViewport.bind(i)}},this._ptyHeuristics=this._register(new Jn(new qn(this._terminal,this,this._ptyHeuristicsHooks,this._logService))),this._dimensions={cols:this._terminal.cols,rows:this._terminal.rows},this._register(this._terminal.onResize(o=>this._handleResize(o))),this._register(this._terminal.onCursorMove(()=>this._handleCursorMove()))}get promptInputModel(){return this._promptInputModel}get hasRichCommandDetection(){return this._hasRichCommandDetection}get commands(){return this._commands}get executingCommand(){return this._currentCommand.command}get executingCommandObject(){if(this._currentCommand.commandStartMarker)return this._currentCommand.promoteToFullCommand(this._cwd,void 0,this._handleCommandStartOptions?.ignoreCommandLine??!1,void 0)}get executingCommandConfidence(){let t=this._currentCommand;return it(t)?t.commandLineConfidence:void 0}get currentCommand(){return this._currentCommand}get cwd(){return this._cwd}get promptTerminator(){return this._promptTerminator}_handleResize(t){this._ptyHeuristics.value.preHandleResize?.(t),this._dimensions.cols=t.cols,this._dimensions.rows=t.rows}_handleCursorMove(){this._store.isDisposed||this._terminal.buffer.active===this._terminal.buffer.normal&&this._currentCommand.commandStartMarker&&this._terminal.buffer.active.baseY+this._terminal.buffer.active.cursorY<this._currentCommand.commandStartMarker.line&&(this._clearCommandsInViewport(),this._currentCommand.isInvalid=!0,this._onCurrentCommandInvalidated.fire({reason:"windows"}))}_clearCommandsInViewport(){let t=0;for(let n=this._commands.length-1;n>=0;n--){let i=this._commands[n].marker?.line;if(i&&i<this._terminal.buffer.active.baseY)break;t++}t>0&&this._onCommandInvalidated.fire(this._commands.splice(this._commands.length-t,t))}setContinuationPrompt(t){this._promptInputModel.setContinuationPrompt(t)}setPromptTerminator(t,n){this._logService.debug("CommandDetectionCapability#setPromptTerminator",t),this._promptTerminator=t,this._promptInputModel.setLastPromptLine(n)}setCwd(t){this._cwd=t}setIsWindowsPty(t){if(t&&!(this._ptyHeuristics.value instanceof Rt)){let n=this;this._ptyHeuristics.value=new Rt(this._terminal,this,new class{get onCurrentCommandInvalidatedEmitter(){return n._onCurrentCommandInvalidated}get onCommandStartedEmitter(){return n._onCommandStarted}get onCommandExecutedEmitter(){return n._onCommandExecuted}get dimensions(){return n._dimensions}get isCommandStorageDisabled(){return n.__isCommandStorageDisabled}get commandMarkers(){return n._commandMarkers}set commandMarkers(i){n._commandMarkers=i}get clearCommandsInViewport(){return n._clearCommandsInViewport.bind(n)}},this._logService)}else!t&&!(this._ptyHeuristics.value instanceof qn)&&(this._ptyHeuristics.value=new qn(this._terminal,this,this._ptyHeuristicsHooks,this._logService))}setHasRichCommandDetection(t){this._hasRichCommandDetection=t,this._onSetRichCommandDetection.fire(t)}setIsCommandStorageDisabled(){this.__isCommandStorageDisabled=!0}getCommandForLine(t){if(this._currentCommand.promptStartMarker&&t>=this._currentCommand.promptStartMarker?.line)return this._currentCommand;if(this._commands.length!==0&&!((this._commands[0].promptStartMarker??this._commands[0].marker).line>t)){for(let n=this.commands.length-1;n>=0;n--)if((this.commands[n].promptStartMarker??this.commands[n].marker).line<=t)return this.commands[n]}}getCwdForLine(t){if(this._currentCommand.promptStartMarker&&t>=this._currentCommand.promptStartMarker?.line)return this._cwd;let n=this.getCommandForLine(t);if(n&&it(n))return n.cwd}handlePromptStart(t){let n=this.commands.at(-1);n?.endMarker&&n?.executedMarker&&n.endMarker.line===n.executedMarker.line&&n.executedMarker.line<this._terminal.buffer.active.baseY+this._terminal.buffer.active.cursorY&&(this._logService.debug("CommandDetectionCapability#handlePromptStart adjusted commandFinished",`${n.endMarker.line} -> ${n.executedMarker.line+1}`),n.endMarker=$n(this._terminal,n.executedMarker,1)),this._currentCommand.promptStartMarker=t?.marker||(!this._currentCommand.wasCleared&&n?.endMarker?$n(this._terminal,n.endMarker):this._terminal.registerMarker(0)),this._currentCommand.wasCleared=!1}handleContinuationStart(){this._currentCommand.currentContinuationMarker=this._terminal.registerMarker(0),this._logService.debug("CommandDetectionCapability#handleContinuationStart",this._currentCommand.currentContinuationMarker)}handleContinuationEnd(){if(!this._currentCommand.currentContinuationMarker){this._logService.warn("CommandDetectionCapability#handleContinuationEnd Received continuation end without start");return}this._currentCommand.continuations||(this._currentCommand.continuations=[]),this._currentCommand.continuations.push({marker:this._currentCommand.currentContinuationMarker,end:this._terminal.buffer.active.cursorX}),this._currentCommand.currentContinuationMarker=void 0,this._logService.debug("CommandDetectionCapability#handleContinuationEnd",this._currentCommand.continuations[this._currentCommand.continuations.length-1])}handleRightPromptStart(){this._currentCommand.commandRightPromptStartX=this._terminal.buffer.active.cursorX,this._logService.debug("CommandDetectionCapability#handleRightPromptStart",this._currentCommand.commandRightPromptStartX)}handleRightPromptEnd(){this._currentCommand.commandRightPromptEndX=this._terminal.buffer.active.cursorX,this._logService.debug("CommandDetectionCapability#handleRightPromptEnd",this._currentCommand.commandRightPromptEndX)}handleCommandStart(t){if(this._handleCommandStartOptions=t,this._currentCommand.cwd=this._cwd,this._currentCommand.commandStartMarker=t?.marker||this._currentCommand.commandStartMarker,this._currentCommand.commandStartMarker?.line===this._terminal.buffer.active.cursorY){this._currentCommand.commandStartX=this._terminal.buffer.active.cursorX,this._onCommandStartChanged.fire(),this._logService.debug("CommandDetectionCapability#handleCommandStart",this._currentCommand.commandStartX,this._currentCommand.commandStartMarker?.line);return}this._ptyHeuristics.value.handleCommandStart(t)}setNextCommandId(t,n){this._nextCommandId={command:t,commandId:n}}handleCommandExecuted(t){this._ensureCurrentCommandId(this._currentCommand.command??this._currentCommand.extractCommandLine()),this._ptyHeuristics.value.handleCommandExecuted(t),this._currentCommand.markExecutedTime()}handleCommandFinished(t,n){if(this._currentCommand.commandExecutedMarker||this.handleCommandExecuted(),this._currentCommand.markFinishedTime(),this._ptyHeuristics.value.preHandleCommandFinished?.(),this._logService.debug("CommandDetectionCapability#handleCommandFinished",this._terminal.buffer.active.cursorX,n?.marker?.line,this._currentCommand.command,this._currentCommand),t===void 0){let o=this.commands.length>0?this.commands[this.commands.length-1]:void 0;this._currentCommand.command&&this._currentCommand.command.length>0&&o?.command===this._currentCommand.command&&(t=o.exitCode)}if(this._currentCommand.commandStartMarker===void 0||!this._terminal.buffer.active)return;this._currentCommand.commandFinishedMarker=n?.marker||this._terminal.registerMarker(0),this._ptyHeuristics.value.postHandleCommandFinished?.();let i=this._currentCommand.promoteToFullCommand(this._cwd,t,this._handleCommandStartOptions?.ignoreCommandLine??!1,n?.markProperties);i&&(this._commands.push(i),this._onBeforeCommandFinished.fire(i),this._logService.debug("CommandDetectionCapability#onCommandFinished",i),this._onCommandFinished.fire(i)),this._currentCommand=new zn(this._terminal),this._handleCommandStartOptions=void 0}_ensureCurrentCommandId(t){this._nextCommandId?.commandId&&(this._currentCommand.id!==this._nextCommandId.commandId&&(this._currentCommand.id=this._nextCommandId.commandId),this._nextCommandId=void 0)}setCommandLine(t,n){this._logService.debug("CommandDetectionCapability#setCommandLine",t,n),this._currentCommand.command=t,this._currentCommand.commandLineConfidence="high",this._currentCommand.isTrusted=n,n&&this._promptInputModel.setConfidentCommandLine(t)}serialize(){let t=this.commands.map(i=>i.serialize(this.__isCommandStorageDisabled)),n=this._currentCommand.serialize(this._cwd);return n&&t.push(n),{isWindowsPty:this._ptyHeuristics.value instanceof Rt,hasRichCommandDetection:this._hasRichCommandDetection,commands:t,promptInputModel:this._promptInputModel.serialize()}}deserialize(t){t.isWindowsPty&&this.setIsWindowsPty(t.isWindowsPty),t.hasRichCommandDetection&&this.setHasRichCommandDetection(t.hasRichCommandDetection);let n=this._terminal.buffer.normal;for(let i of t.commands){if(!i.endLine){let s=i.startLine!==void 0?this._terminal.registerMarker(i.startLine-(n.baseY+n.cursorY)):void 0;if(!s)continue;this._currentCommand.commandStartMarker=i.startLine!==void 0?this._terminal.registerMarker(i.startLine-(n.baseY+n.cursorY)):void 0,this._currentCommand.commandStartX=i.startX,this._currentCommand.promptStartMarker=i.promptStartLine!==void 0?this._terminal.registerMarker(i.promptStartLine-(n.baseY+n.cursorY)):void 0,this._cwd=i.cwd,this._onCommandStarted.fire({marker:s});continue}let o=Wn.deserialize(this._terminal,i,this.__isCommandStorageDisabled);o&&(this._commands.push(o),this._logService.debug("CommandDetectionCapability#onCommandFinished",o),this._onCommandFinished.fire(o))}t.promptInputModel&&this._promptInputModel.deserialize(t.promptInputModel)}};f([Kt(500)],kt.prototype,"_handleCursorMove",1),kt=f([he(1,Pe)],kt);var qn=class extends C{constructor(t,n,i,o){super();this._terminal=t;this._capability=n;this._hooks=i;this._logService=o}handleCommandStart(t){let n=this._capability.currentCommand;n.commandStartX=this._terminal.buffer.active.cursorX,n.commandStartMarker=t?.marker||this._terminal.registerMarker(0),n.commandExecutedMarker?.dispose(),n.commandExecutedMarker=void 0,n.commandExecutedX=void 0;for(let i of this._hooks.commandMarkers)i.dispose();this._hooks.commandMarkers.length=0,this._hooks.onCommandStartedEmitter.fire({marker:t?.marker||n.commandStartMarker,markProperties:t?.markProperties}),this._logService.debug("CommandDetectionCapability#handleCommandStart",n.commandStartX,n.commandStartMarker?.line)}handleCommandExecuted(t){let n=this._capability.currentCommand;n.commandExecutedMarker=t?.marker||this._terminal.registerMarker(0),n.commandExecutedX=this._terminal.buffer.active.cursorX,this._logService.debug("CommandDetectionCapability#handleCommandExecuted",n.commandExecutedX,n.commandExecutedMarker?.line),!(!n.commandStartMarker||!n.commandExecutedMarker||n.commandStartX===void 0)&&(n.command=this._capability.promptInputModel.ghostTextIndex>-1?this._capability.promptInputModel.value.substring(0,this._capability.promptInputModel.ghostTextIndex):this._capability.promptInputModel.value,this._hooks.onCommandExecutedEmitter.fire(n))}};var Rt=class extends C{constructor(t,n,i,o){super();this._terminal=t;this._capability=n;this._hooks=i;this._logService=o;this._onCursorMoveListener=this._register(new At);this._tryAdjustCommandStartMarkerScannedLineCount=0;this._tryAdjustCommandStartMarkerPollCount=0;this._register(this._capability.onBeforeCommandFinished(s=>{(s.command.trim().toLowerCase()==="clear"||s.command.trim().toLowerCase()==="cls")&&(this._tryAdjustCommandStartMarkerScheduler?.cancel(),this._tryAdjustCommandStartMarkerScheduler=void 0,this._hooks.clearCommandsInViewport(),this._capability.currentCommand.isInvalid=!0,this._hooks.onCurrentCommandInvalidatedEmitter.fire({reason:"windows"}))}))}preHandleResize(t){let n=this._terminal.buffer.active.baseY,i=t.rows-this._hooks.dimensions.rows;i>0&&this._waitForCursorMove().then(()=>{let o=Math.min(i,n);for(let s=this._capability.commands.length-1;s>=0;s--){let a=this._capability.commands[s];if(!a.marker||a.marker.line<n||a.commandStartLineContent===void 0)break;let l=this._terminal.buffer.active.getLine(a.marker.line);if(!l||l.translateToString(!0)===a.commandStartLineContent)continue;let c=a.marker.line-o;this._terminal.buffer.active.getLine(c)?.translateToString(!0)===a.commandStartLineContent&&this._terminal._core._bufferService.buffer.lines.onDeleteEmitter.fire({index:this._terminal.buffer.active.baseY,amount:o})}})}handleCommandStart(){this._capability.currentCommand.commandStartX=this._terminal.buffer.active.cursorX,this._hooks.commandMarkers.length=0;let t=this._capability.currentCommand.commandStartMarker=this._capability.currentCommand.promptStartMarker?$n(this._terminal,this._capability.currentCommand.promptStartMarker):this._terminal.registerMarker(0);this._capability.currentCommand.commandStartX=0,this._tryAdjustCommandStartMarkerScannedLineCount=0,this._tryAdjustCommandStartMarkerPollCount=0,this._tryAdjustCommandStartMarkerScheduler=new yr(()=>this._tryAdjustCommandStartMarker(t),20),this._tryAdjustCommandStartMarkerScheduler.schedule()}_tryAdjustCommandStartMarker(t){if(this._store.isDisposed)return;let n=this._terminal.buffer.active,i=this._tryAdjustCommandStartMarkerScannedLineCount;for(;i<10&&t.line+i<n.baseY+this._terminal.rows;){if(this._cursorOnNextLine()){let o=this._getWindowsPrompt(t.line+i);if(o){let s=G(o)?o:o.prompt;if(this._capability.currentCommand.commandStartMarker=this._terminal.registerMarker(0),!G(o)&&o.likelySingleLine){this._logService.debug("CommandDetectionCapability#_tryAdjustCommandStartMarker adjusted promptStart",`${this._capability.currentCommand.promptStartMarker?.line} -> ${this._capability.currentCommand.commandStartMarker.line}`),this._capability.currentCommand.promptStartMarker?.dispose(),this._capability.currentCommand.promptStartMarker=$n(this._terminal,this._capability.currentCommand.commandStartMarker);let a=this._capability.commands.at(-1);a&&this._capability.currentCommand.commandStartMarker.line!==a.endMarker?.line&&(a.endMarker?.dispose(),a.endMarker=$n(this._terminal,this._capability.currentCommand.commandStartMarker))}this._capability.currentCommand.commandStartX=s.length,this._logService.debug("CommandDetectionCapability#_tryAdjustCommandStartMarker adjusted commandStart",`${t.line} -> ${this._capability.currentCommand.commandStartMarker.line}:${this._capability.currentCommand.commandStartX}`),this._flushPendingHandleCommandStartTask();return}}i++}i<10?(this._tryAdjustCommandStartMarkerScannedLineCount=i,++this._tryAdjustCommandStartMarkerPollCount<10?this._tryAdjustCommandStartMarkerScheduler?.schedule():this._flushPendingHandleCommandStartTask()):this._flushPendingHandleCommandStartTask()}_flushPendingHandleCommandStartTask(){if(this._tryAdjustCommandStartMarkerScheduler&&(this._tryAdjustCommandStartMarkerPollCount=10,this._tryAdjustCommandStartMarkerScheduler.flush(),this._tryAdjustCommandStartMarkerScheduler=void 0),this._capability.currentCommand.commandExecutedMarker||(this._onCursorMoveListener.value=this._terminal.onCursorMove(()=>{if(this._hooks.commandMarkers.length===0||this._hooks.commandMarkers[this._hooks.commandMarkers.length-1].line!==this._terminal.buffer.active.cursorY){let t=this._terminal.registerMarker(0);t&&this._hooks.commandMarkers.push(t)}})),this._capability.currentCommand.commandStartMarker){let t=this._terminal.buffer.active.getLine(this._capability.currentCommand.commandStartMarker.line);t&&(this._capability.currentCommand.commandStartLineContent=t.translateToString(!0))}this._hooks.onCommandStartedEmitter.fire({marker:this._capability.currentCommand.commandStartMarker}),this._logService.debug("CommandDetectionCapability#_handleCommandStartWindows",this._capability.currentCommand.commandStartX,this._capability.currentCommand.commandStartMarker?.line)}handleCommandExecuted(t){this._tryAdjustCommandStartMarkerScheduler&&this._flushPendingHandleCommandStartTask(),this._onCursorMoveListener.clear(),this._evaluateCommandMarkers(),this._capability.currentCommand.commandExecutedX=this._terminal.buffer.active.cursorX,this._hooks.onCommandExecutedEmitter.fire(this._capability.currentCommand),this._logService.debug("CommandDetectionCapability#handleCommandExecuted",this._capability.currentCommand.commandExecutedX,this._capability.currentCommand.commandExecutedMarker?.line)}preHandleCommandFinished(){this._capability.currentCommand.commandExecutedMarker||(this._hooks.commandMarkers.length===0&&(this._capability.currentCommand.commandStartMarker||(this._capability.currentCommand.commandStartMarker=this._terminal.registerMarker(0)),this._capability.currentCommand.commandStartMarker&&this._hooks.commandMarkers.push(this._capability.currentCommand.commandStartMarker)),this._evaluateCommandMarkers())}postHandleCommandFinished(){let t=this._capability.currentCommand,n=t.command,i=t.commandStartMarker?.line,o=t.commandExecutedMarker?.line;if(!n||n.length===0||i===void 0||i===-1||o===void 0||o===-1)return;let s=0,a=!1;for(let l=i;l<=o;l++){let c=this._terminal.buffer.active.getLine(l);if(!c)break;let p=c.translateToString(!0);for(let u=0;u<p.length;u++){for(;n.length<s&&n[s]===" ";)s++;if(p[u]===n[s]&&s++,s===n.length){let d=u>=this._terminal.cols-1;t.commandExecutedMarker=this._terminal.registerMarker(l-(this._terminal.buffer.active.baseY+this._terminal.buffer.active.cursorY)+(d?1:0)),t.commandExecutedX=d?0:u+1,a=!0;break}}if(a)break}}_evaluateCommandMarkers(){if(this._hooks.commandMarkers.length!==0){if(this._hooks.commandMarkers=this._hooks.commandMarkers.sort((t,n)=>t.line-n.line),this._capability.currentCommand.commandStartMarker=this._hooks.commandMarkers[0],this._capability.currentCommand.commandStartMarker){let t=this._terminal.buffer.active.getLine(this._capability.currentCommand.commandStartMarker.line);t&&(this._capability.currentCommand.commandStartLineContent=t.translateToString(!0))}this._capability.currentCommand.commandExecutedMarker=this._hooks.commandMarkers[this._hooks.commandMarkers.length-1],this._hooks.onCommandExecutedEmitter.fire(this._capability.currentCommand)}}_cursorOnNextLine(){let t=this._capability.commands.at(-1);if(!t)return!0;let n=this._terminal.buffer.active.baseY+this._terminal.buffer.active.cursorY,i=(t.endMarker?t.endMarker.line:t.marker?.line)??-1;return n>i}_waitForCursorMove(){let t=this._terminal.buffer.active.cursorX,n=this._terminal.buffer.active.cursorY,i=0;return new Promise((o,s)=>{let a=setInterval(()=>{if(t!==this._terminal.buffer.active.cursorX||n!==this._terminal.buffer.active.cursorY){o(),clearInterval(a);return}i+=10,i>1e3&&(clearInterval(a),o())},10)})}_getWindowsPrompt(t=this._terminal.buffer.active.baseY+this._terminal.buffer.active.cursorY){let n=this._terminal.buffer.active.getLine(t);if(!n)return;let i=n.translateToString(!0);if(!i)return;let o=i.match(/(?<prompt>(\(.+\)\s)?(?:PS.+>\s?))/)?.groups?.prompt;if(o){let p=this._adjustPrompt(o,i,">");if(p)return{prompt:p,likelySingleLine:!0}}let s=i.match(/.*\u276f(?=[^\u276f]*$)/g)?.[0];if(s){let p=this._adjustPrompt(s,i,"\u276F");if(p)return p}let a=i.match(/^(?<prompt>\$)/)?.groups?.prompt;if(a){let p=this._adjustPrompt(a,i,"$");if(p)return p}let l=i.match(/^(?<prompt>>>> )/g)?.groups?.prompt;if(l)return{prompt:l,likelySingleLine:!0};if(this._capability.promptTerminator&&(i===this._capability.promptTerminator||i.trim().endsWith(this._capability.promptTerminator))){let p=this._adjustPrompt(i,i,this._capability.promptTerminator);if(p)return p}let c=i.match(/^(?<prompt>(\(.+\)\s)?(?:[A-Z]:\\.*>))/);return c?.groups?.prompt?{prompt:c.groups.prompt,likelySingleLine:!0}:void 0}_adjustPrompt(t,n,i){if(t)return n===t&&t.endsWith(i)&&(t+=" "),t}};Rt=f([he(3,Pe)],Rt);function $n(r,e,t=0){return r.registerMarker(e.line-(r.buffer.active.baseY+r.buffer.active.cursorY)+t)}var ei=class extends C{constructor(){super(...arguments);this.type=0;this._cwd="";this._cwds=new Map;this._onDidChangeCwd=this._register(new v);this.onDidChangeCwd=this._onDidChangeCwd.event}get cwds(){return Array.from(this._cwds.keys())}getCwd(){return this._cwd}updateCwd(t){let n=this._cwd!==t;this._cwd=t;let i=this._cwds.get(this._cwd)||0;this._cwds.delete(this._cwd),this._cwds.set(this._cwd,i+1),n&&this._onDidChangeCwd.fire(t)}};var ti=class extends fe{constructor(t,n){super();this._terminal=t;this._onDidExecuteText=n;this.type=3;this._commands=[];this._onCommandFinished=this.add(new v);this.onCommandFinished=this._onCommandFinished.event;this.add(this._terminal.onData(i=>this._onData(i))),this.add(this._terminal.parser.registerCsiHandler({final:"J"},i=>(i.length>=1&&(i[0]===2||i[0]===3)&&this._clearCommandsInViewport(),!1))),this._onDidExecuteText&&this.add(this._onDidExecuteText(()=>this._onEnter()))}get commands(){return this._commands}_onData(t){t==="\r"&&this._onEnter()}_onEnter(){if(this._terminal&&this._terminal.buffer.active.cursorX>=2){let t=this._terminal.registerMarker(0);t&&(this._commands.push(t),this._onCommandFinished.fire(t))}}_clearCommandsInViewport(){let t=0;for(let n=this._commands.length-1;n>=0&&!(this._commands[n].line<this._terminal.buffer.active.baseY);n--)t++;this._commands.splice(this._commands.length-t,t)}};var ni=class extends C{constructor(t){super();this._terminal=t;this.type=4;this._idToMarkerMap=new Map;this._anonymousMarkers=new Map;this._onMarkAdded=this._register(new v);this.onMarkAdded=this._onMarkAdded.event}*markers(){for(let t of this._idToMarkerMap.values())yield t;for(let t of this._anonymousMarkers.values())yield t}addMark(t){let n=t?.marker||this._terminal.registerMarker(),i=t?.id;n&&(i?(this._idToMarkerMap.set(i,n),n.onDispose(()=>this._idToMarkerMap.delete(i))):(this._anonymousMarkers.set(n.id,n),n.onDispose(()=>this._anonymousMarkers.delete(n.id))),this._onMarkAdded.fire({marker:n,id:i,hidden:t?.hidden,hoverMessage:t?.hoverMessage}))}getMark(t){return this._idToMarkerMap.get(t)}};var ri=class extends C{constructor(){super(...arguments);this.type=5;this._env={value:new Map,isTrusted:!0};this._onDidChangeEnv=this._register(new v);this.onDidChangeEnv=this._onDidChangeEnv.event}get env(){return this._createStateObject()}setEnvironment(t,n){if(!En(this.env.value,t)){this._env.value.clear();for(let[i,o]of Object.entries(t))o!==void 0&&this._env.value.set(i,o);this._env.isTrusted=n,this._fireEnvChange()}}startEnvironmentSingleVar(t,n){t?this._pendingEnv={value:new Map,isTrusted:n}:this._pendingEnv={value:new Map(this._env.value),isTrusted:this._env.isTrusted&&n}}setEnvironmentSingleVar(t,n,i){this._pendingEnv&&t!==void 0&&n!==void 0&&(this._pendingEnv.value.set(t,n),this._pendingEnv.isTrusted&&=i)}endEnvironmentSingleVar(t){if(!this._pendingEnv)return;this._pendingEnv.isTrusted&&=t,!es(this._env.value,this._pendingEnv.value)&&(this._env=this._pendingEnv,this._fireEnvChange()),this._pendingEnv=void 0}deleteEnvironmentSingleVar(t,n,i){this._pendingEnv&&t!==void 0&&n!==void 0&&(this._pendingEnv.value.delete(t),this._pendingEnv.isTrusted&&=i)}_fireEnvChange(){this._onDidChangeEnv.fire(this._createStateObject())}_createStateObject(){return{value:Object.fromEntries(this._env.value),isTrusted:this._env.isTrusted}}};var ii=class extends C{constructor(){super(...arguments);this.type=6;this._onPromptTypeChanged=this._register(new v);this.onPromptTypeChanged=this._onPromptTypeChanged.event}get promptType(){return this._promptType}setPromptType(t){this._promptType=t,this._onPromptTypeChanged.fire(t)}};var oi=class extends C{constructor(t,n,i,o,s){super();this._nonce=t;this._disableTelemetry=n;this._onDidExecuteText=i;this._telemetryService=o;this._logService=s;this.capabilities=this._register(new Xe);this._hasUpdatedTelemetry=!1;this._commonProtocolDisposables=[];this._seenSequences=new Set;this._status=0;this._onDidChangeStatus=this._register(new v);this.onDidChangeStatus=this._onDidChangeStatus.event;this._onDidChangeSeenSequences=this._register(new v);this.onDidChangeSeenSequences=this._onDidChangeSeenSequences.event;this._register(Y(()=>{this._clearActivationTimeout(),this._disposeCommonProtocol()}))}get seenSequences(){return this._seenSequences}get status(){return this._status}_disposeCommonProtocol(){Se(this._commonProtocolDisposables),this._commonProtocolDisposables.length=0}activate(t){this._terminal=t,this.capabilities.add(3,this._register(new ti(this._terminal,this._onDidExecuteText))),this._register(t.parser.registerOscHandler(633,n=>this._handleVSCodeSequence(n))),this._register(t.parser.registerOscHandler(1337,n=>this._doHandleITermSequence(n))),this._commonProtocolDisposables.push(t.parser.registerOscHandler(133,n=>this._handleFinalTermSequence(n))),this._register(t.parser.registerOscHandler(7,n=>this._doHandleSetCwd(n))),this._register(t.parser.registerOscHandler(9,n=>this._doHandleSetWindowsFriendlyCwd(n))),this._ensureCapabilitiesOrAddFailureTelemetry()}getMarkerId(t,n){this._createOrGetBufferMarkDetection(t).getMark(n)}setNextCommandId(t,n){this._terminal&&this._createOrGetCommandDetection(this._terminal).setNextCommandId(t,n)}_markSequenceSeen(t){this._seenSequences.has(t)||(this._seenSequences.add(t),this._onDidChangeSeenSequences.fire(this._seenSequences))}_handleFinalTermSequence(t){let n=this._doHandleFinalTermSequence(t);return this._status===0&&(this._status=1,this._onDidChangeStatus.fire(this._status)),n}_doHandleFinalTermSequence(t){if(!this._terminal)return!1;let[n,...i]=t.split(";");switch(this._markSequenceSeen(n),n){case"A":return this._createOrGetCommandDetection(this._terminal).handlePromptStart(),!0;case"B":return this._createOrGetCommandDetection(this._terminal).handleCommandStart({ignoreCommandLine:!0}),!0;case"C":return this._createOrGetCommandDetection(this._terminal).handleCommandExecuted(),!0;case"D":{let o=i.length===1?parseInt(i[0]):void 0;return this._createOrGetCommandDetection(this._terminal).handleCommandFinished(o),!0}}return!1}_handleVSCodeSequence(t){let n=this._doHandleVSCodeSequence(t);return!this._hasUpdatedTelemetry&&n&&(this._telemetryService?.publicLog2("terminal/shellIntegrationActivationSucceeded"),this._hasUpdatedTelemetry=!0,this._clearActivationTimeout()),this._status!==2&&(this._status=2,this._onDidChangeStatus.fire(this._status)),n}async _ensureCapabilitiesOrAddFailureTelemetry(){!this._telemetryService||this._disableTelemetry||(this._activationTimeout=setTimeout(()=>{!this.capabilities.get(2)&&!this.capabilities.get(0)&&(this._telemetryService?.publicLog2("terminal/shellIntegrationActivationTimeout"),this._logService.warn("Shell integration failed to add capabilities within 10 seconds")),this._hasUpdatedTelemetry=!0},1e4))}_clearActivationTimeout(){this._activationTimeout!==void 0&&(clearTimeout(this._activationTimeout),this._activationTimeout=void 0)}_doHandleVSCodeSequence(t){if(!this._terminal)return!1;let n=t.indexOf(";"),i=n===-1?t:t.substring(0,n);this._markSequenceSeen(i);let o=n===-1?[]:t.substring(n+1).split(";");switch(i){case"A":return this._createOrGetCommandDetection(this._terminal).handlePromptStart(),!0;case"B":return this._createOrGetCommandDetection(this._terminal).handleCommandStart(),!0;case"C":return this._createOrGetCommandDetection(this._terminal).handleCommandExecuted(),!0;case"D":{let s=o[0],a=s!==void 0?parseInt(s):void 0;return this._createOrGetCommandDetection(this._terminal).handleCommandFinished(a),!0}case"E":{let s=o[0],a=o[1],l;return s!==void 0?l=jn(s):l="",this._createOrGetCommandDetection(this._terminal).setCommandLine(l,a===this._nonce),!0}case"F":return this._createOrGetCommandDetection(this._terminal).handleContinuationStart(),!0;case"G":return this._createOrGetCommandDetection(this._terminal).handleContinuationEnd(),!0;case"EnvJson":{let s=o[0],a=o[1];if(s!==void 0)try{let l=JSON.parse(jn(s));this._createOrGetShellEnvDetection().setEnvironment(l,a===this._nonce)}catch{this._logService.warn("Failed to parse environment from shell integration sequence",s)}return!0}case"EnvSingleStart":return this._createOrGetShellEnvDetection().startEnvironmentSingleVar(o[0]==="1",o[1]===this._nonce),!0;case"EnvSingleDelete":{let s=o[0],a=o[1],l=o[2];if(s!==void 0&&a!==void 0){let c=jn(a);this._createOrGetShellEnvDetection().deleteEnvironmentSingleVar(s,c,l===this._nonce)}return!0}case"EnvSingleEntry":{let s=o[0],a=o[1],l=o[2];if(s!==void 0&&a!==void 0){let c=jn(a);this._createOrGetShellEnvDetection().setEnvironmentSingleVar(s,c,l===this._nonce)}return!0}case"EnvSingleEnd":return this._createOrGetShellEnvDetection().endEnvironmentSingleVar(o[0]===this._nonce),!0;case"H":return this._createOrGetCommandDetection(this._terminal).handleRightPromptStart(),!0;case"I":return this._createOrGetCommandDetection(this._terminal).handleRightPromptEnd(),!0;case"P":{let s=o[0],a=s!==void 0?jn(s):"",{key:l,value:c}=ll(a);if(c===void 0)return!0;switch(l){case"ContinuationPrompt":return this._updateContinuationPrompt(qs(c)),!0;case"Cwd":return this._updateCwd(c),!0;case"IsWindows":return this._createOrGetCommandDetection(this._terminal).setIsWindowsPty(c==="True"),!0;case"HasRichCommandDetection":return this._createOrGetCommandDetection(this._terminal).setHasRichCommandDetection(c==="True"),!0;case"Prompt":{let p=c.replace(/\x1b\[[0-9;]*m/g,"");return this._updatePromptTerminator(p),!0}case"PromptType":return this._createOrGetPromptTypeDetection().setPromptType(c),!0;case"Task":return this._createOrGetBufferMarkDetection(this._terminal),this.capabilities.get(2)?.setIsCommandStorageDisabled(),!0}}case"SetMark":return this._createOrGetBufferMarkDetection(this._terminal).addMark(yd(o)),!0}return!1}_updateContinuationPrompt(t){this._terminal&&this._createOrGetCommandDetection(this._terminal).setContinuationPrompt(t)}_updatePromptTerminator(t){if(!this._terminal)return;let n=t.substring(t.lastIndexOf(`
`)+1),o=n.trim().length===1?n:n.substring(n.lastIndexOf(" "));o&&this._createOrGetCommandDetection(this._terminal).setPromptTerminator(o,n)}_updateCwd(t){t=Wa(t),this._createOrGetCwdDetection().updateCwd(t),this.capabilities.get(2)?.setCwd(t)}_doHandleITermSequence(t){if(!this._terminal)return!1;let[n]=t.split(";");switch(this._markSequenceSeen(`1337;${n}`),n){case"SetMark":this._createOrGetBufferMarkDetection(this._terminal).addMark();default:{let{key:i,value:o}=ll(n);if(o===void 0)return!0;if(i==="CurrentDir")return this._updateCwd(o),!0}}return!1}_doHandleSetWindowsFriendlyCwd(t){if(!this._terminal)return!1;let[n,...i]=t.split(";");return this._markSequenceSeen(`9;${n}`),n==="9"?(i.length&&this._updateCwd(i[0]),!0):!1}_doHandleSetCwd(t){if(!this._terminal)return!1;let[n]=t.split(";");if(this._markSequenceSeen(`7;${n}`),n.match(/^file:\/\/.*\//)){let i=O.parse(n);if(i.path&&i.path.length>0)return this._updateCwd(i.path),!0}return!1}serialize(){return!this._terminal||!this.capabilities.has(2)?{isWindowsPty:!1,hasRichCommandDetection:!1,commands:[],promptInputModel:void 0}:this._createOrGetCommandDetection(this._terminal).serialize()}deserialize(t){if(!this._terminal)throw new Error("Cannot restore commands before addon is activated");let n=this._createOrGetCommandDetection(this._terminal);n.deserialize(t),n.cwd&&this._updateCwd(n.cwd)}_createOrGetCwdDetection(){let t=this.capabilities.get(0);return t||(t=this._register(new ei),this.capabilities.add(0,t)),t}_createOrGetCommandDetection(t){let n=this.capabilities.get(2);return n||(n=this._register(new kt(t,this._logService)),this.capabilities.add(2,n)),n}_createOrGetBufferMarkDetection(t){let n=this.capabilities.get(4);return n||(n=this._register(new ni(t)),this.capabilities.add(4,n)),n}_createOrGetShellEnvDetection(){let t=this.capabilities.get(5);return t||(t=this._register(new ri),this.capabilities.add(5,t)),t}_createOrGetPromptTypeDetection(){let t=this.capabilities.get(6);return t||(t=this._register(new ii),this.capabilities.add(6,t)),t}};function jn(r){return r.replaceAll(/\\(\\|x([0-9a-f]{2}))/gi,(e,t,n)=>n?String.fromCharCode(parseInt(n,16)):t)}function ll(r){let e=r.indexOf("=");return e===-1?{key:r,value:void 0}:{key:r.substring(0,e),value:r.substring(1+e)}}function yd(r){let e,t=!1;for(let n of r)n!==void 0&&(n==="Hidden"&&(t=!0),n.startsWith("Id=")&&(e=n.substring(3)));return{id:e,hidden:t}}function cl(r,e={}){let t="";return e.excludeLeadingNewLine||(t+=`\r
`),t+="\x1B[0m\x1B[7m * ",e.loudFormatting?t+="\x1B[0;104m":t+="\x1B[0m",t+=` ${r} \x1B[0m
\r`,t}function So(r){let e=[];typeof r=="number"&&e.push("code/timeOrigin",r);function t(o,s){e.push(o,s?.startTime??Date.now())}function n(){let o=[];for(let s=0;s<e.length;s+=2)o.push({name:e[s],startTime:e[s+1]});return o}function i(o){for(let s=e.length-2;s>=0;s-=2)typeof e[s]=="string"&&e[s].startsWith(o)&&e.splice(s,2)}return{mark:t,getMarks:n,clearMarks:i}}function bd(){if(typeof performance=="object"&&typeof performance.mark=="function"&&!performance.nodeTiming)return typeof performance.timeOrigin!="number"&&!performance.timing?So():{mark(r,e){performance.mark(r,e)},clearMarks(r){let e=new Set;for(let t of performance.getEntriesByType("mark"))t.name.startsWith(r)&&e.add(t.name);for(let t of e)performance.clearMarks(t)},getMarks(){let r=performance.timeOrigin;typeof r!="number"&&(r=(performance.timing.navigationStart||performance.timing.redirectStart||performance.timing.fetchStart)??0);let e=[{name:"code/timeOrigin",startTime:Math.round(r)}];for(let t of performance.getEntriesByType("mark"))e.push({name:t.name,startTime:Math.round(r+t.startTime)});return e}};if(typeof process=="object"){let r=performance?.timeOrigin;return So(r)}else return console.trace("perf-util loaded in UNKNOWN environment"),So()}function _d(r){return r.MonacoPerformanceMarks||(r.MonacoPerformanceMarks=bd()),r.MonacoPerformanceMarks}var Co=_d(globalThis),nn=Co.mark,Zb=Co.clearMarks,ul=Co.getMarks;import Td from"@xterm/headless";var si=class extends C{constructor(t,n,i,o){super();this._pointer=0;this._paused=!1;this._throttled=!1;this._register(t.onProcessData(s=>{if(this._paused||this._throttled)return;let a=G(s)?s:s.data;for(let l=0;l<a.length;l++)a[l]===n[this._pointer]?this._pointer++:this._reset(),this._pointer===n.length&&(o.debug(`Auto reply match: "${n}", response: "${i}"`),t.input(i),this._throttled=!0,pe(1e3).then(()=>this._throttled=!1),this._reset())}))}_reset(){this._pointer=0}handleResize(){w&&(this._paused=!0)}handleInput(){this._paused=!1}};var rn=class{constructor(e){this._logService=e;this._autoReplies=new Map;this._terminalProcesses=new Map;this._autoResponders=new Map}async installAutoReply(e,t){this._autoReplies.set(e,t);for(let n of this._autoResponders.keys()){let i=this._terminalProcesses.get(n);if(!i){this._logService.error("Could not find terminal process to install auto reply");continue}this._processInstallAutoReply(n,i,e,t)}}async uninstallAllAutoReplies(){for(let e of this._autoReplies.keys())for(let t of this._autoResponders.values())t.get(e)?.dispose(),t.delete(e)}handleProcessReady(e,t){this._terminalProcesses.set(e,t),this._autoResponders.set(e,new Map);for(let[n,i]of this._autoReplies.entries())this._processInstallAutoReply(e,t,n,i)}handleProcessDispose(e){let t=this._autoResponders.get(e);if(t){for(let n of t.values())n.dispose();t.clear()}}handleProcessInput(e,t){let n=this._autoResponders.get(e);if(n)for(let i of n.values())i.handleInput()}handleProcessResize(e,t,n){let i=this._autoResponders.get(e);if(i)for(let o of i.values())o.handleResize()}_processInstallAutoReply(e,t,n,i){let o=this._autoResponders.get(e);o&&(o.get(n)?.dispose(),o.set(n,new si(t,n,i,this._logService)))}};rn=f([he(0,Pe)],rn);var{Terminal:wd}=Td;function Ed(r,e){if(r==="createProcess"&&e.length>5){let t=[...e];return e[5]&&typeof e[5]=="object"&&(t[5]=Vn(e[5])),e[6]&&typeof e[6]=="object"&&(t[6]=Vn(e[6])),t}return e}function V(r,e,t){if(!ct(t.value))throw new Error("not supported");let n="value",i=t.value;t[n]=async function(...o){if(this.traceRpcArgs.logService.getLevel()===1){let a=Ed(i.name,o);this.traceRpcArgs.logService.trace(`[RPC Request] PtyService#${i.name}(${a.map(l=>JSON.stringify(l)).join(", ")})`)}this.traceRpcArgs.simulatedLatency&&await pe(this.traceRpcArgs.simulatedLatency);let s;try{s=await i.apply(this,o)}catch(a){throw this.traceRpcArgs.logService.error(`[RPC Response] PtyService#${i.name}`,a),a}return this.traceRpcArgs.logService.getLevel()===1&&this.traceRpcArgs.logService.trace(`[RPC Response] PtyService#${i.name}`,s),s}}var ko,Ro,U=class extends C{constructor(t,n,i,o){super();this._logService=t;this._productService=n;this._reconnectConstants=i;this._simulatedLatency=o;this._ptys=new Map;this._workspaceLayoutInfos=new Map;this._revivedPtyIdMap=new Map;this._lastPtyId=0;this._onHeartbeat=this._register(new v);this.onHeartbeat=this._traceEvent("_onHeartbeat",this._onHeartbeat.event);this._onProcessData=this._register(new v);this.onProcessData=this._traceEvent("_onProcessData",this._onProcessData.event);this._onProcessReplay=this._register(new v);this.onProcessReplay=this._traceEvent("_onProcessReplay",this._onProcessReplay.event);this._onProcessReady=this._register(new v);this.onProcessReady=this._traceEvent("_onProcessReady",this._onProcessReady.event);this._onProcessExit=this._register(new v);this.onProcessExit=this._traceEvent("_onProcessExit",this._onProcessExit.event);this._onProcessOrphanQuestion=this._register(new v);this.onProcessOrphanQuestion=this._traceEvent("_onProcessOrphanQuestion",this._onProcessOrphanQuestion.event);this._onDidRequestDetach=this._register(new v);this.onDidRequestDetach=this._traceEvent("_onDidRequestDetach",this._onDidRequestDetach.event);this._onDidChangeProperty=this._register(new v);this.onDidChangeProperty=this._traceEvent("_onDidChangeProperty",this._onDidChangeProperty.event);this._register(Y(()=>{for(let s of this._ptys.values())s.shutdown(!0);this._ptys.clear()})),this._detachInstanceRequestStore=this._register(new Jt(void 0,this._logService)),this._register(this._detachInstanceRequestStore.onCreateRequest(this._onDidRequestDetach.fire,this._onDidRequestDetach)),this._autoRepliesContribution=new rn(this._logService),this._contributions=[this._autoRepliesContribution]}async installAutoReply(t,n){await this._autoRepliesContribution.installAutoReply(t,n)}async uninstallAllAutoReplies(){await this._autoRepliesContribution.uninstallAllAutoReplies()}_traceEvent(t,n){return n(i=>{this._logService.getLevel()===1&&this._logService.trace(`[RPC Event] PtyService#${t}.fire(${JSON.stringify(i)})`)}),n}get traceRpcArgs(){return{logService:this._logService,simulatedLatency:this._simulatedLatency}}async refreshIgnoreProcessNames(t){Zr.length=0,Zr.push(...t)}async requestDetachInstance(t,n){return this._detachInstanceRequestStore.createRequest({workspaceId:t,instanceId:n})}async acceptDetachInstanceReply(t,n){let i,o=this._ptys.get(n);o&&(i=await this._buildProcessDetails(n,o)),this._detachInstanceRequestStore.acceptReply(t,i)}async freePortKillProcess(t){let i=(await new Promise((o,s)=>{Id(w?`netstat -ano | findstr "${t}"`:`lsof -nP -iTCP -sTCP:LISTEN | grep ${t}`,{},(a,l)=>{if(a)return s("Problem occurred when listing active processes");o(l)})})).split(/\r?\n/).filter(o=>!!o.trim());if(i.length>=1){let o=/\s+(\d+)(?:\s+|$)/,s=i[0].match(o)?.[1];if(s)try{process.kill(Number.parseInt(s))}catch{}else throw new Error(`Processes for port ${t} were not found`);return{port:t,processId:s}}throw new Error(`Could not kill process with port ${t}`)}async serializeTerminalState(t){let n=[];for(let[o,s]of this._ptys.entries())s.hasWrittenData&&t.indexOf(o)!==-1&&n.push(Qi.withAsyncBody(async a=>{a({id:o,shellLaunchConfig:s.shellLaunchConfig,processDetails:await this._buildProcessDetails(o,s),processLaunchConfig:s.processLaunchOptions,unicodeVersion:s.unicodeVersion,replayEvent:await s.serializeNormalBuffer(),timestamp:Date.now()})}));let i={version:1,state:await Promise.all(n)};return JSON.stringify(i)}async reviveTerminalProcesses(t,n,i){let o=[];for(let s of n)o.push(this._reviveTerminalProcess(t,s));await Promise.all(o)}async _reviveTerminalProcess(t,n){let i=g(2406,null),o="";if(w){let l=n.replayEvent.events.length>0?n.replayEvent.events.at(-1):void 0;l&&(o+=`\r
`.repeat(l.rows-1)+"\x1B[H")}let s=await this.createProcess({...n.shellLaunchConfig,cwd:n.processDetails.cwd,color:n.processDetails.color,icon:n.processDetails.icon,name:n.processDetails.titleSource===0?n.processDetails.title:void 0,initialText:n.replayEvent.events[0].data+cl(i,{loudFormatting:!0})+o},n.processDetails.cwd,n.replayEvent.events[0].cols,n.replayEvent.events[0].rows,n.unicodeVersion,n.processLaunchConfig.env,n.processLaunchConfig.executableEnv,n.processLaunchConfig.options,!0,n.processDetails.workspaceId,n.processDetails.workspaceName,!0,n.replayEvent.events[0].data),a=this._getRevivingProcessId(t,n.id);this._revivedPtyIdMap.set(a,{newId:s,state:n}),this._logService.info(`Revived process, old id ${a} -> new id ${s}`)}async shutdownAll(){this.dispose()}async createProcess(t,n,i,o,s,a,l,c,p,u,d,m,h){if(t.attachPersistentProcess)throw new Error("Attempt to create a process when attach object was provided");let b=++this._lastPtyId,P=new Ue(t,n,i,o,a,l,c,this._logService,this._productService),j={env:a,executableEnv:l,options:c},$=new Lo(b,P,u,d,p,i,o,j,s,this._reconnectConstants,this._logService,m&&G(t.initialText)?t.initialText:void 0,h,t.icon,t.color,t.name,t.fixedDimensions);return P.onProcessExit(B=>{for(let Te of this._contributions)Te.handleProcessDispose(b);$.dispose(),this._ptys.delete(b),this._onProcessExit.fire({id:b,event:B})}),$.onProcessData(B=>this._onProcessData.fire({id:b,event:B})),$.onProcessReplay(B=>this._onProcessReplay.fire({id:b,event:B})),$.onProcessReady(B=>this._onProcessReady.fire({id:b,event:B})),$.onProcessOrphanQuestion(()=>this._onProcessOrphanQuestion.fire({id:b})),$.onDidChangeProperty(B=>this._onDidChangeProperty.fire({id:b,property:B})),$.onPersistentProcessReady(()=>{for(let B of this._contributions)B.handleProcessReady(b,P)}),this._ptys.set(b,$),b}async attachToProcess(t){try{await this._throwIfNoPty(t).attach(),this._logService.info(`Persistent process reconnection "${t}"`)}catch(n){throw this._logService.warn(`Persistent process reconnection "${t}" failed`,n.message),n}}async updateTitle(t,n,i){this._throwIfNoPty(t).setTitle(n,i)}async updateIcon(t,n,i,o){this._throwIfNoPty(t).setIcon(n,i,o)}async clearBuffer(t){this._throwIfNoPty(t).clearBuffer()}async refreshProperty(t,n){return this._throwIfNoPty(t).refreshProperty(n)}async updateProperty(t,n,i){return this._throwIfNoPty(t).updateProperty(n,i)}async detachFromProcess(t,n){return this._throwIfNoPty(t).detach(n)}async reduceConnectionGraceTime(){for(let t of this._ptys.values())t.reduceGraceTime()}async listProcesses(){let t=Array.from(this._ptys.entries()).filter(([o,s])=>s.shouldPersistTerminal);this._logService.info(`Listing ${t.length} persistent terminals, ${this._ptys.size} total terminals`);let n=t.map(async([o,s])=>this._buildProcessDetails(o,s));return(await Promise.all(n)).filter(o=>o.isOrphan)}async getPerformanceMarks(){return ul()}async start(t){let n=this._ptys.get(t);return n?n.start():{message:`Could not find pty with id "${t}"`}}async shutdown(t,n){return this._ptys.get(t)?.shutdown(n)}async input(t,n){let i=this._throwIfNoPty(t);if(i){for(let o of this._contributions)o.handleProcessInput(t,n);i.input(n)}}async sendSignal(t,n){return this._throwIfNoPty(t).sendSignal(n)}async processBinary(t,n){return this._throwIfNoPty(t).writeBinary(n)}async resize(t,n,i,o,s){let a=this._throwIfNoPty(t);if(a){for(let l of this._contributions)l.handleProcessResize(t,n,i,o,s);a.resize(n,i,o,s)}}async getInitialCwd(t){return this._throwIfNoPty(t).getInitialCwd()}async getCwd(t){return this._throwIfNoPty(t).getCwd()}async acknowledgeDataEvent(t,n){return this._throwIfNoPty(t).acknowledgeDataEvent(n)}async setUnicodeVersion(t,n){return this._throwIfNoPty(t).setUnicodeVersion(n)}async setNextCommandId(t,n,i){return this._throwIfNoPty(t).setNextCommandId(n,i)}async getLatency(){return[]}async orphanQuestionReply(t){return this._throwIfNoPty(t).orphanQuestionReply()}async getDefaultSystemShell(t=nr){return Ba(t,process.env)}async getEnvironment(){return{...process.env}}async getWslPath(t,n){if(n==="win-to-unix"){if(!w)return t;if(await Zt()<17063)return t.replace(/\\/g,"/");let i=await this._getWSLExecutablePath();return i?new Promise(o=>{dl(i,["-e","wslpath",t],{},(a,l,c)=>{o(a?t:Ka(l.trim(),"bash"))}).stdin.end()}):t}if(n==="unix-to-win"&&w){if(await Zt()<17063)return t;let i=await this._getWSLExecutablePath();return i?new Promise(o=>{dl(i,["-e","wslpath","-w",t],{},(a,l,c)=>{o(a?t:l.trim())}).stdin.end()}):t}return t}async _getWSLExecutablePath(){let t=await Zt()>=16299,n=process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432"),i=process.env.SystemRoot;if(i)return A(i,n?"Sysnative":"System32",t?"wsl.exe":"bash.exe")}async getRevivedPtyNewId(t,n){try{return this._revivedPtyIdMap.get(this._getRevivingProcessId(t,n))?.newId}catch(i){this._logService.warn(`Couldn't find terminal ID ${t}-${n}`,i.message)}}async setTerminalLayoutInfo(t){this._workspaceLayoutInfos.set(t.workspaceId,t)}async getTerminalLayoutInfo(t){nn("code/willGetTerminalLayoutInfo");let n=this._workspaceLayoutInfos.get(t.workspaceId);if(n){let i=new Set,s=(await Promise.all(n.tabs.map(async l=>this._expandTerminalTab(t.workspaceId,l,i)))).filter(l=>l.terminals.length>0),a=(await Promise.all(n.background?.map(l=>this._expandTerminalInstance(t.workspaceId,l,i))??[])).filter(l=>l.terminal!==null).map(l=>l.terminal);return nn("code/didGetTerminalLayoutInfo"),{tabs:s,background:a}}nn("code/didGetTerminalLayoutInfo")}async _expandTerminalTab(t,n,i){let s=(await Promise.all(n.terminals.map(a=>this._expandTerminalInstance(t,a,i)))).filter(a=>a.terminal!==null);return{isActive:n.isActive,activePersistentProcessId:n.activePersistentProcessId,terminals:s}}async _expandTerminalInstance(t,n,i){let o=!Ae(n),s=o?n.terminal:n;try{let a=this._getRevivingProcessId(t,s),l=this._revivedPtyIdMap.get(a)?.newId;this._logService.info(`Expanding terminal instance, old id ${a} -> new id ${l}`),this._revivedPtyIdMap.delete(a);let c=l??s;if(i.has(c))throw new Error(`Terminal ${c} has already been expanded`);i.add(c);let p=this._throwIfNoPty(c);return{terminal:{...p&&await this._buildProcessDetails(s,p,l!==void 0),id:c},relativeSize:o?n.relativeSize:0}}catch(a){return this._logService.warn("Couldn't get layout info, a terminal was probably disconnected",a.message),this._logService.debug("Reattach to wrong terminal debug info - layout info by id",n),this._logService.debug("Reattach to wrong terminal debug info - _revivePtyIdMap",Array.from(this._revivedPtyIdMap.values())),this._logService.debug("Reattach to wrong terminal debug info - _ptys ids",Array.from(this._ptys.keys())),{terminal:null,relativeSize:o?n.relativeSize:0}}}_getRevivingProcessId(t,n){return`${t}-${n}`}async _buildProcessDetails(t,n,i=!1){nn(`code/willBuildProcessDetails/${t}`);let[o,s]=await Promise.all([n.getCwd(),i?!0:n.isOrphaned()]),a={id:t,title:n.title,titleSource:n.titleSource,pid:n.pid,workspaceId:n.workspaceId,workspaceName:n.workspaceName,cwd:o,isOrphan:s,icon:n.icon,color:n.color,fixedDimensions:n.fixedDimensions,environmentVariableCollections:n.processLaunchOptions.options.environmentVariableCollections,reconnectionProperties:n.shellLaunchConfig.reconnectionProperties,waitOnExit:n.shellLaunchConfig.waitOnExit,hideFromUser:n.shellLaunchConfig.hideFromUser,isFeatureTerminal:n.shellLaunchConfig.isFeatureTerminal,type:n.shellLaunchConfig.type,hasChildProcesses:n.hasChildProcesses,shellIntegrationNonce:n.processLaunchOptions.options.shellIntegration.nonce,tabActions:n.shellLaunchConfig.tabActions};return nn(`code/didBuildProcessDetails/${t}`),a}_throwIfNoPty(t){let n=this._ptys.get(t);if(!n)throw new Le(`Could not find pty ${t} on pty host`);return n}};f([V],U.prototype,"installAutoReply",1),f([V],U.prototype,"uninstallAllAutoReplies",1),f([R],U.prototype,"traceRpcArgs",1),f([V],U.prototype,"refreshIgnoreProcessNames",1),f([V],U.prototype,"requestDetachInstance",1),f([V],U.prototype,"acceptDetachInstanceReply",1),f([V],U.prototype,"freePortKillProcess",1),f([V],U.prototype,"serializeTerminalState",1),f([V],U.prototype,"reviveTerminalProcesses",1),f([V],U.prototype,"shutdownAll",1),f([V],U.prototype,"createProcess",1),f([V],U.prototype,"attachToProcess",1),f([V],U.prototype,"updateTitle",1),f([V],U.prototype,"updateIcon",1),f([V],U.prototype,"clearBuffer",1),f([V],U.prototype,"refreshProperty",1),f([V],U.prototype,"updateProperty",1),f([V],U.prototype,"detachFromProcess",1),f([V],U.prototype,"reduceConnectionGraceTime",1),f([V],U.prototype,"listProcesses",1),f([V],U.prototype,"getPerformanceMarks",1),f([V],U.prototype,"start",1),f([V],U.prototype,"shutdown",1),f([V],U.prototype,"input",1),f([V],U.prototype,"sendSignal",1),f([V],U.prototype,"processBinary",1),f([V],U.prototype,"resize",1),f([V],U.prototype,"getInitialCwd",1),f([V],U.prototype,"getCwd",1),f([V],U.prototype,"acknowledgeDataEvent",1),f([V],U.prototype,"setUnicodeVersion",1),f([V],U.prototype,"setNextCommandId",1),f([V],U.prototype,"getLatency",1),f([V],U.prototype,"orphanQuestionReply",1),f([V],U.prototype,"getDefaultSystemShell",1),f([V],U.prototype,"getEnvironment",1),f([V],U.prototype,"getWslPath",1),f([V],U.prototype,"getRevivedPtyNewId",1),f([V],U.prototype,"setTerminalLayoutInfo",1),f([V],U.prototype,"getTerminalLayoutInfo",1);var Lo=class extends C{constructor(t,n,i,o,s,a,l,c,p,u,d,m,h,b,P,j,$){super();this._persistentProcessId=t;this._terminalProcess=n;this.workspaceId=i;this.workspaceName=o;this.shouldPersistTerminal=s;this.processLaunchOptions=c;this.unicodeVersion=p;this._logService=d;this._icon=b;this._color=P;this._pendingCommands=new Map;this._isStarted=!1;this._orphanRequestQueue=new gn;this._onProcessReplay=this._register(new v);this.onProcessReplay=this._onProcessReplay.event;this._onProcessReady=this._register(new v);this.onProcessReady=this._onProcessReady.event;this._onPersistentProcessReady=this._register(new v);this.onPersistentProcessReady=this._onPersistentProcessReady.event;this._onProcessData=this._register(new v);this.onProcessData=this._onProcessData.event;this._onProcessOrphanQuestion=this._register(new v);this.onProcessOrphanQuestion=this._onProcessOrphanQuestion.event;this._onDidChangeProperty=this._register(new v);this.onDidChangeProperty=this._onDidChangeProperty.event;this._inReplay=!1;this._pid=-1;this._cwd="";this._titleSource=1;this._interactionState=new Do(`Persistent process "${this._persistentProcessId}" interaction state`,"None",this._logService),this._wasRevived=m!==void 0,this._serializer=new Ao(a,l,u.scrollback,p,m,c.options.shellIntegration.nonce,s?h:void 0,this._logService),j&&this.setTitle(j,0),this._fixedDimensions=$,this._orphanQuestionBarrier=null,this._orphanQuestionReplyTime=0,this._disconnectRunner1=this._register(new vn(()=>{this._logService.info(`Persistent process "${this._persistentProcessId}": The reconnection grace time of ${pl(u.graceTime)} has expired, shutting down pid "${this._pid}"`),this.shutdown(!0)},u.graceTime)),this._disconnectRunner2=this._register(new vn(()=>{this._logService.info(`Persistent process "${this._persistentProcessId}": The short reconnection grace time of ${pl(u.shortGraceTime)} has expired, shutting down pid ${this._pid}`),this.shutdown(!0)},u.shortGraceTime)),this._register(this._terminalProcess.onProcessExit(()=>this._bufferer.stopBuffering(this._persistentProcessId))),this._register(this._terminalProcess.onProcessReady(B=>{this._pid=B.pid,this._cwd=B.cwd,this._onProcessReady.fire(B)})),this._register(this._terminalProcess.onDidChangeProperty(B=>{this._onDidChangeProperty.fire(B)})),this._bufferer=new $r((B,Te)=>this._onProcessData.fire(Te)),this._register(this._bufferer.startBuffering(this._persistentProcessId,this._terminalProcess.onProcessData)),this._register(this.onProcessData(B=>this._serializer.handleData(B)))}get pid(){return this._pid}get shellLaunchConfig(){return this._terminalProcess.shellLaunchConfig}get hasWrittenData(){return this._interactionState.value!=="None"}get title(){return this._title||this._terminalProcess.currentTitle}get titleSource(){return this._titleSource}get icon(){return this._icon}get color(){return this._color}get fixedDimensions(){return this._fixedDimensions}get hasChildProcesses(){return this._terminalProcess.hasChildProcesses}setTitle(t,n){n===0&&(this._interactionState.setValue("Session","setTitle"),this._serializer.freeRawReviveBuffer()),this._title=t,this._titleSource=n}setIcon(t,n,i){(!this._icon||Yn(n,{id:!0})&&Yn(this._icon,{id:!0})&&n.id!==this._icon.id||!this.color||i!==this._color)&&(this._serializer.freeRawReviveBuffer(),t&&this._interactionState.setValue("Session","setIcon")),this._icon=n,this._color=i}_setFixedDimensions(t){this._fixedDimensions=t}async attach(){!this._disconnectRunner1.isScheduled()&&!this._disconnectRunner2.isScheduled()&&this._logService.warn(`Persistent process "${this._persistentProcessId}": Process had no disconnect runners but was an orphan`),this._disconnectRunner1.cancel(),this._disconnectRunner2.cancel()}async detach(t){this.shouldPersistTerminal&&(this._interactionState.value!=="None"||t)?this._disconnectRunner1.schedule():this.shutdown(!0)}serializeNormalBuffer(){return this._serializer.generateReplayEvent(!0,this._interactionState.value!=="Session")}async refreshProperty(t){return this._terminalProcess.refreshProperty(t)}async updateProperty(t,n){if(t==="fixedDimensions")return this._setFixedDimensions(n)}async start(){if(!this._isStarted){let t=await this._terminalProcess.start();return t&&Yn(t,{message:!0})||(this._isStarted=!0,this._wasRevived?this.triggerReplay():this._onPersistentProcessReady.fire()),t}this._onProcessReady.fire({pid:this._pid,cwd:this._cwd,windowsPty:this._terminalProcess.getWindowsPty()}),this._onDidChangeProperty.fire({type:"title",value:this._terminalProcess.currentTitle}),this._onDidChangeProperty.fire({type:"shellType",value:this._terminalProcess.shellType}),this.triggerReplay()}shutdown(t){return this._terminalProcess.shutdown(t)}input(t){if(this._interactionState.setValue("Session","input"),this._serializer.freeRawReviveBuffer(),!this._inReplay)return this._terminalProcess.input(t)}sendSignal(t){if(!this._inReplay)return this._terminalProcess.sendSignal(t)}writeBinary(t){return this._terminalProcess.processBinary(t)}resize(t,n,i,o){if(!this._inReplay)return this._serializer.handleResize(t,n),this._bufferer.flushBuffer(this._persistentProcessId),this._terminalProcess.resize(t,n,i,o)}async clearBuffer(){this._serializer.clearBuffer(),this._terminalProcess.clearBuffer()}setUnicodeVersion(t){this.unicodeVersion=t,this._serializer.setUnicodeVersion?.(t)}async setNextCommandId(t,n){this._serializer.setNextCommandId?.(t,n)}acknowledgeDataEvent(t){if(!this._inReplay)return this._terminalProcess.acknowledgeDataEvent(t)}getInitialCwd(){return this._terminalProcess.getInitialCwd()}getCwd(){return this._terminalProcess.getCwd()}async triggerReplay(){this._interactionState.value==="None"&&this._interactionState.setValue("ReplayOnly","triggerReplay");let t=await this._serializer.generateReplayEvent(),n=0;for(let i of t.events)n+=i.data.length;this._logService.info(`Persistent process "${this._persistentProcessId}": Replaying ${n} chars and ${t.events.length} size events`),this._onProcessReplay.fire(t),this._terminalProcess.clearUnacknowledgedChars(),this._onPersistentProcessReady.fire()}sendCommandResult(t,n,i){this._pendingCommands.get(t)&&this._pendingCommands.delete(t)}orphanQuestionReply(){if(this._orphanQuestionReplyTime=Date.now(),this._orphanQuestionBarrier){let t=this._orphanQuestionBarrier;this._orphanQuestionBarrier=null,t.open()}}reduceGraceTime(){this._disconnectRunner2.isScheduled()||this._disconnectRunner1.isScheduled()&&this._disconnectRunner2.schedule()}async isOrphaned(){return await this._orphanRequestQueue.queue(async()=>this._isOrphaned())}async _isOrphaned(){return this._disconnectRunner1.isScheduled()||this._disconnectRunner2.isScheduled()?!0:(this._orphanQuestionBarrier||(this._orphanQuestionBarrier=new gr(4e3),this._orphanQuestionReplyTime=0,this._onProcessOrphanQuestion.fire()),await this._orphanQuestionBarrier.wait(),Date.now()-this._orphanQuestionReplyTime>500)}},Do=class{constructor(e,t,n){this._name=e;this._value=t;this._logService=n;this._log("initialized")}get value(){return this._value}setValue(e,t){this._value!==e&&(this._value=e,this._log(t))}_log(e){this._logService.debug(`MutationLogger "${this._name}" set to "${this._value}", reason: ${e}`)}},Ao=class{constructor(e,t,n,i,o,s,a,l){this._rawReviveBuffer=a;this._xterm=new wd({cols:e,rows:t,scrollback:n,allowProposedApi:!0}),o&&this._xterm.writeln(o),this.setUnicodeVersion(i),this._shellIntegrationAddon=new oi(s,!0,void 0,void 0,l),this._xterm.loadAddon(this._shellIntegrationAddon)}freeRawReviveBuffer(){this._rawReviveBuffer=void 0}handleData(e){this._xterm.write(e)}handleResize(e,t){this._xterm.resize(e,t)}clearBuffer(){this._xterm.clear()}setNextCommandId(e,t){this._shellIntegrationAddon.setNextCommandId(e,t)}async generateReplayEvent(e,t){let n=new(await this._getSerializeConstructor());this._xterm.loadAddon(n);let i={scrollback:this._xterm.options.scrollback};e&&(i.excludeAltBuffer=!0,i.excludeModes=!0);let o;return t&&this._rawReviveBuffer?o=this._rawReviveBuffer:o=n.serialize(i),{events:[{cols:this._xterm.cols,rows:this._xterm.rows,data:o}],commands:this._shellIntegrationAddon.serialize()}}async setUnicodeVersion(e){this._xterm.unicode.activeVersion!==e&&(e==="11"?(this._unicodeAddon=new(await this._getUnicode11Constructor()),this._xterm.loadAddon(this._unicodeAddon)):(this._unicodeAddon?.dispose(),this._unicodeAddon=void 0),this._xterm.unicode.activeVersion=e)}async _getUnicode11Constructor(){return Ro||(Ro=(await import("@xterm/addon-unicode11")).Unicode11Addon),Ro}async _getSerializeConstructor(){return ko||(ko=(await import("@xterm/addon-serialize")).SerializeAddon),ko}};function pl(r){let e=0,t=0,n=0;r>=1e3&&(n=Math.floor(r/1e3),r-=n*1e3),n>=60&&(t=Math.floor(n/60),n-=t*60),t>=60&&(e=Math.floor(t/60),t-=e*60);let i=e?`${e}h`:"",o=t?`${t}m`:"",s=n?`${n}s`:"",a=r?`${r}ms`:"";return`${i}${o}${s}${a}`}Pd();async function Pd(){let r=parseInt(process.env.VSCODE_STARTUP_DELAY??"0"),e=parseInt(process.env.VSCODE_LATENCY??"0"),t={graceTime:parseInt(process.env.VSCODE_RECONNECT_GRACE_TIME||"0"),shortGraceTime:parseInt(process.env.VSCODE_RECONNECT_SHORT_GRACE_TIME||"0"),scrollback:parseInt(process.env.VSCODE_RECONNECT_SCROLLBACK||"100")};delete process.env.VSCODE_RECONNECT_GRACE_TIME,delete process.env.VSCODE_RECONNECT_SHORT_GRACE_TIME,delete process.env.VSCODE_RECONNECT_SCROLLBACK,delete process.env.VSCODE_LATENCY,delete process.env.VSCODE_STARTUP_DELAY,r&&await pe(r);let n=Pr(process),i;n?i=new Sr:i=new Er("ptyHost");let o={_serviceBrand:void 0,...Oa},s=new Cr(to(process.argv,fa),o),a=new Wr(Ra(s),s.logsHome);i.registerChannel("logger",new Fr(a,()=>ks));let l=a.createLogger("ptyhost",{name:g(2405,null)}),c=new Ur(l);r&&c.warn(`Pty Host startup is delayed ${r}ms`),e&&c.warn(`Pty host is simulating ${e}ms latency`);let p=new fe,u=new zr;i.registerChannel("heartbeat",Tr.fromService(u,p));let d=new U(c,o,t,e),m=Tr.fromService(d,p);i.registerChannel("ptyHost",m),n&&i.registerChannel("ptyHostWindow",m),process.once("exit",()=>{c.trace("Pty host exiting"),c.dispose(),u.dispose(),d.dispose()})}
//# sourceMappingURL=https://main.vscode-cdn.net/sourcemaps/e7fb5e96c0730b9deb70b33781f98e2f35975036/core/vs/platform/terminal/node/ptyHostMain.js.map
